Глубокое обучение коренным образом изменило сферу машинного обучения (и, соответственно, мир), поскольку машинное обучение стало гораздо более широко применяться в различных сценариях приложений, таких как рекомендательные системы, распознавание речи, автономное вождение и автоматическая игра. В 2018 году профессор Джошуа Бенжио, Джеффри Хинтон и Ян Лекун получили премию Тьюринга (часто называемую «Нобелевской премией по вычислительной технике») за свой вклад в глубокое обучение. Тем не менее, глубокое обучение по-прежнему рассматривается многими исследователями и практиками как черный ящик, и теоретические объяснения механизма, лежащего в его основе, все еще ожидаются. Итак, давайте разберемся, почему основной принцип глубокого обучения является довольно общим, с помощью взаимосвязей между современными моделями глубокого обучения и несколькими ранними моделями, не имеющими названия глубокого обучения (включая модель, совместно изобретенную мной).

Нейронные сети можно интерпретировать как универсальные аппроксиматоры функций или как процессоры информации. Мы попытаемся объяснить механизм глубокого обучения с точки зрения универсальных аппроксиматоров функций. Функционально-универсальное приближение было традиционной темой, и мы рассмотрим несколько нейронных сетей до и в эпоху глубокого обучения. Через их сходства и различия мы покажем, почему нейронные сети должны быть глубокими и насколько глубокими они должны быть на самом деле. И наша теория очень хорошо совпадает со сверточными нейронными сетями, которые используются в настоящее время.

Традиционные нейронные сети

Модели нейронных сетей имеют долгую историю. И его функция активации обычно является сигмоидальной функцией или функцией гиперболического тангенса. Многослойные нейронные сети получили название многослойного персептрона (MLP) [1]. И его можно обучить методом обратного распространения ошибки, предложенным Дэвидом Рамелхартом, Джеффри Хинтоном и Рональдом Уильямсом в 1986 году, который, по сути, является методом на основе градиента. Эти функции активации нелинейны и плавны. Также они имеют колоколообразные первые производные и фиксированные диапазоны. Например, сигмоидальная функция быстро подталкивает выходное значение к 0 или 1, в то время как функция гиперболического тангенса быстро подталкивает выходное значение к -1 или 1. Это делает их подходящими для задач классификации. Однако по мере увеличения количества слоев градиенты начинают исчезать из-за использования метода обратного распространения ошибки. Так что модели MLP с одним скрытым слоем, вероятно, были наиболее часто встречающимися в то время.

Кроме того, широко известно, что выпрямленная линейная единица (ReLU) использовалась в качестве функции активации в моделях глубокого обучения вместо функций сигмоидального и гиперболического тангенса. Его математическая форма так же проста, как max {0, x}, и у него есть другое имя функции ramp. Причина его использования в том, что наклон градиента по отношению к x равен 1, поэтому градиент никогда не исчезнет при увеличении количества слоев. Давайте посмотрим на глубокие нейронные сети с точки зрения ReLU.

Непрерывные кусочно-линейные функции

Одной из первых моделей, использующих ReLU для регрессии и классификации, были модели шарнирных гиперплоскостей, предложенные Лео Брейманом в 1993 году [2]. Профессор Брейман был пионером в области машинного обучения, и его работы значительно объединяют области статистики и информатики. Модель представляет собой сумму ряда петель, поэтому ее можно рассматривать как модель базисной функции, такую ​​как модели B-сплайнов и вейвлетов. Каждый шарнир в его модели на самом деле является максимальной или минимальной функцией двух линейных функций. Эта модель может использоваться как для регрессии, так и для классификации. Проблема бинарной классификации может рассматриваться непосредственно как проблема регрессии, в то время как проблема многоклассовой классификации может рассматриваться как множественная проблема регрессии.

Модель, предложенную Брейманом, можно рассматривать как одномерные непрерывные кусочно-линейные (CPWL) функции. Шаннинг Ван доказал в 2004 г., что эта модель может представлять произвольные непрерывные кусочно-линейные функции в одном измерении, и для представления произвольных функций CPWL с многомерными входами требуется вложение таких моделей [3]. Основываясь на этом теоретическом результате, Ян Гудфеллоу в 2013 году предложил глубокую нейронную сеть ReLU, названную сетями Maxout [4]. Теоретической основой использования функций CPWL для аппроксимации произвольных нелинейных функций является просто теорема Тейлора для функций многих переменных в исчислении.

С 1970-х годов Леон О. Чуа и другие исследователи предложили клеточную нейронную сеть для представления функций CPWL с входными данными в разных измерениях [5] [6] [7]. Профессор Леон Чуа внес большой вклад в области схем и систем, и эта работа была отмечена престижными наградами сообщества нейронных сетей. Потребность в более сложном нелинейном компоненте для представления структуры с входами двух или более измерений была вызвана проблемой линейной разделимости, широко известной в машинном обучении. В модели Бреймана все границы имеют место, когда две линейные функции в каждом шарнире равны, поэтому все границы линейны и эффективны во всей области. Таким образом, он не может представлять функции CPWL с двумерными входами, такими как пример, показанный на Рисунке 1 [8].

Модель Чуа решила использовать вложенные абсолютные функции для построения нелинейных компонентов модели, а уровень вложенности равен размеру входных данных. Таким образом, эта модель может иметь много параметров, когда входная размерность высока.

В 2005 году Шаннинг Ван и Сюйшэн Сан обобщили модель шарнирной гиперплоскости на произвольные размеры [8]. Они доказали, что любые функции CPWL могут быть представлены суммой максимальных или минимальных функций не более чем N + 1 линейных функций, где N - размерность входа. Они также указали, что это эквивалентно глубокой нейронной сети с двумя функциями: во-первых, функция линейного изменения используется в качестве функции активации, во-вторых, максимальное количество слоев - это потолок log2 (N + 1), где N - это размер входа. Это значительно снизило теоретическое ограничение на количество слоев. И, как правило, эту модель можно обучить с использованием методов на основе градиента. За последнее десятилетие или около того было сделано много работ в области алгоритмов и архитектуры, чтобы сделать обучение лучше и проще.

Модели глубокого обучения

Одна из важных вех в истории глубокого обучения - AlexNet, использованный в конкурсе ImageNet в 2012 году [9]. Алекс Крижевский, Илья Суцкевер и Джеффри Хинтон предложили модель глубокой нейронной сети, которая состоит из 8 сверточных или плотных слоев и нескольких слоев максимального объединения. Ошибка тестирования сети составила 15,3%, что более чем на 10,8 процентных пункта ниже, чем у занявшего второе место. Его входной сигнал составляет 224 * 224 в каждом из каналов RGB, поэтому его общий размер составляет 224 * 224 * 3. Тогда наша граница глубины нейронной сети равна 18. Таким образом, если граница имеет смысл, более глубокие нейронные сети будут можно сделать точность повыше. Карен Симонян и Эндрю Зиссерман предложили модель VGG в 2014 году [10]. Он имеет типичные варианты с 16 или 19 сверточными или плотными слоями и, как и ожидалось, еще более повысил точность. Это хорошо совпадает с нашей теорией, и есть по крайней мере еще одна вещь, которую можно сделать, чтобы, возможно, еще больше повысить точность в некоторых случаях.

И в AlexNet, и в VGG глубина подсети, заканчивающейся при каждой функции активации, одинакова. Собственно, нам нужно только гарантировать, что достаточное количество компонентов в сетях имеет не меньшую глубину, чем граница. Другими словами, количество линейных функций в каждой максимальной или минимальной функции в обобщенной модели шарнирной гиперплоскости может быть гибким на практике. И было бы более эффективно использовать некоторые компоненты с еще большей глубиной, а некоторые компоненты с меньшей глубиной. Kaiming He, Xiangyu Zhang, Shaoqing Ren и Jian Sun предложили модель ResNet в 2015 году [11]. Эта модель решила позволить некоторым компонентам обходить некоторые предыдущие уровни. Как правило, эта модель глубже и уже и имеет вариант с глубиной до 152 слоев, что еще больше повысило точность.

В этой статье мы сосредоточились на сверточных нейронных сетях. Другие глубокие нейронные сети, такие как рекуррентные нейронные сети, должны быть объяснены другими теориями. Также есть новые инновации в области функций активации, такие как экспоненциальная линейная единица (ELU) [12]. На мой взгляд, алгоритмы моделирования и обучения, доступность данных, вычислительная инфраструктура и сценарии приложений вместе сделали глубокое обучение широким применением в наши дни.

Ссылки:

[1] Д. Э. Румелхарт, Г. Э. Хинтон и Р. Дж. Уильямс (1986). Изучение представлений с помощью ошибок обратного распространения. Природа, 323, 533–536.

[2] Л. Брейман, «Шарнирные гиперплоскости для регрессии, классификации и аппроксимации функций», IEEE Trans. Инф. Теория, т. 39, нет. 3. С. 999–1013, май 1993 г.

[3] С. Ван, «Общие конструктивные представления для непрерывных кусочно-линейных функций», IEEE Trans. Circuits Syst. Я, рег. Статьи, т. 51, вып. 9. С. 1889–1896, сентябрь 2004 г.

[4] И. Дж. Гудфеллоу, Д. Вард-Фарли, М. Мирза, А. Курвиль и Ю. Бенжио. «Maxout Networks», ICML, 2013 г.

[5] Л. О. Чуа, С. М. Канг, «Секционные кусочно-линейные функции: каноническое представление, свойства и приложения», IEEE Trans. Circuits Syst., Vol. КАС-30, нет. 3. С. 125–140, март 1977 г.

[6] Л. О. Чуа, А. К. Денг, «Каноническое кусочно-линейное представление», IEEE Trans. Circuits Syst., Vol. 35, нет. 1. С. 101–111, январь 1988 г.

[7] Дж. Лин и Р. Унбехауэн, «Канонические кусочно-линейные сети», IEEE Trans. Neural Netw., Т. 6, вып. 1. С. 43–50, январь 1995 г.

[8] С. Ван и X. Сан, «Обобщение шарнирных гиперплоскостей», в IEEE Transactions on Inf. Теория, т. 51, нет. 12. С. 4425–4431, декабрь 2005 г.

[9] А. Крижевский, И. Суцкевер, Г. Хинтон. Классификация Imagenet с глубокими сверточными нейронными сетями. НИПС, 2012.

[10] К. Симонян, А. Зиссерман. «Очень глубокие сверточные сети для распознавания крупномасштабных изображений», ICLR, 2015.

[11] К. Хе, Х. Чжан, С. Рен, Дж. Сунь. Глубокое остаточное обучение для распознавания изображений. CVPR, 2015.

[12] Д.-А. Клеверт, Т. Унтертинер и С. Хохрайтер, «Быстрое и точное глубокое обучение сети с помощью экспоненциальных линейных единиц (ELUS)», ICLR, 2016.

Ксушенг - главный инженер Roblox, работающий над приложениями машинного обучения для поиска и обнаружения. Он имеет докторскую степень. и М.С. Имеет степень бакалавра в области электротехники и вычислительной техники Технологического института Джорджии и степень бакалавра наук. и М.С. в области автоматизации Университета Цинхуа. Он получил награду за выдающиеся исследования Центра обработки сигналов и изображений Технологического института Джорджии.

Ни корпорация Roblox, ни этот блог не одобряют и не поддерживают какие-либо компании или услуги. Кроме того, не дается никаких гарантий или обещаний относительно точности, надежности или полноты информации, содержащейся в этом блоге.

© Корпорация Roblox, 2020. Roblox, логотип Roblox и Powering Imagination являются нашими зарегистрированными и незарегистрированными товарными знаками в США и других странах.