314
Сверточные сети
Рис. 9.19
Многие алгоритмы машинного обучения обучают признаки
для обнаружения любых границ или границ определенного цвета в естест-
венных изображениях. Такие детекторы напоминают функции Габора, при-
нимающие участие в работе первичной зрительной коры. (
Слева
) Веса,
обученные алгоритмом обучения без учителя (разреженное кодирование
типа Spike-and-Slab) в применении к небольшим участкам изображения.
(
Справа
) Сверточные ядра, обученные с учителем первым слоем свер-
точной maxout-сети. Соседние пары фильтров управляют одним и тем же
maxout-блоком
9.11. Сверточные сети и история глубокого обучения
Сверточные сети сыграли важную роль в истории глубокого обучения. Это яркий
пример успешного применения идей, высказанных в процессе изучения человеческо-
го мозга, к машинному обучению. Заодно они оказались одними из первых глубоких
моделей хорошего качества, задолго до того как глубокие модели вообще были при-
знаны жизнеспособными. Сверточные сети были также одними из первых нейронных
сетей, нашедших применение в важных коммерческих приложениях, и до сих пор
они остаются в первых рядах коммерческих применений глубокого обучения. Напри-
мер, в 1990-е годы исследовательская группа по нейронным сетям в компании AT&T
разработала сверточную сеть для распознавания чеков (LeCun et al., 1998b). К концу
1990-х годов эта система была развернута компанией NEC и распознавала 10% всех
чеков в США. Позже несколько систем распознавания символов и рукописных текс-
тов на основе сверточных сетей было развернуты корпорацией Microsoft (Simard et
al., 2003). Подробнее об этих и других современных применениях сверточных сетей
см. главу 12. Более полный обзор истории сверточных сетей до 2010 года см. в работе
LeCun et al. (2010).
Системы на основе сверточных сетей выигрывали много конкурсов. Современ-
ный всплеск коммерческого интереса к глубокому обучению начался, когда система,
описанная в работе Krizhevsky et al. (2012), победила в конкурсе по распознаванию
объектов ImageNet, но сверточные сети побеждали и в других соревнованиях по ма-
шинному обучению и компьютерному зрению задолго до того, хотя это и не вызывало
такого ажиотажа.
Сверточные сети и история глубокого обучения
315
Сверточные сети были одними из первых работающих глубоких сетей, обученных
с применением обратного распространения. Не вполне понятно, почему сверточные
сети добились успеха там, где сети общего назначения с обратным распространением
потерпели неудачу. Может быть, дело в том, что сверточные сети вычислительно эф-
фективнее полносвязных сетей, поэтому было проще ставить эксперименты и опти-
мизировать реализацию и гиперпараметры. Кроме того, чем больше сеть, тем легче ее
обучить. На современном оборудовании большие полносвязные сети дают неплохие
результаты на многих задачах даже при использовании наборов данных и функций
активации, которые были доступны и популярны в те времена, когда считалось, что
от полносвязных сетей невозможно добиться хорошего качества. Возможно также,
что основные барьеры на пути к успеху нейронных сетей были чисто психологическо-
го свойства (специалисты-практики не ожидали от них хорошего качества, а потому
не особенно старались их использовать). Как бы то ни было, нам повезло, что свер-
точные сети хорошо работали несколько десятков лет тому назад. Во многих смыслах
они передали эстафету остальным разделам глубокого обучения и проложили путь
принятию нейронных сетей в целом.
Сверточные сети позволяют специализировать нейронные сети для работы с дан-
ными, имеющими четко выраженную сеточную топологию, и хорошо масштабиро-
вать такие модели к задачам очень большого размера. Особенно успешным этот под-
ход оказался в применении к двумерным изображениям. Для обработки одномерных
последовательных данных следует обратиться к еще одной эффективной специализа-
ции: рекуррентным нейронным сетям. Ими мы и займемся в следующей главе.
Do'stlaringiz bilan baham: |