Тип нейронной сети прямого распространения
Многослойный персептрон ( MLP ) — это название современной искусственной нейронной сети прямого распространения , состоящей из полностью связанных нейронов с нелинейной функцией активации , организованной как минимум в три слоя, примечательной тем, что она способна различать данные, которые не являются линейно разделимыми . [1]
Современные сети прямого распространения обучаются с использованием метода обратного распространения [2] [3] [4] [5] [6] и в разговорной речи называются «ванильными» нейронными сетями. [7]
MLP выросли из попытки улучшить однослойные персептроны , которые могли различать только линейно разделяемые данные. Персептрон традиционно использовал ступенчатую функцию Хевисайда в качестве своей нелинейной функции активации. Однако алгоритм обратного распространения требует, чтобы современные MLP использовали непрерывные функции активации, такие как сигмоид или ReLU . [8]
Многослойные персептроны остаются популярной архитектурой для глубокого обучения [9] , широко применяемой в различных областях. [10]
Хронология
- В 1943 году Уоррен Маккалок и Уолтер Питтс предложили бинарный искусственный нейрон в качестве логической модели биологических нейронных сетей. [11]
- В 1958 году Фрэнк Розенблатт предложил многослойную модель персептрона , состоящую из входного слоя, скрытого слоя со случайными весами, который не обучался, и выходного слоя с обучаемыми связями. [12]
- В 1962 году Розенблатт опубликовал множество вариантов и экспериментов с персептронами в своей книге «Принципы нейродинамики» , включая до 2 обучаемых слоев с помощью «обратного распространения ошибок». [13] Однако это был не алгоритм обратного распространения, и у него не было общего метода обучения нескольких слоев.
- В 1967 году Шуничи Амари сообщил [17] о первой многослойной нейронной сети, обученной стохастическим градиентным спуском , способной классифицировать нелинейно разделимые классы образов. Студент Амари Сайто провел компьютерные эксперименты, используя пятислойную сеть прямого распространения с двумя обучающими слоями. [16]
- Обратное распространение было независимо разработано несколько раз в начале 1970-х годов. Самым ранним опубликованным примером была магистерская диссертация Сеппо Линнайнмаа (1970). [18] [19] [16] Пол Вербос разработал его независимо в 1971 году, [20] но имел трудности с публикацией до 1982 года. [21]
- В 1986 году Дэвид Э. Румельхарт и др. популяризация обратного распространения ошибки. [22] [23]
- В 2021 году была разработана очень простая архитектура NN, объединяющая два глубоких MLP с пропусками соединений и нормализациями слоев, которая была названа MLP-Mixer; ее реализации, включающие от 19 до 431 миллионов параметров, оказались сопоставимы с преобразователями изображений аналогичного размера на ImageNet и аналогичными задачами классификации изображений . [25]
Математические основы
Функция активации
Если многослойный персептрон имеет линейную функцию активации во всех нейронах, то есть линейную функцию, которая отображает взвешенные входы на выход каждого нейрона, то линейная алгебра показывает, что любое количество слоев можно свести к двухслойной модели ввода-вывода. В MLP некоторые нейроны используют нелинейную функцию активации, которая была разработана для моделирования частоты потенциалов действия , или срабатывания, биологических нейронов.
Две исторически распространенные функции активации являются сигмоидами и описываются следующим образом:
- .
Первая — гиперболический тангенс , который изменяется от −1 до 1, а вторая — логистическая функция , которая похожа по форме, но изменяется от 0 до 1. Здесь представлен выход th-го узла (нейрона), а это взвешенная сумма входных соединений. Были предложены альтернативные функции активации, включая функции выпрямителя и softplus . Более специализированные функции активации включают радиальные базисные функции (используемые в радиальных базисных сетях , другом классе контролируемых моделей нейронных сетей).
В последних разработках в области глубокого обучения выпрямленный линейный блок (ReLU) все чаще используется как один из возможных способов преодоления численных проблем, связанных с сигмоидами.
Слои
MLP состоит из трех или более слоев (входной и выходной слои с одним или несколькими скрытыми слоями ) нелинейно-активирующих узлов. Поскольку MLP полностью связаны, каждый узел в одном слое соединяется с определенным весом с каждым узлом в следующем слое.
Обучение
Обучение происходит в персептроне путем изменения весов связей после обработки каждого фрагмента данных на основе количества ошибок в выходных данных по сравнению с ожидаемым результатом. Это пример контролируемого обучения , и оно осуществляется посредством обратного распространения , обобщения алгоритма наименьших средних квадратов в линейном персептроне.
Мы можем представить степень ошибки в выходном узле в th точке данных (пример обучения) как , где — желаемое целевое значение для th точки данных в узле , а — значение, вырабатываемое персептроном в узле, когда th точка данных задана в качестве входных данных.
Затем веса узлов можно скорректировать на основе поправок, которые минимизируют ошибку во всем выводе для th-й точки данных, заданной как
- .
Используя градиентный спуск , изменение каждого веса равно
где — выход предыдущего нейрона , а — скорость обучения , которая выбирается для того, чтобы веса быстро сходились к ответу, без колебаний. В предыдущем выражении обозначает частную производную ошибки в соответствии с взвешенной суммой входных связей нейрона .
Производная, которую нужно вычислить, зависит от индуцированного локального поля , которое само по себе меняется. Легко доказать, что для выходного узла эта производная может быть упрощена до
где — производная функции активации, описанной выше, которая сама по себе не меняется. Анализ более сложен для изменения весов в скрытом узле, но можно показать, что соответствующая производная —
- .
Это зависит от изменения весов узлов th, которые представляют выходной слой. Таким образом, чтобы изменить веса скрытого слоя, веса выходного слоя изменяются в соответствии с производной функции активации, и поэтому этот алгоритм представляет собой обратное распространение функции активации. [26]
Ссылки
- ^ Цыбенко, Г. 1989. Аппроксимация суперпозициями сигмоидальной функции // Математика управления, сигналов и систем , 2(4), 303–314.
- ^ Линнайнмаа, Сеппо (1970). Представление кумулятивной ошибки округления алгоритма как разложения Тейлора локальных ошибок округления (Мастерс) (на финском языке). Университет Хельсинки. С. 6–7.
- ^ Келли, Генри Дж. (1960). «Градиентная теория оптимальных траекторий полета». ARS Journal . 30 (10): 947–954. doi :10.2514/8.5282.
- ^ Розенблатт, Франк. x. Принципы нейродинамики: персептроны и теория мозговых механизмов. Spartan Books, Вашингтон, округ Колумбия, 1961
- ^ Werbos, Paul (1982). "Применение достижений в нелинейном анализе чувствительности" (PDF) . Моделирование и оптимизация систем . Springer. стр. 762–770. Архивировано (PDF) из оригинала 14 апреля 2016 г. . Получено 2 июля 2017 г. .
- ^ Rumelhart, David E., Geoffrey E. Hinton и RJ Williams. «Изучение внутренних представлений путем распространения ошибок». David E. Rumelhart, James L. McClelland и исследовательская группа PDP. (редакторы), Параллельная распределенная обработка: Исследования микроструктуры познания, Том 1: Основы. MIT Press, 1986.
- ^ Хасти, Тревор. Тибширани, Роберт. Фридман, Джером. Элементы статистического обучения: добыча данных, вывод и прогнозирование. Springer, Нью-Йорк, 2009.
- ^ «Почему функция ReLU не дифференцируема при x=0?».
- ^ Almeida, Luis B (2020) [1996]. «Многослойные персептроны». В Fiesler, Emile; Beale, Russell (ред.). Handbook of Neural Computation. CRC Press. стр. C1-2. doi :10.1201/9780429142772. ISBN 978-0-429-14277-2.
- ^ Гарднер, Мэтт В.; Дорлинг, Стивен Р. (1998). «Искусственные нейронные сети (многослойный персептрон) — обзор приложений в атмосферных науках». Atmospheric Environment . 32 (14–15). Elsevier: 2627–2636. Bibcode : 1998AtmEn..32.2627G. doi : 10.1016/S1352-2310(97)00447-0.
- ^ Маккалок, Уоррен С.; Питтс, Уолтер (1943-12-01). «Логическое исчисление идей, имманентных нервной деятельности». Бюллетень математической биофизики . 5 (4): 115–133. doi :10.1007/BF02478259. ISSN 1522-9602.
- ^ Розенблатт, Франк (1958). «Персептрон: вероятностная модель хранения и организации информации в мозге». Psychological Review . 65 (6): 386–408. CiteSeerX 10.1.1.588.3775 . doi :10.1037/h0042519. PMID 13602029. S2CID 12781225.
- ^ Розенблатт, Франк (1962). Принципы нейродинамики . Spartan, Нью-Йорк.
- ^ Ивахненко, А. Г. (1973). Кибернетические предсказывающие устройства. CCM Information Corporation.
- ^ Ивахненко, АГ ; Григорьевич Лапа, Валентин (1967). Кибернетика и методы прогнозирования. American Elsevier Pub. Co.
- ^ abc Шмидхубер, Юрген (2022). «Аннотированная история современного ИИ и глубокого обучения». arXiv : 2212.11279 [cs.NE].
- ^ Амари, Шуничи (1967). «Теория адаптивного классификатора шаблонов». IEEE Transactions . EC (16): 279-307.
- ^ Линнайнмаа, Сеппо (1970). Представление кумулятивной ошибки округления алгоритма как разложения Тейлора локальных ошибок округления (Мастерс) (на финском языке). Университет Хельсинки. стр. 6–7.
- ^ Линнаинмаа, Сеппо (1976). «Разложение Тейлора накопленной ошибки округления». BIT Numerical Mathematics . 16 (2): 146–160. doi :10.1007/bf01931367. S2CID 122357351.
- ^ Андерсон, Джеймс А.; Розенфельд, Эдвард, ред. (2000). Говорящие сети: устная история нейронных сетей. MIT Press. doi :10.7551/mitpress/6626.003.0016. ISBN 978-0-262-26715-1.
- ^ Werbos, Paul (1982). "Применение достижений в нелинейном анализе чувствительности" (PDF) . Моделирование и оптимизация систем . Springer. стр. 762–770. Архивировано (PDF) из оригинала 14 апреля 2016 г. . Получено 2 июля 2017 г. .
- ^ Rumelhart, David E.; Hinton, Geoffrey E.; Williams, Ronald J. (октябрь 1986 г.). «Изучение представлений с помощью обратного распространения ошибок». Nature . 323 (6088): 533–536. Bibcode :1986Natur.323..533R. doi :10.1038/323533a0. ISSN 1476-4687.
- ^ Rumelhart, David E., Geoffrey E. Hinton и RJ Williams. «Изучение внутренних представлений путем распространения ошибок». David E. Rumelhart, James L. McClelland и исследовательская группа PDP. (редакторы), Параллельная распределенная обработка: Исследования микроструктуры познания, Том 1: Основы. MIT Press, 1986.
- ^ Бенжио, Йошуа; Дюшарм, Режан; Винсент, Паскаль; Жанвен, Кристиан (март 2003 г.). «Нейронная вероятностная языковая модель». Журнал исследований машинного обучения . 3 : 1137–1155.
- ^ «Документы с кодом – MLP-Mixer: архитектура MLP для Vision».
- ^ Хейкин, Саймон (1998). Нейронные сети: всеобъемлющая основа (2-е изд.). Prentice Hall. ISBN 0-13-273350-1.
Внешние ссылки
- Weka: программное обеспечение с открытым исходным кодом для интеллектуального анализа данных с реализацией многослойного персептрона.
- Документация Neuroph Studio, реализующая этот алгоритм и несколько других.