Возникает вопрос: что это должна быть за гипотеза? За последние 50 с лишним лет исследования компьютерного зрения было опробовано много подходов. Сегодня фаворитом является глубокая сверточная нейронная сеть. Разберем по пунктам. Она называется сетью, потому что представляет собой комплексное математическое выражение, составленное упорядоченным образом из множества меньших выражений, причем композиционная структура имеет форму сети. (Такие сети часто называют нейронными, потому что их разработчики вдохновляются сетями нейронов головного мозга.) Она называется сверточной, потому что это хитрый математический способ сказать, что структура сети повторяется согласно определенной закономерности по всему входному изображению. Наконец, она называется глубокой, потому что обычно у такой сети много слоев, к тому же это звучит впечатляюще и чуточку зловеще.
Упрощенный пример (упрощенный, потому что реальные сети могут иметь сотни слоев и миллионы узлов) представлен на рис. 23. Сеть в действительности является изображением комплексного корректируемого математического выражения. Каждый узел сети соответствует простому корректируемому выражению, как показано на рисунке. Корректировки осуществляются путем изменения веса каждого входного сигнала, о чем свидетельствует выражение «регулятор уровня». Взвешенная сумма входных сигналов затем проходит контрольную функцию, после чего достигает выходной стороны узла. Обычно контрольная функция подавляет малые значения и пропускает большие.
Сеть обучается, просто «подкручивая все ручки регулировки громкости», уменьшая ошибку прогнозирования по подписанным примерам. Все очень просто: ни магии, ни особенно хитрых алгоритмов. Выяснение того, в какую сторону крутить ручки, чтобы уменьшить ошибку, — это самый обычный случай вычисления того, как изменение каждого веса изменит ошибку в выходном слое. Это ведет к простой формуле проведения ошибки обратным ходом от выходного слоя к входному с подкручиванием ручек по пути.
Удивительно, но процесс работает! В задаче распознавания объектов на фотографиях алгоритмы глубокого обучения продемонстрировали потрясающие результаты. Первый намек на них дал конкурс 2012 г. ImageNet, участникам которого предлагались обучающие данные, состоящие из 1,2 млн подписанных изображений из 1000 категорий, на основании которых алгоритм должен был подписать категории 100 000 новых изображений[363]. Джефф Хинтон, британский специалист по вычислительной психологии, стоявший у истоков первой революции нейронных сетей в 1980-х гг., экспериментировал с очень большой глубокой сверточной сетью: 650 000 узлов и 60 млн параметров. Со своей группой в Университете Торонто он добился на ImageNet уровня ошибок в 15 % — резкое улучшение по сравнению с предыдущим рекордом — 26 %