Полная версия
Как учится машина. Революция в области нейронных сетей и глубокого обучения
Ян Лекун
Как учится машина. Революция в области нейронных сетей и глубокого обучения
Перевод Е. Арсеновой
Редактор В. Скворцов
Научный редактор М. Плец
Руководители проекта А. Марченкова, Ю. Семенова
Дизайн А. Маркович
Корректор Е. Жукова
Компьютерная верстка Б. Руссо
© Odile Jacob, octobre 2019
© ООО «Альпина ПРО», 2021
Все права защищены. Данная электронная книга предназначена исключительно для частного использования в личных (некоммерческих) целях. Электронная книга, ее части, фрагменты и элементы, включая текст, изображения и иное, не подлежат копированию и любому другому использованию без разрешения правообладателя. В частности, запрещено такое использование, в результате которого электронная книга, ее часть, фрагмент или элемент станут доступными ограниченному или неопределенному кругу лиц, в том числе посредством сети интернет, независимо от того, будет предоставляться доступ за плату или безвозмездно.
Копирование, воспроизведение и иное использование электронной книги, ее частей, фрагментов и элементов, выходящее за пределы частного использования в личных (некоммерческих) целях, без согласия правообладателя является незаконным и влечет уголовную, административную и гражданскую ответственность.
* * *Введение
«Открой дверь модульного отсека, Хэл!» В фильме «2001 год: Космическая одиссея» HAL 9000, сверхразумный компьютер, управляющий работой космического корабля, отказывается открыть дверь модульного отсека астронавту Дейву Боумену. В этой драматической сцене – вся трагедия искусственного интеллекта. Мыслящая машина оборачивается против человека, который ее сам же разработал. Что это: фантазия или обоснованные опасения? Стоит ли тревожиться о том, что однажды нашим миром будут управлять терминаторы – искусственные гуманоиды с почти неограниченными возможностями и темными замыслами? Этот вопрос люди задают все чаще и чаще сейчас, когда мы переживаем неслыханную революцию в интеллектуальных технологиях, которую никто не мог вообразить себе еще полвека назад. Искусственный интеллект, изучению которого я посвятил много лет, меняет все наше общество.
Я решил написать эту книгу, чтобы объяснить определенный набор методов и приемов в этой области, не скрывая всей ее сложности. Понять это не так просто, как научиться играть в шашки, но я думаю, что это необходимо для формирования аргументированного мнения по вопросам, связанным с искусственным интеллектом. Наше медиапространство пестрит такими терминами как «глубокое обучение», «машинное обучение» или «нейронные сети» … Я хочу, шаг за шагом, пролить свет на научный подход, который работает на стыке вычислительной техники и нейробиологии, не прибегая при этом к каким-либо метафорам.
Во время нашего погружения в основы работы вычислительных машин я буду использовать два способа изложения информации. Первый из них – традиционный: я рассказываю, описываю и анализирую. Время от времени для тех, кому интересно, я буду приводить более сложные примеры из математики и компьютерных наук.
Искусственный интеллект (ИИ) позволяет машине распознавать изображения, транскрибировать голос с одного языка на другой, переводить тексты, автоматизировать управление автомобилем или контролировать производственные процессы. Его широкое распространение в последние годы связано с методом, именуемым глубоким обучением, которое позволяет не просто программировать машину для выполнения определенной задачи, а обучать ее решению более широкого круга сходных задач. Глубокое обучение применяется к так называемым искусственным нейронным сетям, архитектура и функционирование которых вдохновлены устройством человеческого мозга.
Наш мозг состоит из 86 миллиардов нейронов, нервных клеток, связанных друг с другом. Искусственные нейронные сети также состоят из множества единиц, математических функций, подобных очень упрощенным нейронам. В мозгу обучение изменяет связи между нейронами; то же самое происходит и с искусственными нейронными сетями. Поскольку эти единицы часто организованы в несколько слоев, мы говорим о «сетях» и «глубоком» обучении.
Роль искусственных нейронов состоит в том, чтобы вычислить взвешенную сумму входных сигналов и создать выходной сигнал, если эта сумма превышает определенный порог. Но искусственный нейрон – это не больше и не меньше, чем математическая функция, рассчитанная компьютерной программой. Однако мы не случайно применяем к искусственным сетям те же термины, что и к реальным нейронам, – ведь именно открытия в области нейробиологии послужили стимулом исследованиям в области ИИ.
В этой книге я также хочу проследить свой интеллектуальный путь в рамках этого необычного научного приключения. Мое имя по-прежнему связано с так называемыми «сверточными» нейронными сетями, которые подняли распознавание объектов компьютером на небывалую высоту. Вдохновленные структурой и функцией зрительной коры головного мозга млекопитающих, они могут эффективно обрабатывать изображения, видео, звук, голос, текст и другие типы сигналов.
В чем состоит деятельность исследователя? Откуда берутся его идеи? Что касается меня, то я уделяю много внимания интуитивным догадкам. Дальше наступает очередь математики. Я знаю, что другие ученые действуют диаметрально противоположным образом. Я проецирую в свою голову пограничные случаи, которые Эйнштейн называл «мысленными экспериментами», благодаря которым вы сначала представляете ситуацию, а затем пытаетесь рассмотреть ее следствия для лучшего понимания проблемы.
Моя интуиция подпитывается чтением книг. Я просто пожираю книги. Я исследую работы тех, кто был до меня. Вы никогда ничего не создадите в одиночку. Идеи живут, дремлют, и они возникают в чьей-то голове, потому что пришло время. Так рождаются исследования. Они продвигаются неравномерно, то прыжками, то шажками, а порой – даже пятясь. Но деятельность эта всегда коллективна. Образ одинокого исследователя, делающего в своей лаборатории мировое открытия, – не более, чем романтическая фантастика.
Путь разработки глубокого обучения не был простым. Приходилось бороться со скептиками всех мастей. Сторонники «классического» искусственного интеллекта, основанного исключительно на логике и рукописных программах, пророчили нам провал. Люди, добившиеся успеха в традиционном машинном обучении, показывали на нас пальцами, хотя глубокое обучение, над которым мы работали, и было по существу набором определенных методов в более широкой области машинного обучения. Однако тот тип машинного обучения, который позволял машине решать задачу путем сравнения конкретных примеров внутри массива данных, а не прямым исполнением написанной программы, тоже имел свои пределы. Мы пытались их преодолеть. Средством для этого послужили глубокие нейронные сети. Они были очень эффективными, но при этом сложными в математическом анализе и в реализации. Поэтому мы прослыли чуть ли не алхимиками…
Сторонники традиционного машинного обучения перестали высмеивать нейронные сети в 2010 г., когда последние наконец продемонстрировали свою эффективность. Лично я никогда не сомневался в успехе. Я всегда был убежден, что человеческий интеллект настолько сложен, что для того, чтобы его скопировать, нужно стремиться построить самоорганизующуюся систему, способную учиться самостоятельно, через опыт.
Сегодня эта форма искусственного интеллекта так и осталась наиболее перспективной, благодаря доступности больших баз данных и прогрессу в разработке оборудования, например графических процессоров, намного увеличивших вычислительную мощность компьютеров.
По окончании учебы я планировал провести несколько лет в Северной Америке. И я все еще там! После некоторых жизненных перипетий я попал в компанию Facebook, владеющую сайтом с 2 миллиардами активных пользователей, чтобы вести фундаментальные исследования в области ИИ. Это – тоже часть моей публичной биографии. Я не хочу скрывать ничего из того, что происходит в компании Марка Цукерберга, которой в 2018 г. были предъявлены серьезные обвинения, и чье безграничное расширение вызывает опасение. В любом случае – я сторонник открытости.
В марте 2019 г. я был удостоен премии Тьюринга за 2018 г. от Ассоциации вычислительной техники – своего рода Нобелевской премии в компьютерной области. Я разделил эту награду с двумя другими специалистами по глубокому обучению, Йошуа Бенджио и Джеффри Хинтоном, моими партнерами, с которыми мы много спорили, но всегда сходились в главном.
Я многим обязан всем этим встречам, месту, которое я со временем занял в сообществе безумных наследников кибернетики 1950-х гг., не устававшим задавать друг другу «детские» на вид, но глубокие по сути вопросы, вроде: «Как получается, что нейроны, очень простые объекты, соединяясь друг с другом, производят новое свойство, которое называется интеллектом?»
Теперь эта научная авантюра порождает новые важные вопросы. Отличается ли работа машины, которая распознает автомобиль посредством выделения таких элементов, как колеса, лобовое стекло и т. д. от работы нашей зрительной коры при идентификации той же самой машины? Что делать с наблюдаемым сходством между работой машины и мозгом человека или животного? Область исследования безгранична.
Посмотрим правде в глаза: машины, какими бы мощными и сложными они ни были, по-прежнему очень узкоспециализированы. Они учатся менее эффективно, чем люди и животные. По сей день у них нет ни здравого смысла, ни совести. По крайней мере, пока! Несомненно, они превосходят людей в определенных задачах: например, побеждают их в го и в шахматах; они переводят сотни языков, они узнают растения или насекомых, они обнаруживают опухоли на медицинских изображениях. Но человеческий мозг сохраняет значительное преимущество перед машинами в том, что он более универсален и гибок.
Смогут ли машины догнать нас, и если да – то как скоро?
Глава 1
Революция в искусственном интеллекте
Искусственный интеллект проникает во все секторы экономики, связи, здравоохранения и даже транспорта – благодаря созданию беспилотных автомобилей… Многие наблюдатели говорят уже не о технологической эволюции, а о революции.
Вездесущий искусственный интеллект
«Алекса, какая погода в Буэнос-Айресе?» Менее чем за секунду «умная» акустическая система записывает вопрос, передает его через домашний Wi-Fi на серверы Amazon, которые транскрибируют и интерпретируют его. Затем они получают информацию от метеорологической службы и возвращают ответ, который Алекса озвучивает приятным голосом: «В настоящее время в Буэнос-Айресе, Аргентина, температура воздуха 22 ℃. Пасмурно».
В офисе ИИ – прилежный помощник. Он работает быстро, и его не пугают повторяющиеся задачи. Он может просмотреть миллионы записей в базе денных в поисках цитаты и найти нужную за долю секунды благодаря возможностям современных компьютеров, скорость вычислений у которых сделалась почти невероятной.
Один из первых программируемых электронных компьютеров, ENIAC, построенный в 1945 г. в Университете Пенсильвании для расчета траектории полета снарядов, выполнял приблизительно 360 умножений в секунду для десятизначных цифр. Сейчас эта машина выглядит неповоротливым доисторическим чудищем. Процессоры нынешних персональных компьютеров в миллиард раз быстрее. Они имеют производительность в сотни гигафлопс[1]. Графические процессоры, используемые нашими компьютерами для визуализации, имеют производительность в несколько десятков терафлопс. Гигантские числа с впечатляющими названиями.
Их уже не остановить! Современные суперкомпьютеры объединяют десятки тысяч этих графических процессоров и достигают скорости в сотни тысяч терафлопс, производя колоссальные объемы вычислений для всевозможных симуляций: прогнозирования погоды, моделирования климата, расчета воздушного потока вокруг самолета или конформации белка, моделирования таких головокружительных событий, как первые мгновения существования Вселенной, смерть звезды, эволюция галактик, столкновения элементарных частиц или ядерный взрыв.
Такие симуляции включают численное решение дифференциальных уравнений или уравнений в частных производных – это задача, которую в прошлом математикам приходилось решать вручную. И все же – так ли умны эти вычислительные гиганты, как математики прошлых лет? Нет, конечно… во всяком случае, пока. Одна из задач развития искусственного интеллекта заключается в том, чтобы когда-нибудь научить машины использовать их огромную вычислительную мощность для решения интеллектуальных задач, сейчас подвластных только животным и людям.
Не стоит судить только по внешности. Программы искусственного интеллекта умеют хорошо учиться, но лишь до определенного момента. В 2017 г. робот Норико Араи – специалиста Токийского университета, изучавшего влияние ИТ на общество, успешно сдал вступительный экзамен в один из японских университетов. Программа, получившая название Todai (название университета), сдала эссе, экзамены по математике и английскому языку лучше 80 % абитуриентов. Но это не значит, что система была умной: на самом деле робот вообще не понимал, что он пишет! Успех программы скорее говорит о несовершенстве как вступительных испытаний в высшие успешные заведения Японии, так и машинного интеллекта. Мы были бы рады, если, в конечном счете, Todai провалится на более продуманно организованных экзаменах.
Искусственный интеллект в искусстве
Искусственный интеллект может быть хорошим художником, точнее – копиистом. Он мастерски создает произведения «в стиле». Он способен превратить любую фотографию в картину Моне, сделать из зимнего пейзажа весенний[2] или заменить лошадь зеброй на видео. Остерегайтесь фальшивых видеороликов! Более того: в 2017 г. команда Ахмеда Эльгаммала из Университета Рутгерса (США) разработала систему, создающую картины, так похожие на оригинальные творения некоторых художников, что эксперты не могут отличить их от реальных картин тех же художников[3].
Музыка – тоже не исключение. Многие исследователи используют методы искусственного интеллекта для синтеза звука и музыкальной композиции. Так 21 марта 2019 г. в честь дня рождения Иоганна Себастьяна Баха связанный с Google[4] проект Magenta анонсировал новую систему, названную Google Doodle[5], которая позволяет любому пользователю сочинять и аранжировать мелодию в стиле известного композитора. Вспомним также, что 4 февраля 2019 г. в Лондонском концертном зале Cadogan Hall 66 музыкантов английского оркестра «English Session Orchestra» публично исполнили новую версию Симфонии № 8 Шуберта, известную как «неоконченная». В тот вечер она стала законченной. После анализа двух существующих частей система искусственного интеллекта, разработанная компанией Huawei, создала две недостающие части музыкального произведения (впрочем, композитору Лукасу Кантору все-таки пришлось написать партитуру для оркестра).
Гуманоиды? Ничего подобного!
София – красивая девушка со стрижкой «под ноль», загадочной улыбкой и кристально-чистыми глазами, стала настоящей звездой 2017 г. «Вы смотрите слишком много голливудских фильмов!» – усмехается она в ответ журналисту, который выразил беспокойство о том, что однажды роботы захватят Землю. Ее появление вызвало такой общественный резонанс, что в том же году Саудовская Аравия предоставила ей гражданство. На самом деле это прекрасное существо было всего лишь марионеткой, для которой программисты написали набор стандартных ответов на самые разные вопросы. То, что ей говорят, обрабатывается системой сопоставления, которая выбирает из каталога возможных ответов наиболее подходящий к данному случаю.
Софья обманывает свою аудиторию. Она не умнее, чем Todai в Токио. Просто у нее более выраженная и живая мимика, и мы, люди, впечатленные этой анимацией, верим в наличие у человекообразного робота настоящего ума.
«Старый добрый» искусственный интеллект…
Мир искусственного интеллекта меняется. Его границы постоянно расширяются. Когда та или иная проблема решена, она покидает сферу искусственного интеллекта и постепенно переходит в классический набор инструментов.
Например, преобразование математических формул в инструкции, выполняемые компьютером, было делом искусственного интеллекта лишь в 1950-х гг., когда информатика только зарождалась как наука. Сегодня – это обычная функция компиляторов – программ, которые преобразуют программы, написанные инженерами, в наборы инструкций, которые непосредственно исполняются машиной. А компиляция как предмет преподается всем студентам-компьютерщикам.
Или возьмем задачу поиска маршрута. В 1960-е она явно принадлежала к области ИИ. Сегодня – это опять всего лишь стандартный инструмент, каких много. Существуют эффективные алгоритмы поиска кратчайшего пути в графе (сети взаимосвязанных узлов), такие как алгоритм Дейкстры 1959 г.[6] или алгоритм A* («А звезда») Харта, Нильссона и Рафаэля 1969 г.[7] С повсеместным распространением GPS эта задача далеко отошла от переднего края науки.
Ядром искусственного интеллекта в 1970-х и 1980-х гг. был набор методов автоматического рассуждения, основанных на логике и манипулировании символами. С некоторой издевкой англоязычные сторонники этого подхода называют подобные системы GOFAI (аббревиатурой от Good Old-Fashioned Artificial Intelligence, то есть «старый добрый искусственный интеллект»).
Перейдем теперь к экспертным системам, где машина вывода применяет правила к фактам и выводит из них новые факты. В 1975 г. MYCIN, например, должен был помочь врачам выявлять острые инфекции, такие как менингит, и назначать лечение антибиотиками. В нем было около 600 правил вроде: «ЕСЛИ инфекционный организм грамотрицательный, И организм палочковидный, И организм анаэробный, ТО этот организм является (с вероятностью 60 %) бактерией».
Для своего времени MYCIN была инновационной системой. Ее правила включали в том числе и факторы достоверности, которые система объединяла для получения оценки общей достоверности результата. Она был оборудована так называемым механизмом вывода с «обратной связью», посредством которого система выдвигала одну или несколько диагностических гипотез и расспрашивала практикующего врача о симптомах пациента. В процессе этого система уточняла гипотезы в зависимости от ответов и ставила диагноз, и, наконец, назначала антибиотик и дозировку (с той или иной степенью уверенности).
Чтобы создать такую систему, врач-эксперт должен был сидеть рядом с инженером и подробно рассказывать инженеру о своих рассуждениях. Как он диагностирует аппендицит или менингит? Какие при этом бывают симптомы? Так у MYCIN появлялись правила. Иначе говоря, если у пациента имеется определенный симптом, то существует такая-то вероятность аппендицита, такая-то вероятность непроходимости кишечника и такая-то вероятность почечной колики. Инженер вручную записывал эти правила в базу.
Надежность MYCIN (и ее преемников) была довольно неплохой. Но они так и не вышли за рамки эксперимента. Компьютеризация в медицине тогда только зарождалась, а процесс ввода данных был утомительным. В конце концов, все эти экспертные системы, основанные на логике и деревьях поиска, оказались слишком тяжелыми и сложными в разработке. Они вышли из употребления, но остаются эталоном и продолжают описываться в учебниках по искусственному интеллекту.
Тем не менее работа над логикой привела к появлению некоторых важных приложений: к символьному решению уравнений и исчислению интегралов в математике, а также к автоматической проверке программ. Например, с его помощью компания Airbus проверяет точность и надежность своего программного обеспечения для управления пассажирскими самолетами.
Часть исследовательского сообщества ИИ продолжает работать над этими темами. Другие специалисты, к которым принадлежу и я, посвятили себя совершенно другим подходам, основанным на машинном обучении.
… или же машинное обучение?
Рассуждения – это лишь малая часть человеческого разума. Мы часто думаем по аналогии, мы действуем интуитивно, опираясь на представления о мире, постепенно приобретаемые через опыт. Восприятие, интуиция, опыт, наборы усвоенных навыков – все это результат обучения.
В таких условиях, если мы хотим построить машину, интеллект которой будет приближен к человеческому, мы должны сделать ее тоже способной к обучению. Человеческий мозг состоит из 86 млрд взаимосвязанных нейронов (или нервных клеток), 16 млрд из которых находятся в коре головного мозга. В среднем каждый нейрон образует почти 2000 других соединений с другими нейронами – так называемых синапсов. Обучение происходит путем создания синапсов, удаления синапсов или изменения их эффективности. Поэтому, используя самый известный подход к машинному обучению, мы создаем искусственные нейронные сети, процесс обучения которых изменяет связи между нейронами. Приведем несколько общих принципов.
Машинное обучение включает первый этап обучения или тренировки, когда машина постепенно «учится» выполнять задачу, и второй этап – реализацию – когда машина закончила обучение.
Чтобы научить машину определять, содержит ли изображение автомобиль или самолет, мы должны начать с представления ей тысяч изображений, содержащих самолет или автомобиль. Каждый раз, когда на входе системе дается изображение, нейронная сеть (или «нейросеть»), состоящая из соединенных между собой искусственных нейронов (в действительности – это множество математических функций, вычисляемых компьютером), обрабатывает это изображение и выдает выходной ответ. Если ответ правильный, мы ничего не делаем и переходим к следующему изображению. Если ответ неверный, мы немного корректируем внутренние параметры машины, то есть силу связей между нейронами, чтобы ее выходной сигнал приближался к желаемому ответу. Со временем система настраивается и в конечном итоге сможет распознать любой объект, будь то изображение, которое она видела ранее, или любое другое. Это называется способностью к обобщению.
Сравнение этой способности нейросетей с соответствующими функциями мозга говорит о том, что машинам до нас еще далеко. Приведем некоторые цифры. В мозге 8,6·1010 нейронов, связанных между собой примерно 1,5·1014 синапсами. Каждый синапс может выполнять «вычисление» сотни раз в секунду. Данный синаптический расчет эквивалентен сотне цифровых операций на компьютере (умножение, сложение и т. д.) или 1,5·1018 операций в секунду для всего мозга, хотя в действительности лишь часть нейронов активна в любой момент времени. Для сравнения, карта GPU (графического процессора) может выполнять 1013 операций в секунду. Чтобы приблизиться к мощности мозга, потребуется 100 000 видеокарт. И тут есть одна загвоздка: человеческий мозг потребляет мощность, эквивалентную 25 Вт. Карта с одним GPU (графического процессора) потребляет в десять раз больше, т. е. 250 Вт. Электронные цепи в миллион раз менее эффективны, чем биологические.
Коктейль из старого и нового
Сегодняшние приложения, как правило, используют сочетание машинного обучения, GOFAI и классических вычислений. Рассмотрим машину, способную управлять автомобилем без водителя. Бортовая система визуального распознавания, обученная распознавать визуальные объекты и сигналы, присутствующие на дороге, использует определенную архитектуру нейронной сети, называемую «сверточной сетью». Но решение, которое принимает автопилот автомобиля, когда он «видит» разметку полосы движения, тротуар, припаркованный автомобиль или велосипед, зависит от традиционных систем планирования траектории движения, с правилами, написанными вручную, или же систем, основанных на правилах, которые относятся к области GOFAI.
Полностью автономные транспортные средства находятся все еще на этапе тестирования, но ряд коммерческих автомобилей, подобных «Tesla» 2015 г., уже имеют системы помощи водителю с использованием сверточных сетей. Регуляторы скорости, оснащенные системами технического зрения, берут транспортное средство под автономное управление на автостраде, удерживают его в пределах полосы движения или автоматически меняют ее после того, как водитель включает сигнал поворота, и при этом следят за наличием других автомобилей вокруг.
Тест Тьюринга
Мы будем писать о возможностях и приложении искусственного интеллекта на протяжении всей этой книги, но сейчас пришло время сделать шаг назад. Как определить общие черты всех этих интеллектуальных машин?
Я бы сказал, что искусственный интеллект – это способность машины выполнять задачи, обычно выполняемые животными и людьми, то есть воспринимать, рассуждать и действовать. Эти свойства неотделимы от способности учиться, как это наблюдается и у живых существ. Системы искусственного интеллекта – это просто очень сложные электронные схемы и компьютерные программы. Но возможности хранения информации, доступ к памяти, скорость вычислений и возможности обучения позволяют им «абстрагироваться» от конкретных примеров, содержащейся в огромных объемах данных.