Эволюция машинного обучения

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

В 1950-х годах ученые, занимающиеся классическим ИИ, основанным на логике и графах, искали все новые сферы для его применения. В то же время появилось новое течение в компьютерной науке, сторонники которого считали, что для решения сложных задач одной логики недостаточно.

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

Первая обучающаяся машина

В 1957 году в Корнелльском университете психолог Фрэнк Розенблатт построил перцептрон – первую обучающуюся машину. Она является эталонной моделью машинного обучения. После обучения перцептрон способен, например, распознавать образы (геометрические фигуры, буквы). Однако перцептрон не всесилен. Система, состоящая лишь из одного слоя искусственных нейронов, имеет ограничения.

Машина Розенблатта представляла собой огромный металлический шкаф весом в несколько тонн с торчащими в разные стороны проводами. У него была искусственная сетчатка – сеть фотоэлементов, которые принимали изображение на входе, и сотни автоматизированных приводов (переменных резисторов[2]), управлявших показателями весов и подключенных к электродвигателю. Электронная схема вычисляла взвешенную сумму напряжения входов на сетчатке, задаваемую переменными резисторами. Если эта взвешенная сумма превышала пороговое значение, загорался выходной индикатор. Если сумма не превышала пороговое значение, индикатор не загорался.

Новизна перцептрона заключалась в его способности к обучению: он автоматически регулировал веса после демонстрации каждого нового изображения, приводя их в соответствие с желаемым выходом. Перцептрон положил начало машинному обучению с учителем. Процедура обучения настраивает параметры сети таким образом, чтобы результат приближался к желаемому. После обучения машина способна даже распознавать примеры, которых она никогда не видела, – это называется способностью к обобщению. Сегодня все, что делала машина Розенблатта, выполняет простейшая компьютерная программа длиной в несколько строк.

Глубокие сети

Чтобы приблизить деятельность ИИ к работе мозга, недостаточно было воссоздать его строение. Нужно было сделать системы способными к обучению по аналогии с механизмами обучения человеческого мозга. Так возникло направление глубокого обучения (deep learning) и искусственных нейронных сетей. На механизмах глубокого обучения и нейронных сетей работают современные компьютерные системы, включая автономные автомобили. Столкнувшись с ограничениями перцептрона, исследователи стали накладывать несколько слоев нейронов друг на друга, чтобы машины могли решать более сложные задачи. Принцип обучения остался прежним: параметры сети настраиваются таким образом, чтобы система допускала минимум ошибок. Сквозное обучение многослойных сетей – это так называемое глубокое обучение, или обучение преобразованию входных данных в осмысленные представления.

В простейших многослойных сетях все нейроны одного слоя связаны со всеми нейронами следующего слоя. В многослойной сети первичные слои выступают в роли экстракторов признаков, которые создаются не вручную, а автоматически – в процессе обучения. Функциональность многослойных нейросетей лучше всего иллюстрируют примеры, связанные с распознаванием изображений.

Проанализируем примеры различного написания букв C и D с помощью двухслойной сети, чтобы показать, как единицы первичного слоя могут обнаруживать шаблоны, характерные для C и D. Перцептрон при решении подобной задачи ошибался, если варианты написания C и D слишком сильно различались по форме, положению или размеру. Однако если добавить еще один слой нейронов, проблема будет решена. Нейроны первичного слоя будут находить паттерны, характерные для C и D. Такие детекторы создаются автоматически, потому что в сети используется обратное распространение, которое автоматически обнаруживает отличительные особенности или шаблоны. Например, непрерывная линия с двумя открытыми концами характерна только для C. Наличие линий, образующих близкий к прямому угол, указывает на D и т. д. Первый слой ведет себя как экстрактор признаков, а второй – как классификатор, но все уровни сети обучаются одновременно.

Загрузка...