Чтение онлайн

на главную - закладки

Жанры

Охота на электроовец. Большая книга искусственного интеллекта
Шрифт:

В 1986 г. Румельхарт публикует сборник статей (коллективную монографию), где возвращается к дискуссии о перцептронах. Рассуждая о необходимости обучения не только второго, но и первого слоя, Румельхарт приводит рисунок из книги Минского и Пейперта, снабдив его подписью: «Однослойный перцептрон, анализируемый Минским и Пейпертом» [1366] . Рассматривая перцептрон Розенблатта как однослойный, Румельхарт приходит к ошибочному выводу: «В своей известной книге „Перцептроны“ Минский и Пейперт (1969) документируют ограничения перцептрона. Самым простым примером функции, которая не может быть вычислена перцептроном, является „исключающее или“ (XOR)» [1367] .

1366

Rumelhart D. E., McClelland J. L. (1986). Parallel Distributed Processing: Explorations in the Microstructures of Cognition. Cambridge, MA: MIT Press // https://doi.org/10.7551/mitpress/5236.001.0001

1367

McClelland J. L., Rumelhart D. E. (1989). Explorations in Parallel Distributed Processing — Macintosh version: A Handbook of Models, Programs, and Exercises. MIT Press // https://books.google.ru/books?id=3WkcZOWmljEC

В

действительности Минский и Пейперт, как мы знаем, никогда не утверждали, что перцептрон неспособен вычислить функцию XOR. Однако, интерпретируя высказывания авторов «Перцептронов» в таком ключе, Румельхарт бросается в решительную атаку на эту ветряную мельницу и успешно одолевает её.

Он видит решение проблемы в том, что необходимо «взять оригинальную двумерную задачу и преобразовать её в соответствующую трёхмерную задачу». Обосновывая принципиальную важность многослойности, Румельхарт исходил из ошибочной посылки, что перцептрон Розенблатта не обладает этим качеством. Отдельным курьёзным моментом в данном случае является то, что Розенблатт в «Принципах нейродинамики» рассматривал аналог предлагаемого Румельхартом многослойного перцептрона (так называемый перцептрон с переменными SA связями, часто просто «перцептрон Румельхарта») [1368] .

1368

Rosenblatt F. (1961). Principles of Neurodynamics. Perceptrons and the Theory of Brain Mechanisms. Cornell aeronautical lab inc., Buffalo, New York. Defense Technical Information Center // https://books.google.ru/books?id=Tk2tDAEACAAJ

Однако одно принципиальное отличие у перцептрона Румельхарта всё-таки было. В перцептроне Розенблатта условием срабатывания нейрона было превышение нулевого порога суммой входных сигналов. Если сумма входов искусственного нейрона превышала 0, то на выход передавалась единица, в противном случае выходом нейрона был 0, то есть отсутствие сигнала. Такая пороговая функция носит название функции Хевисайда, она же единичная ступенчатая функция, функция единичного скачка, «включённая единица» или попросту «ступенька».

Однако при всей своей простоте «ступенька» обладает одним ярко выраженным недостатком: она не является непрерывной. Если на выходе перцептрона Розенблатта вы получаете 0 вместо 1 или 1 вместо 0, то вы не можете определить, насколько в действительности текущая конфигурация сети была близка к правильному ответу. Возможно, для получения правильного ответа было достаточно лишь небольшой коррекции одного из синаптических весов, а возможно — текущая конфигурация безнадёжно далека от той, которая способна эффективно решать поставленную перед ней задачу. Розенблаттовский перцептрон, по меткому замечанию Науа Кана, страдает от своеобразного биполярного расстройства: «Перцептрон с единичной ступенчатой функцией не слишком „стабилен“ в качестве „кандидата для серьёзных отношений“ с нейронными сетями. Подумайте об этом: у этой девушки (или парня) есть серьёзные биполярные проблемы! Он(а) то „тих(а)“ и „подавлен(а)“ (при z < 0) и вовсе не отвечает вам. А на другой день (при z >= 0), он(а) внезапно становится „разговорчивым(ой)“ и „живым(ой)“, болтая с вами без умолку. Чёрт, радикальные перемены! Нет никакого перехода в его (её) настроении, и вы не знаете, когда оно ухудшается или улучшается. Да… это шаговая функция» [1369] .

1369

Kang N. (2017). Multi-Layer Neural Networks with Sigmoid Function — Deep Learning for Rookies (2) / Towards Data Science, Jun 27 // https://towardsdatascience.com/multi-layer-neural-networks-with-sigmoid-function-deep-learning-for-rookies-2-bf464f09eb7f

Остроумный метод коррекции ошибки, использованный Розенблаттом, хорошо работал при наличии одного слоя обучаемых весов, но как быть с настройкой синаптических весов глубокой сети? Решая именно эту проблему, Уидроу в ADALINE использовал для коррекции ошибки величину сигнала до прохождения его через функцию активации. Ивахненко, как мы уже знаем, использовал нейроны, в основу которых был положен полином Колмогорова — Габора, являющийся непрерывной функцией от входных значений (при этом Ивахненко подбирал параметры полинома при помощи методов регрессионного анализа и не использовал ничего хотя бы отдалённо похожего на различные методы коррекции ошибки, применявшиеся Розенблаттом и Уидроу). В перцептроне Румельхарта роль функции активации играет логистическая функция [1370] , график которой имеет форму сглаженной «ступеньки». Функции с подобными графиками иногда называют сигмоидами, поскольку их график напоминает букву S.

1370

Rumelhart D. E., Hinton G. E., Williams R. J. (1986). Learning representations by back-propagating errors / Nature, Vol. 323, Iss. 6088, pp. 533—536 // https://doi.org/10.1038/323533a0

Кстати говоря, Оливер Хевисайд, человек, имя которого получила «ступенька», был весьма незаурядной личностью. Учёный-самоучка, инженер, физик и математик, он впервые применил комплексные числа для изучения электрических цепей, независимо от других математиков создал векторный анализ, получил множество других значимых результатов на стыке физики и математики. Он на всю жизнь заслужил репутацию научного смутьяна, однако его весьма неортодоксальные работы заметно изменили облик математики и физики. Возражая на обвинения в недостаточной математической строгости его работ, Хевисайд решительно

заявил: «Математика — экспериментальная наука, и определения даются не в начале, а позже. Они возникают сами, когда природа предмета уже развита». А в другой раз высказался ещё более афористично: «Должен ли я отказаться от обеда, потому что не полностью понимаю процесс пищеварения?»

Использование непрерывной функции активации открыло перед глубокими нейронными сетями совершенно новые перспективы. В результате появления и повсеместного признания метода обратного распространения ошибки произошёл долгожданный прорыв в области обучения глубоких сетей. Однако эта революция удивительным образом растянулась почти на два десятилетия.

5.2.3 Метод обратного распространения ошибки

Две гирьки, мирно встав на блюдце,

Определяют жизни ход,

И дверь звенит, и рыбы бьются,

И жабры дышат наоборот.

Николай Заболоцкий. Рыбная лавка

5.2.3.1 Описание проблемы

Успех Розенблатта и его команды в деле доказательства теоремы о сходимости перцептрона оказал двоякое воздействие на коннекционистские исследования. С одной стороны, было получено строгое обоснование способности модели с одним обучаемым слоем разделять линейно разделимые множества. Однако реальные задачи не всегда являются линейно разделимыми. В таких случаях на помощь могут прийти глубокие модели (с несколькими слоями), но все попытки создать для них метод, который гарантировал бы сходимость, неизменно заканчивались неудачей. Конечно, в моделях, параметры которых могут принимать значения из конечного множества, мы теоретически можем перебрать все возможные сочетания этих величин. Однако применять этот метод на практике нельзя из-за его чрезвычайной вычислительной неэффективности. Например, если для хранения каждого из синаптических весов искусственной нейронной сети, реализованной при помощи цифровой машины, отводится 16 бит, а всего сеть содержит 100 синапсов, то нам придётся перебрать 21600 ? 10480 комбинаций, чтобы найти глобальный оптимум, что, разумеется, неосуществимо на практике, несмотря на весьма скромный размер сети. Теорема о сходимости перцептрона показала, что по крайней мере для некоторого частного случая можно найти метод, который будет не только практически применимым, но и математически строгим. До того как Розенблатту и его коллегам удалось доказать эту теорему, критики нейросетевых моделей фокусировали свой огонь именно на слабости математического фундамента перцептрона. Розенблатт, будучи психологом, покусился на «чужую» область и должен был быть наказан за дерзость! Когда же ему удалось представить формальное обоснование элементарного перцептрона, это хотя и стало веским ответом критикам, но в то же время и в некоторой степени легитимировало строгость последних, косвенно поддерживая предположение о том, что для «легализации» многослойных моделей необходимо столь же строгое обоснование их сходимости. Действительно, для Минского и Пейперта неспособность некоторых архитектур перцептронов решать задачи, подобные определению чётности, ставила крест на этих архитектурах. Однако при этом вопрос о том, насколько такие задачи типичны, насколько способность или неспособность той или иной модели находить решения в некоторых искусственно сконструированных случаях связана со способностью этой же модели эффективно решать типовые задачи, часто оставался за пределами дискуссии. Мы хорошо знаем, что человеческому зрению присущи различные ограничения, начиная от наличия слепого пятна и заканчивая множеством оптических иллюзий, но всё это тем не менее не означает, что человеческое зрение бесполезно.

Однако, даже если мы выйдем за пределы парадигмы математической строгости и согласимся на приближённые решения, открытым остаётся вопрос о том, как должна выглядеть эффективная процедура нахождения таких решений. Как ни странно, математики столкнулись с этой проблемой задолго до появления искусственных нейронных сетей и, более того, нашли для неё ряд весьма остроумных решений.

Давайте представим себе простейшую модель с двумя параметрами. Например, мы хотим обучить нейронную сеть, состоящую из трёх нейронов. Каждый из двух нейронов входного слоя будет связан синапсом с единственным нейроном выходного слоя, на выходе которого будет расположена функция активации. Таким образом, в модели будет всего два синапса, каждому из которых сопоставлено соответствующее значение синаптического веса. Эти веса и будут параметрами нашей модели. Трудно придумать задачу, которую может решать подобная примитивная сеть, но допустим, сеть должна будет по массе и длине тела животного определять, является это животное слоном или нет. Положим, в нашей обучающей выборке есть несколько тысяч примеров животных, для каждого из которых мы знаем массу и длину его тела, а также правильную метку класса, то есть нам известно, является ли каждое животное из обучающей выборки слоном или нет. Будем считать, что если на выходе наша сеть выдаёт единицу, то она считает животное слоном, а если ноль — не считает. Задачу обучения нашей сети можно представить в графической форме в виде некоторой поверхности. В трёхмерной системе координат по оси x отложим значение первого синаптического веса, по оси y — значение второго, а в качестве координаты z будем использовать количество неправильных ответов, выданных нашей сетью для обучающей выборки. Таким образом, задачей алгоритма обучения является нахождение самой низкой точки данной поверхности, то есть таких значений x и y, при которых количество неправильных ответов будет минимальным.

Понятно, что эту точку можно найти, перебрав все возможные пары x и y, то есть «осмотрев» всю поверхность, однако вычислительно это слишком затратная операция. Если каждый из весов может принимать 65 536 различных значений (именно столько их будет, если для хранения каждого из весов мы выделим 16 бит), то даже для нашей игрушечной задачи нам потребуется перебрать 232, то есть более 4 млрд значений. Существуют ли практичные альтернативы этому беспощадному просеиванию миллиардов вариантов?

Поделиться:
Популярные книги

Бастард Императора. Том 8

Орлов Андрей Юрьевич
8. Бастард Императора
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Бастард Императора. Том 8

Школа. Первый пояс

Игнатов Михаил Павлович
2. Путь
Фантастика:
фэнтези
7.67
рейтинг книги
Школа. Первый пояс

Блуждающие огни 2

Панченко Андрей Алексеевич
2. Блуждающие огни
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
альтернативная история
фэнтези
5.00
рейтинг книги
Блуждающие огни 2

Отмороженный 4.0

Гарцевич Евгений Александрович
4. Отмороженный
Фантастика:
боевая фантастика
постапокалипсис
рпг
5.00
рейтинг книги
Отмороженный 4.0

Все повести и рассказы Клиффорда Саймака в одной книге

Саймак Клиффорд Дональд
1. Собрание сочинений Клиффорда Саймака в двух томах
Фантастика:
фэнтези
научная фантастика
5.00
рейтинг книги
Все повести и рассказы Клиффорда Саймака в одной книге

Вы не прошли собеседование

Олешкевич Надежда
1. Укротить миллионера
Любовные романы:
короткие любовные романы
5.00
рейтинг книги
Вы не прошли собеседование

Жандарм

Семин Никита
1. Жандарм
Фантастика:
попаданцы
альтернативная история
аниме
4.11
рейтинг книги
Жандарм

Ересь Хоруса. Омнибус. Том 3

Коннелли Майкл
Ересь Хоруса
Фантастика:
фэнтези
5.00
рейтинг книги
Ересь Хоруса. Омнибус. Том 3

Печать мастера

Лисина Александра
6. Гибрид
Фантастика:
попаданцы
технофэнтези
аниме
фэнтези
6.00
рейтинг книги
Печать мастера

Генерал-адмирал. Тетралогия

Злотников Роман Валерьевич
Генерал-адмирал
Фантастика:
альтернативная история
8.71
рейтинг книги
Генерал-адмирал. Тетралогия

Личник

Валериев Игорь
3. Ермак
Фантастика:
альтернативная история
6.33
рейтинг книги
Личник

Вечный. Книга I

Рокотов Алексей
1. Вечный
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Вечный. Книга I

6 Секретов мисс Недотроги

Суббота Светлана
2. Мисс Недотрога
Любовные романы:
любовно-фантастические романы
эро литература
7.34
рейтинг книги
6 Секретов мисс Недотроги

Печать Пожирателя

Соломенный Илья
1. Пожиратель
Фантастика:
попаданцы
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Печать Пожирателя