Ключевые идеи книги: Как учится машина. Революция в области нейронных сетей и глубокого обучения. Ян Лекун Smart Reading
Автор:
Yann Le Cun
Оригинальное название:
Quand la machine apprend: La rvolution des neurones artificiels et de l'apprentissage profond
Эти быстрые, но глупые машины
ENIAC, один из первых программируемых электронных компьютеров, созданный в 1945 году в Университете Пенсильвании для военных целей, мог перемножить 360 десятизначных чисел в секунду. И это казалось чудом.
Современные персональные компьютеры в миллиард раз быстрее – их производительность исчисляется сотнями гигафлопс[1]. Суперкомпьютеры объединяют десятки тысяч графических процессоров производительностью в десятки терафлопс. Их процессоры достигают скорости в сотни тысяч терафлопс. Они прогнозируют погоду, рассчитывают воздушный поток вокруг самолета, моделируют прошлое, например начало существования Вселенной.
Все эти сложные манипуляции включают численное решение дифференциальных уравнений или уравнений в частных производных. В недалеком прошлом математики производили подобные вычисления вручную. Однако машины нельзя считать такими же умными, какими были ученые-математики, потому что компьютеры, несмотря на невероятную вычислительную мощность, не умеют самостоятельно решать интеллектуальные задачи. Программы искусственного интеллекта могут учиться, но пока намного хуже и медленнее людей и даже животных.
София – красивая девушка-гуманоид с загадочной улыбкой и живой мимикой в 2017 году давала интервью журналистам и очаровывала саудовских шейхов, которые даже дали ей гражданство страны. Журналист интересуется, действительно ли роботы в скором времени захватят Землю. София обворожительно улыбается и заявляет: «Вам нужно меньше смотреть голливудские фильмы». Неужели роботы могут шутить? Вовсе нет. София – просто марионетка, в которую программисты залили набор стандартных ответов на множество вопросов. Ей что-то говорят, и программа сопоставления быстро выбирает из каталога наиболее подходящую реакцию. Иными словами, София обманывает аудиторию, притворяясь сообразительной красоткой с чувством юмора.
Машины пока еще выполняют действия, не понимая, что они делают, поскольку не обладают здравым смыслом. Если системы искусственного интеллекта поместить на шкалу интеллектуальных способностей от мыши до человека, то они окажутся значительно ближе к мыши, несмотря на сверхчеловеческую производительность ИИ в точных и узкоспециализированных задачах.
Это саммари дает ответы на вопросы: как учится машина? Догонят ли нас компьютеры по интеллектуальным способностям? Если это произойдет, то как скоро? И стоит ли нам опасаться господства машин в будущем?
Эволюция машинного обучения
Человек издревле пытается создать устройства, похожие на него. Ученые прошлого века, казалось, были в шаге от полной механизации мыслительного процесса и замены людей роботами во многих сферах. Однако сегодня мы все еще далеки от этого.
В 1950-х годах ученые, занимающиеся классическим ИИ, основанным на логике и графах, искали все новые сферы для его применения. В то же время появилось новое течение в компьютерной науке, сторонники которого считали, что для решения сложных задач одной логики недостаточно.
Вместо того чтобы воспроизводить логические цепочки человеческих рассуждений, они предложили копнуть глубже – исследовать, а затем и смоделировать носитель этой логики, потрясающий биологический процессор – человеческий мозг. Пионеры машинного обучения стали работать над созданием оригинальной архитектуры сети математических функций, которые назвали искусственными нейронами. Они улавливают входной сигнал и обрабатывают его таким образом, что на выходе этот сигнал идентифицируется. Любая операция, например распознавание образов, поддерживается комбинированным взаимодействием искусственных нейронов.
В 1957 году в Корнелльском университете психолог Фрэнк Розенблатт построил перцептрон – первую обучающуюся машину. Она является эталонной моделью машинного обучения. После обучения перцептрон способен, например, распознавать образы (геометрические фигуры, буквы). Однако перцептрон не всесилен. Система, состоящая лишь из одного слоя искусственных нейронов, имеет ограничения.
Машина Розенблатта представляла собой огромный металлический шкаф весом в несколько тонн с торчащими в разные стороны проводами. У него была искусственная сетчатка – сеть фотоэлементов, которые принимали изображение на входе, и сотни автоматизированных приводов (переменных резисторов[2]), управлявших показателями весов и подключенных к электродвигателю. Электронная схема вычисляла взвешенную сумму напряжения входов на сетчатке, задаваемую переменными резисторами. Если эта взвешенная сумма превышала пороговое значение, загорался выходной индикатор. Если сумма не превышала пороговое значение, индикатор не загорался.
Новизна перцептрона заключалась в его способности к обучению: он автоматически регулировал веса после демонстрации каждого нового изображения, приводя их в соответствие с желаемым выходом. Перцептрон положил начало машинному обучению с учителем. Процедура обучения настраивает параметры сети таким образом, чтобы результат приближался к желаемому. После обучения машина способна даже распознавать примеры, которых она никогда не видела, – это называется способностью к обобщению. Сегодня все, что делала машина Розенблатта, выполняет простейшая компьютерная программа длиной в несколько строк.
Чтобы приблизить деятельность ИИ к работе мозга, недостаточно было воссоздать его строение. Нужно было сделать системы способными к обучению по аналогии с механизмами обучения человеческого мозга. Так возникло направление глубокого обучения (deep learning) и искусственных нейронных сетей. На механизмах глубокого обучения и нейронных сетей работают современные компьютерные системы, включая автономные автомобили. Столкнувшись с ограничениями перцептрона, исследователи стали накладывать несколько слоев нейронов друг на друга, чтобы машины могли решать более сложные задачи. Принцип обучения остался прежним: параметры сети настраиваются таким образом, чтобы система допускала минимум ошибок. Сквозное обучение многослойных сетей – это так называемое глубокое обучение, или обучение преобразованию входных данных в осмысленные представления.
В простейших многослойных сетях все нейроны одного слоя связаны со всеми нейронами следующего слоя. В многослойной сети первичные слои выступают в роли экстракторов признаков, которые создаются не вручную, а автоматически – в процессе обучения. Функциональность многослойных нейросетей лучше всего иллюстрируют примеры, связанные с распознаванием изображений.
Проанализируем примеры различного написания букв C и D с помощью двухслойной сети, чтобы показать, как единицы первичного слоя могут обнаруживать шаблоны, характерные для C и D. Перцептрон при решении подобной задачи ошибался, если варианты написания C и D слишком сильно различались по форме, положению или размеру. Однако если добавить еще один слой нейронов, проблема будет решена. Нейроны первичного слоя будут находить паттерны, характерные для C и D. Такие детекторы создаются автоматически, потому что в сети используется обратное распространение, которое автоматически обнаруживает отличительные особенности или шаблоны. Например, непрерывная линия с двумя открытыми концами характерна только для C. Наличие линий, образующих близкий к прямому угол, указывает на D и т. д. Первый слой ведет себя как экстрактор признаков, а второй – как классификатор, но все уровни сети обучаются одновременно.