Шрифт:
Интервал:
Закладка:
В действительности Минский и Пейперт, как мы знаем, никогда не утверждали, что перцептрон неспособен вычислить функцию XOR. Однако, интерпретируя высказывания авторов «Перцептронов» в таком ключе, Румельхарт бросается в решительную атаку на эту ветряную мельницу и успешно одолевает её.
Он видит решение проблемы в том, что необходимо «взять оригинальную двумерную задачу и преобразовать её в соответствующую трёхмерную задачу». Обосновывая принципиальную важность многослойности, Румельхарт исходил из ошибочной посылки, что перцептрон Розенблатта не обладает этим качеством. Отдельным курьёзным моментом в данном случае является то, что Розенблатт в «Принципах нейродинамики» рассматривал аналог предлагаемого Румельхартом многослойного перцептрона (так называемый перцептрон с переменными S—A связями, часто просто «перцептрон Румельхарта»)[1368].
Однако одно принципиальное отличие у перцептрона Румельхарта всё-таки было. В перцептроне Розенблатта условием срабатывания нейрона было превышение нулевого порога суммой входных сигналов. Если сумма входов искусственного нейрона превышала 0, то на выход передавалась единица, в противном случае выходом нейрона был 0, то есть отсутствие сигнала. Такая пороговая функция носит название функции Хевисайда, она же единичная ступенчатая функция, функция единичного скачка, «включённая единица» или попросту «ступенька».
Однако при всей своей простоте «ступенька» обладает одним ярко выраженным недостатком: она не является непрерывной. Если на выходе перцептрона Розенблатта вы получаете 0 вместо 1 или 1 вместо 0, то вы не можете определить, насколько в действительности текущая конфигурация сети была близка к правильному ответу. Возможно, для получения правильного ответа было достаточно лишь небольшой коррекции одного из синаптических весов, а возможно — текущая конфигурация безнадёжно далека от той, которая способна эффективно решать поставленную перед ней задачу. Розенблаттовский перцептрон, по меткому замечанию Науа Кана, страдает от своеобразного биполярного расстройства: «Перцептрон с единичной ступенчатой функцией не слишком „стабилен“ в качестве „кандидата для серьёзных отношений“ с нейронными сетями. Подумайте об этом: у этой девушки (или парня) есть серьёзные биполярные проблемы! Он(а) то „тих(а)“ и „подавлен(а)“ (при z < 0) и вовсе не отвечает вам. А на другой день (при z ≥ 0), он(а) внезапно становится „разговорчивым(ой)“ и „живым(ой)“, болтая с вами без умолку. Чёрт, радикальные перемены! Нет никакого перехода в его (её) настроении, и вы не знаете, когда оно ухудшается или улучшается. Да… это шаговая функция»[1369].
Остроумный метод коррекции ошибки, использованный Розенблаттом, хорошо работал при наличии одного слоя обучаемых весов, но как быть с настройкой синаптических весов глубокой сети? Решая именно эту проблему, Уидроу в ADALINE использовал для коррекции ошибки величину сигнала до прохождения его через функцию активации. Ивахненко, как мы уже знаем, использовал нейроны, в основу которых был положен полином Колмогорова — Габора, являющийся непрерывной функцией от входных значений (при этом Ивахненко подбирал параметры полинома при помощи методов регрессионного анализа и не использовал ничего хотя бы отдалённо похожего на различные методы коррекции ошибки, применявшиеся Розенблаттом и Уидроу). В перцептроне Румельхарта роль функции активации играет логистическая функция[1370], график которой имеет форму сглаженной «ступеньки». Функции с подобными графиками иногда называют сигмоидами, поскольку их график напоминает букву S.
Кстати говоря, Оливер Хевисайд, человек, имя которого получила «ступенька», был весьма незаурядной личностью. Учёный-самоучка, инженер, физик и математик, он впервые применил комплексные числа для изучения электрических цепей, независимо от других математиков создал векторный анализ, получил множество других значимых результатов на стыке физики и математики. Он на всю жизнь заслужил репутацию научного смутьяна, однако его весьма неортодоксальные работы заметно изменили облик математики и физики. Возражая на обвинения в недостаточной математической строгости его работ, Хевисайд решительно заявил: «Математика — экспериментальная наука, и определения даются не в начале, а позже. Они возникают сами, когда природа предмета уже развита». А в другой раз высказался ещё более афористично: «Должен ли я отказаться от обеда, потому что не полностью понимаю процесс пищеварения?»
Использование непрерывной функции активации открыло перед глубокими нейронными сетями совершенно новые перспективы. В результате появления и повсеместного признания метода обратного распространения ошибки произошёл долгожданный прорыв в области обучения глубоких сетей. Однако эта революция удивительным образом растянулась почти на два десятилетия.
5.2.3 Метод обратного распространения ошибки
Две гирьки, мирно встав на блюдце,
Определяют жизни ход,
И дверь звенит, и рыбы бьются,
И жабры дышат наоборот.
Николай Заболоцкий. Рыбная лавка
5.2.3.1 Описание проблемы
Успех Розенблатта и его команды в деле доказательства теоремы о сходимости перцептрона оказал двоякое воздействие на коннекционистские исследования. С одной стороны, было получено строгое обоснование способности модели с одним обучаемым слоем разделять линейно разделимые множества. Однако реальные задачи не всегда являются линейно разделимыми. В таких случаях на помощь могут прийти глубокие модели (с несколькими слоями), но все попытки создать для них метод, который гарантировал бы сходимость, неизменно заканчивались неудачей. Конечно, в моделях, параметры которых могут принимать значения из конечного множества, мы теоретически можем перебрать все возможные сочетания этих величин. Однако применять этот метод на практике нельзя из-за его чрезвычайной вычислительной неэффективности. Например, если для хранения каждого из синаптических весов искусственной нейронной сети, реализованной при помощи цифровой машины, отводится 16 бит, а всего сеть содержит 100 синапсов, то нам придётся перебрать 21600 ≈ 10480 комбинаций, чтобы найти глобальный оптимум, что, разумеется, неосуществимо на практике, несмотря на весьма скромный размер сети. Теорема о сходимости перцептрона показала, что по крайней мере для некоторого частного случая можно найти метод, который будет не только практически применимым, но и математически строгим. До того как Розенблатту и его коллегам удалось доказать эту теорему, критики нейросетевых моделей фокусировали свой огонь именно на слабости математического фундамента перцептрона. Розенблатт, будучи психологом, покусился на «чужую» область и должен был быть наказан за дерзость! Когда же ему удалось представить формальное обоснование элементарного перцептрона, это хотя и стало веским ответом критикам, но в то же время и в некоторой степени легитимировало строгость последних, косвенно поддерживая предположение о том, что для «легализации» многослойных моделей необходимо столь же строгое обоснование их сходимости. Действительно, для Минского и Пейперта неспособность некоторых архитектур перцептронов решать задачи, подобные определению чётности, ставила крест на этих архитектурах. Однако при этом вопрос о том, насколько такие задачи типичны, насколько способность или неспособность той или иной модели находить решения в некоторых искусственно сконструированных случаях