Как учится машина =: Quand la machine apprend : революция в области нейронных сетей и глубокого обучения 9785907394292

411 79 6MB

Russian Pages 350 с. [400] Year 2021

Report DMCA / Copyright

DOWNLOAD FILE

Polecaj historie

Как учится машина =: Quand la machine apprend : революция в области нейронных сетей и глубокого обучения
 9785907394292

Table of contents :
Обложка
Титульный лист
Аннотация
Авторские права
Введение
Глава 1. Революция в искусственном интеллекте
Глава 2. Краткая история искусственного интеллекта… и моего карьерного пути
Глава 3. Простые обучающие машины
Глава 4. Обучение путем минимизации, теория обучения
Глава 5. Глубокие сети и обратное распространение
Глава 6. Сверточные сети, столпы ИИ
Глава 7. Внутренности машины, или глубокое обучение сегодня
Глава 8. Моя работа в компании Facebook
Глава 9. Что ждет нас завтра? Перспективы и проблемы искусственного интеллекта
Глава 10. Искусственный интеллект и человечество
Послесловие
Благодарности

Citation preview

Перевод Е. Арсеновой Редактор В. Скворцов Научный редактор М. Плец Руководители проекта А. Марченкова, Ю. Семенова Дизайн А. Маркович Корректор Е. Жукова Компьютерная верстка Б. Руссо

© Odile Jacob, octobre 2019 © ООО «Альпина ПРО», 2021 © Электронное издание. ООО «Альпина Диджитал», 2021

Лекун Я. Как учится машина: Революция в области нейронных сетей и глубокого обучения / Ян Лекун. — Пер. с фр. — М.: Альпина ПРО, 2021.

ISBN 978-5-907394-29-2

Все

права

частного части,

защищены.

Данная

использования

фрагменты

копированию

и

и

в

электронная

личных

элементы,

любому

другому

книга

предназначена

(некоммерческих)

включая

текст,

использованию

целях.

Электронная

изображения

без

исключительно

и

разрешения

иное,

не

для

книга,

ее

подлежат

правообладателя.

В

частности, запрещено такое использование, в результате которого электронная книга, ее

часть,

фрагмент

или

элемент

станут

доступными

ограниченному

или

неопределенному кругу лиц, в том числе посредством сети интернет, независимо от того, будет предоставляться доступ за плату или безвозмездно.

Копирование, фрагментов

воспроизведение и

элементов,

и

иное

выходящее

использование за

пределы

электронной

частного

книги,

ее

использования

в

частей, личных

(некоммерческих) целях, без согласия правообладателя является незаконным и влечет уголовную, административную и гражданскую ответственность.

ВВЕДЕНИЕ

«Открой

дверь

Космическая

модульного

одиссея»

управляющий

отсека,

HAL

работой

9000,

Хэл!»

В

фильме

сверхразумный

космического

корабля,

«2001

год:

компьютер, отказывается

открыть дверь модульного отсека астронавту Дейву Боумену. В этой

драматической

сцене



вся

трагедия

искусственного

интеллекта. Мыслящая машина оборачивается против человека, который

ее

сам

обоснованные однажды

же

разработал.

опасения?

нашим

искусственные

миром

Стоит

ли

будут

гуманоиды

Что

это:

тревожиться

управлять

с

фантазия

почти

о

или

том,

что

терминаторы



неограниченными

возможностями и темными замыслами? Этот вопрос люди задают все

чаще

и

чаще

сейчас,

когда

мы

переживаем

неслыханную

революцию в интеллектуальных технологиях, которую никто не мог

вообразить

себе

еще

полвека

назад.

Искусственный

интеллект, изучению которого я посвятил много лет, меняет все наше общество. Я решил написать эту книгу, чтобы объяснить определенный набор

методов

сложности. шашки,

но

и

приемов

Понять я

это

думаю,

аргументированного искусственным такими

или

этой

области,

не

так

просто,

что

это

необходимо

мнения

интеллектом.

терминами

обучение»

в

как

«нейронные

по

Наше

скрывая

научиться для

вопросам,



хочу,

ее в

формирования связанным

обучение», Я

всей

играть

медиапространство

«глубокое сети»

как

не

шаг

с

пестрит

«машинное за

шагом,

пролить

свет

на

научный

подход,

который

работает

на

стыке

вычислительной техники и нейробиологии, не прибегая при этом к каким-либо метафорам. Во

время

нашего

вычислительных изложения

погружения

машин

я

информации.

буду

Первый

в

основы

использовать из

них



работы

два

способа

традиционный:

я

рассказываю, описываю и анализирую. Время от времени для тех, кому

интересно,

я

буду

приводить

более

сложные

примеры

из

математики и компьютерных наук. Искусственный распознавать языка

на

интеллект

изображения, другой,

(ИИ)

позволяет

транскрибировать

переводить

тексты,

голос

машине с

одного

автоматизировать

управление автомобилем или контролировать производственные процессы. связано

с

Его

широкое

методом,

распространение

именуемым

глубоким

в

последние

обучением,

годы

которое

позволяет не просто программировать машину для выполнения определенной круга

задачи,

сходных

называемым

а

задач.

обучать

Глубокое

искусственным

функционирование

ее

решению

обучение

нейронным

которых

более

широкого

применяется

сетям,

к

так

архитектура

вдохновлены

и

устройством

человеческого мозга. Наш

мозг

состоит

из

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

г.

в

честь 4

рождения Иоганна Себастьяна Баха связанный с Google

дня

проект 5

Magenta анонсировал новую систему, названную Google Doodle , которая

позволяет

аранжировать

любому

мелодию

в

пользователю

стиле

известного

сочинять

и

композитора.

Вспомним также, что 4 февраля 2019 г. в Лондонском концертном зале Cadogan Hall 66 музыкантов английского оркестра «English Session Orchestra» публично исполнили новую версию Симфонии №

8 Шуберта, известную как «неоконченная». В тот вечер она

стала

законченной.

система

После

искусственного

Huawei,

создала

произведения

анализа

двух

интеллекта,

две

(впрочем,

существующих

разработанная

недостающие композитору

части

Лукасу

частей

компанией

музыкального

Кантору

все-таки

пришлось написать партитуру для оркестра).

Гуманоиды? Ничего подобного! София — красивая девушка со стрижкой «под ноль», загадочной улыбкой и кристально-чистыми глазами, стала настоящей звездой 2017 г. «Вы смотрите слишком много голливудских фильмов!» — усмехается

она

беспокойство

о

в

том,

ответ что

журналисту,

однажды

роботы

который захватят

выразил Землю.

Ее

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

разные

системой

вопросы.

То,

сопоставления,

что

ей

которая

говорят, выбирает

обрабатывается из

каталога

возможных ответов наиболее подходящий к данному случаю. Софья обманывает свою аудиторию. Она не умнее, чем Todai в Токио. Просто у нее более выраженная и живая мимика, и мы, люди,

впечатленные

этой

анимацией,

верим

человекообразного робота настоящего ума.

«Старый добрый» искусственный интеллект…

в

наличие

у

Мир

искусственного

интеллекта

меняется.

Его

границы

постоянно расширяются. Когда та или иная проблема решена, она покидает

сферу

искусственного

интеллекта

и

постепенно

переходит в классический набор инструментов. Например,

преобразование

инструкции,

выполняемые

математических компьютером,

формул

было

в

делом

искусственного интеллекта лишь в 1950-х гг., когда информатика только зарождалась как наука. Сегодня — это обычная функция компиляторов написанные



программ,

инженерами,

непосредственно

которые в

преобразуют

наборы

исполняются

программы,

инструкций,

машиной.

А

которые

компиляция

как

предмет преподается всем студентам-компьютерщикам. Или

возьмем

принадлежала

к

задачу

поиска

области

ИИ.

маршрута.

Сегодня



В

это

1960-е опять

она

явно

всего

лишь

стандартный инструмент, каких много. Существуют эффективные алгоритмы

поиска

кратчайшего

пути

в

графе

(сети 6

взаимосвязанных узлов), такие как алгоритм Дейкстры 1959 г.

7

или алгоритм A* («А звезда») Харта, Нильссона и Рафаэля 1969 г.

С повсеместным распространением GPS эта задача далеко отошла от переднего края науки. Ядром искусственного интеллекта в 1970-х и 1980-х гг. был набор логике

методов и

манипулировании

англоязычные системы

автоматического

сторонники

GOFAI

рассуждения,

символами. этого

(аббревиатурой

С

подхода

от

Good

основанных

некоторой называют

на

издевкой подобные

Old-Fashioned

Artificial

Intelligence, то есть «старый добрый искусственный интеллект»). Перейдем теперь к экспертным системам, где машина вывода применяет правила к фактам и выводит из них новые факты. В 1975 г. MYCIN, например, должен был помочь врачам выявлять острые

инфекции,

такие

антибиотиками.

В

нем

инфекционный

организм

как

было

менингит, около

600

и

назначать

правил

грамотрицательный,

лечение

вроде: И

«ЕСЛИ

организм

палочковидный,

И

организм

анаэробный,

ТО

этот

организм

является (с вероятностью 60%) бактерией». Для своего времени MYCIN была инновационной системой. Ее правила включали в том числе и факторы достоверности, которые система объединяла для получения оценки общей достоверности результата. Она был оборудована так называемым механизмом вывода

с

«обратной

выдвигала

одну

связью»,

или

посредством

несколько

которого

диагностических

система

гипотез

и

расспрашивала практикующего врача о симптомах пациента. В процессе

этого

система

уточняла

гипотезы

в

зависимости

от

ответов и ставила диагноз, и, наконец, назначала антибиотик и дозировку (с той или иной степенью уверенности). Чтобы создать такую систему, врач-эксперт должен был сидеть рядом с инженером и подробно рассказывать инженеру о своих рассуждениях. Как он диагностирует аппендицит или менингит? Какие

при

этом

бывают

симптомы?

Так

у

MYCIN

появлялись

правила. Иначе говоря, если у пациента имеется определенный симптом, то существует такая-то вероятность аппендицита, такаято

вероятность

непроходимости

кишечника

и

такая-то

вероятность почечной колики. Инженер вручную записывал эти правила в базу. Надежность неплохой.

Но

MYCIN они

так

Компьютеризация

в

(и и

ее

не

преемников)

вышли

медицине

за

тогда

была

рамки

только

довольно

эксперимента. зарождалась,

а

процесс ввода данных был утомительным. В конце концов, все эти экспертные системы, основанные на логике и деревьях поиска, оказались

слишком

вышли

употребления,

из

тяжелыми но

и

сложными

остаются

в

разработке.

эталоном

и

Они

продолжают

описываться в учебниках по искусственному интеллекту. Тем

не

некоторых уравнений

менее

работа

важных и

над

логикой

приложений:

исчислению

к

интегралов

привела

к

символьному в

математике,

появлению решению а

также

к

автоматической проверке программ. Например, с его помощью

компания

Airbus

программного

проверяет

точность

обеспечения

для

и

надежность

управления

своего

пассажирскими

самолетами. Часть

исследовательского

работать

над

этими

темами.

сообщества Другие

ИИ

продолжает

специалисты,

к

которым

принадлежу и я, посвятили себя совершенно другим подходам, основанным на машинном обучении.

… или же машинное обучение? Рассуждения — это лишь малая часть человеческого разума. Мы часто думаем по аналогии, мы действуем интуитивно, опираясь на представления о мире, постепенно приобретаемые через опыт. Восприятие, интуиция, опыт, наборы усвоенных навыков — все это результат обучения. В

таких

условиях,

если

мы

хотим

построить

машину,

интеллект которой будет приближен к человеческому, мы должны сделать

ее

состоит

из

тоже 86

способной

млрд

к

обучению.

взаимосвязанных

Человеческий

нейронов

(или

мозг

нервных

клеток), 16 млрд из которых находятся в коре головного мозга. В среднем каждый нейрон образует почти 2000 других соединений с

другими

нейронами

происходит

путем

изменения

их

известный

подход



так

создания

синапсов,

эффективности. к

нейронные

изменяет

между

синапсов.

удаления

Поэтому,

машинному

искусственные связи

называемых

сети,

нейронами.

синапсов

используя

обучению,

процесс

Обучение или

самый

мы

создаем

обучения

которых

Приведем

несколько

общих

принципов. Машинное тренировки,

обучение когда

включает

машина

первый

постепенно

этап

обучения

«учится»

или

выполнять

задачу, и второй этап — реализацию — когда машина закончила обучение.

Чтобы научить машину определять, содержит ли изображение автомобиль или самолет, мы должны начать с представления ей тысяч

изображений,

Каждый

раз,

нейронная

содержащих

когда

сеть

на

(или

входе

самолет

системе

«нейросеть»),

или

автомобиль.

дается

состоящая

изображение,

из

соединенных

между собой искусственных нейронов (в действительности — это множество

математических

компьютером),

функций,

обрабатывает

это

вычисляемых

изображение

и

выдает

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

связей

между

приближался

к

настраивается

и

объект,

будь

то

нейронами,

желаемому в

конечном

чтобы

ответу. итоге

изображение,

ее

Со

выходной временем

сможет

которое

она

сигнал система

распознать видела

любой

ранее,

или

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

некоторые

связанных синапс Данный

может

18

собой

на

в

мозге 14

1,5·10

«вычисление»

расчет

компьютере

операций

В

примерно

выполнять

синаптический

операций 1,5·10

между

цифры.

10

8,6·10

синапсами.

сотни

эквивалентен

(умножение,

секунду

для

нейронов,

раз

сотне

сложение всего

в

Каждый секунду.

цифровых

и

т.д.)

мозга,

или

хотя

в

действительности лишь часть нейронов активна в любой момент времени. Для сравнения, карта GPU (графического процессора) 13

может выполнять 10

операций в секунду. Чтобы приблизиться к

мощности мозга, потребуется 100 000 видеокарт. И тут есть одна загвоздка:

человеческий

эквивалентную процессора)

25

Вт.

потребляет

мозг

Карта в

с

десять

потребляет одним раз

GPU

больше,

мощность,

(графического т.е.

250

Вт.

Электронные

цепи

в

миллион

раз

менее

эффективны,

чем

биологические.

Коктейль из старого и нового Сегодняшние

приложения,

машинного

обучения,

Рассмотрим

машину,

водителя.

архитектуру

и

способную система

распознавать

присутствующие

правило,

GOFAI

Бортовая

обученная

как

на

нейронной

классических управлять

дороге,

вычислений.

использует

без

распознавания,

объекты

называемую

сочетание

автомобилем

визуального

визуальные

сети,

используют

и

сигналы,

определенную

«сверточной

сетью».

Но решение, которое принимает автопилот автомобиля, когда он «видит»

разметку

автомобиль

или

полосы

движения,

велосипед,

тротуар,

зависит

от

припаркованный

традиционных

систем

планирования траектории движения, с правилами, написанными вручную,

или

же

систем,

основанных

на

правилах,

которые

относятся к области GOFAI. Полностью автономные транспортные средства находятся все еще на этапе тестирования, но ряд коммерческих автомобилей, подобных «Tesla» 2015 г., уже имеют системы помощи водителю с использованием

сверточных

сетей.

Регуляторы

скорости,

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

Тест Тьюринга Мы будем писать о возможностях и приложении искусственного интеллекта на протяжении всей этой книги, но сейчас пришло

время сделать шаг назад. Как определить общие черты всех этих интеллектуальных машин? Я бы сказал, что искусственный интеллект — это способность машины выполнять задачи, обычно выполняемые животными и людьми,

то

свойства

есть

воспринимать,

неотделимы

наблюдается

и

у

от

рассуждать

и

способности

живых

существ.

действовать.

учиться,

Системы

Эти

как

это

искусственного

интеллекта — это просто очень сложные электронные схемы и компьютерные

программы.

информации,

доступ

возможности

к

обучения

конкретных

Но

возможности

памяти,

скорость

позволяют

примеров,

им

содержащейся

хранения

вычислений

и

«абстрагироваться»

от

в

огромных

объемах

данных. Воспринимать, рассуждать и действовать. Алана Тьюринга — английского развитие

математика,

информатики

шифрования мировой

оказавшего

и

расшифровавшего

сообщений

войны,

обучающихся

немецкой

можно

машин.

существенное

Он

уже

Enigma

армии

назвать

влияние

времен

первым

проникся



на

систему Второй

«пророком»

важностью

обучения,

когда написал: «Вместо того чтобы пытаться создать программу, имитирующую создать

такую,

ребенка

сознание которая

получает

взрослого, имитирует

соответствующее

почему ум

бы

не

ребенка.

воспитание,

попытаться

Ведь он

если

ум

становится

8

умом взрослого человека» . Имя

Алана

тестом,

суть

Тьюринга

которого

связано,

сводится

к

кроме

того,

диалогу

со

между

знаменитым человеком

и

двумя собеседниками, которых он не видит: компьютером и еще одним

9

человеком .

времени

человек

является

машиной,

Если

не

по

истечении

определяет,

значит,

кто

машина

некоторого

из

двух

успешно

заданного

«собеседников»

прошла

тест.

Но

достижения в области ИИ сегодня таковы, что эксперты больше не

считают

тест

Тьюринга

эффективным.

Способность

вести

осмысленный диалог является лишь одной из форм интеллекта, и

здесь

искусственный

интеллект

легко

может

обмануть

даже

опытного эксперта: для этого машине достаточно выдать себя за рассеянного

и

английский

слегка

язык,

аутичного

чтобы

подростка,

объяснить

плохо

недостаточное

знающего понимание

собеседника и ошибки в собственной речи.

Постоянное совершенствование Я

уверен,

будущего

что

глубокое

обучение

искусственного



это

интеллекта.

неотъемлемая

Однако

на

часть

сегодняшний

день эти системы не способны к логическим рассуждениям. В то же время подходы к ИИ, основанные на логике, в нынешнем их состоянии несовместимы с обучением. Наша важнейшая задача на ближайшие годы — сделать эти два подхода совместимыми друг с другом. Таким

образом,

глубокое

обучение

пока

остается

очень

мощным… и очень ограниченным инструментом. Речь не идет о том,

чтобы

работать,

и

малейшего

заставить

машину,

наоборот.

Она

представления

обученную

выполняет

о

том,

что

игре

действия, делает,

и

в

шахматы,

не

имея

ни

не

обладает

здравым смыслом. Если бы системы искусственного интеллекта были

помещены

на

шкалу

интеллектуальных

способностей

от

мыши до человека, то они оказались бы намного ближе к мыши, чем к человеку — и это несмотря на то, что производительность ИИ

в

точных

и

узкоспециализированных

задачах

является

сверхчеловеческой.

Могущество алгоритма Алгоритм



этом

ничего

нет

пример.

это

Возьмем

последовательность волшебного. список

инструкций.

Ничего

цифр,

Вот

непонятного.

которые

я

хочу

и

все.

В

Приведем

расставить

в

порядке возрастания. Я пишу компьютерную программу, которая

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

Затем

я

возвращаюсь

к

списку

столько

раз,

сколько

необходимо, пока при очередном проходе число произошедших замен не станет равным нулю. Данный

алгоритм

сортировки

списка

чисел

называется

«сортировкой пузырьком». Я могу перевести его в серию точных 10

инструкций на вымышленном языке программирования

.

Сортировка пузырьком (Таблица Т) для i в диапазоне от (значение T) –1 до 1 для j в диапазоне от 0 до i –1 если T[j+1] < T[j] обменять (T, j+1, j)

Возьмите одно значение, сравните его с другим, прибавьте его к

третьему,

выполните

такие-то

и

такие-то

математические

операции, циклы, проверьте, является ли условие истинным или ложным и т.д. Алгоритм — все равно, что кулинарный рецепт. Мы обычно говорим об «алгоритме Фейсбука» или «алгоритме Гугла». Это неправильно. Скорее, алгоритмом (точнее, набором алгоритмов) поискового

является сайта,

механизм,

который

обеспечивающий

создает

список

всех

работу сайтов,

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

баллы

оценивают

популярность

сайта,

его

надежность,

релевантность его содержания, наличие ответа, если поисковая фраза

является

вопросом,

а

также

соответствие

содержания

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

прост и мог бы уместиться в нескольких строках, если бы нас не интересовала

скорость

требования

быстродействию

Реальная

к

сложность

его

системы

выполнения

(на

приводят

его

к

заключается

не

в

самом

деле

усложнению). коде,

который

вычисляет ее выходные данные, а в связях между нейронами сети, которые, в свою очередь, зависят от архитектуры этой сети и ее обучения. Прежде

чем

мы

интеллектуальной

с

вами

исследуем

машины,

я

внутреннее

хочу

обрисовать

устройство историю

искусственного интеллекта, начиная с середины XX века. Это — захватывающая

история,

в

которой

я

принимаю

участие

уже

довольно давно, и которая состоит из предвидений и дискуссий, скачков вперед и периодов застоя, где между собой столкнулись ученые,

верящие

в

машинную

логику,

и

те,

кто,

опираясь

на

нейробиологию и кибернетику, работают, как и я, над развитием способностей машин к обучению.

ГЛАВА 2

Краткая история искусственного интеллекта… и моего карьерного пути

Вечный поиск Американский история

автор

искусственного

желания

играть

сконструировать веке

Памела

в

мыслительного

интеллекта Бога».

устройства,

достижения

Маккордак

науки

процесса.

начинается

Издавна

создающие дали

С

заметила

как-то,

с

«извечного

человек

иллюзию

надежду

появлением

на

что

пытается

жизни.

В

XX

механизацию

первых

роботов

и

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

Фантасты

подробностях,

но

на

описали

такие

сегодняшний

день

компьютеры мы

еще

во

далеки

всех от

их

воплощения в реальность. Прогресс

на

этом

долгом

пути

зависит

от

технических

инноваций: более быстрые процессоры, более емкие устройства памяти.

В

1977

г.

у

мощность

составляла

потреблял

115

кВт·ч

суперкомпьютера 160 и

MFLOPS

стоил

8

Cray-1

вычислительная

(мегафлопс).

млн

долларов.

Он

На

весил

5

т,

сегодняшний

день игровая видеокарта стоимостью 300 евро, которую можно найти в компьютере у каждого второго увлеченного видеоиграми школьника, обеспечивает скорость 10 TFLOPS (терафлопс), или в

60 000 раз больше. Скоро любой смартфон сможет похвастаться такой мощностью. История

искусственного

интеллекта

в

современном

понимании берет начало с Дартмутского семинара, на котором впервые

и

Семинар

прозвучал

проходил

сам

термин

летом

1956

«искусственный

г.

в

интеллект».

Дартмутском

колледже

недалеко от Ганновера, штат Нью-Гэмпшир, и был организован двумя

исследователями

МакКарти.

Марвин



Марвином

Мински

Мински

был

увлечен

и

Джоном

концепцией

самообучающейся машины. В 1951 г. он в компании еще одного студента машин,

из

Принстона

SNARC,

«синапсами», МакКарти,

построил

небольшую

способную в

из

электронную

к

свою

одну

первых

нейронную

элементарному

очередь,

подобных сеть

обучению.

изобрел

с

40

Джон

LISP,

язык

программирования, широко используемый в разработке ИИ. Джону МакКарти также приписывают применение графов для создания участие

шахматных

около

20

программ.

В

исследователей,

работе в

том

семинара

числе

Клод

приняло Шеннон,

инженер-электротехник и математик из Bell Labs (лаборатории гигантской Рочестер

телефонной

из

IBM

и

компании Рэй

AT&T

в

Соломонофф

Нью-Джерси), —

Натан

основоположник

концепции машинного обучения. Участники

бурно

зарождающимися

обсуждали

области,

автоматизированными

движимые

вычислениями

и

кибернетикой: изучение правил в естественных и искусственных системах, нейронные семинаре

сложная сети, были

обработка

теория

информации,

автоматов…

разработаны

и

На

искусственные

этом

декларированы

небольшом основные

принципы и подходы к созданию искусственного интеллекта. Сам термин предложил все тот же Джон МакКарти.

Логика превыше всего

В

настоящее

время

часть

ученых

представляет

себе

интеллектуальные машины, работающие только на основе логики и использующие для этого деревья поиска и экспертные системы. Инженер

вводит

в

систему

данные

и

правила

их

обработки,

а

система извлекает из них результаты вычислений или анализа. Более

широкая

способной

цель

заменить

ученых

заключается

человека

в

в

сложных

создании

машины,

рассуждениях.

Аллан

Ньюэлл и Герберт Саймон из Университета Карнеги-Меллона в Питтсбурге

первыми

(«Логический

разработали

теоретик»),

которая

программу умела

Logic

Theorist

доказывать

простые

математические теоремы, исследуя дерево поиска, составленное из

преобразований

математических

формул.

Это

было

прекрасное время. Однако

через

некоторое

время

тематика

ИИ

надолго

погрузилась в спячку. В 1970 г. Агентство Министерства обороны 11

США ARPA

сократило бюджеты фундаментальных исследований

в области ИИ. Три года спустя, после отчёта Лайтхилла, который дал

крайне

пессимистические

исследований

в

Великобритания

области

сделала

прогнозы

для

искусственного

то

же

самое.

Нет

будущих

интеллекта, денег



нет

исследований… Процесс

сдвинулся

с

мертвой

точки

в

начале

1980-х.

В

то

время большие надежды подавали экспертные системы, и Япония запустила амбициозный проект по созданию «компьютера пятого поколения»,

который

должен

был

интегрировать

навыки

логического мышления в саму его конструкцию. Он должен был уметь

вести

изображения сожалению,

беседу, и,

возможно,

эта

коммерциализация которой

мы

ожидалось.

уже

переводить

идея

даже

себя

экспертных говорили,

не

тексты,

интерпретировать

рассуждать,

как

оправдала.

систем,

оказались

таких намного

человек.

Разработка как

и

MYCIN,

сложнее,

К

о

чем

Идея

поставить

когнитологов

рядом

с

(специалистов

врачами

по

или

восприятию

инженерами и

познанию),

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

сложнее,

дороже

и

вовсе

не

так

надежно,

как

предполагалось вначале, и к тому же упрощало знания и опыт, накопленные специалистом, до примитивного набора правил. С

этим

«классическим»

воспроизвести,

связаны

интеллектом,

алгоритмы

на

который

графах,

так

трудно

которые

тоже

имели в свое время оглушительный успех.

Игровой мир В

1997

г.

чемпиона

мира

по

шахматам

Гарри

Каспарова

пригласили в Нью-Йорк принять участие в матче из шести партий против

Deep

Blue,

суперкомпьютера,

созданного

транснациональной корпорацией IBM, — монстра высотой почти 2

м

и

весом

которую стороны,

1,4

т.

В

предваряли Гарри

шестой,

три

заключительной

ничьи

Каспаров

и

сдался

по

уже

одной на

партии

победе

двадцатом

с

матча, каждой

ходу.

Он

признался, что был поражен и побежден вычислительной мощью машины. Давайте на минутку остановимся на устройстве Deep Blue. В компьютере

было

специально шахматной

30

процессоров,

разработанными доске.

Обладая

дополненных

для

такой

проверки

480

схемами,

позиций

вычислительной

на

мощностью,

машина могла оценивать качество примерно 200 млн позиций на доске

в

секунду,

используя

классические

алгоритмы

деревьев

поиска. Несколько лет спустя, 14, 15 и 16 февраля 2011 г., после трех раундов

игры

американской размещенный

компьютер

IBM

игре-викторине между

двумя

Watson

одержал

победу

в

— Jeopardy! Аватар компьютера, чемпионами,

представлял

собой

земной

шар,

написанная ненужные

покрытый

световыми

лучами.

учеными-компьютерщиками,

слова

(артикли,

Программа,

удаляла

предлоги…),

из

определяла

вопроса

значимые

слова и искала эти слова в огромном количестве текстов, порядка 200

млн

страниц,

определяя

там

те

предложения,

в

которых

можно было найти ответ. Эти тексты, а именно вся Википедия, энциклопедии, словари, тезаурусы, сообщения информационных агентств, литературные произведения, хранились в его оперативной памяти объемом 16 12

терабайт таких

(жесткие

задач).

диски

Сотни

сформировали

были

тысяч

большой

бы

слишком

объектов

список

и

записей,

медленными

имен каждая

для

собственных из

которых

относилась к определенной статье Википедии, веб-странице или тексту,

где

она

появилась…

Система

Watson

проверяла,

существует ли документ, в котором присутствует часть ключевых терминов

вопроса.

После

этой

проверки

проблема

сводилась

к

нахождению правильного ответа в статье. Например, Обама?»,

если

система

бы

вопрос

Watson

звучал

знала,

так:

что

«Где

ответом

родился будет

Барак

название

места. В ее базе данных был список всех документов, в которых упоминался нашлась Затем

бы

Барак статья

машине

со

просто

соответствующее быстрого

Обама.

индексацией

словами нужно

ответу.

поиска

Поэтому

«Обама», было

Watson,

по

информации

данных.

Но

эта

где-нибудь «родился»

выбрать сути,

в

состояла

не

и

слово

сочетании

система

обязательно «Гавайи». «Гавайи»,

из

системы

с

хорошей

понимала

смысла

вопроса. Она вела себя как школьник, выполняющий домашнее задание

с

открытой

книгой

(или

открытой

Википедией!).

На

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

2016

г.

южнокорейский

появляется чемпион

еще по

одно

игре

в

го

достижение. был

В

Сеуле

побежден

своим

компьютерным противником AlphaGo, внушительной системой,

разработанной

DeepMind,

Восемнадцатикратный

дочерней

чемпион

компанией

мира

Ли

Google.

Седоль

проиграл

машине четыре игры из пяти. В отличие от Deep Blue, AlphaGo была

«обучена».

сочетая

при

Она

этом

тренировалась, несколько

играя

хорошо

против

самой

известных

себя,

методов:

сверточные сети, усиленное обучение и метод Монте-Карло для поиска

в

дереве,

метод

«рандомизированных

деревьев

поиска».

Впрочем, не будем забегать вперед.

Нейробиология и перцептрон В

1950-х

гг.,

искусственного раздвинули обучения

когда

«великие

интеллекта,

границы

его

магистры»

основанного применения,

сформулировали

на

классического

логике

пионеры

альтернативные

идеи.

и

графах,

машинного Они

были

уверены, что логики недостаточно, чтобы компьютерные системы были

способны

решать

сложные

задачи.

Необходимо

было

приблизиться к функционированию мозга и тем самым сделать системы способными программировать самих себя, опираясь на механизмы

обучения

называемом

мозга.

«глубоком

Это

направление

обучении»

основано

(deep

на

learning)

так и

искусственных нейронных сетях, — именно в этой области я и работаю. На подобных механизмах основана работа большинства продвинутых

современных

приложений,

включая

автономные

автомобили. Происхождение метода относится к середине прошлого века. Еще

в

1950-х

поддерживали

гг.

пионеры

теории,

искусственного

разработанные

интеллекта

Дональдом

Хеббом,

канадским психологом и нейробиологом, который, в частности, размышлял чтобы

о

роли

нейронных

воспроизводить

рассуждений,

почему

бы

связей

логические не

в

обучении. цепочки

исследовать

их

Вместо

того

человеческих носитель,

этот

потрясающий биологический процессор, которым является мозг?

Таким

образом,

сконцентрировались

исследователи

на

нейронном

вычислений

способе

обработки

информации в отличие от ранее применявшейся логической, или «последовательной», моделирование

обработки.

биологических

Они

нацелились

нейронных

цепей.

на

Машинное

обучение, на которое были направлены их усилия, основывалось на

оригинальной

архитектуре,

сети

математических

функций,

которые по аналогии называют «искусственными нейронами». Они

улавливают

обрабатывают

его

входной

таким

идентифицируется. распознавание

образом,

что

Сложность

образов,

взаимодействием

сигнал,

и

нейроны

на

выходе

очень

этот

операции,

поддерживается простых

в

сети

сигнал

например,

комбинированным

элементов,

а

именно

искусственных нейронов. Так и в нашем мозге взаимодействие основных

функциональных

единиц



нейронов



порождает

сложные мысли. Возникновение описываемой концепции датируется 1957 г.: в том

же

году

Розенблатт, Хебба, Мы

в

Корнельском

вдохновленный

построил

перцептрон

рассмотрим

эталонной

ее

в

моделью

перцептрон

университете

когнитивной —

первую

следующей

способен,

теорией

так

как

обучения.

например,

машину.

она

После

Фрэнк

Дональда

обучающуюся

главе,

машинного

психолог

являются обучения

распознавать

образы

(геометрические фигуры, буквы и т.д.). В

1970-х

профессор

гг.

(Стэнфордского (Калифорния), «распознавания

мировым

американца,

электротехники

(Калифорния),

является

два

и

Питер

Харт

в —

все

статистических

перцептрон. эталоном,

С

самого

Библией

студентов… и для меня тоже.

Дуда,

в

то

Университете

время

Сан-Хосе

ученый-компьютерщик

исследовательского обсуждали

Ричард

эти

института) так 13

форм

начала

в

примером

их

распознавания

SRI

Менло-Парке

называемые

»,

из

методы которых

руководство образов

для

стало всех

Но

перцептрон

одного

слоя

далеко

не

всесилен.

искусственных

ограничения.

Система,

нейронов,

Исследователи

состоящая

имеет

пытались

из

«врожденные»

увеличить

его

эффективность, вводя несколько слоев нейронов вместо одного. Но без алгоритма обучения слоев, который к тому моменту еще не

был

известен,

такие

машины

все

еще

оставались

очень

малоэффективными.

Эпоха застоя Перейдем Марвин

к

кому

Мински

искусственными них,

времени,



тот

когда

самый,

нейронными

опубликовали

1969

который

сетями,

книгу

в

г.

Сеймур

1950-х

прежде

геометрию»

.

Они

гг.

чем

«Перцептроны:

14

вычислительную

в

Паперт

и

увлекался

отречься

Введение

математически

от в

доказали

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

Массачусетского

технологического

института

пользовались большим авторитетом, так что их работа наделала много

шума.

Агентства,

финансирующие

исследования,

прекратили поддержку исследовательских работ в этой области. Как

и

исследования

в

GOFAI,

исследования

нейронных

сетей

пережили серьезный застой. В

этот

период

создании

большинство

умных

машин,

ученых

перестали

способных

к

говорить

обучению.

о

Они

предпочитали ограничивать свои амбиции более приземленными проектами.

Используя

сетей,

создали,

они

процесс,

лежащий

технологий проводных

в

методы,

например, в

«адаптивную

основе

современном

линий

унаследованные

связи

мире.

многих Прежде

сильно

от

нейронных

фильтрацию»



коммуникационных физические

ограничивали

свойства передачу

высокочастотных

сигналов,

приводя

к

их

существенным

искажениям уже на расстоянии нескольких километров. Теперь сигнал

восстанавливается

с

помощью

адаптивного

фильтра.

Используемый алгоритм называется Luckyʼs Algorithm в честь его изобретателя

Боба

Лаки,

который

в

конце

1980-х

руководил

отделом Bell Labs, где тогда работало около 300 человек. в том числе и я. Без

адаптивной

фильтрации

у

нас

не

было

бы

телефона

с

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

свист).

В

эхокомпенсаторах,

кстати,

используются

алгоритмы, очень похожие на алгоритм перцептрона. 15

Не появился бы без этой технологии и модем позволяет

одному

компьютеру

. Это устройство

коммуницировать

с

другим

компьютером по телефонной линии или иной линии связи.

Преданные последователи Тем не менее, и во времена застоя в 1970-х и 1980-х гг. некоторые ученые

продолжали

научное

сообщество

фанатиками.

Я

имею

работать считало в

виду

над их

нейронными

сетями,

сумасшедшими,

чуть

Теуво

Кохонена,

финна,

хотя

ли

не

который

написал об «ассоциативных воспоминаниях» — теме, близкой к нейронным Японии

Я

существует

отличная Амари

сетям.

и

от

также

говорю

изолированная

западной,



исследователе

и

среди

и

о

группе

японцев

инженерная

них

искусственного

о



в

экосистема,

математике интеллекта

Сун-Ити

Кунихико

Фукусима. Последний работал над машиной, которую он назвал «когнитроном», по аналогии с термином «перцептрон». Он создал две его версии: «когнитрон» 1970-х и «неокогнитрон» 1980-х. Как и

Розенблатт

в

свое

время,

Фукусима

был

вдохновлен

достижениями

нейробиологии,

особенно

открытиями

американца Дэвида Хьюбела и шведа Торстен Н. Визеля. Эти

два

нейробиолога

получили

Нобелевскую

премию

по

физиологии в 1981 г. за свою работу над зрительной системой кошек.

Они

обнаружили,

прохождения

что

визуального

зрение

сигнала

возникает через

в

результате

несколько

слоев

нейронов, от сетчатки до первичной зрительной коры, затем в другие области зрительной коры, и, наконец — в нижневисочную кору.

Нейроны

в

каждом

из

этих

слоев

выполняют

особые

функции. В первичной зрительной коре каждый нейрон связан только с небольшой областью поля зрения, а именно со своим рецепторным полем. Такие нейроны называются «простыми». В следующем

слое

предыдущего

другие

слоя,

что

нейроны

помогает

включают

поддерживать

активацию

представление

изображения, если объект немного перемещается в поле зрения. Такие нейроны называются «сложными». Таким образом, Фукусима был вдохновлен идеей первого слоя простых

нейронов,

небольших сложных было

рецепторных

нейронов

пять

простые

которые

слоев:

в

обнаруживают

полях,

следующем

простые

нейроны



«классификационный

выдающих слое.

нейроны

Всего



сложные

слой»,

простые

изображение, в

в и

неокогнитроне

сложные

нейроны

нейроны,

подобный

узоры

и



затем

перцептрону.

Он,

очевидно, использовал для первых четырех уровней некоторый алгоритм обучения, но последний был «неконтролируемым», то есть он не принимал во внимание конечную задачу. Такие слои обучались

«вслепую».

Только

последний

слой

обучался

под

наблюдением (как и перцептрон). У Фукусимы не было алгоритма обучения,

который

регулировал

бы

параметры

всех

слоев

его

неокогнитрона. Однако его сеть позволяла распознавать довольно простые формы, например, символы чисел. В

начале

ученые.

1980-х

гг.

Некоторые

идеи

Фукусимы

поддерживали

североамериканские

и

другие

исследовательские

группы

также

Макклелланд Терри

и

работали Дэвид

Сейновски,

Джеффри

Хинтон

в

этой

Румелхарт,

и —

области:

психологи

биофизики

Джон

ученые-компьютерщики, тот

самый,

с

которым

Хопфилд

в

я

Джей и

частности

впоследствии

разделю Премию Тьюринга, присужденную в 2019 г.

Мой выход на сцену Я

начал

интересоваться

всеми

этими

темами

в

1970-х

гг.

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

как

он

сделал

свой

первый

пульт

для

управления

небольшой машиной и лодкой во время забастовок в мае 1968 г., когда

он

проводил

много

времени

дома.

Я

не

единственный

в

семье, кому он передал свою страсть к любимому делу. Мой брат, который

на

шесть

лет

компьютерщиком.

младше

После

меня,

тоже

академической

сделался карьеры

ученымон

стал

исследователем в компании Google. С

самого

раннего

компьютеризация,

детства

меня

покорение

манили

космоса…

новые

Еще

я

технологии,

мечтал

стать

палеонтологом, потому что меня очень интриговал человеческий интеллект и его эволюция. Даже сегодня я по-прежнему верю, что работа нашего мозга остается самой загадочной вещью в мире. Я помню,

как

родителями,

в

Париже

а

также

фантастики,

смотрел

было

восемь

тогда

космические

большом

дядей фильм

лет.

«Хэл»,

выживания

и

«2001:



который успеха

я

вместе

Космическая все,

был

миссии.

моими

научной

одиссея». что

человечества готов

с

«фанатами»

затронул

будущее

и

экране

тетей

Фильм

путешествия,

суперкомпьютера собственного

на

и

я

любил:

восстание

убивать

Уже

Мне

тогда

ради меня

волновал

вопрос

о

том,

как

воспроизвести

человеческий

интеллект в машине. Неудивительно,

что

после

школы

я

захотел

воплотить

эти

мечты в жизнь. В 1978 г. я поступил в Парижскую высшую школу электронной

инженерии

(École

Supérieure

d'Ingénieurs

en

Électrotechnique et Électronique, ESIEE) в которую можно подавать заявление сразу после получения степени бакалавра, без затрат времени

на

дополнительную

длинная

учеба



не

подготовку.

единственный

(Откровенно

способ

добиться

говоря,

успеха

в

науке. Я могу это подтвердить на своем примере.) А поскольку учеба в ESIEE предоставляет студенту некоторую свободу, я сумел воспользоваться этим.

Плодотворное чтение Меня воодушевили новости о дебатах на конференции Cerisy о врожденном 1980

г.

и

приобретенном

Лингвист

существуют

Ноам

исходно

16

знании

Хомски

,

прочитанные

подтвердил,

заложенные

что

структуры,

мною в

в

мозге

позволяющие

человеку научиться языку. Психолог Жан Пиаже защищал идею о том,

что

любое

существующие осуществляется интеллект. обучения,

обучение

структуры поэтапно

Таким

задействует

мозга, по

образом,

основанного

на

и

мере

определенные,

что

овладение

того,

интеллект

обмене

как

уже

языком

формируется

будет

результатом

информацией

с

внешним

миром. Эта идея мне понравилась, и мне стало интересно, как ее можно

применить

принимали

в

участие

отношении именитые

машины.

ученые,

в

В

этой

том

дискуссии

числе

Сеймур

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

я

и

узнал

о

существовании

обучающейся

машины.

Эта

тема меня просто очаровала! Поскольку я не учился по средам после

обеда,

я

начал

рыскать

по

полкам

библиотеки

Национального

института

исследований

Роккенкуре

Digital

в

Science

and

компьютерных (National

Technology,

и

автоматических

Institute

сокращенно

for

Research

«Inria»).

У

in

этого

учреждения самый богатый библиотечный фонд ИТ-литературы в Иль-де-Франс. работает

с

Я

вдруг

понял,

нейронными

обнаружил,

что

перцептрона,

что

сетями,

книга,

на

и

с

Западе

еще

положившая

принадлежит

перу

больше

большим

конец

того

же

никто

не

удивлением

исследованиям

самого

Сеймура

Паперта! Теория

систем,

которую

в

1950-х

гг.

мы

называли

кибернетикой, и которая изучает естественные (биологические) и

искусственные

например, человека

системы

систему

еще

регулирования

поддерживает

своеобразного



одна

страсть.

температуры

температуру

«термостата»,

моя

37

который

°C

Возьмем,

тела:

организм

благодаря

наличию

корректирует

разницу

между своей температурой и температурой снаружи. Меня увлекла идея самоорганизации систем. Каким образом относительно

простые

организовываться интеллект

из

в

молекулы

сложные

большого

или

объекты

структуры?

набора

Как

простых

могут

спонтанно

может

появиться

взаимодействующих

нейронов? Я изучал математические работы по теории алгоритмической сложности Колмогорова, Соломонова и Чайтина. Книга Дуды и 17

Харта читал

, о которой я уже упоминал, стала для меня настольной. Я журнал

«Биологическая

кибернетика»

(«Biological

Cybernetics. Advances in Computational Neuroscience and in Control and

Information

Theory

for

Biological

Systems»,

издательство

Springer), посвященный математическим моделям работы мозга или живых систем. Все

эти

вопросы,

оставленные

без

ответа

в

период

застоя

искусственного интеллекта, не выходили у меня из головы, и у меня постепенно стало формироваться убеждение: если мы хотим создавать интеллектуальные машины, недостаточно, чтобы они

работали

только

логически,

они

должны

быть

способными

учиться, совершенствоваться на собственном опыте. Читая

все

сообщества

эти

труды,

разделяет

познакомился повышения

с

я

мое

работами

понимал, виденье

Фукусимы

эффективности

часть

проблемы. и

нейронных

что

Вскоре

задумался

сетей

научного

о

я

способах

неокогнитрона.

К

счастью, ESIEE предоставлял студентам компьютеры, которые для того

времени

Филиппе

были

Метсу,

очень

мощными.

школьным

другом,

Мы

писали

любителем

программы

с

искусственного

интеллекта, как и я, хотя его больше интересовала психология обучения

детей.

заниматься

с

Преподаватели

нами

математики

дополнительно.

Вместе

согласились мы

пытались

моделировать нейронные сети. Но эксперименты отнимали очень много

сил:

компьютеры

не

тянули

наши

эксперименты,

а

написание программ было сплошной головной болью. На

четвертый

исследованием, обоснованном сетей.

Я

год

я

обучения

догадался

правиле

представил

в

о

не

обучения

алгоритм,

ESIEE,

одержимый

совсем

математически

многослойных

который

этим

будет

нейронных

распространять

сигналы в обратном направлении по сети, начиная с выходного слоя,

чтобы

обучать

сеть

от

начала

до

конца.

Я

назвал

этот

18

алгоритм HLM (от Hierarchical Learning Machine) Я

очень

гордился

предшественником градиента», обучения

алгоритма

который

систем

своей

сегодня

глубокого

.

идеей…

HLM

«обратного

распространения

повсеместно

обучения.

является

используется

Вместо

для

распространения

обратных градиентов в сети, как это происходит сегодня, HLM распространял позволяло

желаемые

состояния

использовать

преимуществом,

учитывая

бинарные

для

каждого

нейроны,

медлительность

нейрона. что

Это

являлось

компьютеров

того

времени для выполнения умножения. HLM был первым шагом в обучении многоуровневых сетей.

Коннекционистские модели обучения Летом 1983 г. я получил высшее образование по специальности «инженер».

Тогда

рассказывалось

же

о

я

наткнулся

работе

на

небольшой

интересующихся

самоорганизующимися

автоматов.

экспериментировали

Они

книгу,

в

группы

французов,

системами

в

которой

бывшем

и

сетями

помещении

Политехнической школы на холме Святой Женевьевы в Париже. Эта лаборатория сетевой динамики (Laboratoire de dynamique de réseau,

или

должности мало

LDR) в

была

разных

денег,

не

независимой,

высших

было

хотя

учебных

планового

ее

члены

заведениях.

бюджета,

а

занимали

У

их

них

было

компьютер

нуждался в ремонте. Это означало, что исследования машинного обучения ним.

Я

во

мог

Франции реально

висят

на

помочь

волоске!

им,

Я

решил

потому

что

примкнуть

эти

ученые

к

не

занимались изучением старых публикаций по нейронным сетям, как это делал я. Я решил объяснить им, что меня интересует эта тема и что в своей

инженерной

работал

в

их

школе

группе,

я

занимаюсь

продолжая

схожей

учебу

в

тематикой.

аспирантуре

Я в

Университете Пьера и Марии Кюри. В 1984 г. мне нужно было подать заявление на защиту докторской диссертации. Я занимал должность мне

младшего

нужно

было

научного

найти

себе

сотрудника научного

ESIEE

по

гранту,

руководителя.

но

Много

времени я работал с Франсуазой Фогельман-Суле (сейчас СулиФогельман),

которая

в

то

время

преподавала

компьютерные

науки в Университете Париж-V и, по логике вещей, именно она должна была бы курировать мою диссертацию, но у нее не было на

это

полномочий,

государственную

поскольку

сертификацию

она

еще

на

право

не

прошла

руководить

аспирантами (необходимую во многих европейских странах). Поэтому который

я

мог

обратился

к

курировать

единственному диссертацию

члену

по

лаборатории,

информатике,



Морису

Милграму,

профессору

информатики

и

инженерии

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

эту

помощь.

Поэтому

я

посвятил

свое

время

одновременно

ESIEE (и ее мощным компьютерам) и LDR (и ее интеллектуальной среде).

Я

попал

на

ранее

неизвестную

мне

территорию,

и

это

было интересно. За рубежом исследования, близкие к моим, набирали обороты. Летом

1984

г.

Калифорнию,

я

где

сопровождал

прошел

Франсуазу

месячную

Фогельман

стажировку

в

в

известной

многим лаборатории Xerox PARC. В то время, я помню, в мире было два человека, с которыми я мечтал встретиться: Терри Сейновски — биофизик и нейробиолог из

Университета

Хинтон

из

Джона

Университета

Хопкинса

в

Балтиморе,

Карнеги-Меллон

в

и

Джеффри

Питтсбурге



тот

самый, кто поделит с Йошуа Бенджио и мной Премию Тьюринга в 2019

г.

В

машинах сетей

1983

г.

Хинтон 19

Больцмана

со

,

«скрытыми

и

Сейновски

которая

опубликовали

содержит

нейронами»,

то

процедуру есть

статью

о

обучения

нейронами

в

промежуточных слоях между входом и выходом. Я увлекся этой статьей

именно

многослойных

потому,

что

нейронных

в

ней

сетей.

говорилось

«Главный»

об

вопрос

обучении в

моей

работе! Эти люди сыграли важную роль в моей жизни!

Лез-Уш Моя профессиональная жизнь изменилась в феврале 1985 г. во время

конференции

лучшими

в

Лез-Уш,

представителями

нейронными

сетями:

нейробиологами,

в

Альпах.

мировой

физиками,

психологами

и,

Там

науки,

встретился

с

интересующимися

инженерами, в

я

частности,

математиками, членами

новой

развивающейся исследовательской группы в области нейронных

сетей, которая сформировалась внутри легендарной лаборатории Bell

Labs.

Через

три

года

я

попал

в

эту

группу

благодаря

знакомствам, которые приобрел в Лез-Уш. Встреча

была

организована

теми

французскими

исследователями из LDR, с которыми я уже работал: Франсуазой, ее тогдашним мужем Жераром Вайсбухом, профессором физики ENS,

и

Эли

работавшим физиков,

в

Биненштоком то

время

в



CNRS.

интересующихся

нейробиологом-теоретиком, Конференция

«спиновыми

собрала

стеклами»,

вместе

а

также

ведущих физиков и нейробиологов. Спин — это свойство элементарных частиц и атомов, которое можно

описать

по

аналогии

с

маленькими

магнитами,

с

обращенными вверх или вниз полюсами. Эти два значения спина можно сравнить с состояниями искусственного нейрона: он либо активен,

либо

Спиновые

неактивен.

стекла

Он

подчиняется

представляют

собой

тем

своего

же

уравнениям.

рода

кристалл,

в

котором примесные атомы имеют магнитный момент. Каждый спин взаимодействует с другими спинами на основе связанных весовых показателей. Если весовой коэффициент положительный, они, как правило, выстраиваются в одном направлении. Если вес отрицательный, они противопоставляются. Мы связываем значения +1 со спином «вверх»,

а

–1

со

спином

«вниз».

Каждый

примесный

атом

принимает ориентацию, которая является функцией взвешенной суммы

ориентаций

соседних

примесных

атомов.

Другими

словами, функция, определяющая, будет ли спин идти вверх или вниз, аналогична функции, которая делает искусственный нейрон активным или неактивным. 20

После основополагающей статьи Джона Хопфилда были

описаны

искусственными

аналогии

между

нейронными

спиновыми

сетями,

многие

, в которой

стеклами

физики

и

начали

интересоваться и самими сетями, и их обучением — темами, по-

прежнему не приветствовавшимися их коллегами — инженерами и компьютерщиками. В Лез-Уш я был одним из самых молодых исследователей, и мне пришлось общаться на английском языке о многоуровневых сетях

и

алгоритме

обратного

HLM,

моем

распространения.

диссертации,

и

Я

нервничал,

предшественнике

только

начал

выступая

алгоритмов

подготовку

перед

столь

своей

именитой

аудиторией. Меня особенно привлекли две личности: Ларри Джекел, глава отдела

Bell

Labs

и

Джон

отделе)

(позже

мне

Денкер

самому



довелось

настоящий

работать

ковбой

из

в

этом

Аризоны:

джинсовый костюм, большие бакенбарды, ковбойские сапоги… Этот

не

очень

похожий

на

ученого

человек,

только

что

защитивший диссертацию, был невероятно уверен в себе! Когда на него находило вдохновение, он мог быть чертовски убедителен и

изобретательно

агрессии

и

говорила

мне:

отстаивал

часто «У

вполне ребят

свою

точку

обоснованно.

из

Bell

Labs

зрения,

причем

Франсуаза

огромное

без

Фогельман

преимущество.

Когда вы только хотите сделать что-то новое, то выясняется, что это либо уже было сделано в Bell Labs десять лет назад, либо это просто не работает». Черт возьми! Так вот, я выступал с речью о многослойных сетях, в которых (уже!) никто ничего не понимал. В конце Джон Денкер поднял руку. Я напрягся. Но он просто сказал: «А это имеет место быть! Благодаря тебе я многое понял…» Он сказал это прямо перед всей этой

публикой!

Он

и

его

руководитель

Ларри

Джекел

меня

не

забыли. Год спустя они пригласили меня прочитать лекцию в их лаборатории.

Еще

двумя

годами

позже

я

появился

на

собеседовании, а через три года я стал членом их команды! В

Лез-Уш

я

встретил

и

Терри

Сейновски,

соавтора

статьи

Джеффри Хинтона о машинах Больцмана. Он появился там уже после моего выступления, но я поймал его во второй половине дня

и

объяснил

свою

работу

над

многоуровневыми

сетями.

Я

подозревал, что ему будет это интересно. Он терпеливо слушал, но

ничего

работают

не над

сказал

о

том,

обратным

что

он

и

Джеффри

распространением.

Хинтон

Джеффри

уже

удалось

заставить этот алгоритм работать, но еще не все об этом знали — и я тоже. Самые

прекрасные

идеи

заразительны.

Принцип

обратного

распространения Джеффри позаимствовал у Дэйва Рамелхарта из Калифорнийского

университета

в

Сан-Диего,

у

которого

он

несколькими годами ранее проходил стажировку после защиты диссертации.

К

1982

запрограммировать

г.

этот

Дэйв

метод,

смог

но

не

разработать

смог

заставить

и его

работать. Он пришел к Джеффри, который ответил: «Он не будет 21

работать из-за проблемы локальных минимумов» В

итоге

Дэйв

Больцмана

сдался.

Джеффри

Но

во

понял,

время

что

.

работы

работать

над с

машиной

локальными

минимумами не так сложно, как он думал. Поэтому он реализовал метод Дэйва Рамельхарта на языке Lisp на своей Lisp-машине от компании Symbolics. И метод заработал! Итак, во время нашего обсуждения в Лез-Уш Терри понял, что мой алгоритм HLM очень похож на обратное распространение. Он

сам

уже

работал

над

применением

метода

обратного

распространения ошибки, который через несколько месяцев стал весьма популярным. Мне он об этом не сказал. Но вернувшись в США,

он

признался

Джеффри:

«Во

Франции

есть

ребенок,

который работает над тем же, что и мы!» Весной

того

же

года

я

написал

первую

самостоятельную

статью (признаться, несколько выпадавшую из канонов научной литературы) о своей разработке. Мне удалось обнародовать ее на конгрессе по когнитивным исследованиям в июне 1985 г., первом конгрессе

во

когнитивные главным рассказал

Франции, науки

спикером. о

и Он

машинах

объединяющем

нейробиологию. прочитал

Больцмана.

ИИ,

Джеффри

вводную В

нейронные

конце

Хинтон

лекцию, концов,

в

сети, был

которой

вокруг

него

собралась группа из 50 человек. Я хотел подойти к нему, но не было

возможности.

Дэниэлу

Хэндлеру,

услышал, Лекун?» было

в

как

он

Дэниэл том,

перевести,

И

тут

одному

спросил:

оглянулся

что

хотя

я

увидел,

из

знаете

вокруг. увидел

французским

он

поворачивается

организаторов

«Вы

Джеффри

как

Я

конференции,

кого-нибудь

закричал:

мою

владел

статью

слабо.

к

по имени Ян

«Я и

Тем

и

здесь!»

Дело

попытался не

менее,

ее он

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

я

и

так

его

понимаю!

Он

сказал

мне,

что

пишет

статью

и

процитирует в ней мою. Я чуть не впал в прострацию. Мы быстро поняли, схожи.

что

наши

интересы,

Джеффри

коннекционистских

наши

пригласил моделей

в

подходы,

меня

в

наше

мышление

летнюю

Карнеги-Меллон

в

школу

следующем

году, и я, конечно же, согласился. (Исследователи когнитивных наук

предпочитали

для

обозначения

нейронных

сетей

использовать термин «коннекционистские модели».)

Использование обратного распространения 22

градиента

Изобретения не возникают из ничего. Они являются результатом проб,

ошибок,

разочарований

и

дискуссий,

и

зачастую

для

их

реализации требуется много времени. Таким образом, «рубежи» искусственного интеллекта расширялись благодаря целой серии открытий.

Популяризация

распространения

в

1980-х

гг.

градиентного позволила

обучать

обратного многослойные

нейронные сети, состоящие из тысяч нейронов, организованных по слоям, с сотнями тысяч соединений. Каждый слой нейронов объединяет,

обрабатывает

и

преобразует

информацию

из

предыдущего слоя и передает результат следующему слою, пока в конечном

слое

не

архитектура

сформируется

обеспечивает

23

способность

ответ.

Такая

многоуровневая

потрясающую

пропускную

этих многоуровневых сетей. Позже мы поговорим о

глубоком обучении. Но

в

1985

г.

идея,

что

для

многоуровневой

сети

может

появиться процедура обучения, все еще с трудом воспринималась. Физиков

интересовала

аналогия

между

полносвязными

нейронными сетями («сетями Хопфилда») и спиновыми стеклами. Они

видели

в

них

модель

24

«Мадленка»

Пруста

по

ассоциативной

форме,

запаху

и

памяти вкусу

в

мозге.

относится

к

образам и связанным с ними чувствам, то есть к воспоминаниям. Многоуровневые сети работают скорее в режиме восприятия: с помощью

каких

механизмов

можно

идентифицировать

мадлен

только по его форме? Физики не сразу это поняли. Все

изменилось

в

1986

г.

Терри

Сейновски

опубликовал

технический отчет о NetTalk, многоуровневой сети, основанной на

обратном

читать

распространении

вслух.

Система

последовательность

информации,

транскрибирует

фонем

которая

«училась»

английский

(элементарных

речевых

текст

в

звуков),

передаваемых на синтезатор речи. Легко преобразовать текст в речь

на

французском

языке,

но

чрезвычайно

сложно

на

английском. В начале обучения система заикалась, как ребенок, который учится говорить, однако со временем ее произношение улучшилось. Высшей

Терри

школе

захотели

со

Сейновски

перед

мной

приехал

обомлевшей

пообщаться.

прочитать

аудиторией.

Многослойные

лекцию

Внезапно

сети

вдруг

в

все

стали

интересными, и я был знатоком в этой области! Годом может

раньше

быть

я

обнаружил,

сформулировано

Лагранжева

формализма

итальянского

математика

Лагранжа).

Это

вид

что

обратное

математически

(названного XVIII

распространение

в.

формализма,

в

с

честь

и

астронома

на

котором

помощью франко-

Жозефа-Луи базировалась

классическая

механика,

квантовая

механика

и

теория

«оптимального управления». Я понимал, что метод, аналогичный алгоритму

обратного

распространения

ошибки,

уже

был

предложен теоретиками оптимального управления в начале 1960х

гг.

Он

известен

помощника»,

как

алгоритм

подробно

Келли-Брайсона

описанный

в

или

«метод

справочнике

Артура

Брайсона и Ю-Чи Хо «Applied Optimal Control, Arthur E. Bryson, YuChi Ho, 1975», опубликованном в 1969 г. Эти

исследователи

были

далеки

от

идеи

об

использовании

данного метода для машинного обучения или нейронных сетей. Их

интересовали

планирование

и

системы

управления.

Например, как управлять траекторией ракеты, чтобы она попала на точную орбиту и успешно встретилась с другим космическим кораблем,

израсходовав

Однако

математической

с

похожа

на

вопрос

при

этом

точки

о

как

можно

зрения

настройке

меньше

эта

топлива.

проблема

синаптических

очень весов

многослойной нейронной сети, чтобы результат последнего слоя стал желаемым. Позже подошли

я к

узнал,

что

открытию

несколько обратного

исследователей

очень

распространения

близко

ошибки.

В

1960-х и 1970-х гг. некоторые из них открыли «автоматическое дифференцирование в обратном режиме» — основной блок для расчета

градиентов

использовали

его

дифференциальных

при

обратном

для

распространении.

облегчения

уравнений

или

численного

оптимизации

Но

они

решения

функций.

Об

обучении в многослойных сетях тогда никто и не думал. Никто — кроме, возможно, Пола Вербоса, студента из Гарварда, который прошел курсы Ю-Чи Хо и который в своей диссертации 1974 г. предложил

использовать

«упорядоченными

для

обучения

производными».

то,

Много

что

он

позже

называл он

смог

испытать свой метод на практике. Итак, Летней

в

июле

школе

1986

г.

я

провел

коннекционистских

две

недели

моделей

в в

Питтсбурге

в

Университете

Карнеги-Меллона, сомневался, жена

была

нужно

куда ли

меня

мне

беременна

пригласил

лететь

нашим

в

Джеффри

Соединенные

первым

Хинтон. Штаты:

ребенком,

а

Я

моя

роды

ожидались через четыре недели после моего возвращения… Я помню эту поездку и соотношу ее с основанием сообщества исследователей Майклом

нейронных

Джорданом,

сетей.

который

Я

подружился

только

защитил

с

Джеффри

и

диссертацию.

Почему только его назвали Майклом — он был франкофилом и говорил по-французски лучше, чем я по-английски! На пикниках в

Летней

школе

он

исполнял

аккомпанируя себе на гитаре.

песни

Жоржа

Брассенса,

Рис.

2.1.

Участники

Летней

школы

по

коннекционистским

моделям

1986

г.

в

Университете Карнеги-Меллона (Питтсбург, США)

На

фото

мы

видим

Станисласа

Дехаена

(SD),

Майкла

Джордана

(MJ),

Джея

Макклелланда (JMcC), Джеффри Хинтона (GH), Терри Сейновски (TS) и меня (YLC). Многие

участники

встречи

тоже

станут

видными

фигурами

в

области

машинного

обучения, искусственного интеллекта и когнитивных наук: Энди Барто, Дэйв Турецки, Джерри Тезауро, Джордан Поллак, Джим Хендлер, Майкл. Мозер, Ричард Дурбин и ряд других (© Организаторы летней школы).

Хотя я был всего лишь аспирантом, Джеффри предложил мне выступить алгоритм

с

речью,

обратного

объясняя

это

тем,

распространения.

что

За

именно

ужином,

я

создал

запив

его

хорошей бутылкой бордо, которую я привез с собой в багаже, он сказал

мне,

что

через

25

Карнеги-Меллон присоединиться Конечно!

У

докторскую.

планирует

уйти

из

университета

и перейти в Университет Торонто. «Вы хотите

ко

меня

год

мне

в

качестве

оставался

лишь

младшего

год

на

то,

исследователя?» чтобы

защитить

Революция

продолжалась.

Хинтона-Уильямса эффект

об

Публикация

обратном 26

взорвавшейся

бомбы

.

статьи

Рамельхарта-

распространении Новости

об

произвела

успехе

NetTalk

распространялись как лесной пожар. Сообщество исследователей нейронных сетей быстро пополнялось все новыми участниками. Мое программное обеспечение для моделирования нейронных сетей и обучения методом обратного распространения ошибки — все еще называемое HLM — представляло интерес для некоторых французских

производителей.

В

частности,

программу

купила

компания Thomson-CSF (теперь Thales). Я получил докторскую степень в июне 1987 г. Диссертацию в Университете Пьера и Марии Кюри (теперь переименованном в Университет

Сорбонны)

я

защищал

в

буквальном

смысле

на

костылях, потому что в апреле сломал лодыжку, экспериментируя с

новым

методом

Джеффри

передвижения

Хинтон

входил

в

по

состав

песку

при

жюри

помощи

вместе

с

паруса!

Морисом

Милграмом, Франсуазой Фогельман-Суле, Жаком Питра (один из столпов исследований в области символического ИИ во Франции) и Бернаром Анжениолем (директором исследовательской группы Thomson-CSF). Торонто

Через

вместе

с

месяц

женой

и

я

присоединился

нашим

ребенком,

к

Джеффри

которому

в

тогда

исполнился всего лишь год. Моя жена согласилась отодвинуть на второй

план

свою

карьеру

фармацевта

и

заниматься

сыном

во

время нашего пребывания в США, которое, как мы считали, не должно было продлиться более года… Я взял с собой одного из своих друзей, Леона Ботту, студента, которого

я

встретил

в

начале

1987

г.,

когда

он

учился

на

последнем курсе Политехнической школы. Он проявил интерес к нейронным

сетям

и

решил

пройти

со

стажировку,

не

сообщив

администрации

момент

не

защитил

докторскую.

еще

написать обучения

новое

программное

нейронных

сетей.

Это

У

мной

школы,

меня

обеспечение должен

был

уже

выпускную

что

я

были

для быть

на

тот

планы

создания

и

симулятор,

управляемый

интерпретатором

интерактивного

языка

Lisp

(особенно

программирования).

Я

гибкого

попросил

и

Леона

27

создать такой интерпретатор

, что он и сделал буквально за три

недели. Нашему сотрудничеству способствовал тот факт, что мы работали

на

одинаковых

компьютерах:

Amiga

от

компании

Commodore. В отличие от ПК и Mac того времени, компьютеры Amiga

обладали

станций

Unix,

свойствами,

широко

аналогичными

распространенных

свойствам

в

рабочих

ИТ-отделах

по

обе

стороны Атлантики: они программируются на языке C с помощью компилятора

gcc

и

текстового

редактора

Emacs.

Я

писал

диссертацию на своем Amiga, используя компьютерную систему обработки

текстов

LaTeX.

Мы

обменивались

программами

удаленно, подключая к нашим компьютерам сеть Minitel. Мы

назвали

новую

программу

SN

(от

термина

«Neuronal

Simulator», т.е. «нейронный симулятор»). Ее написание положило начало сотрудничеству и дружбе, продлившимся долгие годы: и 28

сегодня офис Леона находится рядом с моим, в помещении FAIR в Нью-Йорке. В

Торонто

программу,

я

закончил

чтобы

работу

реализовать

над

SN

идею

и

модифицировал

архитектуры

эту

нейронной

сети, адаптированной к распознаванию изображений, которую я обдумывал

уже

называется

некоторое

«сверточной

время

сетью»;

(теперь см.

эта

Главу

архитектура

6).

Она

была

вдохновлена неокогнитроном Фукусимы, но использовала более «классические»

нейроны

распространения. другой,

более

В

то

и

же

простой

управлялась время

тип

алгоритмом

Джеффри

сверточной

Хинтон сети,

обратного разработал

которую

он

использовал для распознавания речи. Он назвал ее TDNN (Time Delay

Neural

Network,

т.е.

«нейронная

сеть

с

временной

задержкой»). В

конце

1987

г.

меня

пригласили

прочесть

лекцию

в

Монреальском исследовательском центре компьютерных наук — институте, связанном с университетом Макгилла. В конце моего

выступления один из молодых магистрантов задал ряд вопросов, из

которых

было

очевидно,

что

он

серьезно

подошел

к

многослойным нейронным сетям. В то время в этой области было очень

мало

исследователей.

адаптировать

архитектуру

Он

задавался

нейронных

вопросом

сетей,

чтобы

о

том,

они

как

могли

обрабатывать протяженные во времени сигналы, такие как речь или

текст.

Я

запомнил

его

имя:

Йошуа

Бенджио.

Его

вопросы

были настолько актуальны, что я пообещал себе не упускать его из

виду

и

начать

с

ним

сотрудничество

после

завершения

его

учебы. Позже я нашел его уже работающим в Bell Labs, куда его взяли после защиты докторской диссертации и недолгой работы в Массачусетском технологическом институте.

Святая святых Конференция в Лез-Уш оказалась полезной для меня и по другим причинам.

В

29

обучению

.

1986

г.,

Ларри

во

время

Джекел

и

Летней

школы

сотрудники

по

отдела

машинному

исследований

адаптивных систем Bell Labs узнали, что я был в Питтсбурге. Они попросили меня заехать в Bell Labs в Нью-Джерси на обратном пути,

чтобы

выступить

с

докладом.

Я

помню

свое

первое

появление в этом знаменитом «храме технологий» — по крайней мере,

таким

изобретения физики,

Ашкина, г.

был

1980-х

Ларри

работу

Джекеля лауреата

над

гг.

мира.

математики,

будущего

за

в

современного

химии,

Лаборатория

2018

он



Там

где

собрались

информатики примыкала

к

Нобелевской

«лазерным

родились

и

все

светила

электротехники.

лаборатории премии

пинцетом».

многие

по

Рядом

с

Артура

физике ним

в

был

Стивен Чу, который в 1997 г. получит Нобелевскую премию по физике за открытия по охлаждению и захвату атомов при помощи лазера. Отдел исследований компании Bell Labs, насчитывавший 1200 человек, расположенных в нескольких зданиях, возглавлял Арно

Пензиас,

получивший

Нобелевскую

премию

за

открытие

космического

излучения,

доказывающего

теорию

Большого

Взрыва. Голова шла кругом. Само

здание,

Нью-Йорка,

расположенное

одним

своим

в

Холмделе,

видом

в

60

км

захватывало

к

югу

дух.

от

Его

спроектировал знаменитый финский архитектор Ээро Сааринен. Представьте

себе

восьмиэтажный

стеклянный

параллелепипед,

300 м в длину и 100 м в ширину, в котором трудилось более 6000 инженеров.

В

исследовательской

части

работало

около

300

человек. Весной 1987 г. Ларри снова пригласил меня в Bell Labs, на этот раз для собеседования. Я сказал ему: «Пригласите мою жену. Ее нужно убедить!» Пока я общался с членами лаборатории, Ларри катался на машине с Изабель и Кевином, нашим 18-месячным ребенком.

Он

насаждения,

расхваливал

большие

дома

в

штат

Нью-Джерси:

американском

стиле

зеленые

и

океанское

побережье. Нью-Джерси дали прозвище «Штат садов», и это было вполне

заслужено.

Вечером

в

итальянском

ресторане

Кевин

от

усталости начал плакать. Джон Денкер, мужчина с бакенбардами, взял Кевина на руки и начал ходить с ним по ресторану. Кевин мгновенно успокоился. Позже я узнал, что Джон был старшим из четырех

детей

маленькими физиком

и

в

своей

детьми.

семье

Помимо

инженером,

он

и

прекрасно

того,

читал

на

что

он

умел был

французском

обращался

с

выдающимся и

цитировал

Вольтера и Золя. Неплохо для аризонского ковбоя! На следующий день

Ларри

и

двое

его

коллег

отвезли

нас

на

Манхэттен.

Мы

хотели подняться на самый верх Всемирного торгового центра, но погода была ужасная, и охрана нас отговорила. Но мы все-таки решили

подняться

на

вершину

башен-близнецов.

И

когда

мы

сделали это, наградой нам стало вкуснейшее гороховое пюре, от которого мы не могли оторваться! Радушный прием, который мы получили, убедил нас. Мы с Изабель согласились остаться в НьюДжерси на год или два.

Итак, в октябре 1988 г. я был принят на работу в Bell Labs. Отдел Ларри был частью отдела Боба Лаки, блестящего инженера и изобретателя алгоритма адаптивной фильтрации. Он руководил отделом

«BL113»,

Холмдела

и

Холмделом. группы

и,

собрал

Кроуфорд-Хилла, Именно

нейронных

колоритная всем,

который

он

личность,

конечно,

города,

утвердил

сетей.

Я

300

находящегося

создание

встречался

высокий,

исследователей

худой,

с

из

рядом

с

исследовательской

ним

несколько

который

телекоммуникационными

раз:

интересовался

технологиями.

Я

также виделся с Джоном Хопфилдом, еще одним человеком из Bell Labs,

который

установил

связь

между

спиновыми

стеклами

и

нейронными сетями. Я познакомился с ним в Лез-Уше четырьмя годами ранее… Что

касается

космическими Франции.

У

условий

по

нас

исследованиях,

сравнению

были

а

работы, с

теми,

невероятные

мои

коллеги

то

они что

ресурсы,

были

я

были

просто

столкнулся

полная

настоящими

во

свобода

в

светилами

в

своей области. Когда я там работал, в моем распоряжении был компьютер Sun-4. В Торонто мы работали на компьютере того же типа.

«В

Bell

Labs

нельзя

прославиться,

сэкономив

деньги»,



говорили они мне. Эта фраза заставляет задуматься о многом…

Годы в Bell Labs В

Торонто

мне

уже

удалось

протестировать

свои

первые

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

Но

Bell

Labs

получила

набор

из

9298

изображений

«настоящих» рукописных чисел, собранный Почтой США (United States Postal Service, USPS), из почтовых индексов на конвертах. Сверточный SN

уже

сетевой

был

готов

модуль к

в

моем

программном

использованию.

Я

обеспечении

решил

построить

«большую» сверточную сеть с входом 16 × 6 пикселей и четырьмя

слоями. Всего в сети было 1256 нейронов, 64 660 соединений и 9760

настраиваемых

соединений

имеют

параметров

один

и

тот



же

сверточной параметр).

сети Что

несколько

это

был

за

монстр! У меня уходило целых три дня, чтобы обучить мой Sun-4 на 7291 обучающих примерах. Но зато потом он делал лишь 5% ошибок рекорды.

на

2007

Эти

тестовых

результаты

примерах,

были

побив

получены

все

менее

предыдущие

чем

через

два

месяца после моего приезда. Ларри был очень доволен и назвал мою сеть «LeNet» (как «ЛеКун»). Вскоре нам удалось запустить ее на

небольшой

«ускорительной

карте»,

которая

могла

распознавать 30 символов в секунду. Был заметен прогресс, и мы разработали более

чем

новую

4600

сверточную

единицами

и

сетевую почти

Количество ошибок еще уменьшилось.

архитектуру

100

000

LeNet1

с

соединениями.

Рис. 2.2. Первая сверточная сеть для распознавания рукописных символов

Эту первую сверточную сеть я создал, когда начал работать в Bell Labs в конце 1988 г. Перед вами нейронная сеть, архитектура которой, вдохновленная зрительной корой головного

мозга,

состоит

из

четырех

слоев.

Нейроны

первых

двух

слоев

связаны

с

небольшими участками предыдущего слоя, которые называются рецептивными полями (см. главу 6 о сверточных сетях). Последовательные слои извлекают из изображения все более абстрактные и обобщенные свойства.

Вскоре Ларри стал искать партнеров из инженерной части Bell Labs

для

разработки

коммерческого инженеров.

Мы

технологии

продукта. работали

и

получения

Проект

вместе

и

на

ее

заинтересовал

очень

быстро

основе группу

разработали

систему для считывания сумм на банковских чеках. В системе использовалась «большая» сверточная сеть LeNet5 с 340

000

подключениями

и

«сетчаткой»

размером

20

×

20

пикселей. Я разработал ее с помощью моих коллег и друзей Леона Ботту,

Йошуа

другими

Бенжио

инженерами.

и

Патрика

Наша

Хаффнера

система

в

сотрудничестве

считывала

сумму

с

около

половины предоставляемых ей чеков, делая при этом менее 1%

ошибок.

Другая

необходимо система

половина

было

чеков

обрабатывать

впервые

достигла

отклонялась вручную.

уровня

машиной

Именно

точности,



тогда

их

наша

действительно

пригодного для использования. Оказалось,

что

дочерняя

компания

AT&T,

компания

NCR

(National Cash Register), продавала сканеры чеков и банкоматы для банков. Мы оборудовали их нашей системой автоматического считывания.

В

1994

г.

появились

первые

банкоматы

NCR

французского Банка взаимного кредитования Бретании, с нашей системой,

которая

автоматически

считывала

сумму

чека,

внесенного в банкомат. Первое внедрение системы скорочтения произошло в 1995 г. Мы

отмечали

свой

очаровательном графа

Бэйси

и

успех

городке

в

итальянском

Ред-Бэнк,

режиссера

Кевина

родном

Смита,

ресторане

городе

неподалеку

в

джазмена от

нашей

лаборатории. Но,

вернувшись

только

что

домой,

решило

мы

узнали,

разделить

что

руководство

компанию

на

AT&T

несколько

независимых. Через несколько месяцев NCR перешла на другую сторону,

забрав

продавала

с

собой

продукцию.

группу,

Новая

которая

компания

разрабатывала

Lucent

Technologies,

и в

свою очередь, разделилась, забрав с собой бренд Bell Labs, а также большую

часть

лабораторий,

включая

группу

инженеров,

с

которыми мы работали. Тем временем наша исследовательская группа осталась в AT&T и теперь зависела от новой организации AT&T

Labs

Research.

приостановить.

К

моему

огорчению,

проект

пришлось

Рис.

2.3.

LeNet5.

Коммерчески

развернутая

сверточная

сеть

для

распознавания

рукописных символов

Архитектура

сети

второго

поколения

состоит

из

семи

слоев.

Она

намного

больше

предыдущей и использует отдельные слои для свертки и подключения (см. главу 6). Она может распознавать в том числе числа, написанные от руки без соблюдения почтовых правил.

NCR конце

и

Lucent

1990-х

продолжали

наша

выпущенных

в

система

США.

Это

продавать

новую

считывала

был

один

продукцию.

10–20%

из

самых

всех

В

чеков,

впечатляющих

успехов в области нейронных сетей того десятилетия. Тем не менее, новая телекоммуникационная компания AT&T не была особенно заинтересована в технологиях такого рода. На дворе

был

1996

г.



самый

разгар

Интернет-бума.

Меня

повысили до начальника отдела, и мне нужно было найти новый проект

для

моей

изображений, высоким

группы.

чтобы

что

решили

сканировать

разрешением

надеялся,

Мы

и

приступить

бумажные

распространять

библиотеки

по

всему

их

миру

к

сжатию

документы

через

Интернет.

отсканируют

с Я

свои

коллекции книг, чтобы они стали доступными в Интернете. Но для

этого

была

представлена «дежавю»

в

нужна

1998

г.

подходящая под

по-французски).

техника.

названием

Алгоритм

DjVu

DjVu

Она

будет

(произносится

может

сжимать

страницу, отсканированную с высоким разрешением, примерно до 50 килобайт, что в десять раз меньше, чем в формате JPEG или PDF. К сожалению, AT&T не смогла вывести DjVu на рынок. То, что крупные компании плохо продавали инновации, выпущенные их лабораториями, было, увы, в порядке вещей. Вспомним печально известный

провал

лаборатория офиса



PARC

компании изобрела

персональные

системы

Xerox,

всю

рабочие

многоярусного

чья

калифорнийская

современную станции,

автоматизацию

компьютерные

графического

сети,

отображения,

компьютерную мышь и лазерный принтер. Однако маркетологи компании не смогли продать ничего из этого, в результате чего Стив

Джобс

и

Apple

смогли

скопировать

эту

концепцию

с

помощью своих систем Lisa и Macintosh. Наши

работодатели,

Изобретения безусловно,

Bell

Labs,

оказали

ее

AT&T, отдела

потерпели

ту

исследований

определенное

влияние

на

же и

неудачу.

разработок,

материнскую

организацию.

Однако

деньги

на

продаже

транзисторов

и

солнечных элементов, камер CCD и операционной системе Unix, а также

языках

программирования

C

и

C++

заработали

совсем

другие компании. К сожалению, AT&T не позаботилась о и таких технологиях десяток

как

DjVu

миллионов

и

решила

долларов

продать

одной

лицензию

компании

в

на

нее

Сиэтле,

за

уже

работающей с рынком изображений — LizardTech, которая также упустила

благоприятные

посоветовали открытый добиться для

хранить

LizardTech

исходный

код.

признания

всех.

Увы!

код

маркетинговые

в

распространить Мы

нового

Забота

о

секрете.

знали,

что

формата



«контроле»

Позже

они

и

возможности.

Мы

базовый

как

код

единственный

сделать

его

прибыли

передумали,

способ

доступным

заставила но

было

их уже

слишком поздно. Впрочем, это уже другая история…

Почти табу С

1995

г.

снова

сверточных

начались

сетей

не

темные

были

времена.

приняты,

не

Даже

наши

говоря

уже

идеи

об

их

практическом применении в других областях. С Йошуа Бенжио, который

вернулся

лаборатории уехавшим

на из

теоретической

в

Монреаль,

но

неполный

рабочий

Торонто,

чтобы

нейробиологии

в

остался день,

сотрудником

Джеффри

основать Лондоне,

моей

Хинтоном,

лабораторию и

некоторыми

другими, мы снова остались одни в борьбе за нейронные сети. Почему

пропал

машинного

интерес

обучения?

разгадать

историкам

оказалась

чуть

ли

не

к

Это и

нейронным загадка,

социологам.

под

запретом.

сетям

которую Тема О

в

сообществе

еще

предстоит

нейронных

них

тогда

сетей

говорили

примерно так: «Сверточные сети? Чушь собачья! Говорят, что они настолько сложны, что только Ян ЛеКун способен заставить их работать».

Технические

недоработки,

распространению вычислительных медленными

и

несомненно,

сверточных ресурсов,

дорогими,

сетей:

а

они

требовали

компьютеры

да

и

наборы

препятствовали

в

то

больших

время

данных

были

оказывались

слишком малы — ведь это был период времени до Интернет-бума. Поэтому их нужно было собирать самостоятельно, а это имело свою

цену

в

деньгах

и

ограничивало

количество

приложений.

Наконец, программное обеспечение для нейронных сетей, такое как SN, должно было быть написано от руки от А до Я самими исследователями: огромная трата времени. Кроме того, AT&T не позволила

нам

распространить

наш

симулятор

нейронной

сети

SN с открытым исходным кодом, который, возможно, позволил бы ускорить внедрение сверточных сетей. В то время компании придерживались принципа «каждый сам за себя». В 1991 г. Леон Ботту, только получивший докторскую степень, присоединился к нам в Bell Labs. Но тогда ему не понравились Соединенные Штаты, и через год он вернулся во Францию, чтобы возглавить

стартап

некоторыми

Neuristique,

своими

друзьями.

который Эта

он

фирма

ранее

основал

продавала

одну

с из

версий SN и предложила услуги компаниям, желающим внедрить нейронные сотрудники

сети.

фирмы

потенциальных клиентов,

системы часто

клиентов.

утверждали,

«невозможно», после

Их

исследованиям.

Он

Эксперты,

на

лет

все,

с

хорошо,

недоверием

что

Леон

присоединился

делает

к

нам

этих

Neuristique,

результаты! решил

что

своих

консультирующие

бесспорные

застоя

снова

настолько

сталкивались

что

несмотря

нескольких

работали

Поэтому

вернуться в

Bell

Labs

к и

принял решение остаться в США. По всем этим причинам исследователи машинного обучения отказались от нейронных сетей. Они предпочли им SVM (англ. Support

Vector

Machine,

метод

опорных

векторов)

и

«ядерные

методы». По иронии судьбы эти методы тоже были изобретены коллегами и друзьями из нашей лаборатории: Изабелем Гайон,

Владимиром Вапником и Бернхардом Бозером в период с 1992 по 1995

г.

С

1995

по

2010

г.

ядерные

методы

стали

«флагманом»

машинного обучения. Сообщество проявило интерес и к другому набору методов — «усилению», разработанному Робом Шапиро и Йоавом Фройндом, коллегами из другого отдела Bell Labs. Мы все были хорошими друзьями. Та ситуация дала нам представление об

интеллектуальных

разногласиях

в

стенах

нашей

компании.

Таким образом, в области нейронных сетей снова настал кризис, который продлился почти 15 лет. В 1995 г. Ларри Джекель все еще верил в будущее сверточных сетей и был разочарован тем, что им предпочли SVM. Владимир Вапник



математик.

Ему

нравились

методы,

работу

которых

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

Ларри

поставил

математическая

на

то,

теория,

что

до

14

марта

объясняющая,

2000

г.

почему

нейронные сети могут хорошо работать. Вапник сделал ставку на обратное…

согласившись

на

одно

условие:

если

человеком,

разработавшим теорию, окажется сам Вапник, то он выигрывает пари.

Лучшего

способа

заставить

Владимира

заняться

этой

теорией Ларри не смог бы и придумать! Во-вторых, Вапник поставил на то, что после 14 марта 2000 г.никто уже не будет использовать нейронные сети. Ларри ставил на

противоположное.

Они

подписали

свои

прогнозы,

и

я

тоже

подписал их, так как выступал свидетелем. Ставкой обоих пари был ужин в ресторане. Было

два

ужина.

Ларри

проиграл

первое

пари,

но

второе

проиграл Владимир. Что касается меня, то я дважды насладился бесплатным ужином! В 2001 г. Леон Ботту и я завершили проект DjVu. Более пяти лет

мы

почти

не

работали

над

машинным

обучением,

но

мы

писали

длинные

статьи,

в

которых

подробно

рассказывали

о

нашей работе в первой половине года десятилетия. Для меня те статьи представляли собой своего рода бесконечную «лебединую песнь»:

сообщество

больше

не

интересовалось

нейронными

сетями, но мы рассказывали им, как заставить эти сети работать. Мы

провели

новое

тестирование,

которое

должно

было

стать

познавательным и исчерпывающим. В 1998 г. мы опубликовали статью

ЛеКуна,

журнале

Ботто,

Proceedings

of

Бенгио the

и

IEEE

30

Хаффнера

под

названием

в

престижном «Градиентное

обучение для распознавания документов», ставшую впоследствии знаменитой. В той статье было подробное объяснение того, как заставить работать

сверточные

обучающей

сети.

системы

Мы

путем

развили сборки

идею

построения

дифференцируемых

параметризованных модулей. Также мы описали новый метод — «преобразование графов сетей», позволяющий обучать системы, модули которых управляют графами, в то время как классические нейронные сети управляют только массивами чисел. Мы также продемонстрировали,

как

можно

построить

и

обучить

систему

распознавать символы. В период с 1998 по 2008 г. статья имела переменный

успех,

набирая

лишь

несколько

десятков

цитирований в год. Но с 2013 г. ситуация резко изменилась. В 2018 г. статья собрала 5400 ссылок. Многие видят в ней сейчас основополагающую

статью

по

теории

сверточных

сетей,

хотя

первые статьи были опубликованы десятью годами ранее. В 2019 г. моя статья собрала 20000 цитирований.

Рис. 2.4. Пари 1995 г. между Ларри Джекелем и Владимиром Вапником

1. Джекель делает ставку (ставка — хороший обед), что не позднее 14 марта 2000 г. исследователи

поймут,

почему

большая

сеть

нейронов,

обученных

на

большой

базе

данных, работает хорошо (под «пониманием», мы подразумеваем то, что будут четкие условия

и

ограничения).

Но,

если

решение

найдет

Вапник,

он

все

равно

выиграет.

Вапник ставит на то, что Джекель ошибается. 2. Вапник делает ставку (хороший обед в ресторане), что не позднее 14 марта 2005 г. ни один

здравомыслящий

человек

не

будет

использовать

нейронные

сети,

которые,

по

сути, останутся такими же, как в 1995 г. Джекель делает ставку, что Вапник не прав. Вапник выиграл первое пари, а Джекель выиграл второе.

В конце 2001 г. Интернет-пузырь попросту лопнул. План AT&T по обеспечению Интернета и телевидения во всех домах через оптоволокно и коаксиальные кабели не убедил Уолл-стрит. Акции

падали. Это нас не устраивало, ведь акции, которые мы получили после

продажи

AT&T

Labs

DjVu,

теперь

Research

ничего

Ларри

не

стоили!

Рабинер,

Вице-президент

новатор

в

области

распознавания речи, объявил, что выходит на пенсию через три месяца.

Зная

его

преданность

исследованиям

и

лаборатории,

в

которой он провел всю свою жизнь, я расценил эту новость как предзнаменование

конца

света

и

начал

осторожно

искать

исследовательскую должность в другой компании.

Рис.

2.5.

Фотография

любезно

предоставлена

отделом

исследований

обработки

изображений AT&T Labs Research

Я руководил этой лабораторией с 1996 по начало 2002 г. Слева направо стоят: Владимир Вапник, Леон Ботту, Ян Лекун, Йорн Остерманн, Ханс-Петер Граф. Впереди сидят: Эрик Косатто, Патриция Грин, Фу-Цзе Хуанг и Патрик Хаффнер. Вапник, Ботто, Граф, Косатто и Хуанг присоединятся ко мне в NEC в начале 2002 г.

В

декабре

наступил

тот

самый

конец

света.

Компания

объявила, что снова разделится на несколько частей и увольняет половину

научных

сотрудников.

У

меня

в

кармане

уже

лежало

предложение от японской компании NEC, так что я решил тоже

примкнуть к толпе уволенных и сказал своему директору: «Меня не

волнует,

чем

интересуется

компания.

Я

буду

заниматься

зрением, робототехникой и нейробиологией». Это было правдой, но больше всего я хотел, чтобы меня уволили! Директор так и поступил, и я ему за это благодарен. Леон, Владимир Вапник и я покинули

AT&T

в

Исследовательский лабораторию

начале

институт

японской

2002 NEC

Nippon

г.,

в

чтобы

попасть

Принстоне,

Electric

в

престижную

Company.

Там

мы

возобновили наши исследования в области нейронных сетей. Перед тем, как покинуть AT&T, я сделал несколько фотографий сотрудников моей лаборатории. На момент, когда было сделано это фото, Владимир Вапник находился

на

пике

своей

популярности,

так

что

мне

хотелось

сделать запоминающуюся фотографию с юмором. Я написал на доске

формулу

теории

обучения,

которая

носит

его

имя

и

благодаря которой он прославился. Я попросил его встать рядом с доской. Он был очень рад, что я фотографирую его на фоне его шедевра. Но под формулой я написал фразу — «Все ваши байесы принадлежат который

я

нам».

должен

Это

был

очень

объяснить.

В

своеобразный

то

время

в

каламбур,

Интернете

стал

31

популярным мем

, в котором высмеивалась японская видеоигра

Zero Wing. Перевод игровых диалогов с японского на английский был

весьма

несовершенным.

галактический английском

Один

из

император-завоеватель,

языке:

«Как

дела,

персонажей,

там

говорит

господа!

Все

на

этакий плохом

ваши

база

принадлежащие нам. Вы на пути к уничтожению» (англ. «How are you gentlemen!! All your base are belong to us. You are on the way to destruction», ведь

на

что

самом

принадлежат

является

деле

нам».

он

очевидной

должен

Эта

фраза

был

синтаксической сказать



рассмешила

«все

ошибкой,

ваши

многих

и

базы стала

достаточно известной. Еще следует заметить, что подход к теории обучения, соперничавший с подходом Вапника, был основан на теореме Байеса, формуле, связывающей вероятности совместных

и условных событий, которая названа по имени ее изобретателя, британского

математика

и

пастора

XVIII

века

Томаса

Байеса.

Вапник не любил байесовские теории. Он называл их «вронгами» («vrong», ложный,

искаженное где

w

не

английское

слово

произносится),

со

wrong

своим



неверный,

неподражаемым

русским акцентом. В итоге я изменил знаменитый мем, заменив слова BASE на BAYES, сделав Вапника императором-завоевателем галактики машинного обучения! Я разместил эту фотографию на своем

сайте

фотографией

в

2002

Вапника,

г.

Вскоре

на

которую

она

стала

ссылается

«официальной» его

страница

в

Википедии. Это забавно, поскольку я не уверен, что Владимир осознал всю тонкость шутки и ее синтаксическую неточность в 32

этом отношении

.

Рис. 2.6. Владимир Вапник в 2002 г.

Владимира сфотографировали рядом с формулой теории обучения, которая сделала его знаменитым.

Эта

фраза



каламбур,

основанный

на

распространенном

в

то

время

Интернет-меме.

Через две недели после начала работы в NEC мне позвонил Ларри

Пейдж,

генеральный

сотрудниками, пользовались

который его

уже

услугами.

директор был Он

Google,

на

слуху,

хотел

стартапа так

нанять

что

с

600

многие

директора

по

исследованиям. Ларри знал меня, потому что был поклонником DjVu. Я пошел на собеседование. Компания Google предложила мне работу, но в конечном итоге я от нее отказался. Во-первых, моя

семья

не

захотела

переезжать

в

Калифорнию,

во-вторых,

даже если предложение и было привлекательным, после шести лет

управления

(DjVu)

я

отделом

все

исследованиям

же и

и

проектом

хотел

работе

над

прикладных

вернуться обучением,

к

исследований

фундаментальным

нейронными

сетями,

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

и

стала

давить

на

Принстонскую

лабораторию,

чтобы та занялась созданием приложений, полезных для бизнеса. Руководство NEC сообщило нам, что им неинтересно машинное обучение,

и

физики,

ни

умы

биологи,

директора имел

лучшие

стали

увольняться

исследователи

лаборатории

малейшего

и

на

его

один

зрения.

место

другим:

Затем

поставили

исследовательского

за

опыта.

уволили

того,

кто

Лучший

не

способ

убить нас! Я проработал в NEC в течение 18 месяцев, прежде чем в 2003 г. перешел

в

профессора. получил

Нью-Йоркский Перед

этим

предложения

я

от

университет подал

заявки

Университета

(NYU) в

в

качестве

несколько

Иллинойса

в

мест

и

Урбана-

Шампейн и Института Тойоты Чикагского университета. Но я не получил

никакого

ответа

из

Нью-Йорка

и

начал

сильно

беспокоиться. Я

связался

удивился: самом

«Ты

деле

заявками,

с

на

предложил

заявку?

компьютере сбой,

и

Нью-Йоркский

собеседование презентации же,

кто

подавал

случился

потерялась.

конечно

тем,

буквально

моих тоже

работ.

Мы

мне

подать

ничего

не

администратора, половина

в

последнюю

Заведующая

находилась

в

получили!»

На

просто-напросто

назначил минуту.

отделом

аудитории.

Он

занимающегося

заявок

университет

заявку.

Ее

для Я

меня

начал

с

информатики,

звали

Маргарет

Райт, и она была специалистом по исследованиям операций. Я знал

ее,

потому

познакомился

с

что ней

она

во

также

время

работала

семинара

в

в

Bell

Labs,

и

Калифорнийском

университете в Беркли несколькими годами ранее. Она считала, что

некоторые

хорошо

известные

результаты

исследования

операций применимы к машинному обучению, но я не мог с ней

согласиться. Я надеялся, что она забыла об этом эпизоде, но нет! В конце моей лекции она задала вопрос, конкретно относящийся к той нашей дискуссии. В тот момент я подумал, что мои шансы получить работу здесь упали до нуля, однако я и тут ошибся: она вспомнила,

что

узнала

кое-что

новое

в

тот

день!

Я

был

нанят

профессором Нью-Йоркского университета в сентябре 2003 г. с твердым намерением возобновить исследовательскую программу по

нейронным

сетям

и

продемонстрировать,

на

что

они

способны. С конца 1990-х я был уверен, что следующий успех сверточных сетей

произойдет

в

области

распознавания

объектов

на

изображениях. Поэтому в 1997 г. я опубликовал статью в CVPR (IEEE

Computer

технический некоторые Форсайт

Vision

журнал).

громкие

из

обучение

and

Pattern

Заинтересовала

имена

Университета

действительно

в

этой

Recognition,

она

лишь

области,

Иллинойса, может

сыграть

немногих,

такие

знали,

научно-

что

как

но

Дэвид

машинное

важную

роль

в

распознании. Он пригласил меня на мастер-класс на Сицилию в компании

мировых

лидеров

в

этой

области.

Я

встретился

с

Джином Понсе, работавшим тогда в Университете Иллинойса (и одновременно

преподававшим

в

Высшей

школе,

где

я

учился)

Марсиялем Эбертом из Карнеги-Меллона, Джитендрой Маликом из Калифорнийского университета в Беркли, Эндрю Зиссерманом из

Оксфорда,

Пьетро

технологического удивлению,

все

Пероном

института они

и

оказались

из

многими в

Калифорнийского другими.

восторге

от

К

моему

возможностей

сверточных сетей. В 2000 г. меня пригласили провести пленарную конференцию

в

CVPR.

Я

получил

свое

место

в

сообществе

и

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

десятилетия

значение

в

машинное

решении

задач

обучение

приобретало

распознания.

Но

все

только

в

2014 г. сверточные сети стали здесь доминирующим методом. Но если лидеры в этой области были открыты для новых идей, то их

младшие

коллеги,

оценивающие

наши

статьи,

были

гораздо

менее снисходительными.

«Заговор» глубокого обучения Вместе с Джеффри Хинтоном и Йошуа Бенжио, моими коллегами и друзьями, мы решили возродить интерес научного сообщества к нейронным

сетям.

Мы

по-прежнему

были

убеждены,

что

они

хорошо работают и могут значительно улучшить распознавание изображений

и

речи.

благотворительная Advanced

К

счастью,

организация

Research,

на

нашем

CIFAR

Канадский

пути

(Canadian

институт

появилась

Institute

for

перспективных

исследований; эту аббревиатуру можно также прочесть как «see far»,

то

есть

запустила

«видеть

далеко»

пятилетнюю

адаптивное

Perception),

Хинтон,

а

позволила

программу

восприятие»,

Adaptive

я



нам

приглашать

или

собираться

«Нейронные

NCAP

директором

научным

наших

по-английски).

(Neural

которой

тогда

консультантом. вместе,

студентов

и

В

2004

она

вычисления Computation стал

и &

Джеффри

Программа

организовывать даже

г.

NCAP

семинары,

создавать

небольшое

исследования

нейронных

научное сообщество. Остальные

исследователи

считали

сетей глупостью, а мы, между тем, придумали новое название: глубокое

обучение.

Я

назвал

наше

трио

«заговором

глубокого

обучения». Шутка, но не совсем. Нам не давали возможности публиковаться. Почти все статьи, которые мы опубликовали по этой теме в 2004–2006 гг., были отклонены на крупных конференциях по машинному обучению, NIPS

(англ.

Neural

Information

Processing

Systems,

системы

33

обработки нейронной информации)

, ICML (англ. International

Conference on Machine Learning, Международная конференция по машинному

обучению).

В

то

время

машинное

обучение

в

основном было связано с «ядрами», «усилением» и байесовскими

вероятностными относились.

методами.

Конференции

Нейронные

по

сети

прикладным

к

этой

области

областям,

такие

не как

CVPR (Конференция по компьютерному зрению и распознаванию образов;

см.

выше)

Computer

и

ICCV

Vision,

компьютерному

(англ.

International

Международная

зрению),

тоже

Conference

конференция

относились

к

on по

нейронным

сетям

прохладно. Нам

оставалось

только

верить!

Но

иногда

веры

становится

недостаточно. Я помню, как 6 декабря 1987 г. Джеффри Хинтон пришел в лабораторию в состоянии полной депрессии. Он был угрюм,

что

хорошее

не

было

чувство

англичанина.

Но

на

него

юмора, в

тот

похоже.

как

день

у

ему

У

Джеффри

любого было

не

вообще

было

уважающего

себя

до

шуток.

Коллег,

заходивших к нему в кабинет, ждал сухой формальный прием. В конце концов Джеффри признался, что ему тяжело: «Сегодня мне 40

лет,

моя

карьера

окончена.

Я

больше

ничего

не

достигну».

Сорок лет — это рубеж, за которым, по его мнению, ум начинает работать медленнее. Он был уверен, что больше ничего не узнает о том, как работает мозг. Двадцать лет спустя у нас появились новые идеи, но они так и не получили огласку. Но

постепенно,

единомышленников критического

благодаря

программе

расширился.

размера,

в

С

связи

CIFAR,

2006 с

г.

чем

круг

наших

он

достиг

наши

статьи,

представленные на конференциях, стали читать многие эксперты, объединенные

тематикой

этих

исследований.

О

наших

идеях

заговорили, а нас самих стали узнавать. В

2007

отнеслись

г.

на

конференции

пренебрежительно,

NIPS а

к

между

нам тем

в

очередной в

2018

г.

раз там

собрались 9000 участников. Джеффри Хинтон, Йошуа Бенджио и я посещали эту конференцию каждый год, потому что именно там происходят

самые

интересные

обмены

идеями

о

машинном

обучении. Неделя встреч, три дня пленарных заседаний и два дня семинаров, где все могли свободно высказывать свои мнения.

Конференция и семинары проходили в то время на зимнем спортивном курорте недалеко от Ванкувера. Участники приехали туда в четверг днем на автобусе. Мы хотели провести там семинар по глубокому обучению, но организаторы без объяснения причин отказали

нам.

Ну

и

ладно!

На

деньги

CIFAR

мы

организовали

нашу «пиратскую» встречу и арендовали собственные автобусы для

перевозки

участников.

Наш

семинар

посетили

300

участников, это был настоящий рекорд! Наш мастер-класс стал самым популярным мероприятием NIPS в том году! Эта история способствовала

принятию

термина

«глубокое

обучение»

в

специальной литературе.

Эффективность сверточных сетей подтвердилась С

методологической

точки

зрения,

некоторые

читатели,

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

на

основные

понятия,

которые

будут

подробно

разобраны позже. В период с 2003 по 2013 г. моя лаборатория в Нью-Йоркском университете расширила область применения сверточных сетей. В

2003

г.

мы

добились

распознавания

простых

объектов

независимо от ориентации и освещения, а также распознавания лиц

(см.

рисунки

распознавания шестимесячного

2.7

лиц

и я

34

2.8)

.

Впрочем,

создал

нахождения

еще в

в

первую 1991

центральной

свою г.

во

систему время

лаборатории

Thomson-CSF в Палезо. Эта работа была опубликована в 1993 г., но была проигнорирована сообществом.

Рис. 2.7. Распознание лиц с помощью сверточной сети

Изображение распознания впервые

слева

является

объектов

вышли

в

на

результатом

изображениях,

1993

и

1994

гг.

применения

созданных Справа:

в

первой

сверточной

1991–1992

гг.

Статьи

высокопроизводительная

сети об

для

этом

система,

разработанная в NEC в 2003–2004 гг. Такая система могла распознать необычные лица, например, пришельцев из «Звездного пути», а также оценивать выражение лица.

В 2003–2004 гг. лаборатория добилась значительного успеха с новым

проектом,

маленький который

названным

грузовик-робот,

самостоятельно

DAVE

(рис.

оснащенный

передвигался

на

2.9).

Мы

двумя

создали

камерами,

местности.

Конечно,

сначала нужно было его обучить. Человек-пилот управлял им в течение часа или двух в разных локациях: в парках, садах, лесах. Система

записывала

положение

рулевого

как

изображения

колеса.

Затем

двух

сверточная

камер, сеть

так

и

обучалась

предсказывать угол поворота рулевого колеса на основе входных изображений, чтобы робот вел себя как человек-пилот, который поворачивает препятствие.

рулевое После

колесо,

этапа

чтобы

обучения,

объехать

который

длится

возникшее несколько

дней на компьютере, система смогла управлять роботом. Эта демонстрация силы имитационного обучения, впрочем, не сумела удивить исследовательское сообщество. Статья оставалась не

принятой

к

заинтересовала

публикации

до

2006

представителей

исследовательских

проектов

г.

С

другой

Управления

Министерства

стороны,

она

перспективных обороны

США

(Defense Advanced Research Projects Agency, DARPA) и побудила их

начать

проект

прикладное

LAGR

(Learning

обучение

исследовательскую

Applied

наземных

программу

по

to

Ground

Vehicles,

роботов), применению

т.е.

обширную машинного

обучения к пилотированию мобильных роботов, которая длилась с 2005 по 2009 г. Мы вернемся к этой теме в Главе 6. Результаты этой

работы

послужили

источником

вдохновения

проектов по созданию беспилотных автомобилей.

для

ряда

Рис. 2.8. Распознавание объектов независимо от положения и ориентации

Сверточная сеть обучается на изображениях игрушек, относящихся к пяти категориям: человек, животное, самолет, легковой автомобиль и грузовик. Но оказалось, что она может

распознавать

реальные

отличаются от игрушек.

объекты

на

естественных

изображениях,

которые

Рис. 2.9. Робот DAVE (2003)

Эта небольшая радиоуправляемая машина оснащена двумя камерами. Сверточная сеть (справа), обученная имитировать действия человека-пилота, позволяет ему управлять своим движением автономно, избегая препятствий. Вход в сеть состоит из изображений с двух камер (вверху). Выходные данные сети — это угол поворота рулевого колеса (изображен

четкой

световой

полосой

под

изображениями

представляют активацию единиц в последовательных слоях сети.

справа).

Миниатюры

Вернемся в 2005 г., один из наших самых успешных в НьюЙоркском

университете.

сверточные

сети

сегментации,

относится

можно

то

изображения

Мы

есть

использовать

для

определенной

пиксель.

биологических

Мы

продемонстрировали, для

маркировки категорией

применяли

изображений,

семантической

каждого

объекта,

этот

что

метод

полученных

пикселя

к

которому

для с

анализа

помощью

микроскопии (рис. 2.10). В будущем этот метод оказался очень полезным

для

управления

роботами

и

автомобилями,

так

как

позволяет помечать каждый пиксель изображения как доступную для проезда область или как препятствие. Мы также обучали сверточную сеть сравнению изображений. Для этого мы применили «метрическое обучение», основанное на идее «сиамских сетей», которую я предложил еще в 1994 г. для проверки

подлинности

являются

ли

два

человека

или

подписи.

портрета

двух

Оно

позволяла

фотографиями

разных

людей.

определять,

одного

Позже

эта

и

того

идея

же

была

35

реализована в системах распознавания лиц В

2007

г.

естественных

мы

курс

изображениях.

изображениями обрабатывать

взяли

игрушек,

обычные

основной объект.

на

До

.

распознавание

сих

теперь

фотографии

пор же и

мы

объектов

работали

нам

только

нужно

распознавать

на

на

с

было них

Рис.

2.10.

Сверточная

сеть

для

семантической

сегментации

биологических

изображений

Каждый одной

пиксель

из

пяти

входного

категорий:

изображения ядро

клетки,

идентифицируется ядерная

мембрана,

как

принадлежащий

цитоплазма,

к

клеточная

мембрана и внешняя среда. (а) — изображение клетки зародыша нематоды показано на входе в сеть. (b, c и d) — последовательные слои сверточной сети извлекают элементы изображения. (e) — результат состоит из пяти миниатюр, по одной для каждой из пяти категорий

областей.

В

каждой

выходной

миниатюре

яркий

пиксель

указывает,

что

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

Рис. 2.11. Семантическая сегментация изображений города

Каждый

пиксель

помечен

сверточной

сетью

в

категории

объекта,

которому

он

принадлежит: автомобиль, проезжая часть, тротуар, здание, дерево, небо, пешеход и т.д.

К

сожалению,

базы

данных

изображений,

используемые

сообществом компьютерного зрения, были тогда невелики. База данных Caltech-101 содержала около 100 категорий объектов, но только по 30 примеров на категорию. Этого было слишком мало для

обучения

сверточной

предпочтительны ручные

более

количества

на

признаков,

основе

примеров

неконтролируемом

На

«классические»

экстракторы

классификатор

сети.

момент

методы,

за

SVM.

которыми

нас

Идея

были

использующие

Отсутствие

заставило

обучении.

тот

следует

достаточного

сосредоточиться

состояла

в

том,

на

чтобы

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

сети

создает

восстановить

представление,

входные

«автоэнкодер»,

данные

особенность

слоя.

ее

из

Эта

которого

технология

заключается

в

можно

называется

минимизации

количества включенных нейронов. С этой идеей мы изо всех сил пытались

достичь

системами, такой

производительности,

однако

метод

был

необходимое

нашлось

особенно

одно

приложение,

полезным:

автономным

сравнимой

с

для

обнаружение

автомобилям.

Дело

обычными которого

пешеходов,

в

том,

что

обнаружение пешеходов было одним из немногих приложений, для которых у нас было достаточно данных. Статья появилась в июне 2013 г., а сами методы актуальны и сегодня. Мы вернемся к ним в главе 9. После

LAGR

глубокого

лаборатория

обучения,

столкнулись интересам!

моя

с Но

тем, это

приняла

финансируемом что

было

идеально

начало

2009

участие

DARPA.

в

проекте

Впервые

соответствовало г.,

мы

нашим

администрация

США

сменилась, а руководство DARPA все ждало подходящего момента. Финансирование проекта то утверждалось, то откладывалось, а затем

сократилось.

лабораторией

В

самом

уставший

от

начале

сотрудничества

неопределенности

с

нашей

руководитель

проекта подал в отставку. Его преемник пытался все остановить.

Мы спорили с ним, но добивались успеха, только если работали над второстепенными для нас темами. Мы по-прежнему работали над

системой

семантической

сегментации

естественных

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

2012

г.,

оценивавшие

зрения

отвергло

несмотря

наш

на

текст,

нашу

статью

хорошие

не

на

конференции

результаты.

понимали,

как

Рецензенты,

сверточные

сети,

о

которых они никогда не слышали, могут работать так хорошо. Все происходящее хорошо

напомнило

работает

Рецензенты

не

технического

на

мне

старый

практике.

видели

зрения,

Но

смысла имея

в

в

анекдот:

работает обучении

руках

лишь

ли

«Конечно, это

в

теории?»

сквозной такую

это

системы

небольшую

разработку. Один из них, например, заметил, что если машина все

распознает,

компьютерного статья

была

научное зрения!

принята

сообщество

К

счастью,

на

ICML,

не

через

крупной

поймет

проблему

несколько

месяцев

конференции

по

машинному обучению. Тем

временем

появляться

глубокое

новые

базы

обучение

данных

начали

признавать.

изображений,

размер

Стали

которых

увеличивался, что очень благоприятствовало обучения больших глубоких нейронных сетей. Примерно в 2010 г. появились и первые результаты глубокого обучения распознаванию речи. Это были еще не сверточные сети, но

их

появление

продвинутыми

было

не

компаниями

за

в

горами.

этой

Тремя

области

наиболее

стали

Google,

Microsoft и IBM. У Джеффри Хинтона появилась блестящая идея: летом во время стажировки он послал трех своих докторантов в каждую

из

этих

центрального Попытка

компаний

модуля

оказалась

их

с

системы

успешной,

инструкциями глубокой

по

нейронной

производительность

замене сетью. всюду

значительно улучшилась. Менее чем через 18 месяцев сразу три компании

внедрили

новые

системы

распознавания

речи,

основанные на глубоком обучении. Теперь мы говорили с нашим виртуальным сразу

компьютерным

переводила

нашу

речь

помощником, в

текст.

и

сверточная

Прогресс

был

сеть

настолько

стремительным, что позволил создавать новые потребительские товары, активируемые речью. Усовершенствование вносило

свой

вклад.

компьютерного

Развитие

оборудования

графических

процессоров

тоже (GPU)

увеличивало вычислительную мощность компьютеров. В 2006 г. мой

друг

Microsoft

и

бывший

Research

коллега

впервые

по

Bell

решил

Labs

Патрис

провести

Симард

из

эксперимент

с

использованием графических процессоров (GPU) для нейронных сетей. 36

IDSIA

Другие

исследователи

(Швейцарского

из

Стэнфордского

исследовательского

университета,

института

ИИ),

Монреаля и Торонто продолжили эту работу. В 2011 г. стало ясно, что

будущее

принадлежит

тем,

кто

будет

обучать

большие

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

2012

г.

ознаменовал

собой

решающий

37

шаг

.

Началась новая эра, время всеобщего признания эффективности сверточных книги.

сетей.

Им

будет

посвящена

отдельная

глава

этой

ГЛАВА 3

Простые обучающие машины

Машину

можно

настраивать

обучить

угол

выполнять

поворота

простую

рулевого

задачу:

колеса

или

например,

распознавать

буквы. С точки зрения, находящейся примерно посередине между информатикой

и

параметризации входящей

математикой,

функции

информации

ожидаемые

выходы

f(x)

обучение

в

ней

таким

(изображение,

(идентификация

машины

состоит

образом,

звук,

текст)

чтобы

в из

получались

изображения,

звука

или

текста).

Мягкотелые как источник вдохновения Долгое

время

моллюсков, своим

любимцем

называемый

элементарным

животное

нейробиологов

«аплизия».

реакциям

демонстрировало,

на

как

Дело

в

был

том,

внешние

один

что

вид

благодаря

раздражители

адаптируются

это

синаптические

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

повторить

касание,

он

снова

их

втянет

и

опять

через

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

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

которая

Втягивание

управляет

жабр

эффективности

изменением

происходит

синапсов,

в

поведения

результате

соединяющих

те

аплизии.

изменений

нейроны,

в

которые

воспринимают прикосновение, и те, что вызывают втягивание. Чем

сильнее

эффективность Кандел

раздражитель, синапсов

исследовал

и

тем

тем

сильнее

меньше

биохимические

снижается

втягиваются

механизмы,

жабры. которые

заставляют эти синапсы менять эффективность, что, в конечном счете,

влияет

объяснил

на

поведение

механизм

этого

моллюска.

адаптации

аплизии

Иначе

к

говоря,

он

повторяющимся

раздражителям. Эта работа принесла ему Нобелевскую премию по физиологии в 2000 г. Этот

механизм

синаптической

адаптации

или

эффективности

обучения

путем

присутствует

изменения

почти

у

всех

животных, имеющих настоящую нервную систему. Для справки: мозг — это сеть нейронов, соединенных синапсами, большинство из

которых

можно

изменить

путем

обучения.

Это

определение

применимо ко всей цепочке живых существ, от крошечного червя Caenorhabditis elegans длиной всего в 1 мм с 302 нейронами, до аплизии

и

ее

18

000

нейронов,

до

мухи-дрозофилы

(250

000

нейронов и 10 млн синапсов), мыши (71 млн нейронов и около миллиарда

синапсов),

кролика

и

осьминога

(полмиллиарда

нейронов), кошки и сороки (800 млн нейронов), собаки и свиньи (2,2

млрд),

орангутанга

и

гориллы

(32

млрд

нейронов)

и,

наконец, человека с его 86 млрд нейронов и примерно 150 000 млрд

синапсов.

интеллекта:

как

Перед

нами

разумное

одна

поведение

из

величайших

возникает

из

загадок

сети

очень

простых взаимодействующих единиц, меняя связи между ними.

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

корректировки

примером

того,

что

эффективности

статистики

с

синапсов

середины

XX

является

в.

называют

«идентификацией параметров модели».

Изучение и минимизация ошибок: пример Допустим, вы хотите построить автомобиль, который управляет своим

движением,

имитируя

водителя-человека.

Что

нужно

делать? Первый

шаг



собрать

данные,

полученные

от

опытного

водителя, то есть записать положение автомобиля на трассе и то, как водитель корректирует это положение, поворачивая рулевое колесо,

чтобы

удерживать

автомобиль

по

центру

дорожной

полосы. Можно представить себе измерение положения автомобиля в полосе

движения,

фиксирует

белые

регистрируется разметки

и

анализируя линии.

положение

угол

изображение

Каждую

десятую

автомобиля

поворота

камеры, долю

относительно

рулевого

колеса.

В

которая секунды

дорожной результате

получается большой объем данных. За один час это составляет 36 000 положений автомобиля и углов поворота руля! Давайте автомобиля

перенесем

эту

представляет

модель

на

переменную

график: x

(ось

положение

абсцисс),

мы

называем это «входом в систему». Если ширина полосы 4 м, то

x

будет равно 0, когда автомобиль находится посередине, 2 м, когда автомобиль пересекает дорожную разметку справа, и –2 м, если она пересекает разметку слева. Таким же образом, угол поворота рулевого колеса является переменной Это

называется

рулевого

колеса

«выход в

системы».

градусах,

y

(ось ординат на графике).

Он

выдает

например,

5°,

угол

чтобы

поворота повернуть

немного влево, 0°, чтобы держать рулевое колесо прямо, и –5°, чтобы повернуть немного вправо. Таким образом, регистрируя действия водителя за рулем, мы собираем тысячи числовых пар

(x, y),

состоящих из положения на

дороге и соответствующего угла поворота рулевого колеса. Затем мы объединяем это множество примеров в виде списка из пар чисел

и

X

Y,

элементы

которого

пронумерованы.

Чтобы

обозначить конкретный пример в этом списке, его номер дается в квадратных

скобках,

например,

пара

значений

X[3]

и

Y[3]

соответствует примеру номер 3 (это обозначение, которое любят компьютерщики:

в

квадратных

скобках

в

программировании

указывается порядковый номер элемента массива). Мы соберем примеров

(например,

p

=

36

000),

которые

составят

p

так

называемый обучающий набор:

A = {(X[0], Y[0]), (X[1], Y[1]), (X[2], Y[2]),…, (X[p-1], Y[p-1])}

Цель состоит в том, чтобы на этих примерах научить машину предугадывать зависимости словами,

правильный

от

мы

положения

хотим,

чтобы

угол

поворота

автомобиля машина

рулевого

на

колеса

дороге.

«имитировала»

в

Другими водителя-

человека, воспроизводя его поведение как можно лучше. Для этого требуется найти функцию

f(x),

которая для каждого

x

обучающего набора подбирает соответствующий y в этом наборе, то есть

Y[0]

найдена,

мы

вычисления которых

для

Y[1]

можем

y,

нет

X[0],

для

X[1]

и

т.д.

использовать

Как

ее

соответствующего любому

в

нашем

обучающем

только

для x,

наборе.

функция

f(x)

интерполяции

даже для значений Такой

тип

и x,

обучения

называется «обучение с учителем».

Найти функцию у

на основе

х

f(х),

которая предсказывает

Представим примеры

идеального

расположены

водителя, по

линии,

у

которого

показанной

обучающие на

рис.

3.1.

Поскольку кажется, что в расположении этих точек есть какая-то закономерность,

нам

нужно

найти

функцию,

график

которой

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

f(x) = w * x

Я использую здесь обозначения, применяемые в информатике, где

символ

*

обозначает

умножение.

Данная

функция

представляет собой прямую, проходящую через 0, наклон которой определяется числом двумя

w.

переменными,

функцию

на

Удобнее рассматривать x

компьютере

и с

w.

Чтобы

языком

f

как функцию с

запрограммировать 38

Python

следующее:

def f(x, w): return w * x

,

следует

эту

написать

Рис. 3.1. Взаимосвязь между отклонением автомобиля от полосы движения и углом поворота рулевого колеса, необходимый для возврата автомобиля в середину полосы

Абсцисса соответствует положению автомобиля относительно центра полосы движения на автостраде (в метрах), а ордината — углу поворота рулевого колеса, необходимому для возврата автомобиля в центр полосы (в градусах). Для отрицательного значения положения (слева от центра полосы движения) к рулевому колесу следует приложить отрицательный угол (в данном случае — по часовой стрелке). Здесь отклонение в 1 м исправляется поворотом руля на угол 4°.

Символы которых

x

вычисляет

переменной ячейку

и

w

в

Например,

в

представляют

собой

произведение,

обозначенное

информатике

памяти можно

означает

компьютера, создать

где

своего можно

переменную

значение 4, а затем создать переменную

переменные,

x,

w

и

w

рода

*

x.

функция Понятие

«ящик»

хранить поместить

или

число. в

нее

имеющую значение 2:

w = 4 x = 2

Символы

w

и

x

— это просто названия соответствующих ячеек

памяти. Чтобы вычислить функцию с этими значениями следует написать:

yp = f(x, w)

x

и

w,

где

символ

yp

обозначает

прогноз

y,

произведенный

нашей

моделью.

Рис. 3.2. Прямая, которая проходит как можно ближе к точкам, которые не выровнены

Три из четырех точек лежат на одной прямой. Прямая с коэффициентом наклона 4 проходит

через

эти

три

точки,

но

не

через

четвертую.

Проблема

в

том,

как

найти

компромисс: прямую, которая проходит «как можно ближе» ко всем четырем точкам. При этом она может не проходить ни через одну из заданных точек.

После

произведенного

вычисления

переменная

yp

будет

содержать значение 8 (4 раза по 2). Чтобы

применить

функцию

к

обучающему

примеру



необходимо выполнить следующее: присвоить переменным значения функции

X[3]

и

Y[3]

и

вычислить

результирующее

x

3, и

y

значение

f(x, w).

x = X[3] y = Y[3] yp = f(x, w)

Поиск

прямой,

проходящей

через

точки,

сводится

к

поиску

правильного значения параметра w этой функции. Предположим, у нас есть только две тренировочные точки,

39 A = [[0.0, 0.0], [0.9, 3.6]] .

Через

эти

две

точки

правильное значение третью точку

w

(–0.8, —3.2).

правильное значение

w

проходит

одна

прямая.

равно 4, поскольку

4 *

0.9

В

этом

=

3.6.

случае

Добавим

Три точки принадлежат одной прямой, и

всегда равно 4.

Но это идеальная ситуация, в реальной жизни так обычно не бывает. Поставим четвертую точку Если

мы

используем

то

(1.9, 5.4).

же

предсказанное нашей функцией Как

указывалось

произведенный

ранее,

нашей

значение yp = f(x, w),

символ

моделью.

yp

4.0

для

будет не

w,

5.4,

обозначает

Данная

точка

значение,

а

7.6 = 4 * 1.9.

прогноз

находится

y,

не

справа, потому что она не совмещена с первыми тремя точками. Что тогда делать? Должен проходит

быть

как

компромисс:

можно

ближе

нужно ко

выбрать

всем

прямую,

точкам,

с

которая

небольшими

ошибками.

Как минимизировать ошибку? При значении

w = 4.0

Но

наблюдаемое

значение,

точка

выдает

значение, предсказанное справа, равно

ошибку

–2.2

в =

примере 5.4



7.6.

4,

равно

Меняя

5.4. w,

7.6.

Четвертая

мы

можем

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

все

точки,

лучшим

компромиссом

в

нашем

является прямая, наклон которой составляет примерно При

заданном

значении

w

для

каждой

ошибка между предсказанным функцией наблюдаемым

у

yp

из

точек

примере

3.2.

возникает

(на новой прямой) и

(в каждом примере обучения).

Мы можем измерить среднюю ошибку по всем этим четырем точкам. Для каждой точки ошибка может быть положительной или

отрицательной;

значением

yp

и

важно

расстояние

наблюдаемым

между

значением

y,

предсказанным

независимо

от

его

знака.

Чтобы

определить

это

расстояние,

необходимо

использовать квадрат этой ошибки, но также можно использовать его абсолютное значение (которое всегда положительно). Для Y[3]), X[3],

заданного

равна это

(Y[3] — w * X[3]) ** 2, yp

=

информатики: Мерой

значения

w

** 2

X[3].

*

w

ошибка

в

примере,

скажем

(X[3],

поскольку значение предсказано для (Мы

используем

обозначение

из

40

для возведения в квадрат

неточности

системы

L(w)

.)

является

среднее

значение

всех этих ошибок на обучающих примерах:

L(w) = ¼ * ((Y[0] — w * X[0]) ** 2 + (Y[1] –w * X[1]) ** 2 + (Y[2] — w * X[2]) ** 2 + (Y[3] — w * X[3]) ** 2)

Данная величина зависит от Мы

называем

регулируемый L(w),

это

функцией

параметр

w:

иначе говоря, это функция от

стоимости,

этой

и

функции.



w

Чем

w.

единственный

меньше

значение

тем меньше средняя ошибка, тем точнее наше приближение.

Следовательно,

мы

должны

найти

минимизирует эту функцию стоимости

значение

L(w)

w,

которое

(см. рисунок 3.3).

Вместе с точками обучения p функция стоимости обозначается с использованием

греческой буквы «сигма»

для обозначения суммы членов для всех значений

индекса i от 0 до p-1:

Эта формула включает квадрат w. Следовательно, это многочлен второй степени; другими словами, парабола.

Есть

способ

сделать

это,

он

называется

«стохастический

градиентный спуск», или SGD (Stochastic Gradient Descent). Идея его

состоит

в

том,

скорректировать

чтобы

линию,

взять

точку

чтобы

обучения

она

и

немного

приблизилась

к

рассматриваемой

точке.

Затем

следует

перейти

к

следующей

точке обучающего набора и провести небольшую корректировку, чтобы приблизиться и к этой новой точке. Корректировка должна быть такой же незначительной, как и ошибка. Другими словами, корректировка будет пропорциональна ошибке. Допустим, если мы возьмем пример № 3, корректировка для

w

будет следующей:

w = w + e * 2 * (Y[3] — w * X[3]) * X[3]

Рис. 3.3. Парабола, являющаяся графиком квадратичной функции стоимости

Когда функция стоимости представляет собой многочлен второй степени по отношению к w, она принимает форму параболы с единственным минимумом. Решение, то есть значение w, которое дает минимальное значение стоимости, обозначено на графике значком

Это

не

математическая

формула,

а

обозначение,

заимствованное из информатики: оно означает, что мы заменяем переменную (справа

от

w

(слева от знака равенства) ее текущим значением

знака

равенства),

суммированным

с

результатом

выражения, расположенного справа от знака плюс. Давайте рассмотрим эту формулу. Переменная e называется «шагом

градиента».

Она

должна

содержать

небольшое

положительное число, которое определит размер приращения

w.

Если число Y[3]),

то

X[3]

есть

положительно, а линия находится ниже точки разница

(Y[3]

необходимо

увеличить

приведенная

формула.

точкой,

разница



w

*

значение И

будет

w.

наоборот,

положительна,

X[3])

Именно

если

отрицательной

это

линия и

и

тогда делает

проходит

значение

(X[3],

над

будет

w

уменьшаться. Скорость, с которой линия приближается к точке, уменьшается

по

мере

останавливаясь

при

отрицательно,

формула

противоположный:

приближения

прохождении меняет

слишком

линии

через

точку.

знак

маленький

к

точке,

Когда

X[3]

приращения наклон

на

приводит

к

положительной ошибке, и наоборот. Повторяя меняя

примеры

наклон

один

прямой,

в

за

другим

конечном

и

каждый

итоге

мы

раз

немного

стабилизируем

прямую по отношению к значению w, которое минимизирует при условии постепенного уменьшения значения получивший

название

изобретен

1951

в

г.

«стохастическая

американскими

e.

L(w),

Этот метод,

аппроксимация»,

статистиками

был

Гербертом

Роббинсом и Саттоном Монро.

В скобках — для математиков Обобщим метод стохастического градиентного спуска. Обозначим через C(x, y, w) функцию стоимости для данного примера. В нашем примере C(x, y, w) = (y – w * x) ** 2 для заданной точки (x, y), тогда обновление

w

в

соответствии

со

стохастическим

градиентным

спуском

будет

следующим:

w = w — e * dC(x, y, w) / dw

где e — шаг градиента, а dC(x, y, w) / dw — производная (также называемая градиентом) C относительно w. Производная от (y – w * x) ** 2 относительно w равна –2 * (y – w * x) * x, а формула обновления принимает следующий вид:

w = w + 2 * e * (y – w * x) * x

идентично

тому,

что

мы

видели

выше.

Это

можно

понять

интуитивно:

если

наклон (производная) C(x, y, w) положительный, необходимо уменьшить w. Если наклон отрицательный, w необходимо увеличить. После нескольких итераций w в конечном итоге упадет до нижней части C(x, y, w). Мы хотим минимизировать L(w), который представляет собой среднее значение C(x, y, w) для всех точек:

Роббинс L(w),

и

если

Монро ее

продемонстрировали,

применять

многократно

что ко

процедура

всем

сходится

точкам,

при

к

минимуму

условии,

что

е

постепенно уменьшается. Стохастический широко

градиентный

используемым

спуск

методом

на

сегодняшний

обучения

день

современных

является систем

наиболее

машинного

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

точек,

стохастический

градиентный

спуск

оказывается

медленным

и

бесполезным на практике методом. Параболическая функция стоимости может быть преобразована следующим образом:

Нам известно, что эта функция представляет собой многочлен второй степени относительно w, и теперь у нас есть коэффициенты. Минимум этого многочлена — это значение W, для которого его производная равна нулю:

Подведем итоги Основные

принципы

любой

машины,

управляемой

обучением с учителем, заключаются в следующем: 1. Собираем обучающий набор

A = {(X[0], Y[0]),…,(X[p-1], Y[p-1])}

2. Предлагаем модель, т.е. первую функцию параметрами

w.

f(x, w)

Их может быть очень много, миллионы. В

этом случае мы называем их по отдельности …

и вместе:

с

w[0], w[1], w[2]

w.

3. Предлагаем функцию стоимости

C(x, y, w),

которая

измеряет ошибку для обучающего примера, например y, w) = (yf (x, w)) ** 2,

а

L(w)

C(x,

— его среднее значение по

обучающей выборке. 4. Находим значение параметров функции минимизируют функцию стоимости

f(x, w),

L(w),

которые

обычно с

помощью стохастического градиентного спуска:

w = w — e * dC(X[i], Y[i], w) / dw

Галилей и Пизанская башня Функция

f(x, w)

падающего

может быть не только линейной. Скорость камня,

вертикально

вниз,

увеличивается

пропорционально

квадрату

времени

поднимается первом

на

этаже.

падения.

Представьте

Пизанскую

Он

бросает

башню.

вниз

себе,

Он

камешек

как

Галилей

останавливается и

измеряет

на

время,

за

которое камешек упадет на землю. Он поднимается еще на один этаж.

Он

снова

бросает

камень

и

измеряет

время

падения.

Он

повторяет этот опыт снова и снова, на каждом следующем этаже. Существует

закономерность,

время падения, и

y

связывающая

переменные



x

— высоту падения камня.

Таким образом, зная время падения, можно вычислить высоту падения в зависимости от времени. Это квадратичная функция, график этой функции — парабола. Формула, падения): или

связывающая

y = 0.5 * g * x ** 2, 2

9,81

м/с .

где

Благодаря

(время

x g

падения)

с

(высота

y

— ускорение свободного падения,

своим

наблюдениям

Галилей

смог

установить этот закон, который позволяет, зная время падения предмета время

с

высоты,

падения

в

вычислять

зависимости

высоту от

падения.

высоты,

И

приведя

предсказать формулу

к

соответствующему виду. Таким

образом,

Галилей

заложил

основы

научного

метода,

который устанавливает законы, связывающие одну переменную с другой

математической

формулой.

Иначе

говоря,

он

выводил

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

Распознавание изображений или еще чегонибудь Принцип обнаружения основного правила также применим и к распознаванию изображение Например,

изображений.



это

не

черно-белая

Вход

более

x

чем

фотография



это

изображение.

большой размером

набор 1000

×

Но

чисел. 1000

пикселей

выражается

в

виде

1

млн

чисел,

каждое

из

которых

указывает значение оттенка серого для каждого пикселя. Если это цветное одним,

изображение, а

сразу

каждый

тремя

пиксель

значениями,

описывается

уровнями

уже

яркости

не

трех

основных цветов: красного, зеленого и синего. Ответ

машины

выразить

одним

(распознавание

y

числом

или

машине изображение кошки (y).

Считаем,

что

Фактически,

y

=

мы

изображения,

1



серией

изображений) чисел.

Я

можно

предоставляю

и прошу ее ответить: «Это кошка»

(x)

кошка,

просим

а

y

=



–1

функцию

представленные

как

это

не

кошка.

классифицировать

входные

данные,

на

две

категории. Таким же образом можно обучить автомобиль, оснащенный камерой,

ездить

самостоятельно.

В

немного сложнее, потому что вход представляет миллионы

собой

чисел,

изображение, из

которых

автомобиля на дороге. Выход колеса

и

показатели

научиться

отличать

самолета,

мы

тысячи

меняем.

усилий

собираем

Если

Если

yp

на

машина

которое

педалях.

включает

оценить

Если

обстоит

в

себя

положение

машина

автомобиля

от

изображений

самолетов. дает

дает

дело

— это угол поворота рулевого

тысячи

машина

случае

который подается в систему,

нужно

изображение

изображений

автомобиля.

x,

этом

неверный

изображения

автомобилей

Вводим

правильный

должна

и

изображение

ответ,

ответ,

ничего

не

необходимо

настроить параметры системы так, чтобы ее ответ приблизился к правильному.

Другими

словами,

нужно

изменить

настройки,

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

x.

Это

может

быть

изображение

(таблица

чисел

в

компьютерной программе); речевой сигнал (последовательность чисел

на

выходе

преобразующего

в

аналого-цифрового цифровой

вид

преобразователя,

аналоговый

сигнал

от

микрофона); текст для перевода (также представленный серией чисел)… Ниже мы будем говорить об этом подробнее. Желаемый входа

выход

у.

Это

идеальный

желаемый

результат

для

x.

Выход

yp.

Это

ответ

машины,

который

требуется

(или

не

требуется) корректировать.

Фрэнк Розенблатт, Берни Уидроу и перцептрон Давайте остановимся на самом простом типе машины, «линейном классификаторе»,

который

мы

рассмотрим

на

примере

перцептрона. Этот предок самообучающихся машин был разработан в 1957 г.

американским

психологом

Фрэнком

Розенблаттом

в

авиационной лаборатории Корнельского университета в Буффало (США).

В

феномен

те

годы

обучения,

часть

ученых

в

характерный

области

для

ИИ

исследовала

интеллекта

человека

и

животных. Изобретателя нейробиологии

перцептрона своего

вдохновили

времени.

Затем

открытия

психологи

в и

области биологи

работали над тем, как работает мозг и как нейроны соединяются друг с другом. Они представили биологический нейрон как своего рода

разветвленную

звезду.

Все

ветви

нейрона,

кроме

одной,

образуют входы, или дендриты, которые соединяют этот нейрон с вышестоящими Последняя

нейронами

ветвь,

нижестоящих

аксон,

излучаемые

передает,

если

контактную

является

нейронов.

сигналы,

через

единственным

Нейрон

выше

необходимо,

по

один

зону

принимает

потоку, сигнал



синапс.

выходом

электрические

обрабатывает ниже

для

по

потоку.

их

и

Этот

сигнал состоит из последовательности электрических импульсов, называемых

потенциалами

действия

или

«спайками»

(от

англ.

spike



пик

на

графике),

частота

которых

представляет

собой

интенсивность активности нейрона. Данная частота может быть выражена числом. В

1943

г.

два

американских

кибернетика

и

нейробиолога

Уоррен Маккалок и Уолтер Питтс предложили очень упрощенную математическую модель биологического нейрона — чуть ли даже не его карикатуру, по мнению некоторых. Этот «искусственный нейрон»

вычислял

активность

взвешенную

восходящих

определенного наоборот,

порога,

сумма

нейронов. нейрон

выше

производил

серию

аксона

направлении

в

сумму

чисел,

Если

эта

становился

порога,

импульсов,

представляющих сумма

неактивным.

нейрон

Если,

активировался

распространяющихся

нижестоящих

меньше

вдоль

нейронов.

и его

Частота

импульсов также выражалась определенным числом. В

модели

активным нейрон

или

с

Питтса т.е.

+1

взвешенную

которыми

больше

и

неактивным,

вычисляет

нейронов, сумма

Маккаллока

он

порогового

выход или

сумму

связан.

Он

значения,

–1.

Каждый

выходов

дает и

являлся

–1

на в

двоичным: бинарный

вышестоящих

выходе

+1,

если

противоположном

случае. В нашем примере данный порог равен 0.

Это выражается следующей формулой:

s = w[0] * x[0] + w[1] * x[1], …, w[n-1] * x[n-1]

где s



взвешенная

сумма,

x[0],

x[1],

x[2],…,

x[n-1]



входы,

а

w[0],

w[1],

w[2],…, w[n-1] — веса, то есть коэффициенты, входящие в взвешенную сумму. Такой

набор

из

пронумеровано

n

чисел

каждое

называется

число.

В

«n-мерным

системе

вектором».

математических

В

векторе

обозначений

мы

запишем эту формулу более компактно:

Такая

операция

компьютере

мы

между

векторами

можем

написать

называется программу

скалярным (на

произведением.

языке

Python),

На

которая

выполняет следующие вычисления:

def dot(w, x): s = 0 for i in range (len(w)): s = s + w[i] * x[i] return s

Данный код определяет функцию dot(w, x), аргументы которой — два вектора w и

x.

Функция

вычисляет

скалярное

произведение

между

w

и

x

и

возвращает

результат. Оператор for — это цикл, который накапливает в переменной s сумму произведений получено

с

членов

w

помощью

и

x;

число

len(w).

итераций

Последний

цикла

оператор

равно

размерности

возвращает

w

и

значение

s

вызывающей программе.

w = [–2, 3, 4] x = [1, 0, 1] s = dot(w, x)

Который поместит число 2 в переменную s, то есть результат будет выглядеть так:

–2 * 1 + 3 * 0 + 4 * 1 = 2.

Поскольку порог равен 0, выход нейрона будет равен +1, если s строго больше 0, и –1, если s меньше 0 или равно 0. Небольшая программа в Python может это вычислить:

def sign(s): if s > 0: return +1 else: return –1 def neurone(w, x): s = dot(w, x) return sign(s)

Функция sign, определенная выше, возвращает +1, если ее аргумент s больше 0, и –1 в противном случае.

Согласно

Маккалоку

и

Питтсу,

их

бинарные

нейроны

выполняют логические вычисления, а мозг можно рассматривать 41

как машину логического вывода

.

Эта гипотеза вдохновила психолога Фрэнка Розенблатта. Его перцептрон

использовал

бинарные

пороговые

нейроны

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

в

копировании

биологического

нейрона.

Воодушевленный идеей, что обучение изменяет синаптическую эффективность позволяет

в

мозге,

машине

он

разработал

адаптироваться

путем

процедуру,

которая

исправления

ошибок

посредством изменения весов, составляющих взвешенную сумму. Последняя

мысль

нейроанатома

восходит

Сантьяго

еще

к

работе

Рамона-и-Кахала,

испанского

опубликованной

в

конце XIX в. Розенблатт

также

читал

работы

канадского

психолога

Дональда Хебба, который в 1949 г. в своей книге «Организация 42

поведения»

предложил идею о том, что синапс, соединяющий

два нейрона, усиливается, когда эти два нейрона активируются одновременно. Гипотеза была подтверждена в 1960-х гг., а в 1970х Эрик Кандел, изучая ставшую знаменитой аплизию, объяснил биохимические механизмы адаптации нейронов. Перцептрон нейрон

в

своей

Маккаллока

и

простейшей

Питтса,

форме

который

представляет

обучается

собой

посредством

изменения своего веса. На этапе обучения оператор показывает машине,

например,

изображение

буквы

C,

и

указывает

ожидаемый выход: +1 для буквы C (и –1 для другой буквы). Затем машина

регулирует

приблизительно необходимо

веса

входов

соответствовал

было

повторить

с

так,

чтобы

ее

выход

ожидаемому.

Эту

процедуру

несколькими

изображениями

буквы C и других букв. Путем регулировки весовая конфигурация становится

способной

распознавать

любую

(или

почти

любую)

букву C. Чтобы

убедиться

в

том,

что

машина

обучена

должным

образом, мы тестируем ее, показывая ей изображения буквы C и изображения

других

букв,

которые

она

не

видела

во

время

обучения. Если распознавание работает, то можно считать, что машина обучена и готова к практическому применению. В 1957 г. в Буффало машина Фрэнка Розенблатта выглядела как большой металлический шкаф, из которого во все стороны торчали провода. У него была своего рода искусственная сетчатка, сеть фотоэлементов, которые принимали входное изображение, и сотни автоматизированных приводов, немного похожих на ручки регулировки громкости на усилителе, управлявших показателями весов. Каждый привод представлял собой переменный резистор, подключенный схема

к

небольшому

вычисляла

сетчатке,

выходной

взвешенную

задаваемую

взвешенная

электродвигателю.

сумма

сумму

переменными

превышала

индикатор.

Если

напряжения

входов

резисторами.

Если

пороговое

сумма

Электронная

не

значение,

на эта

загорался

превышала

пороговое

значение, индикатор не загорался. Новизна перцептрона заключалась именно в его способности к самообучению: он автоматически регулировал свои веса после демонстрации соответствие

каждого с

желаемым

корректировки существовала

нового

выходом.

параметров на

изображения, На

модели

протяжении

приводя

самом

на

многих

их

деле,

основе веков.

в

идея

данных

Инновация

Розенблатта заключалась в применении этой идеи для машинного распознавания образов.

Решетка из 25 пикселей Запомните

следующий

фотоэлементов разрешением.

принцип:

считывает На

выходе

на

простые

световая

входе

в

перцептрон

изображения

индикация

дает

с

сеть

низким

нам

знать,

распознано изображение или нет. Возьмем изображение которое

следующий размером

преобразуется

пример. 5×5

Перцептрону

пикселей,

сетчаткой

в

то

серию

есть

из

25

представляется 25

пикселей,

чисел:

+1

для

черного

пикселя,

представлял выходящих значения

эти

—1

числа

в

проводах.

В

переменных

в

для

белого

виде

электрических

наше

время

памяти

пикселя.

эти

же

компьютера.

Перцептрон

потенциалов числа Для



на

просто

изображения

буквы C на рис. 3.4 начало серии из 25 соответствующих чисел будет выглядеть так:

x[0]= –1, x[1]= –1, x[2]= –1, x[3]= –1, x[4]= –1, x[5]= –1, x[6]= +1, x[7]= +1, x[8]= +1, x[9]= –1, …

Ряд

чисел,

то

есть

вектор

x[0],…,

x[24],

представляет

собой

изображение входа: первый пиксель соединен с первым входом x[0]

нейрона, второй пиксель до вторым входом

x[1]

и т.д.

Рис. 3.4. Изображение буквы C на решетке 5 × 5 пикселей

Изображение — это матрица, составленная из пикселей, где каждый пиксель — это число, обозначающее цвет пикселя: +1 для черного и –1 для белого. Таким образом, изображение

описывается

таблицей

чисел

от

единицы

до

минус

единицы.

В

более

привычных нам «черно-белых» изображениях, например, на черно-белых фотографиях, соответствующие числа представляют интенсивность серого цвета, обычно в диапазоне от нуля до 256. В цветном изображении каждый пиксель определен тремя числами, представляющими интенсивность красного, зеленого и синего цветов.

Рис. 3.5. Нейрон, связанный с изображением

Нейрон вычисляет взвешенную сумму своих входов. В данном случае нейрон имеет 25 входов,

представляющих

значение

+1

или

–1.

собой

пиксели

Значение

каждого

изображения, пикселя

каждый

умножается

из

на

которых

вес,

имеет

присвоенный

связанному с пикселем входу нейрона. Данные результаты суммируются для получения взвешенной результата.

суммы. Затем

Это

веса,

которые

взвешенная

сумма

машина

может

сравнивается

с

использовать пороговым

для

коррекции

значением.

Если

взвешенная сумма больше порога, выход нейрона равен +1, в противном случае равен – 1. Совокупность весов входящих связей — это память системы. (Для ясности схемы показана только часть соединений.)

В машине 25 весов, каждый из которых связан с пикселем. Эти 25 параметров и схема их подключения составляют архитектуру машины. один

и

Такая

тот

же

схема

подключения

пиксель

всегда

является

подключен

к

фиксированной: одному

входу

и

связанному с ним весу. До начала этапа обучения все веса равны 0. Таким образом, взвешенная сумма будет равна 0, а результат – 1, независимо от изображения.

Как отличить букву C от буквы D? В

процессе

обучения

машина

регулирует

свои

веса.

Научим

ее

отличать букву С от буквы D. Мы уже знакомы с этим методом: предоставляем

машине

несколько

последовательных

каждой

Каждый

раз,

машина

ответ,

буквы.

мы

не

когда

предпринимаем

ничего.

Если

выдает она

примеров

правильный

ошибается,

мы

корректируем

веса

(мы

«поворачиваем

ручки

регулировки

громкости»), чтобы изменить взвешенную сумму таким образом, чтобы она стала положительной для буквы C и отрицательной для буквы D. Рассмотрим

процедуру

более

подробно.

Если

в

качестве

примера используется буква C, а машина ошиблась, это означает, что веса установлены неправильно и взвешенная сумма ниже 0 (порога),

а

не

выше.

Поэтому

машина

(точнее,

алгоритм

обучения, написанный инженером), должна изменить веса так, чтобы взвешенная сумма увеличилась. Она увеличивает значение для

тех

весов,

соответствующий

вход

которых

равен

+1,

и

уменьшает значение для весов, у которых соответствующий вход равен –1. И

наоборот,

если

пример



буква

D,

и

машина

дает

неправильный ответ (+1, «Это C»), это означает, что взвешенная сумма больше 0, а не меньше. В этих условиях алгоритм обучения должен уменьшать веса, соответствующие входы которых равны +1, и увеличивать веса, соответствующие входы которых равны – 1. Вес

каждый

значение значение.

раз

веса

меняется

после

Одной

на

настройки

итерации

небольшую

величину.

перезаписывает

недостаточно.

Новое

предыдущее

Правильный

ответ

будет получен только после последовательных обновлений. При

некотором

везении

повторение

этих

манипуляций

для

представления / распознавания / корректировки весов для букв C и

D

приведет

к

тому,

что

конфигурации

весов,

определяемые

алгоритмом, будут сходиться к стабильной ситуации, когда любая буква C и любая буква D будут распознаны.

В

обучающем

наборе

значения

25

пикселей

находятся

в

векторе

x,

веса



в

векторе w. Переменная y содержит желаемый выход (+1 или –1), а переменная yp — это выход, вычисляемый нейроном (также +1 или –1). Разница (y – yp) будет равна 0, если машина выдает правильный ответ, +2, если желаемый ответ равен +1, но полученный ответ будет –1, и –2, если наоборот. По следующей

формуле

каждый

вес

w[i]

обновляется,

как

описано

выше,

с

использованием

соответствующего входа x[i]:

w[i] = w[i] + e * (y – yp) * x[i]

Переменная

e

содержит

корректировки.

положительную

Взвешенная

сумма

будет

константу,

определяющую

увеличиваться

или

уровень

уменьшаться

в

правильном направлении в результате изменения весов. Такая

процедура

может

быть

представлена

в

виде

программы

из

нескольких

строк. Предположим, что у нас буква C, поэтому желаемый выход равен +1. Мы вычисляем

взвешенную

сумму,

используя

функцию

нейрона

(w,

x),

определенную выше, затем обновляем все веса, переписывая каждый из них один за другим следующим образом:

yp = neurone(w, x) for i in range(len(w)): w[i] = w[i] + e * (y – yp) * x[i]

Перцептрон Розенблатта был электронной машиной весом в несколько тонн. Магия современных технологий заменяет ее этой маленькой

программой

из

нескольких

строк,

исполняемой

на

небольшом компьютере. В

примере,

который

мы

привели,

машина

изучает

«трафаретные» отличия букв C и D. Пиксели, специфичные для буквы C, имеют положительный вес; пиксели, специфичные для буквы D, имеют отрицательный вес, а другие пиксели, которые не появляются

в

C

или

D,

или

те,

которые

появляются

в

обоих,

имеют нулевой вес. Но

мы

также

можем

рассматривать

процедуру

обучения

перцептрона как минимизацию функции стоимости, параметры которой являются регулируемыми весами системы. Как тот, что описан

в

примере

с

автомобилем,

который

мы

рассматривали

выше. Мы вернемся к этому в Главе 4. Позвольте

мне

существовала независимо

от

уже

сейчас

тривиальная их

вариаций

раскрыть

интригу:

тот

момент

техника

распознавания

фигур



метод

в

«ближайшего

соседа».

Совсем другой метод, нежели перцептрон. Он состоит из простого сравнения

одного

изображения

с

другим.

Компьютер

хранит

в

своей

памяти

все

тренировочные

образы.

Когда

появляется

изображение, которое нужно распознать, машина сравнивает его с

изображениями

похожее разных

в

своем

изображение, пикселей

каталоге.

например,

между

двумя

Она

находит

подсчитывая

наиболее

количество

изображениями.

Выводится

категория ближайшего изображения: если это D, вывод будет «D». Этот метод хорошо подходит для простых изображений, таких как печатные

буквы

рукописных



небольшом

символов

он

менее

наборе

шрифтов).

эффективен,

к

Но

тому

для

же

он

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

Обучение с учителем и обобщение Важнейшее свойство обучающейся машины — это ее способность к

обобщению,

примеров,

то

есть

которые

умение

она

не

давать

видела

во

правильный время

ответ

обучения.

для Если

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

Чтобы

не

возможных

учит чисел:

найти

результат

наизусть он



умножения

результаты

находит

сам

346

на

перемножения

принцип,

2067, всех

позволяющий

производить умножение. Перцептрон делает нечто подобное. Он не

хранит

распознать.

все

возможные

Он

формы

разрабатывает

C,

чтобы

модель,

в

дальнейшем

шаблон,

их

который

позволяет ему выполнять распознавание по запросу. Посмотрим, как это происходит. Оператор, примеров,

который

может

быть,

обучает сотни,

систему, а

то

и

собирает

тысячи,

множество

букв

C,

разных

размеров, с разными шрифтами, размещенных в разных местах 25-пиксельной сетки. Он делает то же самое с буквой D. Если обучить перцептрон выдавать +1 для примеров C и –1 для

примеров

D,

процедура

обучения

перцептрона

даст

положительный вес пикселям, которые являются черными для C и белыми для D, и отрицательный вес для пикселей, которые белые для C и черные для D. В целом веса представляют информацию, позволяющую отличать C от D. «Магия» обучения заключается в том, что «обученная» машина способна выйти за рамки того, что ей было показано.

Пределы возможностей перцептрона Метод, который мы только что описали, работает, когда примеры букв

C

и

D

не

слишком

сильно

отличаются.

Если

различия

в

форме, размере или ориентации слишком велики, например, одна буква

C

крошечная,

другая

находится

в

углу

изображения



перцептрон не сможет найти комбинацию весов, которая может различать примеры букв C и D. Таким образом, он оказывается неспособным различать определенные типы форм. Этот предел является общим для всех линейных классификаторов, примером которых является перцептрон. Рассмотрим, почему это так. Входом линейного классификатора является список из n чисел, который также может быть представлен n-мерным вектором. С математической точки зрения вектор — это точка в пространстве, координатами нейрона

с

которой

двумя

являются

входами

числа,

входное

составляющие

его.

Для

пространство

является

двумерным (это плоскость), а входной вектор обозначает точку на

плоскости.

Если

нейрон

имеет

три

входа,

входной

вектор

обозначает точку в трехмерном пространстве. В нашем примере для

букв

пикселей

C

и

D

пространство

изображения

нейрона).

Таким

один

образом,

входа

за

имеет

другим

25

измерений

связаны

изображение

с

25

(25

входами

представляет

собой

вектор, состоящий из значений 25 пикселей, которые обозначают точку в этом 25-мерном пространстве. Однако представить себе гиперпространство очень трудно. Линейный

классификатор,

то

есть

пороговый

нейрон

Маккаллока и Питтса, разделяет свое входное пространство на две половины:

например,

изображения

C

и

изображения

D.

Если

пространство представляет собой плоскость (для нейрона с двумя входами), граница между двумя половинами представляет собой линию. Если пространство имеет три измерения, граница — это плоскость между двумя половинами. Если пространство имеет 25 измерений,

граница

представляет

собой

24-мерную

гиперплоскость. В более общем случае, если количество входов равно

n,

пространство

имеет

разделения представляет собой

Чтобы

убедиться

в

том,

n

измерений,

(n – 1)-мерную

что

эта

а

поверхность

гиперплоскость.

граница

действительно

является

гиперплоскостью, перепишем формулу для взвешенной суммы в размерности 2, то

есть

скалярное

произведение

вектора

w

(весов)

и

вектора

x

(значения

пикселей входа)

S = w[0] * x[0] + w[1] * x[1]

Когда эта взвешенная сумма равна нулю, мы находимся на границе между двумя половинами

пространства,

разделенными

линейным

образом, точки границы удовлетворяют уравнению:

w[0] * x[0] + w[1] * x[1] = 0

Мы также можем написать:

x[1] = –w[0] / w[1] * x[0]

Это и есть уравнение прямой.

классификатором.

Таким

При вычислении скалярного произведения двух векторов, если эти два вектора ортогональны, скалярное произведение равно нулю. Если векторы расположены под углом менее 90° друг к другу, скалярное произведение положительно. Если векторы

расположены

отрицательное. произведение

под

Таким

которого

ортогональных

углом

образом, на

вектору

набор

вектор

w.

В

более

w

90°,

скалярное

векторов

равно

нулю,

размерности

n

x

плоскости,

является

они

произведение скалярное

набором

образуют

векторов,

гиперплоскость

размерности n — 1.

Однако на самом деле это не всегда так. Продемонстрируем, почему. Представим

себе

перцептрон

не

с

25

входами

(сетка

5×5

пикселей), а с двумя входами, т.е. он снабжен нейроном с двумя входами.

Теперь

добавим

к

этому

перцептрону

третий

«виртуальный» вход, значение которого всегда будет равно –1. Без этого дополнительного параметра разделительная линия всегда будет

проходить

через

начало

координат.

Но

разделительная

линия не обязательно должна проходить через начало координат плоскости:

изменяя

соответствующий

вес,

ее

можно

свободно

перемещать. Эта

очень

различить

простая

между

собой

машина

оказывается

определенные

неспособной

изображения

входа.

Четыре обучающих примера (0, 0), (1, 0), (1, 1) и (0, 1) могут быть представлены четырьмя оценками. Разместим их на графике (см. рис. 3.6). Функции, функции,

которые

которые

может

выполнять

позволяют

перцептрон,

классифицировать



точки

это в

те

два

набора, разделяя их для классификации. Наблюдая за графиком, мы видим, что можем провести линии, отделяющие (0, 0), (1, 0) и (0, 1) от (1, 1). Мы можем провести прямые линии, отделяющие (0, 0) от (1, 0), (1, 1) и (0, 1). Но мы не можем провести линию, которая отделяет (0, 0) и (1, 1) от (1, 0) и (0, 1).

Функция, которая возвращает 0 для (0, 0); 1 для (1, 1); 1 для (1, 0) и 0 для (0, 1), называется «исключающим ИЛИ». Эта функция, как принято говорить, «не является линейно разделимой»: точки входа,

выход

которых

равен

1,

нельзя

отделить

линией,

плоскостью или гиперплоскостью от точек входа, выход которых равен 0.

Рис. 3.6. Перцептрон с 2 входами

Функция,

которая

связывает

+1

с

черными

точками

(0,

1)

и

(1,

0)

и

–1

с

серыми

точками (0, 0) и (1, 1), называется «исключающее ИЛИ». Не существует прямой линии, отделяющей все черные точки от всех серых точек. Это — один из способов показать, что

линейный

классификатор

(например,

перцептрон)

не

может

вычислить

исключающее ИЛИ. Линии на диаграмме представляют функции И [+1 для (1, 1) и –1 для остальных] и ИЛИ [–1 для (0, 0) и +1 для остальных]. В размерности 2 только две булевы функции из 16 не разделимы линейно. При увеличении размерности только незначительная часть функций линейно разделима.

В таблице ниже каждая строка представляет собой одну из четырех возможных конфигураций

двух

двоичных

входов.

Каждый

пронумерованный

столбец

представляет выходы конкретной логической функции для каждой из четырех 4

конфигураций входа. Есть 16 возможных функций (т.е. 2 ). 14 из 16 функций достижимы

с

помощью

линейного

классификатора.

(они обозначены буквой Н в последней строке):

Недостижимы

только

две

В этом примере мы видим точки в двумерном пространстве, соответствующие двум

пикселям

изображения,

которые

составляют

два

входа

функции.

Это

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

перцептроне,

взвешенная

если

сумма

вектор

будет

входа

образует

положительной,

острый

если

же

угол угол

с

вектором

тупой,

она

веса, будет

отрицательной. Разделительная линия между положительным и отрицательным значениями



это

набор

точек

x,

которые

ортогональны

вектору

веса

w,

поскольку скалярное произведение между w и x равно нулю. В размерности n уравнение границы выглядит следующим образом:

w[0] * x[0] + w[1] * w[1] + w[2] * w[2]….w[n-1] * x[n-1] = 0

Это гиперплоскость размерности n — 1.

Перцептрон

разделяет

пространство

на

две

половины

гиперплоскостью. На одной «стороне» гиперплоскости мы хотим получить все точки, которые делают детектор C активным, а на другой

«стороне»

неактивным. процедура путем такой

мы

Если

хотим

можно

обучения

найти

перцептрона

многократного

линейно,

не

в

делающие

его

гиперплоскость,

конечном обучающих

существует,

процедура

точки,

такую

прохождения

гиперплоскости

неразделимы

получить

то

обучения

итоге

найдет

примеров.

есть

то

если

ее

Если

точки

перцептрона

будет

бесконечно продолжать изменять веса, никогда не приходя к их единой стабильной конфигурации. Зачем мы проводим эти примеры? Дело в том, что именно они объясняют

разочарование,

охватившее

исследователей

распознавания образов в начале 1960-х. Специалисты поняли, что возможности

перцептрона

использовать

его

для

ограничены,

распознавания

и

что

объектов

они на

не

смогут

естественных

изображениях. Это

связано

примеры

с

тем,

что,

многочисленны

когда и

размерность

сложны,

входа

например,

высока,

а

тысячи

фотографий собак, кошек, столов и стульев, то велики и шансы,

что

категории

не

достижимыми

будут

с

линейно

помощью

разделяемыми,

перцептрона,

то

есть

подключенного

непосредственно к пикселям. Даже в простом случае с буквами C и

D,

если

положении

существуют или

размере

значительные букв,

различия

классификация

в

букв

форме, C

и

D

оказывается для перцептрона невозможной. 43

Книга Сеймура Паперта и Марвина Мински «Перцептроны» изданная машин.

в

1969

г.,

поставила

Прекращение

обучения

сыграло

крест

исследований

важную

роль

в

на в

,

будущем

этого

области

машинного

истории

типа

искусственного

интеллекта. Оно привело к одному из тех застоев, о которых мы упоминали,

когда

научное

сообщество

отвернулось

от

этой

тематики. Но для современного читателя интерес к такой демонстрации состоит

в

том,

чтобы

приблизиться

к

пониманию

функционирования обучающейся машины.

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

пор.

Суть

изображением «экстрактора

его и

заключается нейронным

признаков»,

в

размещении

слоем

который

между

промежуточного

обнаруживает

входным модуля,

наличие

или

отсутствие определенных паттернов во входном изображении, а затем

создает

вектор,

описывающий

наличие,

отсутствие

или

интенсивность этих паттернов. Затем этот вектор обрабатывается слоем перцептрона. Рассмотрим пример. Когда

вы

подключаете

перцептрон

непосредственно

к

пикселям изображения, скажем, буквы C, перцептрон не может создать

«улучшенный

шаблон»,

в

котором

изображение,

закодированное

его

отличают

C

других

примеров

становится

от

«насыщается»,

и

весами,

указывает

категорий.

слишком

веса

Как

большим,

оказываются

не

на

пиксели,

только

которые

разнообразие

машина

Розенблатта

способны

выявлять

различия. Это происходит, когда перцептрон обучается на сильно отличающихся

буквах

С.

На

изображениях

с

разрешением,

достаточным для распознавания всех символов, примерно 20 × 20

пикселей,

буквы

напечатанными

C

могут

различными

быть

маленькими,

шрифтами

или

большими,

написанными

от

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

Рис. 3.7. Экстрактор признаков

Экстрактор

признаков

изображении

и

обнаруживает

отправляет

наличие

выходы

отличительных

обучаемому

паттернов

классификатору,

во

входном

такому

как

перцептрон. Первый шаблон определяет окончания линий справа как конечные точки линий

буквы

«C».

Два

других

обнаруживают

углы,

как

и

у

буквы

«D».

Результаты

передаются на вход перцептрона. После обучения перцептрон сможет отличать букву C от D независимо от размера и положения, пока эти признаки наличествуют. В данном примере, где есть одна буква C и две буквы D, расположенные по-разному, экстрактор можно

рассматривать

значение

–1,

детектора

серый

как

слой

пиксель

представляют

бинарных

представляет

собой

своего

нейронов. значение

рода

Белый

0,

«шаблоны»

а

пиксель

черный

представляет

пиксель

размером

5

×

5

+1.

Три

пикселей,

которые передаются по входному изображению. Для каждого положения шаблона мы вычисляем

взвешенную

результате

получаются

содержимое

окна

сумму

25

пикселей

изображения,

похоже

на

в

шаблон.

входного

которых Затем

окна

каждый

с

25

весами

пиксель

взвешенные

шаблона.

темнее,

суммы

В

поскольку

сравниваются

с

пороговым значением и выводятся карты признаков со значением +1, если шаблон обнаружен в соответствующем месте, и 0, если не обнаружен.

Один

из

способов

отличить

букву

C

от

D

на

изображении

размером 20 × 20 пикселей, независимо от шрифта или стиля, заключается в обнаружении углов и окончаний строк. Буква D —

замкнутая фигура с двумя углами, а буква C — кривая на каждом конце линии. Можно было бы построить экстрактор признаков, который указывал бы на наличие окончаний и углов, независимо от

их

положения

спроектировать

на

изображении.

первый

слой,

Для

состоящий

этого

из

мы

набора

можем

бинарных

нейронов, входами которых будут небольшие окна размером 5 × 5

пикселей

на

входном

изображении,

фиксироваться

«вручную»

обучения).

получим

Мы

нейрон-детектор



три

не

типа

окончания

и

а

веса

которых

определяться

будут

алгоритмом

нейронов-детекторов:

два

один

нейрона-детектора

угла.

Каждое окно 5 × 5 на входном изображении питает три нейрона: по одному из каждого типа. Выход каждого нейрона равен +1, когда изображение 5 × 5 его входа выглядит как изображение, сформированное

его

весами,

и

0

в

противном

случае.

Для

правильно сформированной буквы C будет активирован детектор окончания,

а

для

активированы перцептрон. количество

правильно

детекторы Такому

углов

и

сформированной

угла.

Последний

перцептрону

окончаний,

буквы

слой



достаточно

чтобы

отличить

D

будут

простой

подсчитать

букву

C

от

D

независимо от их положения, размера или стиля. Итак, мог

можно

выполнять

перцептрона

изменить более

можно

архитектуру сложные

разместить

перцептрона,

операции.

«экстрактор

чтобы

Перед

он

слоем

признаков».

Этот

экстрактор функций не обучен, он создается вручную (инженер разрабатывает программу для этой функции). Такая конструкция сложна, и ее создание занимает много времени. Было предложено большое

количество

признаков,

методов

подходящих

применения.

В

научной

для

для

создания

каждого

литературе

до

2015

экстракторов

специфического г.

было

описано

множество таких методов. Популярный

вид

экстрактора

признаков

обнаруживает

небольшие простые паттерны на входном изображении. Для букв, например,

он

маркирует

не

только

окончания

и

углы,

но

и

вертикальные Выходом

полосы,

горизонтальные

экстрактора

указывающих положения.

признаков

наличие

Вместо

или

того

полосы, является

отсутствие

чтобы

петли

этих

напрямую

ряд

и

т.д.

чисел,

паттернов

и

их

подключаться

к

пикселям входного изображения, перцептрон анализирует более абстрактные характеристики. Если

перцептрон

собирается

обнаружить

автомобиль,

экстрактором признаков может быть набор шаблонов, которые обнаруживают колесо, угол лобового стекла, решетку радиатора и так далее. Эти шаблоны последовательно применяются ко всем участкам

изображения

соответствующий перцептрон. обнаружить

То

и

активируются,

паттерн.

же

самое

темные

Затем

все

эти

происходит

области,

когда

и

обнаруживают

признаки

с

лицами.

образованные

вводятся

в

Достаточно

глазами,

две

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

серией

группами

бинарных

пикселей

нейронов,

во

входном

связанных

с

небольшими

изображении,

выбранных

случайным образом (потому что не было лучшей идеи!). Вес этих нейронов

нельзя

было

фиксированными, соединения

со

нейронов

изменить

путем

случайными были

обучения.

значениями.

случайными,

вы

не

Они

были

Поскольку могли

быть

уверены в правильности результата. Для того, чтобы этот первый слой играл свою роль, должно было быть много промежуточных нейронов, входов

в

извлекающих

конечный

непропорционально

признаки.

нейрон

В

результате

(единственный

увеличилось.

В

количество

обучаемый

некоторых

нейрон) системах

классификации и распознавания образов (с 2013 г. они уже мало используются)

количество

входов

экстрактора

признаков

исчисляется миллионами. Чем больше будет признаков, тем легче

будет впоследствии классифицировать перцептрон. Так проще, но значительно более трудоемко. Организация областях

зрительной

продолжала

задумались

улучшении

дополнительных

нейронных

очень

обнаружить

простые

сборки

мозга

вдохновлять

об

извлекает

коры

последовательных

исследователей.

перцептрона слоев.

признаки.

или

в

путем

Первый

соединения

этих

создания

слой

Следующий

Они

системы

слой

пытается

контуров,

чтобы

сформировать элементарные формы, такие как круги или углы. На следующем слое обнаруживаются комбинации этих паттернов для частей объектов и т.д. Еще

один,

более

продуманный,

способ

создать

экстрактор

признаков — метод опорных векторов, или SVM (англ. Support Vector Орсе

Machine), с

2015

Бернхардом период

с

г.)

который в

сотрудничестве

Босером,

1995

по

классификации,

изобрела

членами

2010

однако,

г.

с

был

всем

Гийон

Владимиром

нашей

SVM

при

Изабель

команды

(профессор

Вапником

и

Bell

В

в

доминирующим

уважении

к

моим

Labs.

методом

друзьям

и

коллегам, я признаюсь, что этот метод не представлял для меня особого

интереса.

автоматического

Он

не

управления

решил

ключевой

экстрактором

проблемы

признаков,

хотя

казался весьма перспективным. Подход, лежащий в основе SVM, — это пример того, что мы называем собой

«ядерными

своего

пользуется Первый

рода

этим

слой

методами». двухслойную

методом,

имеет

такую

столько

Фактически

он

нейронную аналогию

единиц,

не

представляет

сеть.

(Те,

кто

приветствуют.)

сколько

примеров

в

обучающем наборе, а второй слой вычисляет взвешенные суммы, как обычный перцептрон. Модули на первом слое «сравнивают» вход

x

с каждым из обучающих примеров

используя функции ядра

k(x, q),

где

x

X[0], X[1], X[2], …, X[p – 1],

— вектор входа, а

q

— один из

обучающих примеров. Например, единица номер 3 первого слоя даст следующий результат:

z[3] = k(x, X[3]).

Типичный

пример

функции

k



это

экспонента

расстояния

векторами: выдает

между

Единица

большое

значение

выхода,

когда

x и

q

находятся

рядом,

двумя

этого и

типа

маленькое

значение, когда они находятся далеко друг от друга.

Второй слой сочетает эти выходы с контролируемыми весами. В

перцептроне

такого

типа

только

конечный

слой

обучается

с

учителем. Но первый слой также обучается, так как он использует входы

(x)

Эта

44

из обучающих примеров

чрезвычайно

простая

.

модель

стала

предметом

многих

прекрасных книг по математике. Отчасти именно естественное влечение ядерные

исследователей методы

к

тонкой

действительно

математике

успешными.

сделало

К

SVM

сожалению,

и

их

авторы часто скрывали от себя ограничения этих методов. Мне и моим коллегам было очень трудно убедить сообщество в том, что, несмотря

на

ненамного ядерных

успешные

мощнее

методов

результаты,

перцептрона. до

сих

пор

эта

машина

Некоторые не

из

уверены

по

сути

сторонников

в

полезности

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

было

типичным

для

середины

1990-х

годов.

Кроме

того,

с

первых дней Интернета SVM-программы находились в открытом доступе. Девиз «все новое — прекрасно» набирал обороты. В 1990х годах ядерные методы затмили нейронные сети. О полезности наличия нескольких слоев вскоре забыли. Однако

добавление

искусственных функции,

нейронов

которые

одного позволяет

невозможно

или

нескольких

вычислять эффективно

более

слоев

сложные

вычислить

с

помощью одного слоя. Математические теоремы показывают, что всего с двумя слоями нейронов можно вычислить все, что угодно, и этот факт мотивировал развитие SVM. Но зачастую первый слой нейронов при этом оказывался гигантским: количество нейронов

в нем должно быть намного больше, чем количество пикселей в начальном

изображении.

пиксельного

В

изображения

случае

там

нашего

могли

быть

маленького

сотни

или

25-

тысячи

нейронов. Исследователи

1960-х

застряли

на

обучении

этих

множественных слоев. Процедура обучения перцептрона может обучать

только

признаков

еще

конечный

не

мог

слой.

обучаться

Первый

и

должен

слой был

экстрактора

быть

настроен

вручную. Эта трудность ручной настройки тысяч или миллионов весов

для

каждого

попадающего

в

машину

изображения

объясняет, почему в конце 1960-х исследователи отказались от идеи

интеллектуальной

машины,

которую

можно

было

бы

обучать от начала до конца. Они сосредоточились на прикладных программах,

основной

статистических

закономерностей.

перцептронами, машинного

задачей

хотя

и

обучения

которых

Архитектура,

несовершенная,

до

начала

стало

выявление

вдохновленная

доминировала

2010-х

гг.

в

Возьмите

мире

сигнал,

пропустите его через созданный вручную экстрактор функций, а затем

через

систему

перцептроном

или

классификации,

любым

другим

которая

может

статистическим

быть

методом 45

обучения: это и есть «першерон» распознавания образов

.

Заключение Перцептрон обучению

положил с

начало

учителем.

так

называемому

Процедура

обучения

машинному настраивает

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

у

преодоления

этого

метода

исследователи

есть

свои

кодировали

ограничения. изображения,

Для

их

чтобы

извлечь ключевые характеристики изображений для выполнения

каждой

конкретной

изображения перцептрону.

задачи,

прежде

классическому Между

1960

и

чем

передать

классификатору,

2015

гг.

эти

например,

исследователи

потратили

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

долгое

заключалась признаков проблему обучение.

в

том,

вместо решают

время чтобы того,

не

было

найти чтобы

многослойные

готово

способы

ее

принятию),

обучить

экстракторы

создавать

к

их

нейронные

вручную.

сети

и

Эту

глубокое

ГЛАВА 4

Обучение путем минимизации, теория обучения

Основной принцип обучения системы с контролем всегда один и тот

же:

он

уменьшения ошибку

состоит функции

между

выходом,

из

настройки

стоимости,

фактическим

рассчитываемым

Уменьшение

этой

которая

выходом

по

функции

параметров

стоимости

измеряет

системы

набору

системы

для

среднюю

и

желаемым

обучающих

примеров.

и

обучение

системы



одно и то же. Данный таким

как

принцип

применим

перцептрон,

в

не

которых

только

к

простым

обучается

лишь

моделям,

последний

слой, но и почти ко всем контролируемым методам обучения, в частности

к

многослойным

нейронным

сетям

с

непрерывным

обучением, о которых мы поговорим в следующей главе. Таким стоимости

образом, является

обучение ключевым

путем

минимизации

элементом

функции

функционирования

искусственного интеллекта.

Функция стоимости Повторим еще раз: обучение — это настройка алгоритма, то есть постепенное

уменьшение

количества

ошибок,

которые

делает

система. Она пытается, она ошибается, она корректирует себя. Каждая перенастройка параметров перезаписывает предыдущие

значения

этих

например,

параметров.

изображения

Для

x,

любого

связанного

обучающего с

выходом

примера,

y,

ошибка

представляет собой простое число, которое измеряет расстояние между выходом, произведенным машиной выходом

y.

Для справки,

стоимость

стоимости —

C

(x,

возвести

и желаемым

— это вектор параметров. Для каждого

w

обучающего примера или каждой пары функцией

yp = f (x, w),

y,

в

w).

Один

квадрат

(x, y)

из

ошибка измеряется

способов

разницу

произведенным системой, и желаемым выходом

выразить

между

эту

выходом,

y:

c = (y – f(x, w)) ** 2

Есть много типов функций стоимости. Предыдущая формула применима, если машина имеет только один выход, то есть если yp

и

y

— это просто числа.

Если нам нужна система, которая может расклассифицировать изображения

на

собак,

кошек

и

птиц,

нам

нужно

три

выхода.

Затем выход выражается в виде вектора, а не числа. Каждый из этих

выходов

Например,

дает

если

оценку

первый

по

каждой

результат

из

трех

соответствует

категорий. категории

«собака», второй — «кошка», а третий — «птица», вектор выхода со

значениями

[0.4,

0.9,

0.2]

означает,

что

система

распознала

кошку, так как категория «кошка» получила наивысшую оценку. Во время обучения желаемый выход для категории собак будет 0, 0],

для кошки

[0, 1, 0]

и для птицы

[0, 0, 1].

[1,

Рис. 4.1. Классификатор с тремя категориями

Машина выдает три оценки — по одной для каждой категории — в виде трехмерного вектора. В данном примере машина создает вектор оценок [0.4, 0.9, 0.2] и

поэтому

классифицирует изображение как «кошка», однако желаемый (оптимальный) результат для категории «кошка» — вектор [0, 1, 0].

Стоимость

должна

произведенным

и

измерять

желаемым

расстояние

выходами,

например,

между сумму

квадратов ошибок для трех выходов:

yp = f(x, w) # yp — это трехмерный вектор c = (y[0] — yp[0]) ** 2 + (y[1] – yp[1])** 2 + (y[2] — yp[2]) ** 2

На практике для многоклассовой классификации модель часто строится таким образом, чтобы получить оценки, которые могут быть сопоставимы с вероятностями (оценки от 0 до 1, и сумма которых

равна

называемая

1),

и

используется

«перекрестной

другая

энтропией»,

функция

которая

стоимости,

подталкивает

выход желаемой категории к 1, а остальные — к 0. Но принцип остается прежним.

Данную функцию стоимости C(x, y, w) можно вычислить с помощью небольшой 46

функции в Python

, например:

# функция расчета стоимости для примера # x: вектор входа # y: вектор желаемого выхода # w: вектор параметров def C(x, y, w):

yp = f(x, w) # вычислить выход c = 0 # задать начальную стоимость for j in range (len(y)): # выходной цикл c = c + (y[j]–yp[j]) ** 2 # накопить стоимость return c # возврат результирующей стоимости

Поскольку набор обучения с примерами

p

является вектором

X

(каждый элемент которого сам по себе является вектором входа):

[X[0], X[1], X[2],…, X[p-1]]

а

вектор

Y

(каждый

элемент

которого

сам

по

себе

является

желаемым вектором выхода)

[Y[0], Y[1], Y[2],…, Y[p-1]]

то

к

такой

функции

можно

обратиться

для

расчета

стоимости

любого обучающего примера (в данном случае под номером 3):

c = C(X[3], Y[3], w)

Необходимо рассчитать стоимость обучения, которая является средним

значением

данной

функции

стоимости

по

обучающей

выборке:

L(X, Y, w)=1/p*(C(X[0], Y[0], w)+C(X[1], Y[1], w)+…C(X[p-1], Y[p-1], w))

Опять же, мы можем написать для этого небольшую программу:

# функция расчета средней стоимости на наборе примеров # X: таблица записей набора данных # Y: массив желаемых выходов # w: вектор параметров def L(X, Y, w): p = len(X) # p — количество примеров s = 0 # переменная для накопления суммы стоимости for i in range (p) # цикл примеров s = s + C(X[i], Y[i], w) # накопить стоимость return s/p # вернуть среднюю стоимость

Можно рассчитать стоимость обучения по множеству х, у, записав:

cout = L(X, Y, w)

В этой функции цикл for проходит через все обучающие примеры и накапливает (суммирует)

стоимость

каждого

примера

в

переменной

s.

В

конце

функция

возвращает накопленную сумму, деленную на количество примеров p. Значение, вычисляемое этой программой, зависит от вектора параметров w через функцию C(x, y, w), которая сама по себе зависит от f(х, w), которая сама по себе зависит от w.

Процедура обучения будет пытаться минимизировать данную стоимость,

регулируя

значение

которое дает наименьшее возможное значение

данного

w,

набора

параметров

w

параметры

примеров

системы

обучения

w,

то

каждая

есть

находя L.

Для

конфигурация

соответствует значению стоимости обучения.

Современные обучаемые системы обладают миллионами, если не

миллиардами

вектор

w

регулируемых

может

компонентов.

В

иметь общем

параметров.

несколько —

Другими

миллионов

скромные

или

цифры…

по

словами,

миллиардов сравнению

с

количеством синапсов в человеческом мозгу.

Как спуститься на дно долины Как

найти

представим параметра:

минимум себе w[0]

и

машину,

обучения

веса

стоимости?

имеющую

Для

только

два

простоты обучаемых

Для данного обучающего набора каждая

w[1].

точка координат (w[0], Изначально

функции

w[1])

соответствует значению стоимости.

устанавливаются

стоимость,

вероятно,

произвольно. будет

До

начала

высокой.

Сеть

скорректирует свои параметры, чтобы снизить стоимость. 47

Учитывая сохраненный обучающий набор поместить

значения

6.0

в

w[0]

и

5.0

в

в

X

w[1]

и и

Y,

мы можем рассчитать

соответствующую стоимость обучения следующим образом:

w[0] = 6.0 w[1] = 5.0 стоимость = L (X, Y, w)

Данную функцию стоимости можно рассматривать как своего рода

горный

значениям

ландшафт:

конкретное

параметров:

координаты стоимости

точки в

на

этой

долготе

для

соответствует

и

w[0]

ландшафте.

точке

место

широте

Высота

этой



двум

w[1].

это

комбинации

Это

значение значений

параметров. На данном ландшафте кривые слоев соединяют все точки, имеющие одинаковое значение функции стоимости.

Рис. 4.2. Функция стоимости обучения

Функцию

стоимости

можно

сравнить

с

горным

ландшафтом

(слева),

линии

высот

которого представлены справа. Обучение машины включает в себя поиск дна долины, то

есть

значения

обучаемых

параметров,

которое

дает

наименьшее

значение

стоимости. В этом примере долгота и широта — это два обучаемых параметра w[0] и w[1], а минимум находится на координатах (3, 2). Когда мы начинаем обучать систему, мы

не

знаем

ни

формы

этого

ландшафта,

ни

положения

его

минимума.

Но

при

заданном значении параметров, можно вычислить его высоту, т.е. значение стоимости. Мы

также

можем

вычислить

вектор

градиента

g,

который

указывает

вверх

в

направлении наибольшего наклона. Градиент, представленный стрелками, отличается в каждой точке ландшафта. Изменяя параметры в направлении, противоположном градиенту (–g), мы делаем шаг в сторону дна долины. Эта операция заключается в замене вектора w его значением, из которого мы вычитаем вектор градиента и умножаем на константу e, определяющую размер

шага.

Цель



найти

точку

в

самом

низу

долины,

протестировав

минимум

конфигураций.

Представьте:

мы

заблудились.

Ничего

не

видно:

кромешная

тьма и ужасная погода. Чтобы вернуться в деревню, лежащую в глубине

долины,

если

нет

ни

дороги

ни

тропы,

мы

пойдем

в

сторону делаем

максимального шаг

в

эту

Направление функции

сторону

и

а

его

Дно

Мы

шаг

наибольшего

стоимости.

стоимости,

уклона.

за

наблюдаем, шагом

наклона

долины

координаты

попадаем

называется





куда

это

это

он в

ведет,

долину.

градиентом

минимум

значения

функции

параметров,

минимизирующие стоимость. Наша цель — быстро найти эту самую низкую точку долины. Тестирование

требует

значительных

затрат

времени

и

вычислительных ресурсов, особенно если в обучающей базе есть миллионы

примеров.

«минимизации

Поэтому

функции

мы

прибегаем

градиентным

спуском».

к

методу

Сейчас

он

повсеместно используется в области ИИ в качестве обучающего механизма. Начнем

с

понимания

принципа.

Чтобы

найти

линию

с

наибольшим уклоном, вычисляем градиент. Чтобы найти его, мы представляем небольшое,

себе

чтобы

увеличивается.

изменение

увидеть,

Используя

как

снова

параметра, стоимость метафору

относительно

уменьшается горы,

мы

или

делаем

небольшой шаг в заданном направлении, чтобы выяснить, ведет ли этот шаг вниз или вверх. Чтобы это сработало, незначительные изменения параметров должны соответствовать незначительным изменениям

функции

математики

называют

которых

представляет

стоимости.

Это

свойство

«непрерывностью». собой

лестницы

или

Функции, вершину

функции график 48

скалы

,

свойством непрерывности не обладают. Мы

изменяем

два

параметра

поворачиваем в направлении оценить

наклон

g[0],

w[0]

сделав

один

за

другим.

Сначала

мы

(то есть на восток). Мы можем небольшой

шаг,

измерив

соответствующее изменение высоты и разделив эту разницу на размер шага. Если высота уменьшается, мы делаем шаг в этом направлении.

Размер

этого

шага

пропорционален

уклону.

Чем

круче уклон, тем легче сделать большой шаг, поскольку вы идете в правильном направлении. Если уклон менее значителен, то мы

сделаем шагом

вниз

лишь

небольшой

увеличивается,

спуститься,

нам

когда

придется

шаг.

Но

параметр

сделать

если

высота

изменяется,

шаг

в

вместе то

с

чтобы

противоположном

направлении. Затем мы поворачиваем на 90°, чтобы шагнуть в направлении w[1]

(то

уклон

есть

g[1]

и,

которого

на в

север),

и

повторяем

зависимости

от

пропорционален

Комбинация

этих

двух

операцию:

результата,

наклону

шагов

мы

делаем

вперед

приближает

нас

ко

оцениваем

шаг,

размер

или

назад.

дну

долины.

Повторяя операцию столько раз, сколько необходимо, в конечном итоге

мы

достигнем

этой

самой

низкой

точки

(откуда

уже

невозможно спуститься ниже). Вектор

g,

называется

компонентами которого являются наклоны градиентом.

Рис.

4.2

представляет

[g[0], g[1]],

собой

вектор

градиента. Согласно этому определению, вектор указывает вверх вдоль линии наибольшего наклона, а его длина — это наклон в этом направлении. Сделав шаг в направлении, противоположном этому

градиенту,

противоположное

мы

движемся

вектору

g,

ко



дну

это

вектор

которого имеют противоположные знаки В

более

общем

плане

долины.

Направление,

–g,

компоненты

[–g[0], —g[1]].

градиентный

спуск

выполняется

следующим образом: 1. Рассчитываем стоимость обучения для текущего значения вектора параметров (в текущей точке). 2. Измеряем наклоны по каждой из осей и собираем наклоны в векторе градиента

g.

3. Модифицируем вектор параметров в направлении, противоположном градиенту. Для этого мы инвертируем знаки компонентов градиента, а затем умножаем их на константу

e,

которая определяет размер шага.

4. Наконец, добавляем полученный вектор к вектору параметров. Другими словами, заменяем каждый компонент

вектора параметров его текущим значением за вычетом соответствующего компонента вектора градиента, умноженного на размер шага

e.

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

e

должна быть такой,

чтобы изменение параметров не привело нас со склона горы, где мы сейчас стоим, на противоположный, перебросив через гребень. 6. Повторяем операции, пока не окажемся на дне долины. Другими словами, до тех пор, пока стоимость обучения не перестанет уменьшаться.

Рис. 4.3. Путь, предназначенный для метода градиентного спуска

Процедура

градиентного

спуска

состоит

в

том,

чтобы

выполнить

ряд

шагов

в

направлении наибольшего нисходящего наклона, противоположного градиенту, пока вы не достигнете дна долины. Размер шага пропорционален шагу градиента e. Справа e немного больше и вызывает колебания траектории. Слишком большой шаг градиента может привести к ошибке.

Пример

Мы

находимся

в

координатах [w[0], w[1]].

В

этот

момент

высота

(стоимость

обучения) равна h = L (X, Y, w). Опишем процедуру градиентного спуска через помехи.

Процедура

дополнительного

простая,

вектора

но

не

самая

параметров

эффективная.

wa,

полученного

Начнем путем

с

создания

небольшого

изменения значения w[0] (назовем его dw) следующим образом:

wa[0] = w[0] + dw wa[1] = w[1]

Затем мы вычисляем высоту в новой позиции a = L (X, Y, wa). Изменение высоты из-за помехи составляет a — h. Наклон в направлении помехи — это отношение (a – h) / dw. Почему нужен этот отчет? Потому что нас интересует наклон горы, то есть величина, на которую мы должны умножить размер нашего шага, чтобы получить изменение высоты. Аналогично, изменяя w в направлении w[1] следующим образом:

wb[0] = w[0] wb[1] = w[1] + dw

мы можем вычислить высоту b = L (X, Y, wb). Наклон в направлении w[1] — это отношение (b — h) / dw. Сохраним два угла наклона в векторе g:

g[0]= (a – h)/dw g[1]= (b – h)/dw

Вектор

g

называется

составленный направление ландшафта,

из

градиентом

наклонов

по

наибольшего если

наклон

в

функции

каждой

наклона

стоимости.

оси.

вверх.

направлении

Данный

Он

Используя

восток-запад

содержит

вектор

метафору

(w[0])

вектор,

указывает

на

горного

больше,

чем

в

направлении север-юг (w[1]), направление большего уклона будет ближе от оси восток-запад, чем от оси север-юг. Вот

небольшая

функция,

которая

вычисляет

градиент

функции

с

двумя

параметрами по возмущению. Эта процедура проста, но неэффективна. Позже мы увидим, как это улучшить:

# функция расчета градиента через помехи # X: таблица входов набора данных # Y: таблица желаемых выходов # W: вектор параметров # Dw: помеха def gradient (X, Y, w, dw): h = L (X, Y, w) # расчет стоимости wa = [0,0] # создаем вектор wa wa [0] = w[0] + dw # помеха 1-й координаты wa [1] = w[1] a = L (X, Y, wa) # расчет стоимости после помехи

wb = [0,0] # создаем вектор wb wb [0] = w[0] wb [1] = w[1] + dw # помеха 2-й координаты b = L (X, Y, wb) # расчет стоимости после помехи g = [0,0] # создаем вектор g g [0] = (a — h) / dw # наклон по 1-й координате g [1] = (b — h) / dw # наклон по 2-й координате return g # вернуть вектор градиента

Мы получаем приближение вектора градиента:

g = gradient(X, Y, w, dw)

По

определению

этот

вектор

g

указывает

вверх,

но

вектор

–g,

полученный

инвертированием знаков его компонентов, указывает вниз в противоположном направлении. Таким образом, мы можем двигаться к дну долины в направлении наибольшего

уклона,

шагая

в

направлении,

противоположном

наклону.

Это

соответствует шагу размера –e*g[0] в направлении w[0] (восток-запад) и размера -e * g[1] в направлении w[1] (север-юг), где переменная e представляет собой небольшое

положительное

число,

которое

определяет

размер

шага,

который

необходимо выполнить. Все это выполняется функцией в нескольких инструкциях:

# сделать шаг градиента # X: таблица входов набора данных # Y: таблица желаемых выходов # w: вектор параметров # e: без градиента # dw: помеха def descend (X, Y, w, e, dw): g = gradient (X, Y, w, dw) # вычисление вектора # градиента w[0] = w[0] — e * g [0] # обновить w[0] w[1] = w[1] — e * g [1] # обновить w[1] return w # вернуть новый вектор параметров

Этапы обучения по градиентному спуску состоят из:

1) расчета стоимости; 2) расчета градиента; 3)

обновления

параметров

умноженного на константу

e,

путем

вычитания

шаг градиента.

градиента,

При повторении данной процедуры и при условии, что шаг градиента достаточно мал, процедура «сходится» ко дну долины.

# процедура обучения # n: количество итераций градиентного спуска def learn (X, Y, w, e, dw, n): for i in range (n): # повторить n раз w = descend (X, Y, w, e, dw) # сделать шаг print (L (X, Y, w)) # вывести стоимость return w # вернуть вектор веса

Можно сделать так, чтобы выполнение функции остановилась само по себе, когда стоимость перестанет уменьшаться.

Градиентный спуск на практике В действительности «ландшафт» имеет не только два измерения —

их

могут

примере

быть

вектор

практических также

миллионы, параметров

задачах

имеет

а

их

миллионы

иногда

и

состоял

больше

на

миллиарды.

из

много

компонентов,

двух

нашем

чисел,

порядков.

каждый

В

из

но

в

Градиент которых

указывает наклон функции стоимости обучения в каждой из осей пространства. В

этих

условиях

неэффективно. соответствующие

вычисление

Изменения вычисления

градиента

каждого стоимости

по

помехам

параметра обучения

и

занимают

слишком много времени.

Чтобы

продемонстрировать

это,

я

предлагаю

градиентный расчет помех в любом измерении:

def градиент (X, Y, w, dw): h = L(X, Y, w) for i in range (len(w)): # цикл по размерам wa = w wa[i] = w[i] + dw a = L(X, Y, wa) g[i] = (a – h)/dw return g

вам

программу,

которая

делает

Данная функция должна пересчитывать значение L после каждой помехи. Если бы у нас было 10 млн параметров, нам пришлось бы пересчитывать L 10 млн раз … Это просто нереально.

Гораздо более эффективный способ вычисления градиента без создания

помех



это

аналитический

метод

вычисления

градиента. Он сводится к вычислению производных стоимости в направлении каждой из осей без помех.

Возьмем простой многочлен второй степени:

c(x, y, w) = (y — w * x) ** 2

Производная этого многочлена по отношению к w, учитывая, что х и у являются константами, является прямой:

dc_dw(x, y, w) = –2 * (y – w * x) * x = 2 *(x ** 2) * w — 2 * y * x

Не нужно изменять w, чтобы узнать наклон c(x, y, w) в любой точке: он задается его производной. Теперь

давайте

возьмем

двумерную

линейную

модель,

функция

входа-выхода

которой:

f(x, w) = w[0] * x[0] + w[1] + x[1]

и рассмотрим квадратичную функцию стоимости (т.е. функцию с квадратом):

C(x, y, w) = (y — f(x, w)) ** 2 = (y – (w[0] * x[0] + w[1] * x[1])) ** 2

Мы

можем

вычислить

производную

этой

функции

по

w[0],

считая

другие

символы константами. Данная производная будет отмечена: dc_dw[0]

dc_dw[0] = –2 * (y – (w[0] * x[0] + w[1] * x[1])) * x[0]

Мы можем сделать то же самое для производной по отношению к w[1], которая является вычислением производной.

dc_dw[1] = –2 * (y – (w[0] * x[0] + w[1] * x[1])) * x[1]

Вектор, компонентами которого являются эти два значения, будет градиентом C(x,

y,

w)

по

отношению

к

w.

Это

вектор

того

же

размера,

что

и

вектор

параметров,

каждый

соответствующему

компонент

параметру,

то

которого есть

содержит

наклон

функции

производную при

по

движении

в

измерении рассматриваемого параметра.

dc_dw = [dc_dw[0], [dc_dw[1]]

Производная

функции

нескольких

переменных

по

одной

из

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

значительно

упрощает

производные

жизнь:

функции

с

если

можно

помощью

вычислить

формулы,

можно

вычислить и ее вектор градиента в каждой из точек, вообще не прибегая к помехам!

Давайте

возьмем

линейную

модель,

такую

как

перцептрон,

описанный

в

предыдущей главе, который вычисляет скалярное произведение между w и x:

f(x, w) = dot(w, x)

и возьмем функцию стоимости, которая меняет квадрат ошибки:

C(x, y, w) = (y – f(x, w)) ** 2

Градиент будет следующим:

dc_dw[0] = –2 * (y – f(x, w)) * x[0] dc_dw[1] = –2 * (y – f(x, w)) * x[1] … dc_dw[n - 1] = –2 * (y – f(x, w)) * x[n - 1]

Обратите

внимание,

что

есть

два

способа

вычислить

градиент:

помехами

и

частными производными.

Стохастический градиентный спуск Существует спуска,

более

эффективный

позволяющий

добраться

вариант до

дна

метода долины

градиентного еще

быстрее.

Вместо

того,

чтобы

вычислять

среднее

значение

стоимости

и

находить градиент этого среднего по всем примерам обучения, чтобы

сделать

шаг,

используются

частные

производные

для

вычисления градиента стоимости для одного примера. Представьте, если у нас миллион изображений, при помощи классического каждого разницу

изображения, вектора

повторить среднюю

градиентного

спуска

кошка

это

или

прогнозирования

миллион

раз

стоимость!

ту

же

нужно

с

собака,

бы

для

посмотреть

реальным

операцию,

Потребовалось

предсказать

вектором

на и

чтобы

рассчитать

огромное

количество

времени, чтобы просто сделать шаг вперед. Поэтому выбирает

мы

один

поступим пример

проще. из

Система

обучающего

случайным набора,

образом

вычисляет

градиент стоимости для этого примера и увеличивает градиент. Затем она берет другой пример, вычисляет градиент стоимости для этого нового примера и делает новый шаг. Повторяем спускаться.

операцию

Размер

до

шага

тех

пор,

должен

пока

не

сможем

уменьшаться

больше

по

мере

приближения ко дну впадины. На практике вместо того, чтобы брать один пример для шага, усредняем градиент по небольшому количеству примеров, называемому «мини-пакетом». При каждом шаге градиент указывает в другом направлении, что приводит к тому, что вектор параметров в процессе обучения идет

по

неустойчивой

траектории.

Но

шаг

за

шагом

он

направляется к дну долины. Что удивительно: он делает это даже быстрее,

чем

вычисление

градиента

по

всему

набору.

Процедура выглядит следующим образом: # процедура обучения стохастическому градиентному # спуску # n: количество итераций градиента def SGD(X, Y, w, e, n): p = len(X) # количество обучающих примеров for i in range (n): # повторить n раз

обучающему

k = random.randrange(0, p) # случайное число g = gradC(X[k], Y[k], w) # расчет градиента for j in range (len(w)): # цикл по параметрам w[j] = w[j] — e * g[j] # обновление параметров return w # возвращаем вектор параметров

Правда, вектор

вместо

параметров

достигает

дна

того

чтобы

блуждает,

долины,

следовать

но

потому

в

что

ровной

конечном на

траектории,

итоге

каждом

он

этапе

быстрее

требуется

меньше вычислений. Метод

стохастического

непохожий

на

оптимизации.

другие

Помните,

и

градиентного вместе

что

мы

с

часто

спуска

тем



это

простой,

нелогичный

работаем

(или даже миллиардами!) обучающих примеров.

с

способ

миллионами

Рис. 4.4. Траектория стохастического градиентного спуска

При стохастическом градиентном спуске мы берем случайный пример из обучающего набора,

вычисляем

небольшой

шаг

в

градиент

функции

направлении,

стоимости

противоположном

для

этого

градиенту.

примера Затем

и

делаем

берем

другой

пример и повторяем операцию. Потом еще один и так далее, постепенно уменьшая размер

шага

(которая

градиента,

является

т.е.

средней

эта

процедура

стоимостью

быстро

по

снижает

примерам),

стоимость

следуя

обучения

беспорядочной

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

Фактически, квадрату

только

ошибки,

что

описанная

используется

процедура

близким

с

функцией

родственником

стоимости,

равной

перцептрона:

Adaline

(адаптивный линейный нейрон). Модель Adaline была предложена в 1960 г. (ей столько же лет, сколько и мне!) Бернардом Видроу и Тедом Хоффом. Полезно упомянуть данную модель здесь по двум причинам: во-первых, потому, что ее квадратичную функцию стоимости легко

визуализировать;

во-вторых,

потому

что

данная

модель

исторически

соперничала с перцептроном. Как

и

входов,

перцептрон, которая

Adaline

является

вычисляет

скалярным

свои

выходы,

произведением

взяв

взвешенную

между

вектором

сумму

весов

и

вектором входов. Идея состоит в том, чтобы минимизировать квадрат ошибки между

желаемым

выходом

и

выходом

модели

с

помощью

процедуры

стохастического градиентного спуска. Вы можете использовать Adaline в качестве классификатора: как и в случае с перцептроном, желаемый выход будет +1 для класса A и –1 для класса B.

Процедура перцептрона также представляет собой стохастический градиентный спуск для конкретной функции стоимости следующего вида:

C(x, y, w) = –y * f(w, x) * dot(w, x)

или

f(w, x) = sign(dot(w, x))

Частная производная по отношению к компоненту j вектора параметров равна:

g[j] = —(y – f(w, x)) * x[j]

что приводит к следующему обновления:

w[j] = w[j] + e * (y – f(w, x)) * x[j]

Данная

формула

представляет

собой

процедуру

обучения

перцептрона,

приведенную в Главе 3. Технически график функции стоимости перцептрона не является полностью плавным: у него есть неровности, точки излома, где наклон резко

меняется.

определяется.

Там,

где

возникают

Вычисленный

выше

эти

неровности,

градиент

на

градиент

самом

деле

четко

не

называется

«субградиент». Впрочем, это уже вопрос математической дотошности.

Перцептрон которая

имеет

значения, долину.

так

Но

и

Adaline

только как

что,

минимизируют

долину.

процедура если

Отправная

обучения

функция

функцию точка

всегда

стоимости

стоимости, не

попадет

имеет

имеет в

эту

несколько

минимумов?

Висячие долины Представим

более

сложную

функцию,

в

которой

есть

два

или

более минимумов (см. рис. 4.5). Мы

в

Италии.

Альпах. Наша

несколько.

Справа

функция

долина имеет

во два

Франции;

слева

минимума,

а

долина может,

в и

Перцептрон не сталкивается с такими проблемами, но когда мы

используем

нейронную

сеть

с

двумя

или

более

слоями,

функция стоимости имеет несколько минимумов. Некоторые из них

хороши

в

том

смысле,

что

они

связаны

с

хорошей

эффективностью системы (при невысокой стоимости обучения). Другие

не

являются

«нависают»

над

запутаться:

куда

реальными

более бы

минимумами,

глубокими вы

ни

потому

долинами.

повернули,

что

Здесь

расчет

они

можно

градиента

возвращается к этому минимуму.

Рис. 4.5. Функция с двумя минимумами.

Некоторые функции стоимости могут иметь несколько минимумов. Данная диаграмма представляет градиента

собой

для

невыпуклую

поиска

минимума,

функцию можно

с

двумя

попасть

в

минимумами. один

минимум

Применяя или

в

метод

другой,

в

зависимости от начальной точки. Здесь представлены четыре траектории градиентного спуска.

Данное явление проиллюстрировано на рис. 4.5, где функция имеет два минимума, один из которых ниже другого. Мы рисуем случайные

w

для оптимизации, и если наше случайное значение

находится в локальном минимуме с координатой центра 0 по оси ординат, мы попадаем в правильный минимум. Если

наше

значение

оказывается

в

локальном

минимуме

с

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

лишь

выпуклая

минимум.

Это

градиентных

функция

дает

стоимости

теоретические

алгоритмов.

Если

бы

имеет

ровно

гарантии

кто-то

один

сходимости

предложил

таким

ученым модель, функция стоимости которой была невыпуклой, его бы, как еретика, бросили на растерзание львам! В этом и состоит одна из причин, по которой многослойные нейронные

сети

стоимости

(некоторое

невыпуклая.

последовательных выпуклость

не

Напротив,

машин

функции

время)

является

стоимости

изучали:

их

функция

выпуклой.

стоимости

Для

обязательна,

а

функция

теоретиков

невыпуклость

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

но

окончательные

минимумов) функции

очень

стоимости

похожи. таков,

значения Считается

что

стоимости даже,

минимумы



что это

(высоты ландшафт

не

точки,

а

обширные долины, соединенные друг с другом. Таковы свойства некоторых функций в многомерном пространстве. На рисунке 4.5 вы

не

можете

поднимаясь добавим

на

перейти перевал,

измерение

перпендикулярное

в

от

одного

который

минимума

их

разделяет.

пространство

странице),

мы

к

сможем

(третье обойти

другому, Но

если

не мы

измерение, этот

проход.

Когда пространство имеет миллионы измерений, всегда найдется показатель,

с

помощью

которого

вы

можете

обойти

гору

или

преодолеть

ее

через

глубокий

разлом.

Мы

вернемся

к

этому

в

главе 5.

Общая теория обучения Во время обучения сеть настраивает свои параметры так, чтобы все

x

в обучающем наборе давали желаемый

y.

После обучения

она может интерполировать или экстраполировать, то есть дать значение Мы

y

для нового

говорим

обучающими находится

об

x,

которого не было в обучающем наборе.

интерполяции,

примерами,

за

пределами

и

об

когда

новый

экстраполяции,

области,

окружен

x

когда

охватываемой

новый

x

обучающими

примерами. Общее правило, связывающее элементы обучающих пар

вместе,



инженером.

это

функция,

Выбор

этой

модель

модели

которой

зависит

была

от

выбрана

конкретных

ограничений. Рассмотрим пример такого выбора. Предположим, что модель обучения — это линия, определяемая уравнением:

f(x, w) = w[0] * x + w[1]

Зададим

некоторое

коэффициент добавляет

w[0],

w[1],

положение

пересекает ось y). Если Если

w[1]

ординате

не

равно

w[1].

х.

Функция

умножает

x

на

который представляет собой наклон линии, и

константу

вертикальное

значение

0,

w[1]

линии

w[0]

представляет

(точка,

в

которой

собой линия

равно 0, прямая проходит через 0.

прямая

Варьируя

которая

и

пересекает w[1],

вертикальную

ось

по

мы можем построить любую

прямую. Данный

случай

представляет

собой

двухпараметрическую

модель. Если в обучающем наборе есть только две точки X[1], Y[1],

X[0], Y[0]

и

мы все равно можем найти параметры, которые заставят

линию проходить через эти две точки.

Теперь представьте, что у нас есть третья точка обучения Y[2],

которая

X[0],

Y[0]

и

не

X[1],

объединит

эти

принадлежит

Y[1].

иметь

которой

проходит

интересующем

Чтобы

представление как

нас

соответствующая

проходящей

через

точки

Как найти новую модель обучения, которая

точки?

заранее

прямой,

X[2],

можно

примере

функция

управлять о

модельной

ближе мы

должна

машиной,

ко

знаем

функции,

всем —

вы

трем

по

отображаться

должны график

точкам.

опыту некой



В

что

кривой,

например параболой. Это функция, состоящая из квадратичного выражения, то есть многочлена 2-й степени:

f(x, w) = w[0]*x**2 + w[1]*x + w[2]

Рис. 4.6. Прямая линия, проходящая через две точки

Имея две точки, мы можем вычислить параметры линии, проходящей через эти две точки.

Процесс

обучения

заключается

в

нахождении

значений,

которые мы не знаем в этой формуле, а именно трех компонентов вектора

w,

которые заставят кривую проходить через точки. Цель

всегда одна и та же: по полученной кривой (модели) мы хотим иметь возможность вычислить приемлемые значения которые не принадлежат обучающему набору.

f(x, w)

для

x,

Функция степени,

может

и

примеру,

быть

иметь

намного

гораздо

машину,

сложнее,

больше

которую

вы

чем

многочлен

параметров.

хотите

2-й

Возьмем,

научить

к

управлять

движением самостоятельно. Опираясь на входное изображение x от камеры, смотрящей на дорогу, какой угол поворота y должен выбрать автомобиль, чтобы следовать белой линии на проезжей части?

Рассматриваемый

сигнал

x

состоит

из

тысяч

чисел

(пикселей изображений, поступающих с камеры), а модель может иметь

десятки

миллионов

настраиваемых

параметров.

Но

принцип остается прежним.

Выбор модели Определенная Именно

он

часть

решает,

параметризация, однослойный сверточная Процедура

сценария

то

какой есть

нейронная эта

по

будет

вид

перцептрон,

зависит

архитектура

функции

f(x,

двухслойная

сеть

сути

обучения

с

3,

своей

5,



w).

от

инженера.

системы

Это

может

нейронная

6

или

даже

эмпирическая,

и

быть

сеть

50

ее

или

слоями.

однако

она

опирается на статистическую теорию обучения Вапника. Я хорошо знал Владимира Вапника, блестящего математика. Я работал в Bell Labs в Нью-Джерси, когда он пришел к нам (через год после меня). Когда я возглавил компанию 1996 г., я стал его «руководителем». руководитель

не

В

фундаментальных

управляет

работой

исследованиях

сотрудников

своей

лаборатории. Все, что есть у руководителя есть, — это свобода и средства

на

проведение

неблагодарная

роль,

исследовательских

которая

отвлекает

работ. его

Несколько

от

личных

исследований. Владимир родился в Узбекистане недалеко от Самарканда и провел

часть

управления,

своей

где

карьеры

заложил

в

Москве

теоретические

в

Институте

основы

проблем

статистической

теории обучения. Он, естественно, интересовался перцептроном,

но, поскольку его карьера в Советском Союзе сдерживалась из-за того,

что

он

был

правительство

евреем,

СССР

он

решил

перестало

эмигрировать,

препятствовать

как

только

отъезду

своих

граждан. Он прибыл в Соединенные Штаты через год после меня, в

октябре

Именно

1989

в

г.,

этой

незадолго

до

гостеприимной

падения стране

он

Берлинской завершил

стены. теорию

взаимосвязи между количеством обучающих данных, сложностью модели,

которая

обучается

с

помощью

этих

данных,

и

эффективностью модели на данных, не относящихся к обучению. Эта теория помогает понять процесс выбора модели. Мы только что увидели, что прямая линия всегда может быть проведена точек.

через

Когда

две

точки,

необходимо

независимо

выбрать

от

расположения

функцию,

которая

этих

может

соединить две точки, можно, таким образом, сохранить линию типа

w[0]

*

x

+

w[1]

с двумя параметрами. Это многочлен первой

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

f(x, w) = w[0] * x ** 2 + w[1] * x + w[2]

с

тремя параметрами. Это многочлен второй степени. Если

в

многочлене

есть

слагаемое

с

третьей

степенью,

это

многочлен третьей степени, он содержит четыре параметра. Если у

нас

есть

слагаемое

с

четвертой

степенью,

это

четвертой степени с пятью параметрами. И так далее.

многочлен

Рис. 4.7–4.10. Изучение многочленов

У

нас

точки

есть —

15

точек

данных.

тестовыми

Черные

точками.

точки

Каждый

являются

столбец

примерами

представляет

обучения, другую

а

белые

модельную

функцию: линейная, многочлен степени D = 2, 4 и 8. В каждой строке для обучения модели используется разное количество примеров, P = 2, 3, 5 и 9. На

каждом

из

приближается

к

графиков точкам

для

своего

обучения,

типа

TrE



функции

это

кривая

ошибка

наилучшим

обучения,

а

TsE



образом тестовая

ошибка. Когда модель «негибкая» (т.е линейная или параболическая), она не может пройти все этапы обучения, если их слишком много. Когда она «гибкая» (многочлен третьей и выше степени), она может проходить через множество точек. Но если эти точки не выровнены по простой кривой — другими словами, они испорчены шумом — для этого придется

создавать

большие

«волны»

(график

внизу

справа).

Тогда

ошибка

теста

становится очень высокой, хотя ошибка обучения равна 0. Это так называемое, явление «переобучения».

С

девятью

точками

обучения

(нижняя

линия)

многочлен

второй

степени выдает наименьшую ошибку теста (рисунок Альфредо Канциани).

Чем

больше

членов

добавляется

в

многочлен,

тем

гибче

кривая, которую он отображает, тем свободнее можно рисовать

«волны», чтобы провести график через все необходимые точки. Многочлен второй степени — парабола, изогнутая вверх или вниз. Если для обучения взяты три точки, всегда можно найти многочлен, задающий параболу, которая проходит через эти три точки. Многочлен третьей степени может иметь на графике выступ и выемку. Для любых четырех точек, мы всегда можем найти такой многочлен, график которого проходит через эти четыре точки. Кривая четвертой степени еще более гибкая, она может быть W-образной, M-образной или плоской вверху. Она проходит через пять точек. С пятой степенью еще сложнее… Она проходит через шесть точек и т.д. Итак, всегда

если

у

нас

существует

есть

по

P

крайней

словами, многочлен степени точек.

На

который

можно

численной данных,

практике

существует

при

сможем

(или

мере

P — 1,

использовать,

точности

мы

точек

одна

примеры),

кривая,

другими

который проходит через эти предел

не

расчетах.

выбрать

обучающие

из

степени

сталкиваясь Когда этого

мы

с

P

многочлена, проблемами

получим

семейства

набор

наиболее

подходящую модель для того количества примеров, которые у нас есть. Если у нас есть 1000 точек или обучающих примеров, и мы хотим пройти все баллы, мы должны теоретически использовать многочлен 999-й степени. На практике же он очень нестабилен, и его не используют. Следовательно,

для

определенного

количества

элементов

данных вы должны адаптировать сложность модели, которую вы обучаете, к этому количеству.

Корова и три ученых Инженер, физик и математик едут в поезде. Они проезжают мимо поля,

где

пять

черных

коров

идут

в

один

ряд

позади

своего

фермера. Инженер сказал: «Коровы в этой стране черные!» Физик сказал: «Нет! В этой стране как минимум пять черных коров! И математик говорит: «Вы ошибаетесь, в этой стране по крайней мере пять коров, черных с правой стороны». Исходя из имеющейся информации, каждое из приведенных выше

высказываний

по-своему

верно.

Но

при

этом

математик

просто хочет описать наблюдения, не делая никаких прогнозов относительно

других

экстраполировать. суждением,

коров

в

Инженер

стране,

то

немного

мотивированным

есть

он

не

поспешил

простотой

пытается

со

правила,

своим

которое

он

предлагает для предсказания окраски других коров. Что касается физика, «Коровы

он

выдвигает

обычно

гипотезу,

одного

цвета

основанную

с

обеих

на

сторон»,

своем но

опыте:

не

хочет

экстраполировать вывод о цвете на всех коров в стране. Этот анекдот иллюстрирует несколько проблем. Прежде всего, как и физику, нам необходимо использовать априорные знания, чтобы есть

иметь

возможность

несколько

данные.

базовых

Отличие

способности

придерживаться априорные

Велика

хорошей

новые. данных

модели

В

этой

слишком чтобы

что

новые

Во-вторых,

которые от

могут

плохой

наблюдения,

знания,

вероятность,

прогнозы.

моделей,

объяснять

предсказывать

свои

делать

в

не

не

в

хочет

полагаясь

возможность

коровы

не

способности

математик

формально,

иметь

объяснить

заключается

а

истории

всегда

на

обобщать.

удовлетворят

его

модель.

Бритва Оккама Научное правило, называемое «бритвой Оккама», устанавливает принцип экономии при формулировке выводов: «Pluralitas non est ponenda следует

sine

necessitate»,

множить

наблюдений

сущее

должно

что

без

быть

переводится

с

необходимости».

максимально

латыни

как

Объяснение

простым,

без

«Не ряда

введения

лишних

понятий.

Данный

францисканского

монаха

давно

известен.

и

меньше (таких,

хорошо

уравнений, которые

например,

IX

принцип

в.

Уильяма

Теория

скорость

света

Оккама.

должна

предположений

невозможно

назван

и

иметь

из

масса

честь

Физикам как

свободных

вычислить

или

в

он

можно

параметров

других

величин,

электрона).

Альберт

Эйнштейн сформулировал это иначе: «Все должно быть сделано как можно проще, но не упрощенно». Физики любят простые теории. Преимущества простых теорий не

ограничиваются

теорией,

простотой

которая

ради

экспериментальным правилами, простых

прогнозы.

более

данным

исключениями,

теорий

понимания.

гораздо

В

сравнении

полного

соответствия

загромождена

параметрами,

больше

Англо-австрийский

понятиями,

формулами

шансов

давать

эпистемолог

с

и

т.д.,

у

проверяемые

Карл

Поппер

определяет качество теории по ее способности предсказывать, а не

по

способности

определяет должны

научный

быть

«научные».

объяснять метод

существующие

как

процедуру,

«опровержимыми»,

Подобно

многочлену

чтобы

в

наблюдения. которой

заслужить

слишком

Он

теории

категорию

высокой

степени,

который всегда можно настроить для прохождения через новую точку, слишком сложную теорию всегда можно откорректировать для

объяснения

опровергнуть.

новых

Более

наблюдений,

экономную

иначе

теорию

говоря,

ее

адаптировать

нельзя не

так

просто. Новые данные могут подтвердить или опровергнуть ее. Теория обучения — это тоже теория рационального мышления. Теории

заговора

служат

примером

теорий,

которые

не

поддаются опровержению. Все можно объяснить заговорами. Но они

связывают

которых

еще

множество

более

невероятных

невероятно.

Ричард

фактов, Докинз,

сочетание британский

биолог-эволюционист, связывает их с религиозными доктринами. Представляется

простым

дать

объяснение

Вселенной

типа

«ее

создал Бог». Но гипотеза о Боге ведет к появлению сверхсложной

теории (поскольку Бог всемогущ, то Он и бесконечно сложен), которая принципиально не поддается опровержению. Вспоминается после

математик

публикации

его

Пьер-Симон

книги

де

Mécanique

Лаплас,

Céleste

которого

(«Небесная

механика») Наполеон спросил: «Неужели вы даете законы всего творения и ни разу в своей книге не упоминаете о существовании Бога?» — «Сир, я не нуждался в этой гипотезе», — ответил Лаплас.

Протокол обучения По

стандартному

этапа.

Цель

состоит

эффективную модель,

то

необходимо

протоколу

модель

есть

в

для

обучение

том,

ее

чтобы

определенной

максимально

измерить

машины

определить задачи.

ограниченный

способность

проходит

в

три

наиболее

Чтобы класс

выбрать

функций,

прогнозировать,

то

есть

оценить функцию стоимости на примерах, которые она не видела во

время

обучения.

Данные

примеры

составляют

набор

для

проверки. Допустим, существует 10 000 обучающих пар

x, y.

модель на половине из этих примеров или 5000 пар

Мы обучаем

x, y:

это этап, в

котором функция машины должна настроить свои параметры так, чтобы

полученные

запрошенным.

выходы

Затем

приблизительно

функция

стоимости

соответствовали минимизируется.

Ошибка, вычисленная на этом наборе, и есть ошибка обучения. Чтобы

оценить

эффективность

системы,

обученной

таким

образом, и убедиться, что машина не только запомнила примеры, но и хорошо усвоила свою задачу, и что она может обрабатывать примеры, которые она никогда не видела, необходимо измерить ошибки на 2500 других парах

x, y:

это ошибка проверки.

Мы повторяем эти операции с разными моделями, то есть с разными степени,

семействами затем

2-й,

функций

затем

3-й

(например,

или

берем

многочленом

все

более

1-й

крупные

нейронные

сети).

Затем

остается

тот,

который

производит

наименьшую ошибку проверки. Наконец,

мы

измеряем

погрешность

модели

на

оставшихся

2500 примерах. Это и есть ошибка теста. Зачем измерять такую ошибку

теста?

проверки?

Почему

Поскольку

бы

просто

ошибка

не

проверки

использовать всегда

будет

ошибку чересчур

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

«Необходимый компромисс» Вапника Слишком

простая

модель

не

может

смоделировать

много

обучающих данных (возвращаясь к нашим примерам, линия не может проходить через большое количество точек, если они не выровнены). И наоборот, если модель сложная (многочлен 1000-й степени или большая нейронная сеть), она «выучит» обучающий набор,

но

Функция

ее

способность

оказывается

к

обобщению

настолько

гибкой,

не

будет

другими

приемлемой. словами,

она

так сильно колеблется между точками, что потребуется гораздо больше

обучающих

проходить чтобы

через

она

все

смогла

примеров, точки,

начать

чтобы

чтобы

делать

было

она

перестала

меньше

верные

точно

колебаний,

прогнозы

по

и

новым

вопросам. Другими словами, как только она не сможет больше запоминать реальные,

обучающие базовые

точки,

она

закономерности.

тут

же

Таким

начнет

усваивать

образом,

между

объемом данных и сложностью модели существует определенный баланс. Представим, что у нас есть 10 точек обучения, как показано на рис.

4.10.

Если

использовать

функцию,

представленную

параболой (многочлен второй степени, с тремя параметрами), то во

время

пройти

обучения

через

все

эта

эти

функция точки,

и

пытается

как

можно

интерполяция,

лучше

которую

она

выполняет, будет верной. Если задано какое-то другое значение

x,

которого нет в обучающем наборе, оно будет интерполироваться с

параболой

между

ними,

и

выход,

вероятно,

будет

довольно

правильным. Мы

можем

протестировать

многочлен

восьмой

или

16-й

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

Но

поскольку

точки

не

идеально

выровнены,

кривая

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

точек

найдется

такой

многочлен,

график

которого

пройдет через все точки. Такая модель не очень годится для интерполяции. Это связано с тем, что если мы дадим ей обработать новый

x,

использовали во время обучения, этот

x

вершине

которое

волны,

вероятно, которая модель

будет

поэтому

ошибочным.

возникает, и

у

вас

значение

когда

y,

Таково

вы

недостаточно

который мы не

можно будет найти на создаст

переобучение,

модель,

проблема,

используете

слишком

сложную

данных

обучения.

Система

для

обладает достаточной способностью изучать данные «наизусть», не обнаруживая лежащих в основе закономерностей. Ошибка обучения постепенно увеличивается в зависимости от количества примеров. Все предельно ясно: чем больше точек, тем меньше

шансов,

выбранный

что

инженером)

парабола пройдет

(или через

другой все

многочлен,

точки.

В

наборе

проверки (для памяти он состоит из примеров, которые машина не

видела

во

время

обучения)

увеличения количества примеров.

ошибка

уменьшается

по

мере

Для любой системы ошибка обучения, которую специалисты называют

эмпирической

ошибкой,

всегда

меньше,

чем

ошибка

проверки: модель лучше справляется с примерами, которые она уже видела, чем с примерами, которых она никогда не встречала. Если

мы

увеличим

неизменной

количество

сложности

модели,

обучающих мы

получим

примеров две

при

сходящиеся

кривые: ошибка обучения медленно растет, а ошибка проверки медленно

падает.

По

мере

того,

как

количество

примеров

приближается к бесконечности, две кривые становятся все ближе и ближе.

Рис. 4.11. Конвергенция кривых ошибок обучения и тестирования для большой и малой модели

Для данной модели по мере увеличения числа обучающих примеров ошибка обучения (пунктирные линии) медленно увеличивается, а ошибка проверки (сплошные линии) медленно падает. На малой модели (серые линии) кривые начинают быстро сближаться уже для немногих точек, но окончательная ошибка довольно велика. Для более крупной модели (с большим количеством параметров) требуется больше примеров, прежде чем кривые начнут сближаться. Они сближаются не так быстро, но окончательная ошибка будет намного меньше. Там, где кривые ошибки проверки пересекаются, проведена вертикальная линия, разделяющая большее и меньшее число точек обучения. До этой линии предпочтительнее малая модель, а после нее — большая модель.

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

практически

точками.

С

четвертой

другой степени

идентична

стороны,

той,

ошибка

увеличивается,

что

получена

обучения

потому

для

что

с

семью

многочлена

он

больше

не

может проходить близко ко всем точкам. Но по мере того, как волны

его

графика

сглаживаются,

он

будет

лучше

работать

с

тестовым набором дополнительных оценок. Какие

уроки

можно

извлечь

из

всего

этого,

чтобы

выбрать

наиболее эффективную систему на основе количества обучающих примеров? Вернемся к рисунку 4.11. Слева от линии более эффективна малая модель, поскольку ее ошибка проверки меньше. Поэтому, если у вас мало данных, лучше использовать именно ее. Справа от линии лучше большая модель. Если у вас много данных, лучше использовать превышает

большую

некоторое

модель.

пороговое

Когда

количество

значение,

кривая

примеров больше

не

может пройти через все точки, и модель становится способной к интерполяции, должны

поэтому

искать

при

каждом

компромисс

для

количестве

выбора

примеров

модели.

мы

Другими

словами, для того чтобы система обнаружила структуру, лежащую в основе данных, она должна выйти за рамки своей способности выучить все примеры «наизусть» без «понимания». А для этого

системе необходимо показать достаточно много примеров, чтобы она начала делать ошибки.

Рис. 4.12. «Недообучение» и «переобучение»

Для

того

же

количества

использования проходит

более

минимум

обучающих

сложных

и

данных

моделей.

возрастает.

Это

Но

ошибка зато

обучения

ошибка

возрастание

уменьшается

на

известно

проверочном как

по

мере

наборе

«переобучение»:

машина узнает слишком много деталей из обучающих примеров и теряет общий аспект характера вместо

задачи,

того

которую

чтобы

вы

пытаться

пытаетесь

выполнить.

придумывать

Она

правила.

начинает

Нижняя

учить

точка

наизусть,

этой

кривой

указывает на прицип выбора модели.

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

и

ошибкой

обучения.

Таким

образом,

существует

оптимальная емкость, являющаяся лучшим компромиссом между этими

двумя

проверки.

состояниями,

что

дает

наименьшую

ошибку

Представьте себе многочлен бесконечной степени, с огромной способностью

к

обучению:

ошибка

обучения

всегда

равна

0;

сколько бы оценок он ни получил, многочлен может пройти через все точки. Но он никогда не сможет обобщить. Многочлен выучит все наизусть, как плохой ученик учится без понимания. Учитель повторяет

ему

таблицу

умножения,

и

тот,

вместо

того

чтобы

знать, как умножать, запоминает результаты. Теорема о том, что «бесплатного обеда не бывает» резюмирует это

правило

способная

следующим

обучаться

всему,

образом:

обучающаяся

на

деле

самом

вообще

машина, не

может

ничему научиться. Дело в том, что ей понадобится неоправданно большое

количество

перебирать

все

обучающих

точки

и

начать

примеров,

находить

чтобы

основное

перестать

правило,

то

есть обобщать. Аналогично, люди с прекрасной памятью часто менее

склонны

к

самостоятельному

выявлению

правил

и

закономерностей.

Чтобы обучить машину с определенным набором данных, необходимо найти баланс между двумя ограничениями: 1. Нужно, чтобы модель была достаточно мощной (в ней было бы достаточно «кнопок» для настройки), чтобы она смогла выучить весь обучающий набор, то есть достаточно близко подойти ко всем точкам. 2. Но модель должна быть не слишком мощной, чтобы она не пыталась точно пройти через все точки, делая слишком много «волн» и скрывая общую закономерность за частными вариантами — это бы сделало ее неспособной верно интерполировать.

Формула Вапника предполагает три концепции:

1. Ошибка обучения, или эмпирическая ошибка. Это производительность системы на наборе примеров, на котором она была обучена. 2. Ошибка теста, то есть производительность системы по дополнительным точкам, которые она не «видела» во время обучения. Если у нас есть бесконечное количество точек, мы получаем хорошую оценку ошибки, которую система могла бы выдавать в реальной ситуации. 3. Емкость модели, то есть мера количества функций, которые модель может выполнять при изменении параметров всех возможных конфигураций. Эта способность называется измерением Вапника-Червоненкиса.

Формула Вапника записывается так:

Etest < Etrain + k * h/(p ** alfa)

где Etest:

ошибка теста

Etrain: k:

ошибка обучения

постоянная

h:

размерность

Вапника-Червоненкиса

(«сложность»,

или

«емкость» модели) p: количество обучающих примеров alfa:

константа

от

1/2

до

1

в

зависимости

от

характера

проблемы. Эта

формула

позволяет

объяснить

закономерности,

показанные на рисунках 4.11 и 4.12.

Головокружительные булевы функции Теоретически

существует

числе

простых,

очень

примеры.

Но,

как

мы

огромное

которые только

количество

могут что

функций,

обрабатывать

видели,

слишком

в

том

входные мощная

машина,

способная

функцию,

не

достаточно результате,

может большое

если

есть

применить правильно

в

обобщать,

количество только

качестве

если

примеров

разумное

модели не

любую дать

ей

обучения.

В

количество

примеров,

машина должна иметь ограничения и быть приспособленной к изучению соотношений (иногда говорят «представлений») входавыхода.

Однако

эти

ограничения

в

основном

связаны

с

архитектурой модели.

Рис. 4.13. Функциональное пространство.

Набор

функций,

моделью,



это

представляемых небольшое

(то

есть

подмножество

вычислимых пространства

или всех

аппроксимируемых) возможных

функций.

Данное подмножество во многом определяется архитектурой модели. Модель большой емкости может представлять больший набор функций, чем модель меньшей емкости.

Рис. 4.14. Таблица булевых функций

Булева функция принимает n-е количество входных битов и производит 1 выходной бит.

Двухбитная

таблицы,

булева

которая

конфигураций

(0

дает 0),

функция выходное

(0

1),

(1

может

быть

значение

0)

и

(1

1).

задана

(0

или

Таким

с

1)

помощью для

четырехстрочной

каждой

образом,

для

из

4

входных

этих

4

входных

конфигураций существует 16 возможных выходных конфигураций (2 ** 4), то есть 16 возможных функций по 2 бита, каждая из которых представлена последовательностью из 4 бит. Каждый дополнительный входной бит удваивает количество строк в таблице. В общем, для n-битной функции существует 2 ** n входных конфигураций и 2 ** (2 ** n) возможных булевых функции.

Таким образом, машина должна иметь априорную структуру, которая позволяет ей изучать полезные функции на нескольких примерах. Но из-за такой структуры машина сможет отображать только очень небольшое подмножество всех возможных функций. Чтобы функции,

убедиться

в

этом,

называемой

давайте

«булевой

возьмем

случай

49

функцией»

,

вход

двоичной которой

состоит из последовательности 0 и 1. Выход равен 0 или 1. Булевы функции

интересны

входов

могут

и

тем,

быть

что

они

вычислены.

имеют Булева

конечное функция

количество

используется

для операций между двоичными переменными. Каждое значение имеет определенную роль. 0 и 1 не взаимозаменяемы. Итак, (0,1) отличается от (1,0).

Примеры возможных функций Возьмем колонку № 8 на рис. 4.14. Мы говорим машине: «Выбери 1, если два входа равны 1, иначе выбирай 0». Это функция «И», таблица

истинности

показателей

для

всех

которой,

то

возможных

есть

список

всех

конфигураций

следующей: (00, 0) (01, 0) (10, 0) (11, 1).

выходных

входов,

будет

Возьмем

колонку



6.

Говорим

машине:

«Выбери

1,

если

только один из двух входов равен 1, иначе выбирай 0.» Таким образом,

таблица

истинности

будет

следующей:

(00,

0)

(01,

1)

(10, 1) (11, 0). Это функция «исключающего ИЛИ», которую перцептрон не может

вычислить

ограничение

(см.

главу

перцептрона

3,

рис.

3.6).

связано

с

Напомним,

тем,

что

что

он

это

может

«вычислять» только линейно разделимые функции. Цель серии

n



увидеть,

сколько

комбинаций

входов

возможно

из

0 и 1, то есть из n бит. 1

Если

n

равно 1, то 2

Если

n

равно 2, то 2

Если

n

равно 3, то 2

1

2

= 2. 2

умножается на 2, то есть 2

= 4.

3

умножаются на 2, то есть 2

= 8; затем 16,

32, 64, 128, 256, 512, 1024, 2048, 4096 и т.д. Каждый количество качестве

раз,

когда

возможных

входов,

начинается

с

будет

00000



мы

добавляем

комбинаций. n

2

Если

возможных

затем

00001,

1

бит, у

нас

мы

удваиваем

есть

конфигураций

затем

00010,

n

битов

входа.

00011

и

в

Он т.д.

n

Когда мы сделаем подсчет, мы поймем, что это 2 . Конкретная булева функция представляет собой список от 2 до битов.

n

Каждая двух

конфигурация

возможных

выходов n

конфигураций из 2 возможных

из

булевых

n

битов

0

входа

или

1.

связана

с

Сколько 2

одним

из

существует

n

битов? Это будет (2 ) . Таково количество функций

для

n

битов

астрономическая даже для малых значений

входа



цифра

n.

Если у нас 25-битная функция входа, такая как перцептрон в главе 2, количество возможных функций этих 25 битов уже равно 33 554 432

2

890

. Это число, состоящее в десятичной записи из 10 100

цифр,

видимой

что

части

непредставимо Вселенной

(их

больше,

количество

чем

число

атомов

оценивается

в

числом,

состоящим

примерно

из

80

цифр)!

И

оно

достигается

за

счет

использования только простых бинарных функций. В данном примере мы работали над булевой функцией с двумя входами и 16 возможными функциями. Среди таких 16 функций есть две, которые не могут быть достигнуты перцептроном или другим линейным классификатором (исключающим ИЛИ и его противоположностью), и остаются еще 14, которые могут быть достигнуты

линейным

классификатором.

Это

большое

количество. Но

по

функций,

мере

увеличения

которые

может

числа

выполнять

битов

входа

перцептрон,

количество

сокращается.

Другими словами, как только n существенно возрастет,

n-битная

булева функция вряд ли будет достижима перцептроном. Это можно визуализировать таким образом: представим, что мы произвольно добавляем на плоскость символы + и –. Есть ли возможность разделить их пополам прямой линией? Если у нас всего 3 точки, мы сможем это сделать почти всегда (если точки не выровнены!). Но если у нас их миллионы, очень маловероятно, что

мы

может

сможем

разделить

полностью

изучить

их

прямой

обучающую

линией. систему,

Перцептрон

не

состоящую

из

множества примеров. Вывод:

линейный

нейронов), только

такой

количество

классификатор

как

перцептрон,

обучающих

(однослойная недостаточно

точек

превышает

архитектура гибок.

Как

количество

входов линейного классификатора, шансы, что он может отделить точки

класса

теорема

была

A

от

точек

класса

B,

продемонстрирована

сильно

уменьшаются.

американским

Это

статистиком 50

из Стэнфордского университета Томасом Ковером в 1966 г.

И наоборот, слишком большая гибкость в семействе функций, достижимая обучения.

Пример

системой

обучения,

равносильна

отсутствию

Возьмем случай из главы 2 с двоичными изображениями C и D на сетке 5 × 5 33 554 432

пикселей. При этом возможны 2

возможных 25-битных функций. Если у

нас 100 обучающих примеров, будет указано значение функции для 100 строк из нашей таблицы булевых функций. Но значение функции для остальных 33 554 33 554

332 строк (то есть 33 554 432 – 100) не будет указано. Следовательно, есть 2 332

функций, которые совместимы с данными, то есть дают правильный ответ на

100

примерах.

гигантского

Как

числа?

машина Как

может

выбрать

выбрать

одну

из

нужную

функций,

функцию

которая

среди

будет

этого

правильно

классифицировать C и D, если их нет в 100 обучающих примерах?

Регуляризация: ограничение возможностей модели Данное наблюдение приводит к метафизическим вопросам: если обучающаяся машина может вычислить все возможные функции, какую

стратегию

она

приемлемую

функцию

совместимых

с

функций,

решения,

из

дают

смещение,

функцию

выбрать.

чтобы

количества

примерами,

правильный

индукционное какую

использовать,

огромного

обучающими

которые

Требуется

будет

то

есть

ответ? то

Это

функций, среди

Цифра

есть

выбрать

огромна.

критерий

смещение

всех

для

индукции

и

есть наша «бритва Оккама»: алгоритм обучения должно выбрать более

простую

понятие

простоты

вычислить) полезным нужно

функцию. так,

простоту

любое

создать,

математическую

Однако

чтобы

любой

понятие так

можно

нужно

было

функции.

простоты

это

теперь

(или

которая

измерить

Здесь

(или

может

сложности).

регуляризатор,

функцию),

определить

Что

программу

вычисляет

быть нам (или

сложность

функции. Например, в семействе многочленов возможной мерой сложности модели является степень многочлена. Для нейронной сети

это

может

быть

количество

нейронов

или

количество

соединений. Чтобы

обучение

компромисс

между

было

эффективным,

ошибкой

обучения

и

необходимо

сложностью

найти

функции,

используемой для получения этой ошибки (или возможностями

семейства

функций,

из

сложность

функции,

тем

меньше

и

вероятность

которых

она

меньше

того,

получена).

ошибка

что

Чем

обучения,

система

будет

выше

но

тем

склонна

к

обобщению. Вместо того чтобы минимизировать только ошибку обучения L(w),

необходимо минимизировать новый критерий:

L(w) = L(w) + a * R(w)

где

L(w)

— ошибка обучения,

R(w)

— наш регуляризатор (то есть

наша мера сложности функции, параметры которой равны константа,

которая

управляет

w), a

компромиссом



между

моделированием данных и минимизацией сложности модели. Такой обходной путь — не просто прихоть математика. Метод регуляризации ИИ

на

повсеместно

основе

используется

обучения.

На

при

практике

создании

мы

систем

предпочитаем

использовать термин регуляризации, который легко вычислить и минимизировать с помощью градиентного спуска. Для линейных классификаторов и нейронных сетей мы часто используем сумму квадратов весов.

Для линейного классификатора использование в качестве регуляризатора суммы квадратов весов приводит к тому, что система помещает границу между классами «посередине»

нейтральной

зоны,

расположенной

между

точками

двух

классов

(то, что сторонники SVM называют «максимизация пределов»).

Другой

регуляризатор



это

сумма

абсолютных

значений

весов.

Использование

суммы

абсолютных

значений

подталкивает

систему

к

поиску

решения, в котором ненужные (или не очень полезные) веса равны 0. Когда мы упорядочиваем

обучение

коэффициентов

многочлена

таким

образом,

исключит коэффициенты условия высокой степени, если они бесполезны.

Уроки для человека

это

Первый

урок:

как

и

булевы

функции,

сложность

человеческого

интеллекта возникает из комбинации очень простых элементов. Это — качественно новое свойство мозга. Урок второй: врожденное знание является необходимым для дальнейшего

обучения.

В

нашем

мозгу

с

самого

рождения

должны существовать какие-то структуры связей. Если мы можем учиться, чтобы

то

это

потому,

позволить

что

нам

мозг

достаточно

обрабатывать

специализирован,

информацию,

то

есть

составлять правила с небольшими пробами и ошибками. Если бы мы

представляли

общем, еще

собой

поверхность,

ничего

не

tabula

rasa

(чистый

предназначенная

написано),

если

бы

для

наш

лист

бумаги

записи,

мозг

был

на



в

которой

полностью

универсальным, мы могли бы изучить что угодно (так как очень сложные модели могут изучать очень большой объем данных), но это заняло бы у нас огромное количество времени, потому что нам пришлось бы все заучивать наизусть. Урок

третий:

обучения пытаются

все

описанные

минимизируют это

сделать,

у

здесь

функцию них

ничего

методы стоимости.

не

машинного Машины

получается,

и

они

перестраиваются, чтобы приблизиться к ожидаемому результату. Могут

ли

методы

интерпретироваться

обучения как

людей

минимизация

Хотел бы я знать ответ на этот вопрос…

и

животных

функций

также

стоимости?

ГЛАВА 5

Глубокие сети и обратное распространение

Столкнувшись подобных

ему

подходящее

с

пределами

устройств,

решение,

возможностей

научное

перцептрона

сообщество

заключавшееся

в

нашло

наложении

и

наиболее

нескольких

слоев нейронов друг на друга, чтобы позволить системам решать более сложные задачи. Мы начала

должны до

были

конца.

найти

Решение

способ

обучать

оказалось

такие

простым,

системы

но

вначале

от его

никто не увидел, и в поэтому в конце 1960-х научное сообщество отказалось

от

дальнейших

исследований.

Все

изменилось

в

середине 1980-х, когда разные ученые независимо друг от друга открыли

обратное

распространение

градиента.

Этот

метод

эффективно вычислял градиент стоимости в многослойной сети. Он

регулировал

параметры

слоев

сети,

чтобы

минимизировать

затраты от вывода до ввода, и, в конечном итоге, первые слои сами

определяли

правильные

шаблоны

изображений,

необходимые для выполнения задачи. Таким

образом,

нейронные

сети

могли

обучаться

решению

сложных задач и тренироваться на большом количестве данных. Здесь

мы

говорим

о

глубоком

обучении,

состоящие из нескольких слоев нейронов.

Торт «Наполеон»

имея

в

виду

сети,

Несмотря

на

то,

приложений революция благодаря

что

создание

многослойных

глубокого появлению

основных

сетей

обучения мощных

принципов

относится

произошла

к

первых

1980-м

только

программируемых

и

к

гг.,

2010

г.,

графических

процессоров (GPU) и доступности больших баз данных. На

сегодняшний

момент

алгоритмы

обратного

распространения — это основа глубокого обучения. Практически все

системы

искусственного

интеллекта

используют

данный

метод.

Рис. 5.1a. Многослойная нейронная сеть с прямой связью

Каждая

единица

результат

с

сети

помощью

вычисляет

взвешенную

передаточной

функции

сумму

и

своих

отправляет

входов,

обрабатывает

рассчитанные

выходные

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

слоев,

перцептроном, таким

образом,

измеряя

применяющих

обучение чтобы

разницу

распространение,

включает

передаточную в

себя

минимизировать

между

которое

выходом является

функцию.

изменение

показатель сети

темой

и

весов,

ошибки

главы,

и

в

(функцию

желаемым

данной

Как

соединяющих

с

единицы

стоимости),

выходом.

вычисляет

случае

Обратное

градиент

этой

функции стоимости по всем весам в сети.

Многослойная нескольких

типов

нейронная слоев.

сеть

Входные



это

своего

данные

рода

каждого

«торт»

слоя

из

можно

рассматривать как вектор (список чисел), который представляет собой

выходные

параметры

предыдущего

слоя.

Выходным

результатом который

не

рассматриваемого обязательно

слоя

имеет

ту

также же

является

размерность,

вектор, что

и

входящий. Многослойная сеть с прямой связью — это тип сети, в которой каждый

следующий

предыдущего

слоя

слой или

принимает слоев.

Если

свои

входные

существуют

данные

от

соединения,

идущие от верхних слоев (которые находятся рядом с выходом) к нижним слоям (которые находятся рядом с входом), то тогда речь идет

о

рекуррентной

сети

(ее

называют

еще

сетью

с

обратной

связью). Но давайте пока остановимся на сетях с прямой связью. В «классических» многослойных нейронных сетях чередуются два типа слоев (см. рисунок 5.1а).

Рис. 5.1b. Функции нейронов в сети

Нейрон i вычисляет свою взвешенную сумму s[i] по выходным сигналам связанных с ним нейронов предыдущего слоя. Набор нейронов перед нейроном i обозначается UP[i], а вес w[i, j] соединяет нейрон j с нейроном i. Эта сумма рассчитывается по следующей формуле:

За

суммой

следует

нелинейная

передаточная

функция

h,

производящая

выходной

сигнал нейрона:

z[i] = h(s[i])

1. Линейные слои: каждый выход представляет собой взвешенную сумму входов. Количество входов и выходов может быть разным. Они называются линейными, потому что если мы зададим сумму двух входных сигналов, то такой слой создаст ту же сумму выходов, какую бы он произвел, если бы обрабатывал те же сигналы по отдельности. 2. Нелинейные слои: каждый выход создается путем применения нелинейной функции к соответствующему входу. Это может быть квадратичная функция, сигмоида, извлечение абсолютного значения и т.д. У такого слоя столько же входов, сколько и выходов. Именно нелинейные

операции являются основой мощности многослойных сетей. Мы вернемся к этому чуть позже (см. рис. 5.2).

Конкретный выход линейного слоя — это взвешенная сумма s[i]

(с использованием весов

w[i, j]),

соединяющая ее с выходом

z[j]

единицы в предыдущем слое:

Символ

UP[i]

датчиков



которых

i

в

обозначает

общем,

набор

каких-то

принимает

свои

нейронов,

или

функциональных

входные

данные.

входных

единиц,

от

Конкретный

выходной сигнал z[i] нелинейного слоя, следующего за линейным слоем, является результатом применения к взвешенной сумме той или

иной

нелинейной

функции

h,

которая

называется

«передаточной функцией»:

z[i] = h(s[i])

Последовательность этих двух операций и представляет собой функциональную нейрон.

Таким

единицу

образом,

нейронной

сети,

иными

последовательность

словами

линейного



слоя

и

слоя передаточных функций образует слой нейронов. Передаточная функция отправляет свой вывод единицам, т.е. нейронам,

находящимся

принимает

выходные

на

следующем

данные

единиц

слое.

Следующий

предыдущего

слой

слоя

и

выполняет аналогичные вычисления, и так далее: линейный слой — нелинейный слой, вплоть до выходного слоя. Зачем нужно чередовать линейные и нелинейные операции? Если

бы

все

слои

композицией композиция операции,

были

линейными,

нескольких была

что

бы

линейных

попросту

сделало

то

бы

вся

операция

операций.

эквивалентна

Но

одной

многослойность

была

бы

такая

линейной

совершенно

бесполезной. Линейная сеть может вычислять только линейные функции. Однако

функции,

нейронных

которые

сетей,

позволяющие

не

различать

мы

хотим

являются

вычислить

с

помощью

линейными.

изображения

кошек,

Функции,

собак,

или

птиц,

сложны и совсем не линейны. Только сочетание нелинейностей и наличия

нескольких

слоев

позволяет

сети

вычислять

(или

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

необходимо,

достаточное

при

количество

аппроксимировать потребовать единиц.

условии,

сложную

наличия

Но,

в

эффективнее

промежуточный

единиц. функцию,

огромного

целом, будет

что

для

Чтобы сеть

представления

типа

может

промежуточных

сложной

сеть

имеет

правильно

такого

количества

использовать

слой

со

функции

сравнительно

небольшим числом слоев. Есть одно замечание: в сети с прямой связью все единицы на одном

слое

получают

предыдущем особую слое

слое.

Но

архитектуру

получают

предыдущего

входные

большинство

соединений,

входные

слоя.

Мы

данные

данные

в

от

нейронных

которой

только

рассмотрим

всех

это

сетей

единицы

из в

единиц

на

имеют

на

одном

небольшой

части

следующей

главе

на

примере сверточных сетей. В процессе обучения желаемый выход системы соответствует желаемой конфигурации единиц последнего слоя. Такие единицы считаются выходом

«видимыми», системы.

поскольку

Единицы

их

выход

предыдущих

является слоев

общим

считаются

«скрытыми», поскольку ни инженер, ни алгоритм не знают, какой желаемый выход требуется задать им. Как единиц?

же

тогда Эта

установить

желаемые

проблема,

выходы

называемая

для

скрытых

«передачей

51

ответственности»

, и является предметом глубокого обучения…

Непрерывные нейроны Небольшое отступление. До начала 1980-х гг. архитектура машин строилась

на

бинарных

положительный

выходной

нейронах,

сигнал,

которые

когда

выдавали

взвешенная

сумма

их

входов превышала пороговое значение. Они выдавали –1, когда взвешенная

сумма

снижалась.

возможных

состояния

Таким

выходного

образом,

сигнала:

у

либо

них +1,

было либо

два –1

(некоторые предпочитают нейроны с выходом 1 или 0). Недостатком

использования

пороговых

значений

является

дискретизация функции стоимости: когда вес меняется лишь на небольшую

величину,

это

изменение

может

не

повлиять

на

выходной сигнал нейрона. И наоборот, если вес изменяется на достаточную выхода

величину,

нейрона

с

–1

происходит

на

+1,

или

с

внезапное +1

на

–1.

переключение

Если

изменение

происходит до выхода из сети, это приводит к резкому изменению функции стоимости. Другими словами, небольшое изменение параметров может не привести

к

изменению

функции

стоимости

или,

наоборот,

вызвать резкое изменение. «Горный пейзаж» функции стоимости трансформируется разделенных спуска

в

в

последовательность

вертикальными

такой

модели

не

отрезками.

работают.

горизонтальных Методы

Короче

слоев,

градиентного

говоря,

бинарные

нейроны несовместимы с обучением по алгоритму градиентного спуска.

Рис.

5.2.

Нелинейные

передаточные

функции,

используемые

в

многослойных

нейронных сетях

Слева: сигмовидная функция, которая непрерывно изменяется от 0 до 1 и записывается как y = 1/(1 + exp(–x)). В центре: гиперболический тангенс, идентичный сигмоиде, но принимающий значения от –1 до +1. Справа: функция «положительной части» (также называемая ReLU) для блока линейной ректификации, где y = x, если x положителен или равен 0. Последняя функция широко используется в современных нейронных сетях.

Как

только

достаточно

вычислительная

велика,

появились

мощность

компьютеров

«улучшенные»

нейроны.

стала Выход

нейрона больше не прыгает от –1 до +1, а функция, применяемая к

взвешенной

сумме,

больше

не

похожа

на

лестницу.

Непрерывный выход имеет форму S-образной кривой. В Главе 4 мы увидели, что все методы обучения основаны на минимизации функции стоимости. Вы должны уметь вычислять градиент

относительно

параметров

системы,

то

есть

знать,

в

каком направлении и на сколько нужно изменить все параметры для

уменьшения

системы

и

функции

уменьшение

стоимости.

Помните,

количества

ошибок,

что

обучение

которые

она

допускает на этапе обучения, — это одно и то же. С этими улучшенными нейронами даже малейшее изменение входного параметра нейрона, отраженного во взвешенной сумме, приводит

к

изменению

выходного

сигнала

нейрона.

И

шаг

за

шагом увеличение или уменьшение данного параметра, сколь бы ни

были

малы

изменению

эти

изменения,

конечного

выхода

автоматически

системы

и,

приводит

к

следовательно,

к

изменению функции стоимости. Такая непрерывность позволяет использовать

методы

градиентного

спуска

для

обучения

многослойных сетей.

Мой HLM Еще одна ретроспектива: в начале 1980-х гг. интерес научного сообщества к алгоритмам обучения заметно остыл. Нейроны попрежнему

были

аналитического думал).

Что

бинарными.

вычисления

касается

посмотрите,

как

неэффективно

он

для

Не

было

градиентов

помех



влияет

обширных

(никто

возьмите

на

выход

сетей

с

возможности

вес,



об

этом

измените

это

было

большим

и

не

его

и

слишком

количеством

показателей веса… Сплошная головная боль! Когда

выход

оказывался

неверным,

для

каких

именно

нейронов в сети алгоритм должен постулировать ошибку? Какой вес нужно менять? Как рассчитать его изменение? Я

читал

старые

статьи

на

эту

тему.

Множество

попыток

предпринималось в 1960-х, но уже в 1970-х наступило молчание. Фукусима



один

из

немногих,

кто

проявил

упорство.

Его

когнитрон действительно представлял собой многослойную сеть, но особого типа. Его нейроны не были бинарными, они пытались соответствовать

тому,

что

было

известно

о

биологических

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

группа

нейронов

могла

автоматически

обнаруживать

категории паттернов. Но эти паттерны не определялись конечной задачей, если

они

паттерн

идентифицировались вертикального

по

контура

частоте

часто

встречаемости:

появлялся

на

входе

группы нейронов, то при его обнаружении такая группа выделяла один нейрон из группы. Все эти операции и составляли процедуру обучения.

Рис. 5.3. Иллюстрация к моей статье о HLM

В 1985 г. на конгрессе Cognitiva я представил многослойную сетевую архитектуру с локальными

подключениями.

Ее

обучали

на

специально

подготовленных

примерах:

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

Только последний слой когнитрона, также, как и перцептрона, обучался с учителем для минимизации ошибок распознавания. Не самый

эффективный

обучались

способ,

специально

например,

под

научиться

бесполезные

для

решения

потому

что

поставленную

внутренние задачу.

обнаруживать конечной

слои

Они

не

могли,

закономерности,

задачи.

Скажем,

разница

между толстой и тонкой линиями бесполезна для распознавания символов. В 1981 или 1982 г., когда я еще работал в ESIEE (Парижская высшая

школа

инженеров

по

электротехнике

и

радиоэлектронике,

см.

Главу

2),

у

меня

возникла

идея

создать

алгоритм обучения многослойной сети, которую я назвал HLM (от англ.

Hierarchical

Learning

Machine



иерархическая

52

обучающаяся машина)

. Она состояла из множества одинаковых

нейронов, расположенных послойно. У меня были интуитивные догадки,

более

или

отчасти

вслепую

менее

обоснованные

приступил

к

математически,

программированию,

и

я

чтобы

проверить идею на практике. Время шло. Я все еще был одержим этим

проектом,

даже

когда

в

1983

г.

начал

работать

над

53

получением степени DEA

. Это была настоящая «зависимость»: я

работал с HLM целый год! Я хочу посвятить несколько страниц описанию HLM — просто для

истории,

используется.

У

одновременно бинарные

потому

и

HLM

было

этот одно

недостатком:

нейроны,

Вычисление

что

выход

взвешенных

в

сейчас

преимущество,

ней

с

больше

которое

использовались

которых

сумм

метод

был

равен

бинарными

не

было

пороговые

+1

или

нейронами

–1. не

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

которая

являлась

предыдущий

слой

желаемым пытался

выходом,

найти

для

заданным каждого

из

извне. своих

нейронов бинарную цель +1 или –1, чтобы она соответствовала потребностям

следующего

первичного слоя.

слоя.

И

так,

шаг

за

шагом,

до

Рис. 5.4. Обратное распространение цели процедуры HLM с бинарными нейронами

Для обучения каждый нейрон вычисляет цель (своего рода желаемый выход для себя, +1

или

нейрон

–1),

заставляя

голосует

за

рассматриваемым

нижестоящие

свою

цель

нейроном.

нейроны

«голосовать».

пропорционально

Цель

нейрона

весу,

Каждый

который

рассчитывается

как

нижестоящий

связывает

взвешенная

его

с

сумма

целей нижестоящих нейронов с использованием весов соединений, связывающих их с рассматриваемым нейроном. Целью является +1, если эта сумма положительна, и –1, если она отрицательна. На рисунке нижестоящий нейрон слева голосует +1 с весом –2 (что

эквивалентно

голосованию

–1

с

весом

+2),

центральный

нейрон

голосует

–1

с

весом 3, а тот, что справа — +1 с весом 4,5. В целом взвешенная сумма составляет –2–3 + 4,5 = –0,5, поэтому расчетная цель равна –1. Вес нейрона обучается приближать выходной сигнал нейрона к цели, как и у перцептрона.

Таким

образом,

метод

HLM

позволяет

распространять

эти

цели в обратную сторону, начиная с выхода. Выходные данные «говорят»

нейронам

предыдущего

слоя:

«Это

мой

желаемый

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

изменить

свой

вывод

так,

чтобы

соответствовать

желаемому результату. Своеобразный эффект домино.

Подведем итоги! У каждого нейрона есть цель (виртуальный желаемый

результат).

Эта

цель

рассчитывается

от

нейронов

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

нейронами

с

меньшим

весом.

Поэтому,

когда

мы

вычисляем цель рассматриваемого нейрона, мы должны отдать предпочтение

целям

связанных

нижестоящих

нейронов

с

большим весом. Для этого мы берем цели слоя и вычисляем взвешенную сумму этих

целей.

Тогда,

если

взвешенная

сумма

положительна,

цель

будет +1, а если она отрицательна, цель будет –1. Это одни и те же веса, которые мы используем в одну сторону и в другую. Такой расчет

представляет

нижестоящие нейрона

собой

нейроны

своего

«голосуют»

пропорционально

весу,

за

рода

бюллетень,

цель

где

рассматриваемого

связывающему

их

с

этим

нейроном. Поскольку нейрон бинарный, его цель также должна быть бинарной, а именно +1 или –1.

В

алгоритме

нейронов

HLM

цель

следующего

t[j]

нейрона

слоя.

Алгоритм

j

является берет

взвешенной

цели

суммой

следующих

целей

нейронов

и

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

Символ DN[j] обозначает проецирует

свой

набор

выходной

нижестоящих

сигнал.

Поэтому

нейронов, вес

w[i,

j]

на

которые

нейрон

применяется

j

«вверх

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

было

много

маленьких

перцептронов,

связанных

друг

перераспределение конечной цели на уровне каждого нейрона.

с

другом,

и

Я

провел

несколько

экспериментов

по

распознаванию

образов. Алгоритм работал, но был не совсем стабильным. В 1984 г. я впервые представил свою идею на небольшой конференции в Страсбурге где

под

названием

собиралось

интересующееся

«Нейронауки

небольшое

и

инженерные

французское

нейронными

сетями.

науки»,

сообщество,

Статья

о

HLM

была

опубликована в июне 1985 г. на конгрессе Cognitiva в Париже. Моя

разработка

алгоритма сегодня

оказалась

обратного

является

несколько

распространения

стандартным

для

странной

версией

градиента,

обучения

всех

который

слоев,

а

не

только последнего, в многослойной (или глубокой) сети. Позже я доказал,

что

обратного

с

математической

распространения

алгоритмов,

называемых

эквивалентны

точки

цели

целевым

обратному

зрения

этот

принадлежит

алгоритм к

распространением,

распространению

классу которые

градиента



пределах незначительных погрешностей). За исключением того, что он распространяет для нейронов не градиенты, а виртуальные цели.

Гонка Беседуя

с

моим

другом

Дидье

Жоржем

(ныне

профессором

Национального политехнического института Гренобля), который в то время защищал докторскую диссертацию по планированию траектории

в

поразительное работаю,

и

управления пришел

к

робототехнике, сходство

тем,

что

называют

мнению,

между

я

понял,

методами,

исследователи методом

что

при

что над

теории

сопряженных

использовании

существует которыми

я

оптимального воздействий.

непрерывных

Я

(не

бинарных) передаточных функций и распространения ошибок, а не

целей,

математика

последовательной. воздействия,

На

процесса самом

применяемый

к

становится деле

более

метод

многослойным

простой

и

сопряженного

сетям,

и

является

обратным

распространением

градиента!

Больше

не

нужно

оправдывать мою интуицию: этот новый алгоритм легко создать с использованием математического формализма, изобретенного в конце

XVIII

Лагранжем

в.

франко-итальянским

для

формализации

математиком

механики

Жозефом-Луи

Ньютона.

Так

я

1984

г.,

обнаружил обратное распространение градиента. Но

наше

повествование

все

еще

находится

в

конце

когда я работал над методом HLM, и у меня не было достаточно времени, чтобы проверить и опубликовать свою новую идею… Тем

временем

другие

исследователи

работали

над

тем

же

вопросом: Джеффри Хинтон, на тот момент молодой профессор Университета еще

один

Карнеги-Меллона,

подход

к

обучению

изучал

сетей

со

машины

Больцмана

скрытыми

слоями.



Эти

машины фактически представляли собой сети с симметричными соединениями,

где

связи

между

нейронами

осуществлялись

в

обоих направлениях. В 1983 г. Джеффри сформулировал эту идею вместе

с

«военную

Терри

Сейновски.

хитрость».

Он

Но

его

никогда

статья

не

представляла

упоминал,

что

собой

единицы

машины Больцмана выглядят как нейроны, а соединения — как синапсы. Ни разу! Даже название «Оптимальный перцепционный вывод» маскировало основную тему статьи. Тогда от нейронных сетей прямо-таки несло серой, словно разговоры о них взывали к самому дьяволу! Вскоре

Джеффри

столкнулся

с

трудностями,

связанными

с

машинами Больцмана. Поэтому он в дальнейшем сосредоточился на идее Дэйва Рамелхарта 1982 г. об обратном распространении, которую ему и удалось воплотить в жизнь. Это случилось весной 1985 г., сразу же после Лез-Уш. Вскоре я встретился с Джеффри в Париже, где он поделился со мной своими результатами. Я уже начал

менять

свою

программу

HLM,

чтобы

учесть

обратное

распространение, но у меня не было времени протестировать ее, пока Джеффри не закончил свою работу. Поэтому в сентябре 1985

г. он опубликовал технический отчет с Рамелхартом и Уильямсом, 54

а затем вставил его как главу в книгу, опубликованную в 1986 г. Там

он

Великий

процитировал Маниту,

я

и



мою

статью

маленькое

о

методе

HLM.

перышко!

Я

Он



упустил

возможность предоставить ему новую версию, но все равно был счастлив.

Грааль… и немного математики Обратное

распространение

градиента,

о

которым

мы

говорим,

является эффективным методом вычисления градиента функции стоимости,

то

есть

направления

наибольшего

наклона

в

сетях,

состоящих из нескольких слоев нейронов. Принцип его состоит в том,

чтобы

распространять

сигнал

в

сети

в

обратном

направлении, но вместо распространения целей, как в HLM, мы распространяем градиенты, то есть частные производные. Чтобы объяснить это, необходимо рассматривать линейные и нелинейные функции по отдельности. Математическое

понятие,

на

котором

основано

обратное

распространение, есть не что иное, как правило вывода сложных функций. функция

Как —

функции. выходу

К



известно

это x

применение

применяется

функция

последовательных рассматривать первой

и

несколько

h

из

как

для

h.

школьной одной

сначала

Почему

слоя,

второй.

вложений

функции функция

это

линейный

применение Если

программы, к f,

важно? и

функций,

есть

несколько

функций.

В

выходу

а

затем



к

слоев,

ее

два

можно

например,

результате

упрощаются. Вот в чем прелесть математики!

другой

Поскольку

нелинейный,

двух

сложная

f

для

будут

и

уравнения

Рис. 5.5. Обратное распространение градиента через передаточную функцию

Производная

стоимости

по

отношению

к

входу

передаточной

функции

равна

производной стоимости по отношению к выходу передаточной функции, умноженной на производную передаточной функции: dc_ds = dc_dz * hʼ(s).

Представьте

себе

сложную

сеть

из

нескольких

слоев,

природа

которых

нам

неизвестна (рис. 5.5). На выходе этой сети стоимость измеряет разницу между выходом

сети

и

желаемым

выходом.

Рассмотрим

конкретную

единицу

в

этой

сети. Она вычисляет взвешенную сумму своих входов и передает эту сумму s через

передаточную

производную

функцию

функции

h

и

стоимости

выдает по

выход

z

=

отношению

h(s). к

Если

выходу

бы

мы

знали

передаточной

функции dc_dz (то есть отношение dc/dz между изменением dc стоимости c в результате

изменения

незначительную

dz

к

величину

z), dz,

то

это

означало

стоимость

c

бы,

что

если

изменится

на

z

изменится

на

незначительную

величину dc = dz * dc_dz. Какова будет производная c по отношению к s, которую мы обозначим как dc_ds? Если

мы

изменим

s

на

незначительную

величину

ds,

выходной

сигнал

передаточной функции изменится на незначительную величину dz = ds * hʼ(s), где hʼ(s) — производная h в точке s. Значит, стоимость изменится на сумму dc = ds * hʼ(s) * dc_dz. Другими словами:

dc_ds = hʼ (s) * dc_dz.

Рис. 5.6. Обратное распространение градиента через взвешенную сумму

Производная стоимости по отношению к выходу z единицы представляет собой сумму производных

стоимости

по

отношению

к

последующим

единицам,

взвешенных

по

весам, соединяющим рассматриваемую единицу с этими последующими единицами: dc_dz = w[0] * dc_ds[0] + w[1] * dc_ds[1] + w[2] * dc_ds[2]

Итак, если мы знаем производную c по отношению к z, мы можем вычислить производную c по отношению к s, умножив на производную h в точке s. Таким образом мы возвращаем градиенты через передаточную функцию. Теперь

разберемся

с

обратным

распространением

через

взвешенную

сумму.

Рассмотрим выход единицы z, который направляется к нескольким нижестоящим единицам

для

направляется которые

к

вычисления нижестоящим

используются

для

взвешенных единицам

вычисления

сумм.

с

Этот

помощью

взвешенных

выходной

весов

сумм

w[0],

s[0],

сигнал

w[1],

s[1],

z

w[2],

s[2],

как

показано на рисунке 5.6. Предположим,

мы

знаем

производные

c

по

отношению

к

нижележащим

единицам dc_ds[0], dc_ds[1], dc_ds[2] Если

мы

изменим

z

на

незначительную

величину,

взвешенная

сумма

s[0]

изменится на w[0] * dz. Следовательно, стоимость изменится на dz * w[0] * dc_ds[0]. Но изменение dz также вызовет две цепочки изменений. Первая, где s[1] изменяется на значение w[1] * dz, что само по себе вызывает изменение стоимости значения dz * w[1] * dc_ds[1].

Вторая, где s[2] изменяется на значение w[2] * dz, вызывая изменение стоимости dz * w[2] * dc_ds[2]. В итоге стоимость будет изменена на сумму всех этих помех:

dc = dz * w[0] * dc_ds[0] + dz * w[1] * dc_ds[1] + dz * w[2] * dc_ds[2]

Это — способ доказать, что производная dc/dz равна:

dc_dz = w[0] * dc_ds[0] + w[1] * dc_ds[1] + w[2] * dc_ds[2]

Это и есть формула обратного распространения градиента через линейный слой (вычисление взвешенных сумм).

Чтобы входу

рассчитать

слоя,

выходам

берутся

слоя

и

производную производные

вычисляется

связывающим

вход

с

этими

рассчитываем

взвешенные

стоимости стоимости

сумма,

выходами.

суммы

с

по по

отношению

к

отношению

к

взвешенная Другими

по

весам,

словами,

использованием

мы

весов

в

обратном порядке, как и в случае с HLM.

Таким

образом,

для

обратного

распространения

производных

через

слой

передаточных функций и слои, вычисляющие взвешенные суммы, используются две формулы. 1. Cлой передаточных функций: a) распространение с прямой связью

z[i] = h(s[i]);

b) обратное распространение

dc_ds[i] = hʼ(s[i]) * dc_dz[i].

2. Cлой взвешенных сумм: a) распространение с прямой связью

b) обратное распространение:

Нам остается теперь вычислить производные стоимости по сравнению с весами. Когда мы изменяем вес w[i, j] на незначительную величину dw[i, j], взвешенная сумма, в которую он вносится, изменится на

dw[i, j] * z[j]

Стоимость изменится на

dc = dw[i, j] * z[j] * dc_ds[i].

Следовательно, градиент стоимости относительно веса w[i, j] будет равен:

dc_dw[i, j] = z[j] * dc_ds[i]

Мы

располагаем

тремя

формулами

обратного

распространения

градиента

в

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

спуск.

Каждый

вес

в

сети

обновляется

с

помощью

обычной

инструкции градиентного спуска:

w[i, j] = w[i, j] — e * dc_dw[ij]

Подведем чтобы

итоги:

вычислить

входных

данного

градиенты

данных

относительно

цель

слоя,

выходных

упражнения

функции

стоимости

учитывая данных

состояла

Таким

том,

относительно

градиенты

слоя.

в

стоимости

образом,

мы

вычисляем все градиенты путем их обратного распространения через

все

предыдущие

использование выходными

этих

(или

слои.

градиентов

входными)

Последним стоимости

слоями

для

шагом в

расчета

зависимости от параметров (весов линейных слоев).

Польза от нескольких слоев

является

сравнении

с

градиентов

в

Принцип

обучения

настройке допускала

остается

параметров минимум

сети

прежним: таким

возможных

он

образом,

ошибок.

заключается чтобы

Сквозное

в

система обучение

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

версия

преимуществом

экстрактора

многослойных

признаков.

сетей

является

Решающим то,

что

они

автоматически учатся правильно представлять сигнал.

55

Объяснение с производными Вышеупомянутая

разработка

была

скорее

интуитивной,

основанной

на

очень

небольшом математическом опыте. Однако существует и другая разработка, для некоторых более понятная, которая использует такие понятия, как производные, частные производные, векторы и матрицы. Правило дифференцирования сложных функций гласит, что производная от (f(z)) относительно

x,

обозначенная

дифференцирования

сложных

(c(f(z))ʼ,

равна

функций

и

cʼ(f(z))) является

*

fʼ(z).

Это

основой

правило

обратного

распространения ошибки.

Пример Если

изменить

z

на

незначительную

величину

dz,

выход

f(z)

изменится

на

величину fʼ(z) * dz. Это — простое следствие определения производной, которая является пределом при приближении dz к нулю отношения fʼ(z) = [f(z+dz) – f(z)]/dz. Умножив обе стороны на dz, получаем:

f(z + dz) — f(z) = fʼ(z) * dz

Отсюда следует, что когда выход функции f изменяется, как fʼ(z)

*

dz, выход

изменится, как cʼ(f(z)) * fʼ(z) * dz. Отношение между изменением выхода c(f(z)) и изменением входа (т.е. dz) равняется cʼ(f(z)) * fʼ(z). Это и есть производная от c(f(z)):

c(f(z))ʼ = cʼ(f(z)) * fʼ(z)

По своей сути, производная — это отношение двух бесконечно малых величин, в данном случае — это будет бесконечно малое изменение выхода, деленное на бесконечно малое изменение входа. Если функция зависит от более чем одной переменной,

отношение

изменений

выхода

и

изменений

конкретной

56

переменной

называется частной производной. Мы уже видели такие примеры в

предыдущей главе. Ситуация

усложняется,

когда

функция

не

только

зависит

от

нескольких

переменных, но и имеет несколько выходных параметров. Например,

линейный

слой



это

функция

с

несколькими

входными

переменными и несколькими выходами. Каждый выход s[i] представляет собой взвешенную сумму входов z[j] с использованием формулы

Помочь все это вычислить может небольшая программа на Python:

def lineaire(z, w, s, UP): for i in range(len(s)): s[i] = 0 for j in UP[i]: s[i] = s[i] + w[i, j] * z[j] return s

Веса слоев можно представить как массив чисел с двумя нижними индексами: индекс строки i и индекс столбца j. Сам этот массив можно рассматривать как вектор, в котором каждый элемент сам является вектором:

[w[0, 0], w[0, 1], w[0, 2], …], [w[1, 0], w[1, 1], w[1, 2], …], ………………]

Данный массив чисел представляет собой матрицу. Линейная функция lineaire(), вставленная выше в начало программы, вычисляет произведение которого

матрицы

равен

w

на

количеству

вектор

строк

w,

z, а

то

есть

каждый

вычисляет

вектор

элемент

которого

s,

размер

является

скалярным произведением соответствующих значений w и z. В PyTorch существует эффективная функция для решения этой задачи.

Для

обратного

распространения

несколькими

входами

необходимо

применить

сложной

функции,

и

выходами,

например,

некоторую

которая

градиента

форму

учитывает

слой

линейный правила

частные

каждого выхода по отношению к каждому входу.

через

с

слой,

вывода

производные

Теперь

давайте

многослойной

объясним,

архитектуре,

как

вычислять

используя

это

градиенты

правило

в

вывода

сложных функций.

Представьте себе двухслойную сеть, подобную той, что изображена слева на рис. 5.7. Каждый ее слой является параметризованной функцией. Первый ее слой f(x, wf) принимает входные данные x и параметр wf и выдает свои выходные данные zf. Второй слой g(zf, wg) принимает выходные данные первого слоя и параметр wg и создает выходные данные сети zg. Функция стоимости C(zg, y) измеряет разницу между выходом сети zg и желаемым выходом y.

Рис.

5.7.

Многослойная

сеть,

представленная

графом

взаимосвязанных

функциональных модулей

В современной формулировке глубокого обучения многоуровневая сеть представляет собой граф взаимосвязанных модулей, связанных модулем стоимости. Модуль — это любая

функция,

которая

может

иметь

несколько

входов,

несколько

выходов

и

несколько параметров. Полный слой линейных нейронов — это «модуль». Слева: сеть состоит из двух модулей: первый f(x, wf), выход которого равен zf. За этим модулем

следует

второй

модуль

g(zf,

wg),

выход

которого

равен

zg.

Выход

zg

сравнивается с желаемым выходом y с использованием модуля стоимости C(zg, y). По центру: более общий пример сети, состоящей из слоев пронумерованных модулей. Выход

модуля

номер

k,

обозначенный

вектором z[k],

образуется

путем

применения

функции fk по отношению к выходу предыдущего модуля, т.е. вектора z[k] и его вектора параметров w[k]:

z[k + 1] = fk(z[k], w[k])

Зная

градиент

стоимости

относительно

вектора

z[k

+

1],

обозначенного

g[k

+1

],

можно вычислить градиент стоимости относительно вектора z[k], обозначенного g[k] (по

условию,

g[k]

представляет

собой

вектор

строки,

а

не

как

вектор

столбца)

по

следующей формуле:

g[k] = g[k + 1] * dfk_dzk

где dfk_dzk — матрица Якоби функции fk(z[k], w[k])

по

отношению

к z[k],

то

есть

массив, каждый элемент которого указывает, насколько нарушается конкретный выход fk,

когда

нарушается

конкретный

вход.

Таблица

содержит

входов и выходов. Матрица Якоби изображена справа.

термин

для

каждой

пары

Предположим, что нам известен градиент C(zg, y) относительно zg, который мы 57

обозначим как dC(zg, y)/dzg

. Поскольку C(zg, y) = C(g(zf, wg), y), то по правилу

дифференцирования сложных функций можно записать:

dC(zg, y)/dzf = dC(zg, y)/dzg * dgz/dzf

но

zg



это

не

что

иное,

как

выход

g(fz,

wg).

Следовательно,

мы

можем

преобразовать это выражение так:

dC(zg, y)/dzf = dC(zg, y)/dzg * dg(zf, wg)/dzf

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

ранее.

Матрица

такого

типа

называется

матрицей

Якоби,

или

якобианом. Пронумеруем каждую строку якобиана индексом i, а каждый столбец — индексом j. Пара i, j указывает, насколько изменится выходной номер j модуля g, когда изменяется входной номер i этого модуля. Для каждой пары входа и выхода в матрице существует один такой элемент. Независимо от внутренней структуры

модуля

распространения

g,

формула

градиентов

через

показывает, модуль,

как

если

мы

добиться знаем,

как

обратного вычислить

произведение его якобиана через вектор. Таким образом мы вычисляем градиент стоимости по отношению к входу модуля g. Модуль g имеет два аргумента (два набора

входов):

относительно

zf

(выход

параметров,

f)

и

wg

(параметры).

выполняется

та

же

Чтобы

получить

операция,

что

и

градиент выше,

C но

используя якобиан g относительно wg:

dC(zg, y)/dwg = dC(zg, y)/dzg * dg(zf, wg)/dwg

Таким образом, мы получаем градиент по отношению к wg, который позволит нам обновить вектор wg. Чтобы получить градиент стоимости относительно параметров модуля f, для wf выполняется аналогичный расчет:

dC(zg, y)/dwf = dC(zg, y)/dzf * df(x, wf)/dwf

Последний элемент справа — это матрица Якоби модуля f по отношению к его вектору параметров wf. Теперь

рассмотрим

более

общий

случай

сети

с

несколькими

сложными

модулями, например, указанный на диаграмме 2 рис. 5.7. Данная

сеть

представляет

собой

каскад

из

нескольких

модулей,

пронумерованных индексом k. Номер модуля k — это функция fk(z[k],

w[k]),

выход которой равен z[k + 1]. Предположим, что нам известен градиент функции стоимости относительно z[k + 1]; обозначим его как g[k + 1]:

g[k + 1] = dC/dz[k + 1].

По

правилу

дифференцирования

сложных

векторных

функций,

указанному

выше, можно составить следующее выражение:

g[k] = dC/dz[k] = dC/dz[k + 1]*dz[k + 1]/dz[k].

Последний элемент формулы — это матрица Якоби модуля k:

dz[k + 1]/dz[k] = dfk(z[k], w[k])/dz[k],

то есть матрица, элемент которой i, j (в строке i и столбце j) указывает, насколько изменяется выход j модуля, когда изменяется вход i. Данная формула рекурсивна: она применяется к любому модулю и вычисляет градиент на его входе с учетом градиента на выходе. Последовательно применяя это

правило

ко

всем

модулям,

начиная

с

выхода

сети

и

продвигаясь

к

входу,

можно вычислить все градиенты стоимости по всем z[k]. Точно

так

же

теперь

можно

рассчитать

градиенты

по

параметрам,

используя

аналогичную формулу:

g[k] = dC/dw[k] = dC/dz[k + 1] * dz[k + 1]/dw[k].

Последний элемент — это матрица Якоби модуля k:

dz[k + 1]/dw[k] = dfk(z[k], w[k])/dw[k].

Формулы обратного распространения ошибки говорят нам о следующем: 1. Градиент функции стоимости то есть выходу слоя

k – 1,

C

по отношению к входу слоя

k,

равен градиенту стоимости по

отношению к выходу слоя

k,

то есть входу слоя

k + 1,

умноженному на матрицу Якоби функции слоя

k

по

отношению к ее входному вектору. Данная процедура, применяемая рекурсивно, начиная с вывода и направления к входу, используется для вычисления градиентов стоимости по отношению к выходам (и входам) всех слоев. 2. Градиент функции стоимости параметров слоя

k

C

относительно вектора

равен градиенту стоимости относительно

выхода слоя k

k,

умноженному на матрицу Якоби функции слоя

относительно его вектора параметров.

Эти

формулы

распространения

лежат

в

основе

градиента

в

общего

структуре

принципа

модулей,

обратного

наложенных

друг на друга. Но такая же процедура может применяться и тогда, когда

модули

соединяются

друг

с

другом

более

сложным

способом. Это работает при условии, что схема соединений между модулями

не

образует

возвращающих циклов

сигнал

существует

выходных

циклов, на

вход

то

всех

не

предыдущих

естественный

сигналов

есть

прямой

модулей

и

имеет

соединений,

слоев.

В

порядок

обратный

схеме

без

вычисления порядок

для

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

изображений,

распознавания

речи,

перевода,

синтеза изображений и создания текста.

Возражения не принимаются Чтобы обосновать практическую пригодность метода обратного распространения

ошибки,

некоторых

теоретических

выдвигали

предположения,

нейронную обучить

ее

сеть по

с

нам

пришлось

возражений. что

если

непрерывными методу

выйти

Отдельные

построить нейронами

градиентного

за

рамки

эксперты

многослойную и

спуска,

попытаться как

было

продемонстрировано в Главе 4, то возникает риск «застрять» в локальных минимумах. Используя аналогию с горным пейзажем, вы,

вместо

того

чтобы

спуститься

в

главную

долину,

можете

оказаться

в

небольшой

котловине,

откуда

нет

спуска

вниз.

Следовательно, на практике системы могут никогда не достичь 58

оптимума

.

Почему

многослойные

сети

могут

иметь

несколько

минимумов? При обучении многослойной сети выполнению той или

иной

задачи

почти

всегда

есть

несколько

конфигураций

весов, которые на обучающих примерах дадут одинаковый выход. Представьте себе сеть с двумя линейными слоями, которая уже была

обучена

применения,

(такая

но

конфигурация

зато

сеть

не

хороша

является

в

очень

полезна

качестве

минимумом

для

примера).

функции

реального Ее

весовая

стоимости.

Мы

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

задачи.

Поскольку

значение

функции

стоимости

в

первоначальной конфигурация было столь же минимальным, что и в новой. Вы

можете

преобразовать

сеть

другим

способом,

например,

взять два нейрона из первичного слоя и поменять их местами, одновременно вытягивая вместе с ними все «нити» (вместе с их весами), соединяющие их с предыдущим слоем и со следующим слоем.

Опять

ввода-вывода

же,

несмотря

сети

на

остается

такое

преобразование,

неизменной.

Если

функция исходная

конфигурация была минимумом функции стоимости, то и вторая тоже.

Таким

образом,

функция

может

иметь

несколько

минимумов.

Распознание признаков В

многослойной

экстракторов

сети

признаков.

первичные Однако,

в

слои

выступают

отличие

от

в

роли

традиционных

методов, эти экстракторы признаков создаются не «вручную», а

автоматически — в процессе обучения. В этом-то и состоит вся прелесть

многослойных

сетей,

основанных

на

обратном

распространении. Проанализируем примеры различного начертания букв C и D с помощью

двухслойной

первичного

слоя

сети,

могут

чтобы

показать,

обнаруживать

как

единицы

шаблоны,

которые

характерны для C и D. Мы уже сталкивались с одним из ограничений перцептрона, которое состоит в том, что, если различные варианты написания C и D слишком сильно различаются по форме, положению или размеру,

он

не

сможет

соответствующие

их

распознать,

начертанию

C

и

D,

потому

больше

что

не

точки,

отделяются

гиперплоскостью (см. главу 3 «Пределы перцептрона»). Однако если мы добавим дополнительный слой, мы сможем решить эту проблему.

Нейроны

первичного

слоя

будут

обнаруживать

паттерны, характерные для C и D. Такие детекторы создаются автоматически, потому что в сети используется

обратное

распространение.

Оно

автоматически

обнаруживает отличительные признаки или шаблоны. Например, непрерывная

линия

с

двумя

открытыми

концами

существует

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

объеме 100 в

первичному между

×

нем слою

входом

входных 100

пикселей

будет с и

данных.

10

10 000

000

(что

Возьмем для

первичным

изображения

пикселей.

нейронов.

Подключим

Количество

слоем

Астрономическое число для одного слоя!

изображение

составит

совсем его

к

соединений 100

млн.

Нам чтобы

нужно

она

найти

могла

(например,

принимать

изображение

увеличиваясь нейронной

способ

при

сети

этом к

построить большие

размером в

объемы

1000

размерах.

решаемой

архитектуру

задаче

×

входные

1000

Адаптация —

сети

так,

данные

пикселей),

не

архитектуры

ежедневная

задача

инженера, работающего с искусственным интеллектом. Итак, глубокое обучение состоит из: 1. Построения архитектуры многослойной сети путем расстановки и соединения модулей. 2. Обучения данной архитектуры методом градиентного спуска после вычисления этого градиента обратным распространением.

Прилагательное «глубокий» здесь просто выражает тот факт, что архитектура имеет несколько слоев. Ничего более. Как

же

спроектировать

архитектуру

сети,

чтобы

она

подходила для распознавания изображений? Мы рассмотрим это в следующей главе.

ГЛАВА 6

Сверточные сети, столпы ИИ

В

Bell

Labs,

зрения

у

вдохновленный

тем,

млекопитающих,

я

что

было

известно

разработал

о

системе

совершенно

новую

многослойную архитектуру сети. Мой руководитель лаборатории Ларри

Джекел

назвал

ее

LeNet



подражание

моей

фамилии

59

LeCun

). Так появились первые сверточные сети. Конец 1980-х и

начало

1990-х

нейронных

были

сетей:

периодом

число

процветания

конференций

и

многослойных

научных

публикаций

увеличивалось, появлялись новые рабочие места в университетах, государство инвестировало в проекты… Но в середине десятилетия наступил еще один период застоя. Помимо

больших

вычислительных

ресурсов,

сети

требовали

огромного количества обучающих данных. К тому же они были сложны в эксплуатации. Ситуация

кардинально

международном

соревновании

многослойных эффективность. костяком

изменилась

сетей, Они

многих

только

сверточные

в

сети,

особые

продемонстрировали

стали

фаворитами

приложений

ИИ.

С

в

тех

2012

всю

г.

типы свою

исследованиях

пор

их

В

и

значимость

неуклонно растет.

«Бомба» 2012 года Запомните

словосочетание

исследовательскую

базу

«ImageNet».

данных

Так

компьютерного

называют зрения

для

распознавания объектов на изображениях. Она была разработана учеными

из

американских данных

Стэнфорда,

Принстона

институтов.

семейства

Наиболее

ImageNet,

и

некоторых

часто

ImageNet-1k,

других

используемая

содержала

база

более

1,3

млн изображений, которые все были помечены вручную, чтобы дать

указание

на

категорию

основного

объекта,

который

они

отображают. Всего было использовано 1000 категорий. С 2010 г. проект

ImageNet

распознанию «ImageNet

стал

проводить

визуальных

Large

Scale

ежегодные

образов

Visual

под

соревнования

длинным

Recognition

по

названием

Challenge»

(ILSVRC),

который в результате все называют просто… ImageNet. По сути — это

своеобразный

«кибертурнир»,

на

котором

исследователи

сравнивают свои методы распознавания изображений. Правила таковы: для каждого изображения системы должны предложить

пять

категорий

из

1000.

Если

правильный

ответ

входит в пятерку предложенных, считается, что система ответила правильно.

Это

действительно

можно

назвать

достижением,

поскольку среди 1000 категорий насчитывается, например, 200 пород собак, некоторые из которых очень похожи по внешнему виду. В 2011 г. даже лучшие системы давали (как и в прежние годы) 25% ошибок распознавания. Однако в следующем году команда Джеффри

Хинтона

и

его

студентов

из

Университета

Торонто

значительно побила этот рекорд, снизив число ошибок до 16%. В чем

секрет?

Сработали

сразу

два

фактора:

использование

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

кандидаты

методом.

Это

графическим открытым

на

конкурс

была

революция.

процессорам

исходным

ImageNet

и

кодом,

стали

пользоваться

Благодаря

программному которое

более

новым

мощным

обеспечению

облегчило

с

работу

исследователей,

сверточные

сети

буквально

перевернули

компьютерное зрение. Они быстро сделали возможными новые приложения: автомобили,

сортировка анализ

и

поиск

медицинских

информации,

изображений,

автономные

индексация

и

поиск изображений, распознавание лиц и речи, и т.д. На самом деле путь к успеху был очень долгим. Вспомните, что к

1982

г.,

когда

исследователей многослойных

уже

я

еще

давно

работал

в

отказались

нейронных

сетей.

ESIEE,

от То

большинство

сквозного есть

обучения

такие

сети

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

была

области

вдохновлена

зрительной

распространение,

открытиями

коры

Хьюбела

головного

когнитрон

и

60

Визеля

мозга.

Фукусимы,

в

Обратное

теории

двух

нейробиологов — все это я держал в голове, когда отправился на стажировку в Торонто в лабораторию Джеффри Хинтона.

Зрительная кора: простые клетки Давайте

на

минутку

остановимся

на

способе

обработки

информации в визуальной системе, как это объясняли Хьюбел и Визель.

Они

обнаружили,

что

распознавание

объектов

происходит поэтапно, от сетчатки до нижневисочной коры: оно следует по «вентральному пути». Например, при взгляде на стул визуальный сигнал проходит через последовательные фильтры в первичной

зрительной

коре

(область

V1),

потом

в

следующих

областях V2, в V4 и, наконец, включают в нижневисочной коре набор нейронов, представляющих понятие «стул». Во

время

обычных

распространяется

менее

визуальных чем

за

100

задач

один

миллисекунд.

сигнал Скорость

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

в

пучке)

которые

связаны

называются

(рецептивное)

с

небольшими

рецептивными

поле

нейрона



это

областями

полями.

поля

зрения,

Воспринимающее

область

поля

зрения,

из

которой он получает свои входы. На одно и то же рецепторное поле «смотрят» от 50 до 100 нейронов. Допустим, их 60. Каждый из

этих

нейронов

реагирует

на

простой

паттерн

(элемент

изображения). Нейрон № 1 реагирует на вертикальные контуры, № 2

реагирует

на

линию,

которая

составляет

угол

в



по

вертикали, № 3 — на линию под углом 12° и т.д. Иначе говоря, каждый

из

нейронов

в

пучке

реагирует

на

разные

линии

и

ориентацию контура, присутствующего в воспринимающем поле, с которым связан данный пучок. Эти нейроны реагируют также и на

размер

элементов.

Такой

механизм

напоминает

принцип

работы экстрактора признаков. Хьюбел и Визель как раз и объясняют это тем, что области первичной

зрительной

коры

выступают

в

роли

экстракторов

признаков (о них говорится в главах 3 и 5). Если

взять

рецепторное

соседний поле,

пучок

слегка

нейронов, смещенное

который по

смотрит

на

сравнению

с

предыдущим, то у него также есть нейрон №1 и нейрон №60 (см. рис.

6.1).

сложными

То,

что

Хьюбел

клетками,



и

это

Визель

нейроны,

называют о

простыми

которых

я

и

постоянно

говорю в этой книге. Нейрон №1 в этом пучке делает то же самое, что и нейрон №1 в следующем пучке. Таким образом, пучки из 60 нейронов связаны со всеми рецептивными полями поля зрения. Миллионы нейронов № 1 выявляют один и тот же паттерн, но на разных участках изображения. Таким образом, все поле зрения покрыто этими пучками из 60 нейронов, чьи воспринимающие поля частично перекрываются, как

черепица

на

крыше,

и

все

они

выполняют

одну

и

ту

же

операцию: маленькие

обнаруживают и

простые

во

всех

паттерны.

рецепторных

Все

эти

полях

миллионы

очень

нейронов

представляют собой простые клетки. Если

поместить

электроды

в

область

V1,

как

это

Хьюбел

и

Визель сделали с кошками, что мы увидим? В пучке нейронов, смотрящем

на

активируются

рецепторное

нейроны

№ 1

и

поле № 30

в

левой

детекторов

части

круга,

вертикальных

контуров. Точно так же в пучке нейронов, смотрящем на правую часть круга, возбуждаются другие нейроны № 1 и № 30, потому что они также обнаруживают вертикальный контур. Наоборот, в пучке нейронов, смотрящем на верхнюю часть круга, становятся активными нейроны уже № 15 и № 45, которые обнаруживают горизонтальные контуры.

Рис. 6.1. Простые клетки и сложные клетки

Область первичной зрительной коры млекопитающих V1 содержит простые клетки и сложные клетки. Каждая простая клетка обнаруживает паттерн в маленьком окне на входе, называемом «воспринимающем полем». Клетки организованы в виде плоскостей, называемых

«картами

признаков».

Все

клетки

одной

и

той

же

карты

признаков

обнаруживают один и тот же паттерн в разных местах входного изображения. Каждая карта признаков определяет паттерн, отличный от других. Каждая из клеток всех карт признаков например,

с

одним

первая

горизонтальный

и

тем

«видит»

контур,

же

принимающим

контур,

третья



полем

расположенный

какой-то

еще

и

выявляет под

т.д.

разные

углом

Сложные

45°,

паттерны, вторая

клетки



собирают

«ответы» из небольшого окна простых клеток. Когда паттерн слегка перемещается по входу, реакция сложных клеток практически не меняется.

Зрительная кора: сложные клетки и «пулинг» В

области

агрегируют

V1

сложные

ответы

клетки

соседних

(другая

простых

категория

клеток

одного

нейронов) и

того

же

типа: одна сложная клетка агрегирует все числа от нейронов №1 в своей окрестности, другая — от нейронов № 2 и т.д. Операция агрегирования

заключается

в

вычислении

среднего

значения

выходов простых клеток или получении наибольшего из них.

Что

происходит,

сдвигается?

Простые

рецепторными поскольку

когда клетки

полями,

сложная

вертикальный №

1,

связанные

активируются

ячейка

контур

объединяет

с

при

немного

различными

движении.

результаты

Но

отдельных

ячеек № 1 в своей окрестности, она непрерывно активизируется, пока

контур

клеток,

с

не

появится

которыми

из

рецептивных

соединена

данная

полей

сложная

всех

простых

клетка.

Таким

образом, сложная клетка, которая смотрит на простые клетки №1, обнаруживает положения

в

вертикальный окрестности



контур

независимо

определенным

от

допуском

его

к

его

положению). Такой механизм агрегации сигнала (его называют английским

термином

обнаружения сложной

«пулинг»)

паттернов.

клетки

объясняет

Соответственно,

области

V1

больше,

чем

инвариантность

рецепторное рецепторное

поле поле

простой клетки в этой же области. Но

если

переместить

паттерн

слишком

далеко

и

выйти

за

пределы рецепторного поля сложной клетки (то есть рецепторных полей

всех

простых

клеток,

которые

она

агрегирует),

сложная

клетка отключится. Хьюбел и Визель предположили, что данная схема соединения повторяется в областях V2 и V4, но не смогли это доказать. А №

1,

вот

и

мы:

которые

операция,

вычисляемая

обнаруживают

миллионами

вертикальные

линии,

нейронов является

«сверткой».

Подводим итоги В области V1 каждый нейрон в пучке — или простой клетке — реагирует на линию определенной ориентации. Миллионы пучков из 50–100 нейронов, покрывающих поле зрения, связаны со всеми рецептивными полями. Миллионы нейронов обнаруживают один и тот же паттерн в разных местах поля зрения.

Сложные клетки в области V1 принимают набор ответов от простых клеток одного и того же типа (например, нейронов, которые воспринимают вертикальные контуры в разных, но близких местах) и вычисляют среднее значение данных ответов. Благодаря механизму, называемому «пулингом», создается инвариантность реакции сложных клеток на небольшие изменения положения паттернов в изображении, которые могут быть вызваны перемещением объекта в поле зрения, небольшим вращением или деформацией.

Основываясь на открытиях Хьюбела и Визеля о механизмах работы

зрительной

области

коры

искусственного

головного интеллекта

мозга,

исследования

придерживаются

в

двух

основных принципов конструирования нейронных сетей. 1. Создание локальных соединений. Нейрон в первом слое зрительной системы связан только с небольшой областью изображения, небольшим блоком пикселей — «рецепторным полем». 2. Повторение операций на всем изображении. Несколько нейронов с разными рецептивными полями обнаруживают один и тот же паттерн в разных местах.

Селективность

ориентации

(то

есть

чувствительность

нейронов к ориентации) и существование сложных клеток — два открытия,

которые

принесли

Хьюбелу

и

премию в области физиологии и медицины.

Дальновидный Фукусима

Визелю

Нобелевскую

Машина японского исследователя Кунихико Фукусимы повторила архитектуру

модели

нециклическое простых

и

Хьюбела

прохождение

сложных

и

Визеля

сигнала

нейронов.

в



то

же

самое

последовательных

Фукусима

применил

слоях

систему

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

и

позволяют

относительно построил

построить

небольших

две

версии

представление,

искажений.

своей

машины:

инвариантное

Токийский

когнитрон

ученый

в

1970-х

и

неокогнитрон в начале 1980-х. Вторая модель — это многослойная сеть для распознавания простых слоев,

форм.

Неокогнитрон

аналогичных

Подход

Фукусимы

слоям —

состоял

простых

своего

рода

из

набора

клеток

и

попытка

чередующихся

сложных теснее

клеток.

следовать

принципам биологии и за счет этого заставить сеть работать. Они вычисляли

взвешенную

сумму

своих

входов

и

обрабатывали

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

обучал

последний

слой

по

алгоритму,

очень

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

как

его

еще

не

изобрели.

Промежуточные

слои

обучались

неконтролируемыми «конкурирующими» методами (их мы тоже не

будем

описывать

настраивать модель

свою

имела

необходимо

подробно).

систему

большое

было

Ему

«отверткой», количество

подбирать

вручную.

приходилось чтобы

она

бы

заработала:

параметров, Может

как

быть,

которые Фукусима

слишком сильно хотел сымитировать биологические процессы? Тем не менее, результат был неплохим. В период с 2006 по 2012 год, до революции сверточных сетей, научное сообщество не очень ценило работы Фукусимы. Однако

исследователи

компьютерного

эффективность

его

зрения

подхода!

Как

все-таки

и

подтвердили

Фукусима,

они

были

вдохновлены открытиями Хьюбела и Визеля о работе простых и сложных

клеток.

такие

понятия

трансформация Fransform)

Экстракторы как

признаков,

SIFT

признаков;

или

HOG

с

которыми

связаны

(масштабно-инвариантная

англ.

(гистограмма

Scale-Invariant

направленных

Feature

градиентов,

англ. Histogram of Oriented Gradients, разработана во Франции), выполняют

операции,

похожие

на

то,

что

делают

простые

и

сложные клетки. Но эти операции написаны от руки. Их ничему не обучали.

Краткий взгляд в прошлое В

1986

г.

разработки

я

писал

HLM,

распространении

диссертацию

чтобы

и

отказался

сосредоточиться

ошибки.

Основываясь

на на

от

дальнейшей

методе

обратного

работах

Хьюбела,

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

Позже

я

назову

его

сверточной

сетью,

или

сверточной нейронной сетью. Некоторые сокращают название до CNN, а я предпочитаю говорить ConvNet. Итак, в 1987 г. у меня появилась идея, но не было никаких программных инструментов для ее реализации, да их тогда и не существовало.

Когда

я

писал

диссертацию,

со

мной

связался

студент Политехнического университета Леон Ботту. Он как раз заканчивал аспирантуру по теме обратного распространения. Я предложил

ему

помочь

написать

мне

новое

программное

обеспечение для построения и обучения нейронных сетей. Оно позволило

бы

применять

локальные

соединения

и

совместное

использование параметров — два необходимых компонента для

программного типа,

обеспечения

известных

как

сверточных

рекуррентные

сетей

и

нейронные

сетей

сети.

другого

Мы

были

тогда совсем новичками в этом! Леон

взялся

взаимодействия

написать с

той

интерпретатор

частью

Lisp

для

программного

гибкого

обеспечения,

которая выполняет вычисления, — строительный блок, который важен

для

системы.

разработки

Благодаря

программного

своим

выдающимся

обеспечения

он

навыкам

написал

этот

интерпретатор за несколько недель, и я смог взять его с собой в Торонто. Когда

я

прибыл

возглавляемую который

в

в

выдающимся

работал

интеллекта,

Торонто

на

июле

ученым

стыке

когнитивной

1987

г.

в

Джеффри

психологии,

науки

и

лабораторию, Хинтоном,

искусственного

нейробиологии,

я

привез

с

собой свои идеи плюс проект, находившийся на ранней стадии разработки. В

последующие

программное

месяцы

обеспечение,

я

продолжил

которое

помогло

бы

разрабатывать мне

построить

сверточные сети, обучать их, наблюдать за тем, как они работают и т.д. Леон же только закончил Политехнический университет и получил

докторскую

степень

в

Орсе

по

нейронным

сетям,

применяемым для распознавания речи. Весной

1988

г.

я

построил

свои

первые

сверточные

сети

и

протестировал их на небольшом наборе данных. В то же время во Франции речи.

Леон

Летом

верили

в

применил

1988

свои

г.

идеи

он и

сверточные

сети

присоединился будущее

ко

нашего

для мне

распознавания в

Торонто.

проекта.

Наше

Мы

новое

программное обеспечение мы называли SN (Simulateur Neuronal — нейронный симулятор). Из-за

отсутствия

удалось

запустить

наборе

рукописных

небольшую

общедоступных

сверточные чисел,

программу,

сети

лишь

который

которая

обучающих

я

на

очень

сделал

позволяла

данных

мне

небольшом

сам

рисовать

(написав цифры

с

помощью компьютерной мыши). Я создал 12 версий из 10 цифр от 0 до 9 и поместил каждую цифру в четырех разных положениях на

изображении:

вверху,

внизу

и

т.д.

Итак,

у

меня

было

480

примеров. Согласен, это очень мало.

Рис.

6.2.

Архитектуры

сети,

использованные

во

время

первых

экспериментов

со

сверточными сетями

Слева

направо:

однослойная

сеть;

двуслойная

сеть;

трехслойная

сеть

с

локальными

подключениями без распределения весов; трехслойная сеть, где первый слой является сверточным локальными

(локальные

соединения

соединениями

без

с

распределением

распределения

весов),

весов;

а

второй

слой

трехслойная



сеть

с с

распределением весов на первых двух слоях.

Новая

архитектура,

которую

я

разработал,

хорошо

подошла

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

слоя

ConvNet

нейронных связаны

добилась

со

сетей,

то

всеми

нейронами

98,4%-го

успеха

есть

на

тех,

где

все

нейроны

следующего

тестовом

наборе.

слоя: Для

полносвязной сети этот показатель равнялся 87%. Технический

отчет

о

моей

работе

был

опубликован

осенью

1988 г. К тому времени я уже перешел в Bell Labs и сразу же начал работать

над

«настоящим»

приложением

ConvNet:

распознаванием почтовых индексов. Первый успех пришел менее чем через два месяца. Мои коллеги и я быстро обнаружили для себя одну важную деталь:

сверточную

сеть

можно

обучить

на

изображениях

с

несколькими без

символами

необходимости

(таких

заранее

как

полный

отделять

почтовый

символы

друг

индекс),

от

друга.

Выглядит тривиально, но для нас это было крайне важно! До тех пор

методы

распознавания

требовали

«сегментирования»

символов друг от друга перед их распознаванием. Теперь я мог применять

эти

сверточные

сети

к

целому

слову,

не

сообщая

системе, где находятся буквы, и она дает нам последовательность символов на выходе.

Рис. 6.3. Небольшой набор данных, на котором я тренировал свои первые сверточные сети

Некоторые примеры из небольшой базы данных чисел, написанных с помощью мыши, на которой я обучал свои первые сверточные сети. База состояла из 12 экземпляров каждой из первых десяти цифр. Каждый из них отображался несколькими пикселями, находившимися в четырех различных положениях. Всего было 480 примеров, из них 320 для обучения и 120 для тестирования.

Вскоре вместе с группой инженеров из Bell Labs мы начали разрабатывать мгновенно дочерней

систему

продана

компании

NCR

считывания (National

AT&T.

Через

чеков,

Cash

которая

Register),

несколько

лет

в

то

была время

система

уже

считывала от 10 до 20% всех чеков, выписанных в Соединенных Штатах.

К

моменту

машинного

наших

первых

обучения

уже

успехов

отказались

исследования от

в

нейронных

области сетей.

В

научном сообществе теперь говорили только об альтернативных методах,

конкурировавших

с

нейронными

сетями:

SVM

(метод

опорных векторов), изобретенный в нашей лаборатории, методы ускорения, найденные другой группой Bell Labs, вероятностные методы.

Между

1995

и

2010

гг.

существовало

множество

конкурирующих моделей.

Сверточные сети Пора

уже

их

представить!

Сверточные

сети



это

особый

тип

нейронных сетей. Они сочетают в себе: 1) особую архитектуру соединения, а именно иерархию простых и сложных нейронов, смоделированных по образцу клеток зрительной коры, как было представлено Хьюбелом и Визелем; 2) сквозное обучение системы посредством обратного распространения градиента, которое мы описали в предыдущей главе. Как

и

в

случае

с

другими

сетями,

процедура

обучения

минимизирует целевую функцию. Меняется архитектура сети, то есть

ее

внутренняя

архитектуры. используемая

Это для

вычислениями, коры.

структура.

61

Свертка

математическая

обработки

сигналов,

выполняемыми



компонент

операция, но

простыми

имеющая клетками

этой

широко сходство

с

зрительной

Рис. 6.4 Свертка

Взвешенная сумма пикселей окна в изображении (25 пикселей, 5 × 5) рассчитывается с использованием набора из 25 весов (показаны в центре), называемого ядром свертки. Операция повторяется во всех возможных окнах входа, а результаты записываются в выходное изображение в соответствующих местах.

Сеть

управляется

конечном

итоге

обратным

распространением.

обнаруживают

Веса

определенные

сети

в

паттерны:

вертикальные линии, горизонтальные линии, цвета и т.д. Возьмем начальное изображение, которое составляет таблицу входа, и рассмотрим небольшое окно размером 5 × 5 пикселей, которое мы называем «воспринимающим полем». Нейрон № вычисляет

взвешенную

сумму.

Результатом

является

1

число,

которое содержится в таблице выхода. Теперь перемещаем это окно 5 × 5 на один пиксель вправо, и теперь второй нейрон №

1 повторно взвешивает пиксели этого

нового окна, используя те же веса, что и у предыдущего нейрона. Записываем

этот

новый

результат

в

таблицу

выхода

рядом

с

предыдущим. Повторим эти действия для всех окон размером 5 × 5 пикселей по всему входному изображению, так что соседние окна частично перекрывают друг друга. В результате получается выходное изображение. Нейроны под № всех

местах

Почему

у

изображения,

них

отличительный месте

1 обнаруживают определенный паттерн во

должен паттерн

изображения.

обнаружен

везде,

где

быть

что

у

них

одинаковый

категории

Это он

потому

может

гарантирует,

появляется

на

одинаковый

вес?

Потому

появиться что

в

что

любом

паттерн

изображении.

вес.

будет

Именно

весовой паттерн позволяет нейрону обнаруживать его, поскольку, например,

кошачий

глаз

или

ухо

появляются

в

разных

местах

изображения в зависимости от положения кошки и поворота ее головы на изображении.

Рис. 6.5. Слой свертки и пулинга ConvNet

Сверточный

слой

принимает

одну

или

несколько

карт

признаков

в

качестве

входов

(здесь их 2) и создает несколько карт признаков в качестве выходов (здесь 8). Каждая карта признаков представляет собой сумму сверток, примененных к входным картам признаков

с

разным

весом,

что

позволяет

обнаруживать

соединения

паттернов

на

входе. Каждая карта признаков использует разные наборы весов.

Чтобы обнаружить другой паттерн, еще один набор нейронов (под



2),

выполняет

ту

же

операцию

с

весом,

отличным

от

нейронов номер 1. Взвешенные

суммы

ряда

нейронов

уникальны

тем,

вычисляются с одинаковыми весами. Все нейроны № одинаковый вес. Все нейроны под №

что

они

1 имеют

2 имеют одинаковые веса,

отличающиеся от весов нейронов № 1 и т.д. Если изображение имеет размер 1000 × 1000 пикселей, это дает 1 млн пикселей входа, 1 млн окон 5 × 5 пикселей и 1 млн нейронов №

1, каждый из которых обнаруживает один и тот же

паттерн в разных местах. Аналогично для нейронов № 2, 3 и т.д. Таблицы размер.

входа

и

Объяснение.

выхода Если

имеют

веса

практически

таковы,

что

они

одинаковой

обнаруживают

вертикальные

линии

обнаруживать

вертикальные

изображении,

что,

(см.

в

рис.

6.1),

линии

свою

то

в

1

млн

нейронов

миллионе

очередь,

дает

окон

вид

5

×

будет 5

на

изображения,

который называется картой признаков. Карта

признаков

указывает

на

наличие

или

отсутствие

вертикальной линии в миллионе мест. Результаты вычислений, произведенных миллионами нейронов, образуют таблицу выхода и

входа

для

следующего

обнаруживать

несколько

понадобится

несколько

слоя.

Чтобы

иметь

определенных

карт

возможность

типов

признаков,

паттернов,

каждая

с

разной

комбинацией весов. Шестьдесят клеткам

карт

Хьюбела

и

признаков

Визеля.

соответствуют

Каждое

окно

«видят»

60 60

простым нейронов,

проецирующих свои выходы на 60 картах признаков. На каждое окно

приходится

нейронов

на

60

нейронов.

каждое

окно,

Если

то

в

имеется

сумме

1

млн

окон

получается

60

и

60

млн

нейронов. В нашем примере свертка определяется списком из 25 весов (5 × 5). Такой список называется ядром свертки.

Для тех, кому интересно, вот небольшая программа для выполнения свертки:

# Свертка таблицы x с ядром w. # Результат в таблице y. # Данные три таблицы двумерные. def conv (x, w, y): for i in range(len(y)): # цикл строк for j in range(len(y[0])): # цикл столбцов s = 0 for k in range(len(w)): for l in range(len(w[0])): s = s + w[k, l]*x[i+k, j+l] y[i, j] = y[i, j] + s return y

Сверточный слой принимает одну или несколько карт признаков в качестве входа и создает несколько карт признаков в качестве выходов. Каждая карта признаков

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

def convlayer(X, W, Y): for u in range(len(Y)): # цикл карт признаков Y for v in range(len(X)): conv(X[v], W[u, v], Y[u])

Мы предоставляем эту программу из дидактических соображений. На практике эти функции предопределены в программном обеспечении глубокого обучения, 62

таком как PyTorch и TensorFlow

.

В сверточной сети за слоем сверток следует слой передаточных функций. В современных версиях такая передаточная функция — 63

«ReLU

» (англ. Rectified Linear Unit). Карта признаков, созданная

путем свертки, имеет положительные и отрицательные значения, потому

что

веса

могут

быть

и

отрицательными.

Когда

результирующий сигнал проходит через слой ReLU, ReLU меняет отрицательные оставляет

значения

без

называются

на

изменений.

картами

ноль,

а

положительные

Таблицы

признаков.

выхода

Эта

слоя

значения

ReLU

нелинейная

также

операция

и

позволяет системе обнаруживать паттерны на изображении. Представьте

себе

изображение

человека,

работающего

за

компьютером, в комнате с обоями, имеющими серые полосы на бежевом фоне. На такой картине существуют некоторые четкие контуры (например, края экрана на фоне стены), а также менее резкие

(образованные

полосами

обоев).

Если

при

свертке

обнаруживаются вертикальные контуры, ее выход будет большим на

краях

экрана

компьютера

(высокая

контрастность),

и

меньшим для полос на обоях (низкая контрастность). Когда мы пропускаем эту карту признаков через ReLU, проявляются только четкие контуры, остальные меняются на 0. Это позволяет системе обнаруживать нейронов

важные

смотрит

на

паттерны. одно

и

то

Но же

поскольку место,

каждый

один

из

59

из

60

других

нейронов

можно

настроить

для

обнаружения

менее

четких

контуров. За слоем ReLU обычно следует слой пулинга, выполняющего операции Хьюбела

аналогичные и

Визеля.

тем,

Карта

которые признаков

делают на

сложные

выходе

клетки

слоя

ReLU

разделена на окна, или, скорее, «тайлы» размером, например, 4 × 4,

которые

не

перекрываются.

Если

карта

признаков

имеет

размер 1000 × 1000, то на ней будет 250 × 250 тайлов размером 4 × 4. Каждый нейрон в слое пулинга берет одно из этих окон и вычисляет его максимальное значение. Другими словами, в окне имеется 16 чисел, и нейрон выдает на выходе наибольшее из них. Это называется «максимальным пулингом». Для каждого окна на всех картах признаков есть один такой нейрон. Всего на выходе слоя будет 60 × 250 × 250 нейронов.

Рис. 6.6. Сверточная сеть

Сверточная

сеть

передаточной состоит

из

состоит

функции

четырех

и

из

укладки

пулинга

карт

в

трех

типов

сочетании

признаков,

каждая

с

слоев:

свертки,

подвыборкой.

из

которых

нелинейной

Здесь

первый

сворачивает

слой

входное

изображение с набором весов (5 × 5 в данном примере). Результат передается через передаточную

функцию.

Каждая

карта

признаков

следующего

слоя,

аналогично

сложным клеткам, объединяет ответы небольшого окна нейронов из соответствующей карты

признаков

разрешением случае

по

в

сравнению

небольших

следующем

предыдущем

слое

с

смещений

каждая

слое.

их

Выходы

входами.

характерных

карта

признаков

слоя

Это

пулинга

делает

паттернов выполняет

обладают

более

представление

во

входном

свертку

низким

устойчивым

изображении.

всех

карт

в

На

признаков

предыдущего слоя и добавляет результаты. За ним также следует слой пулинга. Слои укладываются подобным образом до самого выходного слоя.

Для

чего

все

представления, смещений пулинг

дает

Если

нужно?

Пулинг

инвариантного

паттернов

соответствует поле.

это

во

самому

данный

паттерн

изображении.

значение

сильному

для

относительно

входном

наибольшее

служит

на

паттерну

смещается

в на

создания

небольших

Максимальный

входе, его

которое

принимающем

пиксель

или

два,

оставаясь в том же окне нейрона пулинга, выход такого нейрона не меняется. Сверточная

сеть

состоит

из

набора

пулинга. Типовая архитектура ее такова:

слоев

сверток,

ReLU

и

Conv

→ ReLU → Pool → Conv → ReLU → Pool → Conv → ReLU → Conv

В настоящее время сверточная сеть может иметь около сотни таких слоев. Эталоном можно считать сеть ResNet-50 (младший брат

которой,

включает слоями.

в

ResNet-34,

себя

Она

«короткие

была

исследователем

показан

из

на

рис.

замыкания»

предложена

лаборатории

в

в

2015

Microsoft

6.8).

Этот

тип

соединениях г.

между

Каймингом

Research

в

сети

Хэ,

Пекине.

В

дальнейшем Кайминг перешел на работу в FAIR в Менло-Парке, Калифорния.

Рис.

6.7.

Визуализация

паттернов,

обнаруживаемых

единицами

сверточной

сети

на

разных слоях

Паттерны первого слоя очень похожи на то, что нейробиологи наблюдают в зрительной коре головного мозга млекопитающих (источник: Zeiler and Fergus, NYU).

Рис. 6.8. Сверточная сеть ResNet-34 Кайминга Хэ

В этой сети 34 слоя (не считая передаточных функций), как и следует из ее названия. Особенностью данной структуры является наличие «чехарды» соединений, называемых остаточными соединениями, которые обходят пары слоев. Старший брат этой сети — ResNet-50 стал стандартом в распознавании изображений (источник: Kaiming He).

Рис. 6.9. Каждый круг представляет собой сверточную сеть определенного типа

По

оси

X

отложено

количество

операций,

необходимых

для

расчета

вывода

изображения (в миллиардах), по оси Y — скорость распознавания в ImageNet. Размер круга представляет количество параметров (в миллионах), то есть занятость памяти (источник: Alfredo Canziani, NYU).

В

исследовательском

сверточную скорость

архитектуру

распознавания

сообществе сети, в

которая

ImageNet,

лихорадочно давала а

бы

также

искали

наибольшую являлась

бы

минимальной

из

всех

возможных

и,

следовательно,

наименее

затратной по времени вычислений.

Подведем итоги Вначале определяется архитектура соединений нейронной сети,

то

есть

организация

слоев

нейронов

и

связей

между

нейронами. Но весов, то есть параметров взвешенных сумм, в ней нет. Они будут установлены путем обучения. В

сверточной

сети

обратное

распространение

градиента

регулирует веса таким образом, чтобы нейроны в разных слоях определяли,

что

важно

для

распознавания

входного

изображения. Когда мы обучаем сверточную сеть распознавать объекты на естественных изображениях, некоторые нейроны в первом слое учатся обнаруживать контуры, ориентированные определенным коллеги

по

образом,

что

нейробиологии

очень

похоже

наблюдают

на

в

то,

что

наши

зрительной

коре

головного мозга.

Обнаружение, локализация, сегментация и распознавание объектов К

началу

1990-х

сверточную

в

мы

сеть

одновременного состояла

гг.

чтобы

окну

что

можем

непрерывному

обнаружения

том,

изображению

к

поняли,

и

Этот

сеть

метод

применить

изображению

распознавания

применить

ввода.

легко

был

к

объектов.

для Идея

скользящему очень

быстрым

по и

эффективным благодаря свойствам сверточных сетей. Одним

из

первых

применений

данной

идеи

было

чтение

рукописных слов: символы в слове или почтовом индексе часто касаются друг друга, и их трудно разделить, чтобы распознавать

по отдельности. Теперь было достаточно лишь перетащить окно ввода сверточной сети слева направо по всему слову (рис. 6.10).

Рис.

6.10.

Применение

сверточной

сети

для

обнаружения

объекта

на

большом

изображении со скользящим окном

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

размер

слоев

выходных

сети

вектора

так,

чтобы

«видят»

два

они

соответствовали

входных

окна,

размеру

сдвинутых

на

входа.

Два

несколько

Рис. 6.11. Сверточная сеть применяется к изображению для обнаружения, локализации и распознавания нескольких объектов (рукописные цифры)

Столбцы

слева

представляют

Последовательность распознанную

выхода

категорию

собой

активацию

указывает

цифры,

для

которая

модулей

каждой

находится

на

трех

позиции в

середине

слоях

сети.

входного

окна

окна.

Модуль

постобработки извлекает из него последовательность символов с наивысшим баллом. Этот принцип будет широко использоваться в будущем для обнаружения объектов на естественных изображениях.

Для каждой позиции во входном окне сеть создает категорию символа,

находящегося

выполняет Достаточно

эти

в

вычисления

адаптировать

центре. для

всех

размеры

Сверточная возможных

слоев

к

сеть

входных

размерам

легко окон.

входа

и

вычислить свертки на всем изображении (рисунки 6.10 и 6.11). Выход представляет собой серию векторов, каждый из которых зависит от того или иного входного окна. Основываясь

на

идее

скользящего

окна,

я

использовал

сверточные сети для обнаружения объектов на изображениях. Вот его

принцип.

Предположим,

мы

хотим

обнаружить

на

фотографии лицо. Мы собираем много фотографий, на которых есть

лица,

вручную

и

другие

рисуем

фотографии,

квадрат

вокруг

на

которых

каждого

их

лица.

нет.

Затем

Компьютер

регистрирует положение квадратов, извлекает миниатюры лиц, обозначенные квадратами, и стандартизирует их размер, скажем,

до

32

×

32

пикселей.

квадратов

в

обучаем

с

также

произвольных

изображениях, миниатюр

Он

где

нет

лицами

сверточную

и

сеть

большое

положениях

лиц. без.

собирает

Теперь

С

для

у

и

нас

помощью

размерах есть

таких

получения

+1

количество на

коллекция

миниатюр

для

мы

миниатюр

с

лицами и 0 для остальных. После

обучения

применяем

сеть

к

большому

изображению,

скажем, размером 1024 × 1024, приспосабливая размер слоев к размеру входа. Теперь на выходе получается таблица чисел от 0 до 1, которая указывает на вероятность того, что в окне 32 × 32 в соответствующей

позиции

на

входе

есть

лицо.

Но

что

если

требуется обнаружить лица размером более 32 × 32 пикселей? Для этого достаточно повторно применить ту же сеть к версии изображения, размер которого был уменьшен, например, вдвое, до 512 × 512. Лица размером 64 × 64 пикселя теперь меняют размер на 32 × 32 и могут быть распознаны с помощью той же сети.

Затем

применяем

мы сеть.

еще

раз

Так

уменьшаем

делается

для

изображение

всей

и

снова

последовательности

размеров 256 × 256, 128 × 128, 64 × 64 и, наконец, 32 × 32. В масштабе 32 × 32 можно обнаружить лицо, которое заполняло все исходное изображение. Описанный станем

метод

очень

использовать

пешеходов

и

других

обнаруживают,

его

эффективен.

для

определения

объектов.

распознают

средства,

пешеходов,

светофоры

и

и

Сегодня

беспилотных автомобилей.

дальнейшем

препятствия

в

мы

местоположения

методы

идентифицируют

велосипедистов,

различные

В

такого

типа

транспортные

дорожные системах

знаки,

восприятия

Рис.

6.12.

Результат

обнаружения

лиц

с

помощью

сверточной

сети

со

скользящим

окном при разном масштабировании

Эта система была создана в 2003 г., когда я работал в Исследовательском институте NEC в Принстоне. Она может не только обнаруживать лица, но и оценивать их ориентацию. Данный

пример



фотография

свадьбы

моих

бабушки

и

дедушки

по

материнской

линии в начале 1920-х гг. Моя бабушка выросла в немецком Эльзасе на рубеже веков и приехала в Париж в конце Первой мировой войны, не зная ни слова по-французски (источник: личный архив автора).

Семантическая сегментация со сверточной сетью Семантическая сегментация включает в себя маркировку каждого пикселя

изображения

принадлежит. выход

сети

Она

с

категорией

отличается

активируется,

от

объекта,

к

обнаружения

когда

его

которому объектов,

окно

он где

просмотра

сосредоточено на рассматриваемом объекте. Такая сегментация применяется,

когда

вы

хотите

обнаружить

не

ограниченный

объект, а область изображения, скажем, траву, листву деревьев или

асфальт

должен

на

иметь

дороге.

Например,

возможность

беспилотный

маркировать

автомобиль

все

пиксели

изображения, относящиеся к проезжей части, чтобы знать, куда он

может

поехать,

не

встретившись

с

препятствием.

Аналогичным образом, для системы анализа маммографии важно иметь

возможность

маркировать

все

пиксели,

где

наблюдается

опухоль. В этом случае применяется принцип скользящего окна. Вот пример.

Рис.

6.13. Автономный

мобильный

робот

LAGR

(вверху

слева)

воспринимает

мир

с

помощью четырех камер

У робота две пары стереокамер, с помощью которых он фиксирует пару изображений (одно из них внизу слева). Первая система технического зрения использует различия между двумя принятыми изображениями для оценки расстояния каждого пикселя от камеры. Это позволяет роботу узнать, выступает ли конкретный пиксель изображения из земли или нет, и, следовательно, относится ли он к препятствию или проходимому участку (изображение внизу, в центре: проходимые участки — светлые, а препятствие —

темные).

Такой

метод

хорошо

работает

на

расстояниях

примерно

до

10

м

(на

центральном изображении светлые и темные участки находятся как раз на расстоянии 10 м). Сверточная сеть (вверху справа) обучается маркировать пиксели изображения в зависимости от того, принадлежат ли они к проходимому участку или к препятствию. Впрочем, робот может маркировать сцену из одного изображения и без ограничения расстояния (изображение в правом нижнем углу).

В период с 2005 по 2009 г. я и мои студенты работали над проектом

мобильных

компанией

Net-Scale

моим

бывшим

LAGR

(Learning

роботов) Projects

роботов

в

сотрудничестве

Technologies

коллегой Applied

из

Bell

в

Labs

Нью-Джерси, Урсом

to

Ground

Vehicles,

финансировался

DARPA

(Defense

Agency,

управление

с

небольшой основанной

Мюллером. обучение

наземных

Advanced

перспективных

Проект

Research

исследовательских

проектов Министерства обороны США). Система зрения такого робота позволяла ему передвигаться на реальной местности. Для семантической

сегментации

использовалась

сверточная

сеть

со

64

скользящим окном

.

Такая сеть классифицирует каждый пиксель изображения на три возможные категории: проходимый участок, непроходимое препятствие

и

проходимым категорию,

«ступенька»

участком

и

необходимо

препятствия

(граница

препятствием).

взять

окно

на

между

Чтобы

выбрать

изображении,

создать

категорию для центрального пикселя этого окна и использовать информацию принятии

в

окне

решения.

изображение

в

качестве

Когда

полностью

сеть

контекста,

чтобы

запускается

маркируется.

во

Затем

помочь

в

всех

окнах,

робот

может 65

планировать траекторию, позволяющую избежать препятствий Прелесть

этой

предоставлялись системой

системы

в

людьми,

стереозрения.

том,

а

что

метки

изображений

автоматически

Благодаря

двум

.

не

рассчитывались

парам

камер

у

робота

было два изображения для каждой сцены, снятых с двух разных точек

зрения,

что

человеческих

глаз.

стереозрения,

при

очень К

похоже

ним

котором

на

совместную

применялся на

основе

работу

классический

двух

пары метод

изображений

мы

можем вычислить несоответствие для каждого пикселя, то есть разницу

в

положении

определенного

места

сцены

на

двух

изображениях. Чем больше разница, тем ближе данное место к камере.

Рис. 6.14. a) Сверточная архитектура сети для семантической сегментации (вверху). б) Результат на примере улицы (внизу)

Семантическая сегментация включает в себя маркировку каждого пикселя изображения категорией

объекта

или

области,

к

которой

он

принадлежит.

Категория

пикселя

зависит от его контекста. Серый пиксель на дороге или в небе узнаваем только по его окружению. Сеть ConvNet имеет три канала, которые просматривают изображение в трех разных масштабах. Каждый из этих каналов извлекает на входе представление

окна размером 46 × 46 пикселей. Выход сети — это категория центрального пикселя. В крупном

масштабе

окно

охватывает

почти

все

изображение,

предоставляя

широкий

контекст для классификации центрального пикселя (источник: Farabet et al., 2013, New York University).

Рис.

6.15.

RetinaNet:

сверточная

архитектура

сети

для

обнаружения,

локализации

и

распознавания объектов

RetinaNet — это архитектура ConvNet, которая позволяет одновременно обнаруживать, определять местонахождение, сегментировать и распознавать объекты и области. Она состоит из классической ConvNet, за которой следует «деконволюционная сеть», слои которой

имеют

выходное

все

большее

изображение,

разрешение,

разрешение

чтобы

которого

в

конечном

совпадает

с

итоге

сформировать

разрешением

входного

66

изображения (источник: Lin et al. al., 2018, FAIR

Описанный

метод

позволяет

).

построить

трехмерную

карту

сцены и, следовательно, узнать, что находится на уровне земли (можно такой

пройти),

процесс

а

что

выступает

работает

только

из

на

земли

(препятствие).

небольших

Но

расстояниях,

в

пределах 10 м. Кроме того, когда несоответствие слишком мало (менее

одного

пикселя),

то

оценка

расстояния

не

работает.

Сверточную сеть можно обучить с помощью полученных таким образом

меток

использует

«проходимый

центральный

участок»

пиксель,

и

чтобы

«препятствие». решить,

Сеть

является

ли

препятствием объект, изображению которого принадлежит этот пиксель, позволяет

или нам

не

является.

определить

Область,

природу

окружающая

объекта

пиксель,

(грунтовая

дорога,

куст, ствол дерева). После обучения сеть может применяться ко

всему изображению и обнаруживать препятствия и проходимые участки уже на любом расстоянии.

Рис.

6.16.

Результат

предоставлен

системой

Mask

R-CNN

и

опубликован

в

2017

г.

компанией Facebook

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

места

на

изображении

создается

категория

(например,

67

изображение маски, покрывающее распознанный объект

«человек»)

и

(источник: He et al., 2017,

FAIR).

Такая

идея

сверточной появлению

семантической

сети

со

системы

сегментации

скользящим технического

окном

с

использованием

привела

зрения,

в

в

2009

которой

г.

к

каждый

пиксель изображения был помечен как принадлежащий к одной из

33

категорий:

дорога,

здание,

68

автомобиль

и

др.

На

сегодняшний день данный метод широко используется в системах 69

технического зрения беспилотных автомобилей

.

Такие же методы позволяют сегментировать и биологические (или

медицинские)

(Sebastian

Seung),

технологическом

в

изображения. то

время

институте,

В

2015

г.

работавший

Себастьян

в

реконструировал

Сын

Массачусетском нейронные

цепи

части сетчатки кролика, трехмерное изображение которой было получено

с

помощью

сверточными университета

электронной 70

сетями (NYU)

.

Мои

микроскопии

коллеги

используют

их

из

для

совместно

с

Нью-Йоркского

маркировки

МРТ

тазобедренного сустава. На сегодняшний день сверточные сети присутствуют в большинстве систем распознавания изображений. Всего

за

специалистов

несколько добилось

лет

сообщество

выдающихся

успехов

в

компьютерных обнаружении

и

локализации объектов. Самыми современными из них являются системы FAIR Mask R-CNN и RetinaNet, причем их код доступен 71

для всех

(см. рис. 6.15 и 6.16).

ГЛАВА 7

Внутренности машины, или глубокое обучение сегодня

Искусственный

интеллект

распознавания

и

с

его

возможностями

автоматической

классификации

анализа, помогает

людям решать все виды задач, которые они раньше выполняли сами. Короче говоря, он теперь повсюду! Но

глубокое

обучение

традиционные

методы

кратчайшего

пути,

известных

с

1960-х

не

решения

полностью задач:

логический… гг.,

сегодня,

подвинуло

деревья

поиска,

Множество

благодаря

более поиск

процессов,

технологическому

прогрессу, сделались чрезвычайно эффективными.

Распознавание изображений Кажется, чего уж проще — набрать слово в поисковой системе, чтобы получить в ответ картинку. Тем не менее, это элементарное действие

приводит

искусственного

в

движение

интеллекта.

мощную

Выдавая

инфраструктуру

ответы,

лучше

всего

подходящие для вашего запроса, сверточная сеть должна сначала «просмотреть»

миллионы,

если

не

миллиарды

изображений,

которые она научилась распознавать. В

Google

просматривает Интернете

и

такая

система

коллекции обрабатывает

работает

фотографий их

с

или

помощью

постоянно.

Она

изображения сверточной

в

сети,

которая

занимается

сверточных

их

сетей

идентификацией. ежедневно

В

Facebook

анализируют

несколько

миллиарды

изображений, загружаемых на их сайты. Лодка? Собака? Цветок? Таким

образом

идентифицируются

десятки

тысяч

пользовательских тегов. Чтобы

подготовиться

к

этой

работе,

Google

и

Facebook

собирают миллионы изображений и помечают их вручную (это делают либо сами пользователи, либо специально нанятые люди). Когда

Google

машина?», помощью чтобы

спрашивает:

вы этих

они,

тоже

вносите

данных

в

«На

свою

каком

свой

вклад

инженеры очередь,

изображении в

эту

обучают

могли

видна

маркировку.

сверточные

помечать

С

сети,

миллиарды

изображений, которые не были помечены вручную. Таким

образом,

Google

и

Facebook

создают

списки

тегов,

хранящиеся на серверах их центров обработки данных. При вводе в поисковик «Эйфелева башня» список изображений с надписью «Эйфелева башня» уже существует. И так для миллионов слов или предложений. Таким

же

фотографии

образом

свадеб,

компания

дней

Facebook

рождения,

классифицирует

интерьеров,

самолетов,

кошек, сумок (по маркам) или автомобилей (по моделям). В сети даже есть категория «неизвестных зданий и памятников». Метаданные

упрощают

визуализацию

фотографии.

Турист,

который гуляет рядом с Эйфелевой башней, как показывает его мобильный

телефон,

скорее

сфотографирует

«железную

даму»,

чем Статую Свободы. Визуальное фильтрации

распознавание и

извращенческого

устранения и

также

используется

жуткого,

порнографического

для

насильственного,

визуального

контента.

Такая задача выполняется сверточными сетями, которые нужно обучить

с

помощью

тысяч

жутких

изображений, 72

заранее. Очень неприятная работа для операторов

.

помеченных

И

тяжелая,

запрещенный

к

тому

текст

же.

будет

Мерзавцы

всех

подвергаться

мастей

цензуре,

и

знают, у

них

что есть

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

такое.

Необходимо

использовать

более

сложные

методы для обнаружения подобного текста: после обнаружения символов

на

изображении

транскрибирует (оптического

их

в

текст

распознавания

другая с

сверточная

помощью

символов

технологии

(англ.

Optical

сеть OCR

Character

Recognition). Распознавание изображений преследует и более мирные цели: идентификация вина

и

т.д.

растений,

Оно

анализировать

насекомых,

позволяет видео,

дать

чтобы

птиц,

название

этикеток

месту

бутылок

или

классифицировать

зданию,

действия,

которые там происходят, что очень полезно для того, чтобы знать, кому показывать данное видео, а кому нет. Можно даже описать контент для слепого: текст читается вслух смартфоном.

Встраивание контента и измерение сходства Многие приложения требуют измерения сходства двух объектов, будь то изображения, видео или текст. Если есть два изображения, бывает полезно узнать, похоже ли их

содержание

Возможность

или

нет

сравнения

вне

связи

необходима

с для

их

идентификацией.

поиска

информации,

фильтрации контента и распознавания изображений конкретных объектов

(памятника,

лица,

обложки

книги,

музыкального

произведения и т.д.). Вот

одно

из

его

применений:

после

того,

как

обнаружено

видео, например, с террористической пропагандой, необходимо найти и удалить его копии, которые активисты или сторонники

терроризма торопятся разослать по социальным сетям. Для этого мы должны быстро выявлять сходство таких роликов. Поговорим 73

об этом подробнее

.

Проще говоря, если кто-то сфотографирует этикетку бутылки вина,

система

выполнит

поиск

такой

же

этикетки

и

получит

доступ к информации об этом вине. Или она подтверждает, что на двух

фотографиях

изображен

один

сравнивает

знаменитый

холст,

картин

памятников.

То

или

содержит

ли

данная

статья

же в

и

тот

известное самое

и

с

Википедии

же

человек.

здание

со

текстами, ответ

на

Или

списком

например,

конкретный

вопрос? Рассказывают ли две статьи об одном и том же? Для таких сравнений мы используем технологии, называемые «эмбеддингом» и «метрическим обучением». Эмбеддинг состоит в описании

изображения,

видео

рассчитывается

нейронной

таким

чтобы

образом,

контент,

находились

представляющие друга.

Я

еще

Сеть

контент,

1990-х

вектором,

должна

к

другу,

а

находились

метод, гг.

для

который

быть

описывающие

друг

данный в

текста

вектора,

близко

разный

сеть»,

сетью.

два

использовал

«сиамская

или

обучена

одинаковый

два

вектора,

далеко

получивший проверки

друг

от

название

подлинности

74

подписи

, а в 2000-х гг. — для аутентификации пользователя по

75

лицу

. Система состоит из двух копий одной и той же нейронной

сети. Сеть принимает изображение на входе и производит 1000мерный

вектор

на

выходе.

Это

1000-мерное

пространство

выходных векторов и есть пространство эмбеддинга. Затем мы показываем два разных портрета одного и того же человека двум экземплярам сети. Если мы хотим, чтобы выходные векторы были близкими,

мы

будем

использовать

выход

первой

сети

как

желаемый выход второй сети, и наоборот, а функция стоимости будет

расстоянием

методом вектора

обратного становятся

между

выходами

распространения ближе

друг

к

двух

меняет

другу.

И

сетей. веса

Обучение

так,

наоборот,

что

когда

два мы

предъявляем сети портреты двух разных людей, мы хотим, чтобы

выходные

векторы

находились

далеко

друг

от

друга.

Мы

определяем функцию стоимости, которая уменьшается по мере увеличения

расстояния

между

векторами,

оптимизируем

ее

градиентным спуском и — вуаля. Теперь

у

нас

есть

сеть,

которая

производит

1000-мерные

векторы для фотографии лица. Две фотографии одного и того же человека обеспечат близкие векторы, а две фотографии разных людей обеспечат удаленные векторы. Таким образом, мы можем проверить набором

личность ранее

человека,

сравнив

сохраненных

вектор

векторов

его

портрета

портретов

того

с

же

человека. Системы распознавания лиц Facebook используют те же 76

методы Я

.

состою

компании

соучредителем

Element,

стартапа

и

научным

из

консультантом

Нью-Йорка.

Она

в

предлагает

систему аутентификации на основе простой фотографии ладони, сделанной

с

помощью

смартфона.

Линии

руки

уникальны

для

каждого человека, как и подошва стопы. С ними, в отличие от распознавания без

его

лиц,

вы

ведома.

не

можете

Такое

идентифицировать

приложение

очень

человека

полезно

в

развивающихся странах для доступа к услугам здравоохранения или

использования

программе организует

банковского

одного

счета.

Компания

благотворительного

вакцинацию

и

участвует

фонда,

медицинское

в

который

наблюдение

за

новорожденными в Бангладеш и других странах. С помощью этой технологии мы фотографируем подошвы ног новорожденных (у них

зачастую

сжаты

кулачки),

что

позволяет

их

идентифицировать, избежать повторной вакцинации и сохранить историю их лечения. Эмбеддинг обучена

относится

создавать

также

вектор

к

поиску

эмбеддинга

для

информации. запроса

и

Сеть

вектор

эмбеддинга для контента и определять, расположены ли рядом вектор запроса и вектор искомого контента.

Еще пример. Организация Wildbook (ее название пародирует Facebook),

состоящая

услуги

идентификации

по

из

ученых

и

морских

волонтеров,

предоставляет

млекопитающих

и

других

живых существ. Просто по фотографии кита или косатки, китовой акулы или зебры, леопарда, система, основанная на сверточной сети и метрическом обучении, распознает животное, опираясь на текстуру

и

окраску

его

шерсти,

линию

плавника

или

хвоста.

Система обучается с помощью образцов, помеченных вручную. Таким

образом,

угрожает

Wildbook

опасность,

может

учитывает определить

животных, их

которым

местонахождение

и

77

проследить за их перемещениями

.

Распознавание речи Прежде

всего,

звуковой

сигнал,

должен

быть

сигнал,

как

превращен

в

и

любой

другой

входящий

последовательность

чисел,

называемых образцами, каждый из которых показывает давление воздуха

на

речевого

микрофон

сигнала

в

данный

требуется

10

момент

000

времени.

таких

Обычно

образцов

в

для

секунду.

Большинство систем распознавания речи сначала обрабатывают эту последовательность, как это делает внутреннее ухо человека. Преобразование

создает

представление

сигнала

(подобное

представлению изображения), которое передается в нейронной сети. Рассмотрим в этом звуковом сигнале окно из 256 образцов, которое представляет 25,6 миллисекунды сигнала, то есть малую долю

секунды.

В

этом

окне

программа

предварительной

обработки вычисляет интенсивность звука примерно в 40 полосах частот по всему диапазону человеческого восприятия. Затем окно перемещается наложение

на

между

10

миллисекунд

двумя

во

времени

последовательными

(возникает окнами),

и

программа повторяет тот же расчет, преобразовывая новое окно в 40 чисел.

Итак,

речевой

сигнал

представлен

спектрограммой,

то

есть

последовательностью векторов размерностью 40 через каждые 10 миллисекунд, или 100 векторов в секунду. Сверточная сеть берет окно из 40 векторов (поэтому ее входное «изображение» имеет размер 40 × 40 «пикселей»), представляющее 0,4 секунды речи, и классифицирует элементарный звук, присутствующий в середине окна. Каждый

человеческий

язык

можно

рассматривать

как

последовательность фонем. Во французском языке есть звуки «а», «оу»,

«ой»,

«он»,

«та»,

«ти»

и

т.д.

Каждая

фонема

состоит

из

нескольких элементарных звуков, называемых фонами. Фонема «ой» на самом деле состоит из трех фонов: «о» в начале, «а» в конце

и

промежуточного

краткого

звука

между

ними.

Из-за

большого числа комбинаций язык может содержать до 3000 таких элементарных

звуков.

Например,

звук

«п»

в

середине

слова

«apparaître» не совсем такой же, как в середине слова «opposé»: каждый звук зависит от своего фонетического окружения. Сверточная сеть, называемая в данном случае «акустической моделью»,

классифицирует

звук,

присутствующий

на

записи,

в

одну из этих 3000 категорий. Она выводит список из 3000 оценок, указывающих относится выход

к

сети

на

вероятность

одной

из

3000

представляет

того,

что

категорий

собой

наблюдаемый

фонов.

вектор

с

звук

Следовательно,

3000

компонентов

каждые 10 миллисекунд. Исходя

из

изображение, частотная

этого, размер

каждую

фразу

которого

характеристика

можно

зависит

каждого

от

момента

представить, длины

как

фразы,

звучания

в

а

таком

случае может быть представлена, как аналог яркости. На выходе сети получается последовательность векторов переменной длины с 3000 компонентов.

Рис. 7.1. Несколько примеров «изображений» речи

Каждый

квадрат

представляющее речевого

представляет 0,4

сигнала

секунды

собой речи.

изображение

Каждый

продолжительностью

10

размером

пиксель

миллисекунд

40

×

представляет в

одной

из

40

пикселей,

интенсивность

40

полос

частот

из

этой

(источник: NYU/IBM)[1].

Мы

еще

не

закончили!

Необходимо

извлечь

последовательности ряд слов. Для этого мы используем словесные и языковые модели. Для каждого слова языка модель указывает все образующие его элементарные звуковые последовательности. Ее обучают на разговорных фразах. Языковая модель указывает, какие последовательности слов возможны (или более вероятны) в рассматриваемом

языке.

последовательность последовательность

Чтобы

элементарных слов,

используется

преобразовать

оценок декодер,

звука который

в будет

искать среди последовательностей слов с наивысшей оценкой ту, которая вероятной

соответствует с

точки

последовательности

зрения

языковой

слов,

модели.

наиболее Некоторые

современные системы используют нейронные сети (сверточные или рекуррентные) для достижения всех этих моделей. Таким образом, сверточные сети присутствуют почти во всех приложениях,

где

используется

речь.

Например,

виртуальные

помощники, такие как Алекса, преобразуют запросы в текст для дальнейшего их анализа системой. Этот

метод

мобильном субтитров

на

телефоне к

видео:

распознавание речь,

похож

речи.

бесценный

для

управление

или

все

номеров

автоматическим

это



Существует жителя

набором

добавлением

приложения,

также

Мадрида,

прямой

на

использующие перевод

желающего

речи

в

общаться

с

таксистом из Пекина. Мобильный телефон — посредник в этом диалоге. Клиент говорит по-испански, а его телефон переводит вслух на китайский. Водитель отвечает на китайском, и машина переводит

на

испанский

по

громкой

связи

или

в

наушниках

клиента.

Рис. 7.2. Пример сверточной сети для распознавания речи

Сеть принимает «изображение», представляющее 0,4 секунды речи, и создает вектор оценок для каждого из возможных звуков языка (источник: NYU/IBM)[2], [3].

Синтез речи и звука В последние годы для синтеза звука и речи используется особый тип

сверточной

сети.

Эти

сети

иногда

называют

«деконволютивными», потому что они выглядят как сверточная сеть, вход и выход которой поменялись местами. Входом в эту сеть является последовательность слов или фонем, а на выходе — синтетический Архитектура

речевой этих

сигнал

сетей

с

интонацией,

очень

похожа

просодией на

и

т.д.

архитектуру

распознавания

речи,

в

которой

все

векторы

перевернуты:

деконволютивная сеть создает спектрограмму, аналогичную той, которая

используется

«инвертировать»

для

распознавания.

спектрограмму

и

произвести

Но,

чтобы

речевой

сигнал,

используется отдельно управляемая деконволютивная сеть. В

некоторых

говорящего.

системах

Чтобы

вход

вычислить

имеет

вектор

вектор

эмбеддинга

эмбеддинга

голоса

с

помощью обученной сверточной сети, требуется всего несколько секунд речи человека. Этот вектор подается на вход синтезатора голоса,

который

затем

может

читать

любой

текст

голосом

человека. Это называется «клонированием» голоса. Современные синтезаторы речи настолько точны, что иногда их трудно отличить от говорящего человека. Впрочем, хотя важно уметь говорить, но все-так нужно еще и знать, что сказать, а здесь машины

еще

очень

далеки

от

того,

чтобы

вести

осмысленный

разговор.

Понимание языка и перевод Недостаточно

просто

расшифровать

звуки.

Виртуальный

помощник должен правильно классифицировать сам запрос, то есть

определить

его

содержание

и

смысл.

Система

записывает:

«Какая будет погода завтра?» Или: «Завтра пойдет дождь?», или: «Завтра будет жарко?», при этом виртуальный помощник должен «понимать», что все эти фразы означают «дать прогноз погоды на завтра». около

Для 80

Алексы,

например,

различных

воспроизвести

музыку,

инженеры

намерений: дать

Amazon

позвонить

информацию

о

определили

кому-нибудь,

пробках

на

дороге,

выбрать радиостанцию. Как только намерение будет распознано, 78

сервер Amazon сможет выполнить запрошенную задачу Определение

намерения

необходимо

и

при

. поиске

информации. Этим занимается все больше и больше нейронных сетей, называемых «трансформерами». Когда вы вводите в строку

браузера

«население

следующим

образом.

Армении», Запрос

Google

выполняет

обрабатывается

поиск

нейронной

сетью,

которая представляет его значение в виде списка чисел, другими словами,

вектора.

На

другом

конце

спектра

векторы

контента

были взяты из миллиардов страниц в Интернете. Сеть сравнивает первый

вектор

со

соответствующий

вторым.

этим

Если

они

векторам,

схожи,

контент,

возвращается

сетью

и

отображается поисковой системой. То же самое и с сообщениями. О чем этот пост на Facebook? Политика? Относится ли его контент к «левому» или «правому» политическому неонацистским

крылу? или

Может

ли

расистским?

быть

Что

это

этот —

комментарий

комплимент

или

сарказм? Метод, используемый для представления текста для целевой классификации,

долгое

время

был

следующим:

мы

строили

большой вектор, количество компонентов которого было равно размеру

словаря.

конкретное

Каждый

слово

компонент

появилось

в

тексте,

указывал, так

что

у

сколько

нас

раз

появлялся

некоторый набор слов. Это все очень просто, только слова не по порядку. говорят наборы

Затем ли

два

слов

мы

текста

были

классифицирован очень

хорошо:

сравнивали об

одном

похожи.

этом

и

Входной

нейронной в

эти

сетью.

процессе

векторы, том

же

вектор

выяснить,

предмете, также

Система было

чтобы

если

может

работала,

трудно

их

быть

но

не

определить,

сообщают ли два текста об одном и том же лишь потому, что в обоих случаях используется один и тот же набор слов.

Рис. 7.3. Модель языка, предложенная Йошуа Бенджо и его командой в 2003 г.

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

слой

определенного

типа,

называемого

таблицей

поиска

(LUT).

После

обучения миллионами текстов эти векторы представляют всю полезную информацию о входных словах. Похожие внешне слова, такие как «chien» и «chat», будут представлены

близкими векторами. С момента появления глубокого обучения все лучшие языковые модели используют глубокие нейронные сети.

Более современные методы используют эмбеддинг векторных последовательностей словаре

связано

с

текстовых

вектором

представлений.

размерностью

от

Каждое

100

до

слово

1000.

в

Эти

векторы запоминаются так, что одинаковые слова представлены ближайшими векторами (евклидова метрика). Идея изучения векторов эмбеддинга слов возникла в начале 2000-х годов, когда Йошуа Бенжио опубликовал поразительную статью,

намного

опередившую

свое

время.

Он

предложил

79

архитектуру нейронной сети для языковой модели сегмента

текста

система

обучается

. На основе

предсказывать

следующее

слово. Как представлены слова на входе нейронной сети? У нас есть

список

всех

слов

лексикографическом обозначено

в

лексиконе,

порядке.

номером.

В

этом

отсортированный списке

каждое

Последовательность

слов

в

слово легко

трансформируется в последовательность чисел, заменяя каждое слово его номером в списке. Затем у нас есть список векторов — LUT (таблица поиска, англ. Lookup Table), который для каждого индекса слова предоставляет вектор эмбеддинга. Векторы Сеть

имеет

выходной

LUT

обучаются,

несколько

слой,

как

веса

скрытых

который

слоя

слоев,

создает

линейных

за

большой

нейронов.

которыми вектор,

следует дающий

вероятность того, что данное слово в лексиконе появится после определенной

последовательности

слов,

представленных

как

входы. Преобразование взвешенных сумм на выходе последнего линейного

модуля

осуществляется функции,

в

модулем

обобщенной

для

вероятностное softmax

(реализация

многомерных

распределение логистической

случаев).

Этот

модуль

вычисляет экспоненту каждого из своих входов и делит их на их сумму. Таким образом, мы получаем ряд чисел от 0 до 1, сумма которых

составляет

1:

это

и

есть

распределение

вероятностей.

Модуль

softmax

используется

практически

во

всех

классификационных приложениях. После обучения векторы LUT используются для представления слов.

Они

содержат

всю

информацию,

позволяющую

системе

предсказать следующее слово, как согласно его значению, так и с точки

зрения

множеству никогда

его

фраз,

не

будет

синтаксической

даже

таких

как

роли.

«молоко

словосочетаний

типа

Система

на

столе»,

«машина

на

обучена но

в

нем

столе».

Во

фразах «он видел собаку в саду» и «кошка в саду» слова «собака» и «кошка»

встречаются

самопроизвольно «кошке»

и

в

аналогичных

назначает

«собаке»,

но

контекстах.

одинаковые

разные

векторы

векторы «молоку»

Система

эмбеддинга и

«машине».

Точно так же она поступает с названиями мест, месяцев и т.д. В более

общем

смысле,

когда

слова

играют

аналогичную

роль

в

предложении, их векторы эмбеддинга похожи. В

период

с

2008

по

2011

г.

бретонец

Ронан

Коллобер

и

британец Джейсон Уэстон, работавшие в лаборатории японской компании

NEC

встраивания.

в

Принстоне,

Они

заметно

доказали,

что

усовершенствовали со

сверточной

идею

сетевой

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

работа

встретила

ожесточенное

сообщества

исследователей,

естественного

языка.

Статья

сопротивление

занимавшихся

Коллобера

и

со

стороны

обработкой

Уэстона

даже

стала

предметом насмешек. Это несправедливо, потому что они указали правильный путь. В 2018 г. они получили награду ICML Test of Time,

которая

присуждается

опубликованную

десятью

конференции

машинному

по

за

самую

годами

ранее

обучению

выдающуюся на

статью,

Международной 80

(ICML)

.

Джейсон

и

Ронан теперь работают исследователями в Facebook. В 2013 г. Томаш Миколов, молодой чешский исследователь, работающий в Google, еще раз поднял идею обучения языковой модели. Он предложил очень простую архитектуру, которую он

назвал Word2vec и которая оказалась настолько эффективна при представлении текстов, содержащих слова, что распространяется со

скоростью

лесного

представления Вскоре

текста,

после

своего

этого

появления

исследователями Арманом

81

пожара

чтобы

Томаш там

Жуленом

в

Все

понять

также

он

Петром

.

используют

его

значение

перешел

в

сотрудничал

Бояновски,

проекте

для

или

стиль.

Facebook.

После

с

французскими

Эдуардом

FastText,

ее

Гравом

который

и

значительно

82

улучшил производительность Word2vec приложения

и

добился

распространяемая

с

охвата

открытым

157

, расширил область его

языков.

исходным

Система

кодом,

FastText,

используется

83

тысячами инженеров по всему миру

.

Мир искусственного интеллекта взбудоражился. В конце 2014 г. Илья Суцкевер (бывший ученик Джеффа Хинтона) опубликовал на съезде NIPS статью, которая произвела эффект разорвавшейся 84

бомбы

. Он построил большую нейронную сеть для перевода с

одного

языка

на

другой,

возможности

которой

заметно

превзошли методы, использовавшиеся до того. В

«классических»

методах

перевода

использовалась

статистика, рассчитанная на параллельных текстах. Сколько раз фраза «увидимся позже» переводится с французского как «à plus tard»?

Сколько

Выявляя языке

эту

с

переводы.

раз

слово

статистику

учетом Но

мы

классические

языков

переводится

переупорядочивая

синтаксиса,

эти

неродственных

и

«banque»

получаем

системы

(например,

слова

как

«банк»?

на

целевом

приблизительные

плохо

французского

работают и

для

китайского)

или для языков, в которых порядок слов сильно несхож (как в английским и немецким: в последнем глагол часто находится в самом конце предложения). В 1997 г. немецкими исследователями из Швейцарии Зеппом Хохрайтером

и

Юргеном

85

Шмидхубером

была

предложена

архитектура рекуррентной сети, называемая LSTM (Long Short-

Term

Memory,

использовать

долгая

краткосрочная

многослойную

LSTM

память).

для

Они

предложили

кодирования

значения

предложения в вектор, а затем использовать другую сеть LSTM для

пословного

назывется

перевода

«seq2seq»:

на

целевой

язык.

преобразование

Этот

тип

задачи

последовательности

символов в другую последовательность символов (совокупность подходов

в

машинном

обучении

для

обработки

естественных

языков). Такая система хорошо работает только с относительно короткими

предложениями:

предложения,

они

когда

«забывают»

его

LSTM

достигают

начало!

Кроме

конца

того,

эта

система требует больших вычислительных ресурсов и не может быть развернута в больших масштабах. Однако

в

следующем

(2015)

г.

у

Кенхена

Чо,

молодого

корейского исследователя с докторской степенью из лаборатории Йошуа

Бенджио

стажера чтобы

из

в

Германии,

кодировать

размера,

Монреале,

почему

Дмитрия

возникла

все бы

и

блестящая

предложение не

Богданау,

в

позволить

идея.

вектор

сети

молодого

Вместо

того

фиксированного

сосредоточить

свое

«внимание» на той части предложения исходного языка, которую она

переводит?

Например,

системе

необходимо

перевести

английский текст: «В этом доме две ванные комнаты. У жены есть своя, а у мужа — своя». (англ., согласно автору: «In this house, there are two bathrooms. The wife has her own and the husband his own.»; femme

франц. a

la

«Dans

sienne

cette

et

le

maison,

mari

la

il

y

a

deux

sienne.»)

В

salles

de

bains.

английском

La

языке

местоимение связано с субъектом, а во французском с объектом. Чтобы

закончить

предложение

(«а

муж…»),

система

должна

решить, переводить ли «его собственная» на «его» или «свою». Но чтобы

определить

объекту

«ванная

правильную комната»,

форму, который

он

должен

стоит

в

обратиться

к

предыдущем

предложении. Первые оказалась

результаты эффективнее

были и

многообещающими:

намного

дешевле

в

система

требованиях

к

процессору спустя

и

памяти,

чем

лаборатория

университете

у

86

Суцкевера

Криса

приняла

.

Несколько

Мэннинга

участие

в

в

месяцев

Стэнфордском

международном

конкурсе

87

машинного перевода WMT —

и

победила!

подхватили группу

все

Калифорнии, архитектура

Началась

группы,

Майкла

, используя идеи группы из Монреаля

Аули,

новая

работающие немецкого

создавшего которой

золотая

была

над

лихорадка:

переводом,

исследователя

отличную основана

включая

из

систему на

идею

FAIR

в

перевода,

сверточных

сетях,

дополненных механизмом внимания (техника, используемая для поисков

взаимосвязи

между

частями

входных

и

выходных 88

данных). Его система выиграла соревнование WMT 2019

.

Архитектура BERT (в середине) учится представлять тексты, предвосхищая слова входного предложения, которые ранее были скрыты

от

сети.

одновременно развивает

Многоязычная

представлять

внутреннее

версия

предложение

представление

внизу

и

его

учится

перевод

независимо

от

и

языка

89

(источник: «Guillaume Lample et Alexis Conneau)

.

В конце 2017 г. уже группа ученых из Google использует для своей

системы

перевода

статья

называется

масштабные

«Внимание



это

«схемы

все,

что

внимания».

вам

нужно».

Их Они

окрестили свою архитектуру «Трансформером». Спустя несколько месяцев сообщество потрясло еще одно изобретение, родившееся в лаборатории Google. Свою новую переводческую систему они назвали

BERT

Transformers,

(Bidirectional

Encoder

«двунаправленный

искусственного интеллекта»).

Representations

кодировщик

на

from основе

Рис. 7.4. Архитектура «seq2seq» (перевод последовательности в последовательность), используемая в автоматическом переводе, BERT/трансформере и многоязычном BERT

Модуль кодирования разрабатывает представление значения предложения. На входе в кодер

каждое

словом,

слово

представляется

«выучивается»

машиной.

вектором.

Вектор,

Кодирование

ассоциированный

объединяет

эти

с

векторы

каждым в

так

называемую «трансформаторную» сеть со сложной архитектурой, которая представляет значение

как

последовательность

векторов.

Декодер

выдает

слова

перевода

одно

за

другим. Чтобы сгенерировать каждое из этих слов, он принимает в качестве входных данных ранее переведенные слова, а также вывод модуля внимания, который позволяет ему сосредоточиться на части входного предложения, соответствующей слову, которое он в данный момент возвращает (источник: Michael Auli).

Этим начатую

акронимом

они

продолжают

исследователями

из

традицию

Института

сокращений,

искусственного

интеллекта Аллена в Сиэтле, которые назвали свою систему ELMo (Embeddings from Language Models, т.е. векторное представление слов

из

языковой

интеллекта

модели).

веселятся:

ведь

Исследователи

Элмо

и

Берт



искусственного

персонажи

детской

телепрограммы «Улица Сезам». Идея

ELMo,

Word2vec

BERT

и

и

некоторых

FastText,

самостоятельного

других,

заключается

обучения.

таких в

Вернемся

как

Bengio,

использовании

к

общей

идее

самостоятельного обучения. В данном случае оно включает в себя отображение

последовательности

слов,

взятых

из

входящего

текста большой сетью «преобразователей», маскирование 10–20% слов и обучение системы предсказанию пропущенных слов. Для этого

система

должна

узнать

значение

слов

и

структуру

предложений. Внутреннее представление слов и фраз, выученных сетью

этого

превосходно,

типа то

(обученной

есть

на

достаточно

миллиардах

хорошо,

предложений)

чтобы

сформировать

входные данные для системы перевода или понимания. Статья о 90

BERT была размещена на сайте arXiv в октябре 2018 г. подачей

материалов

на

конгресс

ICLR.

В

течение

перед

нескольких

недель команды из Facebook, Hugging Face (французский стартап чат-ботов)

и

других

компаний

воспроизводят

результаты

и

публикуют свои коды. В реальности, статья не была представлена в ICLR до мая 2019 г., но за это время она уже получила более 600 цитирований!

Этот

пример

иллюстрирует

скорость

создания

и

распространения идей. В

июле

модель,

2019

г.

команда

вдохновленную

Optimized

BERT

оптимизированный огромную Language

базу

BERT

Facebook и

названную

Pretraining BERT»,

данных

Understanding

и

пропустила

традиция

RoBERTa

Approach, игры

возглавила

Evaluation,

через

слов

рейтинг

общая

свою

(Robustly «надежно

продолжается), GLUE

оценка

(General

понимания

языка) — конкурс, включающий в себя целую серию заданий на 91

понимание языка)

.

Конкуренция

все

росла.

Менее

чем

за

год

исходный

BERT

поднялся на 12-е место. В тройку лидеров (по состоянию на июль 2019

г.)

входят

RoBERTa

(Facebook),

XLNet

(Google)

и

MT-DNN

(Microsoft). На четвертом месте мы обнаруживаем… человека. Впрочем, все это очень относительно. Например, одна из задач 92

GLUE — разрешение так называемой «схемы Винограда обозначаются

предложения,

в

которых

ссылка

на

». Так

местоимение

неоднозначна, например: «скульптура не помещается в коробку, потому

что

она

слишком

большая»

или

«скульптура

не

помещается в коробку, потому что она слишком маленькая». В первом случае местоимение «она» относится к скульптуре, а во втором — к коробке. Но вы должны иметь некоторые знания о том,

как

устроен

местоимение используют

с

мир,

чтобы

правильным

этот

пример,

иметь

словом.

чтобы

возможность

Исследователи

показать,

что

связать

ИИ

машинам

часто нужно

больше здравого смысла. До недавнего времени лучшие системы ИИ не превышали 60% правильных совпадений. Лучшие системы сегодня

приближаются

к

90%.

Все

еще

далеко

от

95%

производительности человека. Идея обучения завершению предложений набирает обороты. В начале

2019

Artificial

г.

два

молодых

Intelligence

компании

Facebook)

исследователя

Research, в

из

лаборатория

Париже

FAIR

(Facebook

исследования

предложили

для

AI

перевода

модифицированную версию BERT и назвали ее XLM (Cross-Lingual Language

Model,

т.е.

межъязыковая

модель

языка).

Их

идея

состоит в том, чтобы представить системе два предложения, одно на

французском,

предсказывать

другое

на

пропущенные

английском, слова.

Но

и

при

научить этом

систему

она

может

использовать слова английского предложения (например, слово «blue»,

т.е.

«синий»

или

«голубой»),

чтобы

сделать

вывод

о

наличии замаскированного слова «bleu» с тем же значением во французском

предложении.

При

этом

система

находит

общее

представление

независимо

от

языка.

После

обучения

такие

93

системы могут улучшить работу переводчиков

.

Прогнозирование Экономика

любит

управление

ресурсами,

прогнозирование

спроса на тот или иной продукт, предсказание изменений цены акции

или

финансовой

стоимости.

Даже

если

(особенно

в

последнем случае) данные очень трудно интерпретировать. Если бы было иначе, каждый мог бы узнать заранее цены на фондовом рынке и разбогатеть в один миг. Финансовые новости были бы намного менее забавными. Прогнозирование (Électricité

de

потребления

France

S.

A.,

энергии

позволяет

французская

EDF

государственная

энергетическая компания, крупнейший в мире оператор атомных электростанций) управлять

или

любой

коммунальной

производительностью

компании

электростанции

и

лучше

эффективно

распределять ресурсы с минимумом потерь. Как это делается? Распределяющие компании постоянно измеряют потребление электроэнергии в районе или в городе. Эти измерения образуют серию

чисел,

жилом

районе

низкое.

Оно

которые в

зависят

течение

от

недели

увеличивается

местоположения.

потребление

между

7

и

9

Ночью

в

электроэнергии

часами

утра,

когда

жители просыпаются, затем снижается, когда они идут на работу или

в

школу,

поскольку

и

находится

некоторые

на

том

люди

же

уровне

остаются

в

дома.

течение Оно

дня,

затем

увеличивается вечером и остается на одном уровне примерно с 22 часов вечера до полуночи, когда люди ложатся спать. Потом оно, естественно,

снижается.

Кривая

распределения

будет

немного

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

Таким

образом,

временными

рядами:

показателями, солнечного

электроэнергетическая жилой

такими

как

освещения,

1,

жилой

наружная

время

суток,

компания 2

и

т.д.

оперирует

и

другими

температура,

уровень

индикатор

дня

(1

для

буднего дня, 0 для выходных или праздничных дней). Каждый час характеризуется

списком

подобных

индикаторов.

Этот

список

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

сверточную

потребления.

Выход

сеть



это

для

считывания

простая

«изображения»

взвешенная

сумма

входов.

Такой же метод используется и в финансовом прогнозировании. Модель «авторегрессии» опирается на предыдущие показатели и предсказывает

их

будущие

значения.

Для

этих

моделей

вам

просто нужно рассчитать правильные коэффициенты. Но такой метод уже неактуален, если вход в систему сложный, то есть когда несколько факторов работают одновременно (например, в случае энергопотребления). Еще

одна

сфера,

в

которой

прогнозирование

стало

очень

важным, — это реклама. Для компаний, размещающих контент в Интернете,

принципиален

кликабельности

(CTR)

так

называемый

(click-through

rate,

коэффициент

соотношение

числа

кликов на баннер к числу показов баннера, важный показатель для интернет-маркетинга): Google, Facebook или, скажем, такая компания как Criteo, хотят знать, на какую рекламу люди будут «нажимать»,

потому

что

от

этого

зависит

их

доход.

Чтобы

эти

компании были успешными, им необходимо свести к минимуму количество

предоставляемых

рекламных

объявлений

при

максимальном доходе. Следовательно, есть задача предоставлять пользователям

только

ту

рекламу,

которая

сможет

их

заинтересовать. Иначе пользователям будет скучно, а скука имеет 94

отпугивающий эффект

.

Примерами обучения являются значения в определенный час в

определенный

наблюдаемое

день,

а

желаемый

потребление

в

выход

течение



это,

следующего

например,

часа.

Вместо

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

через

нам

нелинейные

вычислять

более

функции. сложные

Укладка

слоев

отношения

входа-

выхода, чем при линейном прогнозировании. Чтобы рекламу, входов, людей

предвидеть используется

которые к

тому

представляет получаются

мы

или

этот

из

вероятность нейронная обучаем

иному

сеть

для

и

с

на

большим

конкретную количеством

прогнозирования

контенту.

контент

анализа

«клика»

В

качестве

предпочтения

взаимодействия

интереса

входов

человека,

пользователя

вектор

которые с

другим

контентом в прошлом. Данная модель основана на миллиардах ежедневных кликов на страницах Facebook или Google. Нейронная сеть предсказывает, нажмет ли человек на данную рекламу,

предлагая

оценку.

Затем,

если

человек

действительно

нажимает на нее, нейронная сеть поднимает оценку. В противном случае оценка смещается вниз. При выборе объявления, которое будет

отправлено

ей

в

следующий

раз,

данная

будет учтена. Поэтому сеть постоянно обучается.

корректировка

Рис. 7.5. Прогнозирование энергопотребления в городе

Сверточная

сеть

«наблюдает»

состояние

входа

в

течение

дня

или

более,

а

потом

ей

предлагают предсказать, каково будет потребление через час, через день, через неделю или через месяц.

Facebook делает все то же самое для размещения рекламы в ленте

новостей.

Google

порядка

отображения

«птичий

грипп»

в

использует результатов

Google,

его

также

поиска.

поисковая

для

Если

система

определения вы

наберете

зафиксирует,

что

люди никогда не кликают на первые четыре результата, а вот на пятый

кликают.

списке.

Поэтому

Эти

методы

Google

поднимает

сегодня

этот

результат

используются

в

всеми

рекламодателями.

Искусственный интеллект и наука Глубокое

обучение

различных открытие струй

науках:

в

получило

астрофизике

экзопланет),

частиц,

широчайшее

в

физике

вызванных

применение

(классификация

элементарных

столкновениями

галактик

частиц

ускорителя

в и

(анализ частиц

CERN в Женеве), в материаловедении (создание метаматериалов

с новыми свойствами), в социальных науках (масштабный анализ социальных

взаимодействий),

в

нейробиологии

(понимание

механизмов восприятия в головном мозге) и так далее. Наиболее многочисленные например,

применения

для

предсказания

(«фолдинга»)

белков.

аминокислот,

образуют

синтезируются

относятся

на

биомедицине,

пространственной

Белки,

состоящие

основу

основе

к

клеток

структуры

из

всех

генов

структуры множества

организмов.

Они

(последовательность

нуклеотидов в ДНК). После

формирования

конфигурацию, выполнять

чтобы

белки

складываются

взаимодействовать

различные

функции,

с

в

определенную

другими

которые

белками

определяются

и

их

пространственной формой. Необходимо иметь возможность предсказать биохимические механизмы, белков,

которые

чтобы

обеспечивают

найти

новые

правильную

лекарства

или

конфигурацию

методы

лечения,

которые бы предотвратили сцепление двух белков или, наоборот, способствовали основа

бы

наиболее

их

95

сцеплению

эффективных

.

Нейронные

методов

в

сети

данной



это

области

96

(например, система AlphaFold от DeepMind

).

Архитектура «больших» приложений: автономный автомобиль Напомню, чтобы у вас не разыгралось бурное воображение: хотя в 2019 г. системы помощи водителю уже широко используются в автомобилях,

полностью

экспериментальными. движение

автономные

В

автомобиля

модели

большинстве

должно

все

еще

случаев

контролироваться

остаются

автономное человеком,

готовым перехватить управление. Почти «теологические» дебаты разделили сообщество ИИ на две

партии.

Сторонники

«хотя

бы

какого-то

обучения»

верят

в

сквозную

систему

глубокого

обучения:

чтобы

обучить

систему,

необходимо подключить ее вход к камере автомобиля, а выход — к

педалям

наблюдать

и за

рулевому

колесу,

водителями-людьми

а в

затем

позволить

течение

системе

нескольких

тысяч

часов. Со

своей

стороны,

я

полагаю,

что

автономные

системы

вождения пройдут три фазы: 1. Большая часть системы будет программироваться вручную, а глубокое обучение будет использоваться только для восприятия информации, скажем, о дорожной обстановке; 2. Больше внимания будет уделяться обучению; 3. У машины появится достаточно здравого смысла, чтобы управлять автомобилем безопаснее человека.

Автономия и смешанная система Одной

из

система

первых

систем

израильской

помощи

компании

водителю

на

MobilEye,

рынке

была

впоследствии

приобретенная Intel. В 2015 г. MobilEye предоставила компании Илона

Маска,

производящей

электромобили

Tesla,

систему

технического зрения для почти автономного вождения по трассе на основе сверточной сети. Им была оснащена модель Tesla S. Минутка «юмора»! В июне 2013 г. меня пригласили выступить с

докладом

о

моем

исследовании

на

конгрессе

COLT

(англ.

Computational Learning Theory, крупнейшая в мире конференция по теории компьютерного обучения) в Принстоне. В аудитории Шай

Шалев-Шварц,

профессор

Еврейского

университета

в

Иерусалиме, специализирующийся на теории обучения, проявил большой сетей.

Он

Поступив

интерес

к

собирался в

практическому поработать

компанию

преимущества

тем

сверточных

же

в

применению течение

летом,

сетей.

И

он

тут

года

сверточных в

MobilEye.

продвигал

началось!

в

массы

Инженеры

MobilEye сразу же приняли его предложение относительно своей бортовой системы. Менее чем через 18 месяцев новая сверточная сетевая

система

была

предоставлена

компании

Tesla,

которая

интегрировала ее в свою модель 2015 г. Год спустя Tesla решает разработать

свою

собственную

систему

вождения,

и

две

компании расходятся. Вот и делай людям добро, как говорится! Чтобы

повысить

некоторые

надежность

компаний

восприятия

и

«смешанного» дорожную

«мухлюют»,

принятия

подхода,

карту,

в

автономных чтобы

решений.

которые

которой

систем

вождения,

упростить

проблемы

Это



используют

перечислены

сторонники

очень

все

подробную

знаки,

наземные

разметки и другие заранее записанные сведения. В сочетании с GPS

и

очень

автомобиля

точной

бортовая

движущиеся например,

системой

система

объекты,

а

дорожные

оценки

распознает

также

работы.

местоположения

только

автомобили

непредвиденные Помимо

камер,

и

препятствия, большинство

беспилотных автомобилей используют радары для обнаружения ближайших

транспортных

средств

и

«лидары»,

о

которых

мы

поговорим чуть позже. Подобные восприятия: полос

системы

используют

обнаружение

движения,

сверточные

проходимых

других

участков,

сети

для

обнаружение

автомобилей,

пешеходов,

велосипедистов, дорожных работ и различных препятствий. Их обучали,

показывая

транспортных тротуары,

им

средств,

светофоры

тысячи

дорожную в

велосипедов, разметку,

различных

пешеходов,

дорожные

условиях.

Они

знаки,

научились

идентифицировать их, даже когда они частично скрыты другими объектами. С 2014 г. Waymo, дочерняя компания Alphabet (материнская компания

Google),

проводит

испытания

автомобилей

без

водителя в районе Сан-Франциско. Люди на борту — сотрудники Google. В 2018 г. в Аризоне запустили беспилотные такси. Место подходящее: широкие дороги, мало транспорта, хороший климат.

Там

почти

всегда

ясная

погода.

Инженеры

Waymo

используют

смешанную систему со множеством сложных датчиков (радаров, лидаров,

камер),

сверточной

сети

сочетающую и

запрограммированные которые

точно

пешеходные

позволяет

обнаруживать Это

правила

указывают

местоположение,

работ.

классический

переходы,

технологий

визуальное

знаки

непредвиденные

подробные

Такая

точно

скорости,

комбинация свое

объекты

наподобие

правильно

карты,

определять

движущиеся

события,

автопилоту

планирования,

ограничения

светофоры…

распознавать

позволяет

метод

вождения,

автомобилю

распознавание

и

дорожных

реагировать,

когда

машина подъезжает к перекрестку и нужно использовать правило приоритета. Но наблюдение по-прежнему обеспечивает человек, сидящий на переднем пассажирском сиденье (которое теперь уже не называется «сиденьем мертвеца»!). Лидар

(Light

обнаружения подробную работает

Detection

препятствий

трехмерную

по

принципу

and и

Ranging,

устройство

определения

карту

дальности)

окружения

радара,

светового

который

создает

автомобиля. измеряет

Он

время,

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

карту

которое

расстояния,

для

каждого

то

есть

360-градусное

направления

дает

изображение,

расстояние

до

ближайшего объекта по этой точной оси. Это облегчает работу системы обнаружения препятствий. Но высокопроизводительные лидары по-прежнему дороги, хрупки, сложны в обслуживании и чувствительны лидарами

к

целый

погодным таксопарк,

условиям. но

нельзя

Можно снабдить

оборудовать ими

всех

и

каждого. В

хороших

условиях

беспилотный

автомобиль

вполне

надежен. В период с 2014 по 2018 г. в Калифорнии произошло

всего 59 столкновений, притом что производители беспилотных автомобилей

обязаны

были

сообщать

обо

всех

происшествиях, 97

даже незначительных, которые произошли на дороге

.

Пример: 18 марта 2018 г. в Темпе в пригороде Феникса, штат Аризона,

беспилотный

автомобиль,

испытываемый

Uber,

сбил

женщину, которая переходила ночью неосвещенную дорогу, повидимому, находясь под действием метамфетамина, бросив свой велосипед в 120 метрах от пешеходного перехода. Во время прессконференции в Лас-Вегасе Джон Крафчик, генеральный директор Waymo, косвенно задал Uber вопрос на эту тему: «В Waymo мы уверены,

что

наша

технология

могла

бы

справиться

с

такой

ситуацией» (человек, бросающий велосипед и проходящий не по пешеходному вызвавшей

эту

напомнил, Google

переходу).

что

трагедию, с

проехали

2009

г.

более

8

Причины

дисфункции

неизвестны.

Джон

автономные млн

км

по

системы,

Крафчик

транспортные дорогам,

также

средства

пересекаемых

пешеходами, не попав ни в одну аварию со смертельным исходом. Пока

еще

слишком

рано

делать

какие-либо

выводы,

но

эти

показатели все же можно оценить в перспективе: частота ДТП со смертельным исходом для автомобилей, управляемых человеком, составляет в среднем одно на каждые 160 млн км в США.

Полная автономия? Сквозное обучение Перейдем к сквозному обучению, когда система учится, имитируя водителя-человека. Автомобиль течение

К

может

получаса,

2019

г.

спокойно но

рано

такого

метода

ездить

или

по

поздно

еще

не

появилось.

проселочной начинает

дороге

в

ошибаться,

и

водитель-человек должен брать управление на себя. Поэтому резервные

необходимо

системы,

сделать

которые

подстраховку,

будут

то

контролируют

есть те,

создать которые

созданы специально для обнаружения пешеходов, препятствий и разметки

на

дороге.

Если

резервная

система

определяет,

что

машина едет плохо, она корректирует траекторию. Для создания таких

машин

нужно

выполнить

еще

много

инженерных

работ.

Если бы у нас были модели, которые могли бы предсказать, что будет

происходить

с

машиной

и

последствия

ее

действий,

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

спасает

человеческие

жизни,

но

технология

полностью автономных автомобилей еще по сути не изобретена. Следует

различать

полуавтономное

вождение,

когда

водитель-

человек продолжает нести ответственность за управление, даже если на практике он ничего не делает, и автономное вождение, когда

автопилот

работает

совсем

без

внешнего

контроля.

Эра

автономного вождения без участия человека начнется с того, что парк

транспортных

курсировать

по

средств

с

спокойным

сенсорным

пригородам.

экраном

будет

Прогресс

будет

медленным, пока не появятся беспилотные легковые автомобили в Париже, Риме или Мумбаи.

Архитектура «больших» приложений: виртуальный помощник Виртуальные

помощники

одновременно.

используют

Например,

энергосберегающая

несколько

Алекса

программа

приложений



небольшая

удерживает

динамик

подключенным в режиме ожидания и для включения использует специальной

словесный

пароль.

После

включения

мы

сможем

«поговорить» с ассистентом. Пройдя через микрофоны, звуковой 98

сигнал, который помощник получает, оцифровывается

.

У Алексы есть система распознавания речи в дальней зоне. Как и

мобильный

микрофонами,

телефон, чтобы

Алекса

сосредоточить

оснащена внимание

несколькими на

говорящем

человеке

и

нейтрализовать

принципом

окружающий

формирования

микрофоны

являются

направленными,

шум

направленного

в

соответствии

луча.

Некоторые

разнонаправленными,

ориентированными

на

с

другие

основной



источник

звука. Система принимает сигнал с направленного микрофона и вычитает сигнал из окружающего шума, оставляя только голос человека. То же самое мы делаем, когда концентрируемся на том, чтобы следить за словами собеседника в шумном ресторане. Система акцентами

распознавания и

тембрами

речи

должна

голосов.

иметь

Такие

дело

системы

с

разными

существуют

с

1980-х годов, но только после использования сверточных сетей они

научились

необычные

правильно

голоса

и

т.д.

распознавать

Например,

у

детей,

детей

акценты,

часто

возникают

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

женщина,

распознавания

а

для

затем каждого

использовала из

них.

разные

Сегодня

системы

достаточно

одной

сети, обычно сверточной. Речь,

преобразованная

в

числа,

передается

на

серверы

Amazon. Именно они распознают речь, то есть транслируют ее в текст. Это делает обученная нейронная сеть, разная для каждого языка. Она активируется при настройке системы. Затем вторая нейронная

сеть

определяет

намерение.

Итак,

существуют

две

последовательные сети. Промахи

возможны

на

уровне

первой

сети.

Вопрос:

«Вы

умеете распознавать речь?» (англ. «Can you recognize speech?») может быть интерпретирован обученной сетью двумя способами —

либо

так,

как

написано

выше,

либо:

«Сможете

ли

вы

разгромить красивый пляж?» (англ. «Can you wreck a nice beach?», что звучит довольно сходно с предыдущей английской фразой). Вы

можете

слово

запутать

нечетко

заменить

одно

или

систему

быстрее,

слово

распознавания

чем

другим,

нужно.

похожим

речи,

Система на

произнеся

также

него,

что

может может

привести которые

к

неверному

толкованию.

предсказывают

слова,

Нужны

языковые

следующие

за

модели,

определенным

фрагментом текста. Они есть во всех системах распознавания. Они вступают в дело сразу за нейронной сетью распознавания речи и пытаются, если есть

какие-то

двусмысленные

интерпретацию.

Если

слова,

последовательность

найти слов,

лучшую

предложенная

системой распознавания, не имеет смысла с грамматической или семантической оценку.

точки

Машина

зрения,

языковая

модель

запрограммирована

даст

на

ей

низкую

поиск

другой

интерпретации с более высокой оценкой, с тем же алгоритмом, который

используется

для

поиска

маршрута:

лучшая

интерпретация произнесенной фразы — это путь с более высокой оценкой

в

матрице

возможных

последовательностей

слов.

Матрица — это своего рода граф, в котором каждая вершина — это

слово,

каждая

а

путь

вершина

(т.е.

последовательность

соединена

со

вершин,

следующим

в

которой

ребром)



это

последовательность слов. После завершения данных операций система может запросить разъяснения или непосредственно произвести ответ, синтезируя речь,

соответствующую

тексту

ответа.

Классические

системы

преобразования текста в речь использовали сегменты записанной речи

и

склеивали

интонации

для

используют

эти

сегменты

создания

нейронные

вместе,

предложения. сети,

своего

изменяя

при

Современные рода

этом

системы

сверточную

сеть,

которая используется «в обратном направлении». Одно уточнение. «Шпионит» ли умная колонка за жизнью в доме?

И

находится

да, в

и

нет!

Да,

режиме

потому

что

«непрерывного

виртуальный

помощник

прослушивания»,

чтобы

определять слова, которые его разбудят: «Алекса», «Окей, Гугл» или «Привет, Портал» и т.п. Как только предложение записано, оно

отправляется

на

серверы.

Там

оно

в

конце

концов

распознается, и вырабатывается ответ. Если после «пробуждения»

виртуальный

помощник

регистрирует

крики,

сопровождающие

домашнее насилие, сервер ничего не делает. Он мог бы сделать это физически, но этически это невозможно. По крайней мере, так уверяют крупные компании: Amazon, Google или Facebook, которые

должны

хакерское

защищать

приложение

для

свою

репутацию.

мобильного

Но

телефона,

если

это

написанное

неизвестным подростком, следует проявлять осторожность.

Архитектура больших приложений: медицинская визуализация и медицина Сверточные

сети

обычно

(магнитно-резонансной

используются

для

томографии),

рентгена,

КТ

МРТ

(компьютерной

томографии), для обнаружения опухолей, в ревматологии и при протезировании. Для

классического

рентгеновского

снимка,

такого

как

маммограмма, где у вас есть два изображения, поскольку снимок делается по двум осям, обученная сверточная сеть «смотрит» на небольшой

участок

изображения.

Она

реагирует

на

подозрительный пиксель. Это прямое применение семантической сегментации сверточной сетью. Для

ее

обучения

вам

понадобится

большая

коллекция

маммограмм, помеченных радиологами, которые нарисовали на снимках

контуры

определенного маленьких

опухолей.

размера,

изображений.

в

Эти

изображения

результате

Один

за

чего

другим

разбиты

на

получаются

они

окна

сотни

отображаются

в

сверточной сети, которой сообщается, что есть опухоль или что ее нет

в

центре

окна.

Так

она

учится

классифицировать

окна

в

зависимости от наличия опухоли или ее отсутствия. После развертывания эта сверточная сеть проходится по всему изображению пиксель:

«Есть

и

для

каждого

опухоль»

или

окна

маркирует

«Опухоли

нет».

центральный

По

окончании

процесса

она

создает

своего

рода

изображение,

на

котором

опухоль окрашена, и дает оценку достоверности обнаружения. Если сеть ничего не обнаружила, ответ прост: «проблем нет», что

характерно

для

большинства

маммограмм.

Если

есть

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

стоимость

и

время

на

диагностику

и

позволяет

практикующему врачу сосредоточиться на сложных случаях. Этот процесс

также

снижает

шансы

пропустить

опухоль

по

невнимательности, поскольку часто врач проводит долгие часы в темной

комнате

перед

экраном,

рассматривая

в

основном

нормальные случаи.

Старые рецепты: алгоритмы поиска Распространенное приложение, о котором мы уже говорили, — это поиск маршрута. Оно рассчитывает расстояние и время в пути в соответствии с выбранным видом транспорта и даже включает в себя условия движения в реальном времени. Карты Google, Waze, Mappy — все они используют сложные методы, основанные на алгоритмах

поиска

более

короткого

пути,

принципы

которых

восходят еще к 1960-м гг. Обучение здесь не требуется. Мой брат Бертран,

бывший

ученый,

который

сейчас

работает

в

Google

в

Париже, специализируется на алгоритмах, лежащих в основе этих методов,

которые

называются

«распределенными

комбинаторными алгоритмами оптимизации».

Рис. 7.6. Выявление доброкачественных и злокачественных опухолей на маммограммах с использованием сверточной сети

В левом столбце светлые области указывают на опухоли высокого риска, выявленные при биопсии; в среднем столбце — доброкачественные опухоли, идентифицированные сверточной

сетью;

а

в

правом

столбце



злокачественные

опухоли,

идентифицированные этой сетью. Даная сеть была обучена на 1 млн изображений и превосходит

по

надежности

людей-радиологов,

но

лучшая

производительность

достигается при объединении ИИ-систем с усилиями радиологов (источник: Wu et al., 2019, NYU[4]).

Рис. 7.7. Архитектура сверточной сети для сегментации МРТ бедра

В отличие от людей-радиологов, данная система может напрямую наблюдать объемное изображение.

Входом

в

сверточную

сеть

является

трехмерное

изображение,

сформированное из всех срезов объемного изображения МРТ (источник: Deniz et al., 2017, NYU[5]).

Рис. 7.8. Автоматическая сегментация сверточной сетью головки бедренной кости на МРТ-изображении

Сверточная сеть принимает на вход объемное изображение МРТ бедра. Сеть маркирует каждый

«воксель»

(объемный,

т.е.

трехмерный

эквивалент

пикселя)

в

показателях

вероятности того, что этот воксель принадлежит бедренной кости. Такой целостный взгляд на объем позволяет системе производить более точную сегментацию бедренной кости,

что

облегчает

операции

по

замене

тазобедренного

сустава.

Правое

верхнее

изображение представляет результат сегментации МРТ бедренной кости, полученной с помощью

трехмерной

сверточной

сети.

Этот

результат

более

точен,

чем

при

использовании других методов (источник: Deniz et al., 2017, NYU).

Решение кратчайшего

проблемы пути

в

на

таком

виде

графе.

представляет

Компьютерный

собой

граф

поиск



это

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

два

перекрестка.

Ссылки

и

узлы

связаны

с

рядом

чисел,

которые указывают на характеристики сегмента: среднее время в пути (которое корректируется в реальном времени в зависимости от трафика), изменение этого времени, плата за проезд, характер дороги и т.д. Простой, неэффективный алгоритм исследовал бы все

возможные

пути

между

двумя

точками,

вычислял

время

в

пути и находил самый быстрый. Но такой метод был бы слишком медленным

даже

алгоритмы

быстро

длинные

для

для

мощных

отказываются

текущего

компьютеров. от

путей,

предположения.

Эффективные

которые Кроме

слишком

того,

они

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

Этот

общий

называется

метод

поиска

«динамическим

кратчайшего

пути

в

графе

программированием».

Он

используется во многих системах искусственного интеллекта для навигации, текста

в

распознавания

графе

и

возможных

перевода

слов),

а

речи

также

(поиск

для

лучшего

декодирования

последовательностей битов, передаваемых на ваш смартфон или космический

зонд,

или

для

маршрутизации

битовых

пакетов

в

сетях связи. Это — мастер на все руки. Грандиозные

шахматные

системы

или

системы

го

также

используют поиск путей на графе. Но этот граф принимает форму дерева, корнем,

в

котором

каждое

текущая

звено

позиция

представляет

шахматной собой

ход,

доски а

является

узел

в

конце

последнего звена представляет собой конфигурацию шахматной доски

после

некоторой

последовательности

ходов.

Таким

образом, путь от корня к данному узлу или, если использовать метафору,

к

«листу»,

представляет

собой

последовательность

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

имеет

астрономические

размеры:

около

100

000

миллиардов листьев. Поэтому приходится хитрить. Итак, игра в шахматы. Настала очередь белых. Относительно простая

программа

соответствии

с

производит

правилами

игры,

все

возможные

заданными

машине

ходы

в

(пешка

перемещается на одно поле, но в первый раз она может сделать ход

на

два

образом,

поля;

слон

программа

движется

принимает

по во

диагонали внимание

и

т.д.).

каждую

Таким

фигуру,

рассматривает все возможные ходы белых и создает каталог всех возможных новых конфигураций шахматной доски. В среднем на каждый ход приходится 36 возможных вариантов. Таким

образом

возникает

перевернутое

дерево,

ветви

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

возможные

ходы.

Даже

самой

Deep

Blue

(шахматному

суперкомьютеру компании IBM, выигравшему матч в шахматы у Гарри

Каспарова

в

1997

г.)

потребуется

сотня

часов,

чтобы

исследовать их. Поэтому мы должны внедрить методы «обрезки» этого

дерева

возможностей,

чтобы

сделать

метод

более

эффективным. Затем мы даем системе функцию, которая оценивает качество позиций

на

доске

для

белых

и

черных.

Эта

функция

оценки,

созданная в сотрудничестве с шахматными экспертами, включает в

себя

критерии

защищены

друг

хорошей другом,

шахматной

отсутствуют

расстановки:

фигуры

материальные

потери,

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

которым

Каждая

из

этих

угрожают

фигуры

характеристик

соперника,

выражается

невелико

некоторым

и

т.д.

числом.

Эти числа образуют вектор признаков, который обрабатывается своего

рода

перцептроном

без

обучения.

Он

вычисляет

взвешенную сумму и производит оценку. Тем самым программа как бы говорит: «Данная позиция хороша для такого-то игрока». Система возвращает положительное число, если расстановка дает белым хорошие шансы на победу, и отрицательное число, если нет. Другими словами, «при такой конфигурации ваши шансы на победу равны плюс 35; для этого — минус 10; для этого — плюс 50».

При

исследовании

считает,

что

программа,

противник

также

которая будет

играет

играть

белыми,

так,

чтобы

максимизировать свой рейтинг. После того, как белые сыграют, черные

будут

искать

наиболее

следовательно,

самую

отрицательный

рейтинг).

выгодную

невыгодную В

свою

позицию

для

очередь,

для

них

белых

белые

и,

(самый

ищут

лучшую

позицию для себя и т.д.

Рис. 7.9. Поиск по дереву в применении к шахматам

Для каждой из возможных позиций на доске после того, как белые сделали ход, черные могут в среднем сделать 36 разных ходов. Затем у белых снова есть 36 возможных ходов для каждой из этих раскладок, то есть 36 × 36 и т.д. Получается экспоненциальный рост числа вариантов. Подведем втором,

итоги.

или

Есть

1296

возможностей.

На

36

возможностей

возможностей, девятом

ходу

36

×

мы

на 36

первом ×

имеем

36

×

36

возможностей

возможностей

на

третьем

дело

ходу,

уже

36

со

100

000

млрд

(46

на

656)

возможных

последовательностей.

Чтобы

сократить

потенциальный каждом

ходе

исследование

размер

она

дерева,

сохраняет

возможностей,

программа

только

ветки

учитывая

сокращает

дерева,

его.

На

получающие

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

и

дальше.

максимальное

Наконец, количество

система очков

определяет

для

белых

соответствующий первому узлу в этой ветви.

и

окончательное выбирает

ход,

Таким

образом,

программа

сохраняет

только

определенные

узлы дерева, поскольку черные по умолчанию также играют на победу.

Эта

функция

оптимальными

оценки

позволяет

настройками,

при

ограничить

которых

«разведку»

виртуальный

игрок

делает ходы, максимально благоприятные для противника, когда для

того

настала

очередь

ходить.

И

затем

мы

спускаемся

все

глубже в разветвления при том же объеме вычислений и памяти. Вот

так

в

свое

время

эта

классическая

форма

искусственного

интеллекта взяла верх над чемпионом мира по шахматам Гарри Каспаровым. Новые поиск

машины

по

устроены

древу.

Вместо

иначе. этого

Они

меньше

большая

используют

нейронная

сеть

«наблюдает» за доской или игрой в го и сразу же предсказывает рейтинг всех возможных ходов. Системы AlphaGo и Alpha Go Zero от DeepMind, как и система OpenGo от FAIR, используют для этого сверточную сеть. В Alpha Go Zero сеть обучается, играя против себя миллионы игр. Она усиливает стратегии, ведущие к победам, и ослабляет стратегии, ведущие к поражениям. Это обучение «с подкреплением»:

вы

не

даете

машине

правильного

ответа,

а

просто говорите ей, что ее ответ хорош или не очень хорош, как будто

поощряя

участием

и

наказывая

поиска

по

ее.

дереву

В

сочетании

этот

с

метод

небольшим

обеспечивает

действительно сверхчеловеческие возможности. Подобные

системы

могут

быть

также

обучены

контролируемым обучением, имитируя людей-игроков, чьи игры постоянно

записываются.

гигантских

вычислительных

Однако

эти

мощностей.

тренировки После

требуют

тренировки

мы

можем просто запустить сверточную сеть на шахматной доске го или шахматной доске, и она дает нам шанс сыграть. Но, как и в случае

с

улучшается,

гроссмейстерами-людьми, если

объединить

подкреплением обучения.

систему

с

производительность поиском

по

дереву

и

Однажды

я

столкнулся

с

бывшим

чемпионом

Франции

по

шахматам, гроссмейстером, который одновременно играл против 50 человек. Он смотрел на шахматную доску и через несколько секунд

точно

знал,

какую

фигуру

нужно

двигать,

а

затем

переходил к следующему человеку. Мы ждали, когда он подойдет к нам, ходили, он поглядывал на доску, смеялся, потом тоже ходил и

выиграл

у

нас

уже

буквально

после

шахматы)!

Такому

после

нескольких гению,

десяти ходов

как

он,

ходов. (я

не

Я

очень

нужен

выбыл плохо

поиск

из

игры

играю

по

в

дереву,

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

ГЛАВА 8

Моя работа в компании Facebook

В

2012

г.

победа

сверточной

сети,

предложенной

Джеффри

Хинтоном и его командой из лаборатории Торонто, потрясла всю область

искусственного

Торонто

выложил

образом, образом

код

довольно

интеллекта. этой

широкое

воспроизвести

графических операции

эти

процессорах,

очень

сети

быстро

в

К

тому

открытый

сообщество

на

позволяющих с

университет

доступ.

смогло

результаты

и

же

Таким

независимым

сверхсовременных

выполнять

числовые

затратами

ресурсов.

малыми

Сверточные сети в итоге стали достоянием мирового сообщества. Лаборатория собственная долгое

Йошуа

Бенжио

лаборатория

время

обеспечение,

в

в

Нью-Йоркском

использовали

но

оно

не

Монреале

(Канада)

университете

аналогичное

подходило

для

и

новых,

моя

(NYU)

программное очень

мощных

видеокарт. В

2012

г.

машинное

обучение

уже

оказалось

в

центре

всеобщего внимания; им заинтересовалась цифровая индустрия. В

начале

2013

инженеров

г.

в

компании

приступила

обеспечением

Торонто

к

для

Facebook

небольшая

экспериментам распознавания

с

группа

программным

изображений

и

лиц.

Они быстро добились хороших результатов, о которых сообщили техническому отделу, а потом и руководству всей компании. Марк

Цукерберг

Facebook, момент

начали

компания

и

Майк

Шрепфер,

задумываться Facebook

о

только

технический

будущем

директор

компании.

отметила

свое

На

тот

десятилетие.

Дела

ее

шли

успешно:

зарекомендовала

себя

сеть на

котировалась рынке,

на

бирже,

перешла

на

хорошо

мобильную

телефонию и т.д. Но летом 2013 г. Марк и Майк пришли к выводу, что важной составляющей компании Facebook (или, сокращенно, FB) должен стать искусственный интеллект. Поэтому они решают приступить

к

НИОКР

(«научно-исследовательские

и

опытно-

конструкторские работы») в этой области.

Меня нанимает Марк Цукерберг Пройдет совсем немного времени, и я узнаю об этом! В начале лета

2013

г.

на

конференции

по

компьютерному

зрению

я

встретил инженеров компании Facebook, которые уже работали над

сверточными

работе.

В

Аурелио

конце

лета

Ранзато,

университета.

сетями

Он

и

делились

компания

одному

из

работал

Facebook

моих

на

опытом

проделанной

обратилась

докторантов

позиции

о

к

Марку

Нью-Йоркского 99

постдока

с

Джеффри

Хинтоном в Торонто, прежде чем стал сотрудником Google X — секретной лаборатории, где группа ученых также работала над глубоким обучением и нейронными сетями. Компания Google не хотела говорить об этом, но Джон Маркофф, журналист New York Times,

специалист

по

техническим

и

научным

вопросам,

100

обнародовал данную информацию Итак,

компания

Facebook

.

захотела

переманить

Марка

Аурелио. Я посоветовал ему не соглашаться: у Facebook не было исследовательской продолжать сказал

лаборатории,

занятия

мне,

деятельность.

что

Марк

фундаментальными

компания

Через

а

месяц

Аурелио

хотел

исследованиями.

хочет

начать

Марк

Аурелио

Он

исследовательскую все-таки

решает

перейти в Facebook — Марк Цукерберг и Майк Шрепфер лично наняли

его!

Кремниевой талантливый

Типичный долины:

как

человек,

подход только

они

изо

технологических в

их

всех

поле сил

зрения будут

компаний попадает стараться

переманить

его

на

свою

сторону.

Сам

генеральный

директор

компании может взять телефон и позвонить человеку, который их заинтересовал. Я

тоже

был

видеосвязи

со

под

прицелом.

Шринивасом

Тем

летом

Нараянаном,

я

разговаривал

лидером

по

команды,

которая активно проводила эксперименты с глубоким обучением в

компании

Facebook.

Несколько

недель

спустя

я

пообщался

с

Майком Шрепфером, моим будущим руководителем. В сентябре мне позвонил Марк Цукерберг. Это был наш первый разговор. Он рассказал

мне

о

своих

планах

и

своем

интересе

к

ИИ:

«Вы

сможете нам помочь?» — спросил он. Я не понимал, как. Я не хотел бросать преподавание в университете и переезжать из НьюЙорка в Кремниевую долину. На этом мы тогда и закончили. В конце ноября мне нужно было съездить в Калифорнию на семинар.

Марк

Аурелио,

которого

тоже

пригласили,

попросил

меня зайти в Facebook и посмотреть на то, чем они занимались. Вскоре после этого помощник Марка Цукерберга предложил мне приехать пораньше. Итак, за день до моего официального визита в Facebook я обедал наедине с его руководителем в его доме. Конечно же, мы обсуждали ИИ! Я прекрасно понимал, что он обдумал

все

свои

вопросы

и

хорошо

подготовился



он

даже

прочитал мои статьи! Он всегда так делает, когда его интересует та или иная тема. То же самое было с виртуальной реальностью или влиянием компании Facebook на демократию. Я такого не ожидал. Этот молодой генеральный директор был чем-то похож на мудрого старика. Занимая высокую руководящую должность, мало кто сможет выделить время на то, чтобы взять в свои руки переговоры, прочитать литературу по теме и даже развивать свои технические навыки. Вечером

он

снова

спросил

меня,

смогу

ли

я

им

помочь.

Я

объяснил ему, как я создал исследовательскую лабораторию ИИ. До

поступления

руководил

в

Нью-Йоркский

промышленной

университет

исследовательской

я

шесть

лет

лабораторией

в

AT&T.

По

своему

подчиняться

опыту

я

знаю,

определенным

функционировать:

если

мы

что

такое

учреждение

должно

чтобы

хорошо

правилам,

хотим

добиться

результатов,

мы

должны предоставить ученым свободу творчества и не побуждать их

к

созданию

устойчивость

и

инвестировать публиковать

можно

репутацию

в

нее

статьи.

исследования обеспечение

скороспелых

свои

У

должно

распространять

были

быть

иметь и

структуры, силы

меня

должны

приложений.

и и

Гарантируйте

чтобы

время.

свои

позволять

а

исходный

другим

могли

Поощряйте

личные

обнародованы,

открытый

они

им

их

требования: программное

код,

который

использовать

его,

в

том числе в своей продукции и услугах. Марк успокоил меня: компания Facebook уже делится своими технологиями, включая дизайн центров обработки данных, что случается

довольно

происходят

из

техническим

редко.

мира

Многие

лидеры

открытого

директором

кода.

Facebook,

«голубого Прежде

Майк

101

сайта»

чем

Шрепфер

стать

занимал

такую же должность в Mozilla, некоммерческой организации. На следующий день в штаб-квартире компании я встретился с дюжиной инженеров из AI Group, к которой принадлежал Марк Аурелио. В конце дня я снова встретился с Марком и Майком, которые рассказали мне о своем проекте. Я снова сказал им, что не

хочу

бросать

работу

в

Нью-Йоркском

университете

и

переезжать, и они согласились с этим условием. Руководители Нью-Йоркского университета дали мне согласие на неполный рабочий день. Я был уверен, что сделал правильный выбор.

У

меня

уверенностью

были

все

подходил

нужные

к

новой

навыки.

Я

должности.

не

всегда

Когда

я

в

с

такой

43

года

получил свою первую работу в области преподавания, у меня не было опыта. Я хорошо разбирался в машинном обучении, но в других областях ИТ я не чувствовал себя столь уверенно, чтобы их преподавать. глубине

души

Хоть я

я

и

был

молился,

закоренелым

чтобы

мне

не

атеистом,

пришлось

где-то

в

преподавать

операционные

системы

или

компиляцию



самые

сложные

базовые дисциплины. Но на тот момент у меня уже был нужный опыт,

гарантии

от

Марка

Цукерберга

и

сохраненная

преподавательская должность. Чего еще я мог пожелать? Через

несколько

Международная Шрепфер

дней

на

озере

конференция

решили

принять

Тахо,

NIPS.

участие

штат

Марк в

Невада,

Цукерберг

семинаре,

прошла и

Майк

посвященном

глубокому обучению, который состоялся после конференции. С одной

стороны,

они

хотели

лучше

познакомиться

с

исследовательским сообществом, а с другой, публично объявить о создании новой лаборатории в сотрудничестве со мной, и прежде всего — нанять новых сотрудников! Присутствие Марка, Йошуа Бенжио и других ученых создавало проблемы для организаторов семинара:

все

хотели

попасть

на

него!

Нужно

было

найти

помещение побольше, усилить охрану… Генеральный директор Facebook удивил аудиторию своими познаниями. В те выходные Марк, Майк и я провели около 20 собеседований, в результате чего наняли примерно десяток специалистов. Удивительно, что компания согласилась раскрыть результаты своих исследований. Я лично нашел для этого пять причин. Вопервых,

мы

все

убедились

в

том,

что

невозможно

привлечь

серьезных исследователей, если им запрещено публиковать свои работы. науку

и

Карьерный

успех

технологии,

а

измеряется

известными

влиянием

они

этих

становятся

работ

на

благодаря

статьям, которые предварительно оценивают редакции журналов, в

которых

заседают

исследовательские «Банковский полученных

счет»

их

работы

коллеги.

официально

исследователей

благодаря

их

После



это

публикациям.

одобрения публикуются.

количество

Одним

цитат,

словом,

без

публикаций нет карьеры. Все это объясняет, почему компаниям, которые предпочитают секретность (я не буду их называть), так трудно нанимать талантливых людей.

Во-вторых,

качество

методологии

и

достоверность

информации возрастает, когда ученым известно, что их работа будет

проходить

тщательную

фундаментальные

проверку.

исследования

порой

А

поскольку

трудно

оценивать,

цитирование другими учеными является показателем важности их вклада. Я считаю, что мы должны не только побуждать ученых к

публикации,

но

и

принимать

во

внимание

влияние

их

публикаций при оценке их работы. В-третьих, открытия не возникают сами по себе. Они являются кульминацией проб

и

долгого

ошибок,

необходимо

процесса.

разработки

обмениваться

и

Сначала

они

проходят

тестирования.

мнениями

с

этапы

Исследователям

коллегами

из

других

лабораторий, чей опыт может полезен. Это напоминает хождение взад-вперед, однако оно приносит свои плоды. Но чтобы вступить в дискуссию с исследователем, необходимо внести свой личный вклад и предложить собственные идеи. Следовательно, компании получают своей

выгоду

области

от

обмена

только

в

информацией

том

случае,

со

если

специалистами

сами

в

«подключают

голову» к исследованиям. В-четвертых,

ценность

промышленной

лаборатории

заключается в способности компании определять перспективные разработки

и

лаборатории

быстро

имели

их

внедрять.

возможность

Необходимо,

оперативно

чтобы

сотрудничать

с

производственными или оперативными отделами. Но последние не

всегда

хорошо

понимают

потенциальное

влияние

научного

прогресса. Иногда компаниям нужна поддержка всего научного сообщества,

чтобы

убедиться

в

достоинствах

того,

что

было

создано в их собственных лабораториях! И, наконец, хорошие научные публикации создают компании репутацию инновационного бренда. Ведущие

ИТ-корпорации,

такие

как

Facebook,

Google

или

Microsoft, постоянно создают что-то новое. Одни публикуют свои результаты,

а

другие

в

свою

очередь

улучшают

их

уже

через

несколько недель или месяцев. Но технологии будущего требуют крупных

научных

достижений,

прогресса.

Очень

обладать

необходимым

достижения,

важно

когда

виртуальных

либо

с

не

они

только

предложить

опытом, дадут

помощников

сопоставимым

а

или

что-то

чтобы

о

себе

роботов

человеческим,

технологического свое,

распознать

знать.

с

или

На

уровнем

потребуются

же эти

создание

интеллекта,

десятилетия

и

несколько технологических революций. Ни одна компания, какой бы крупной она ни была, не обладает монополией на хорошие идеи.

И

ни

одна

компания

не

обладает

настолько

обширной

базой, чтобы в одиночку пуститься в авантюру. Постижение тайн интеллекта и его воспроизведения в машинах — одна из самых сложных

задач

нашего

международного максимально

времени,

научного

полный

и

она

нуждается

сообщества,

обмен

для

в

поддержке

чего

требуется

результатами

и

методами.

Распространяя программное обеспечение с открытым исходным кодом, мы помогаем сообществу развиваться. Если вы сталкиваетесь со стартапом, руководители которого заявляют,

что

результатами, уровня,

они

они

обладают

относящимися или

лгут

вам,

к

какими-либо

ИИ

или

чуть

ли

не

обманывают

секретными человеческого

сами

себя.

Не

доверяйте им!

Исследовательские лаборатории Facebook В 2019 г. Исследовательская лаборатория ИИ компании Facebook (FAIR)

базировалась

(Калифорния,

США),

вспомогательные

в

четырех

Нью-Йорк,

лаборатории

были

городах: Париж созданы

Менло-Парк и

также

Монреаль; в

Сиэтле

(Вашингтон, США), Питтсбурге (Пенсильвания, США), Лондоне и Тель-Авиве. сотрудников,

В

каждой однако

из

них

работает

в

сумме

не

так

уж

много

исследовательский

штат

значителен: летом 2019 г. более 300 исследователей и инженеров

были

рассредоточены

по

разным

лабораториям

в

Северной

Intelligence

Research),

Америке и Европе. Лаборатория открывшаяся одной

из

в

FAIR

(Facebook

июне

самых

2015

важных.

г.

Artificial

во

Она

2-м

округе

Парижа,

поспособствовала

является

динамичному

развитию «экосистемы» искусственного интеллекта во Франции и в

континентальной

партнерские частности

с

Европе.

отношения Inria,

и

с

В

Париже

FAIR

государственными

университетскими

установила

лабораториями,

отделами

в

аспирантуры.

Наш центр нанял около 15 докторантов CIFRE (фр. La convention industrielle

de

конвенция

formation

par

la

recherche,

научно-исследовательской

разрывались

между

аспирантской

промышленными

работой.

Таким

т.е.

промышленная

подготовки),

которые

лабораториями

образом,

FAIR

и

своей

финансировала

часть государственных исследований и способствовала обучению следующего Первые 2019

поколения

несколько

г.,

и

их

исследователей

докторантов

работа

оказала

во

защитили реальное

Франции

и

Европе.

диссертации

весной

интеллектуальное

и

практическое влияние на машинный перевод, понимание текста, распознавание

речи,

видеопрогнозирование,

самостоятельное

обучение и т.д. Большинство из них были приняты на работу в различные европейские лаборатории. FAIR также наняла некоторое количество ученых, работающих неполный

рабочий

материалами

и

лабораториями.

день,

которые

налаживали Возможность

могли

пользоваться

сотрудничество

правильно

с

нашими другими

распределить

время,

чтобы заниматься образованием и работать в лаборатории, стала одной из основных мер, принятых правительством в отношении ИИ

после

доклада

искусственному

Виллани

интеллекту

(Седрик как

Виллани,

европейской

«Придать и

смысл

национальной

стратегии», доклад французскому правительству). Я хочу также напомнить о пожертвованиях и оборудовании, которое

мы

предоставляли

государственным

лабораториям

и

учреждениям, таким как PRAIRIE (англ. PaRis Artificial Intelligence Research

InstitutE),

новому

парижскому

центру

передовых

технологий в области искусственного интеллекта, находящегося под

патронажем

правительства.

Мы

вели

лекции

и

курсы

в

европейских университетах и на Летних школах. В 2015–2016 гг. я лично

ежегодно

цифровых

следил

наук

поддерживала

в

за

работой

Коллеж

де

стартапы,

кафедры 102

Франс

.

частично

компьютерных

Компания

и

Facebook

финансируя

«бизнес-

инкубатор» Station F и создавая обучающие программы. Что же касается дополнительных доходов, то Александр Лебрен, бывший старший инженер FAIR в Париже, и его коллега Мартин Рейсон покинули исследовательскую группу в начале 2019 г. (с согласия компании

Facebook)

ради

создания

стартапа

Nabla,

многих

сильное

ориентированного на ИИ. Открытие

FAIR

в

Париже

произвело

на

впечатление. Со своей стороны, корпорация Google представила в Париже проект Google Brain — исследовательскую лабораторию по

изучению

примеру.

ИИ.

Компания

Наконец,

Valeo,

DeepMind Thales,

последовала

PSA

и

тому

многие

же

другие

французские компании тоже создали исследовательские группы и разработки в области ИИ. Я

думаю,

что

в

большей

степени

создание

FAIR

побудило

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

во

Франции

не

было.

Другими

словами,

Facebook

сделал

искусственный интеллект популярной темой. Но когда в 2013 г. меня нанял исследовательский центр «синей соцсети»,

то

есть

приняли

на

работу

в

лабораторию

в

Менло-

Парке, штат Калифорния, то у меня все еще так и оставалось с десяток Аурелио

инженеров Ранзато,

и

мой

три

исследователя,

бывший

студент.

Я

в

том

сам

числе

остался

в

Марк Нью-

Йорке. В течение нескольких месяцев я нанял десять талантливых

специалистов,

которые

исследовательской месяцы

мы

репутацию

лаборатории

трудились, и

изо

специалистов.

теперь

Нам

не

являются

Facebook

покладая

всех

сил

приходилось

руководителями

AI

рук.

Research. Мы

пытались много

Первые

зарабатывали

привлечь

рассказывать

новых

о

наших

методах работы. Это Марку

было

связано

Цукербергу

с

за

теми

тем

принципами,

обедом

у

него

которые дома:

я

изложил

долгосрочная

работа и возможность продвигать науку без особого беспокойства о

немедленном

создании

приложений.

Свобода

для

исследователей заключается в том, чтобы работать над тем, что они

считают

наиболее

опубликованные

перспективным.

исследования,

как

в

Открытые

учебном

и

заведении.

Бесплатные и доступные всем исходные коды. Сотрудничество с лабораториями в учебных заведениях. FAIR была ориентирована на долгосрочную работу, но я знал, что она потребует довольно срочных практических результатов от своих изобретений и открытий. Мы оценили масштаб проблемы и решили, что исследователи должны работать в своем привычном режиме.

Но

нужно

было

заставить

остальную

часть

компании,

которая до этого была сосредоточена на разработке конкретных продуктов,

заинтересоваться

преобразовать

их

в

нашими

программное

результатами

обеспечение

или

и

полезную

продукцию. Нам удалось сойтись во мнении ради единой цели. На кону было будущее нашей исследовательской лаборатории. Некоторые влияние пришло

из

на в

результатов

компанию,

голову

должны

чтобы

задаться

никому

вопросом,

группа вложила столько денег в ИИ.

Специализация

были

иметь из

почему

положительное

руководителей

не

исследовательская

Хотя

Марк

Цукерберг

понимали,

что

не

ставил

некоторые

перед

области

нами

точных

применения

целей,

ИИ

мы

особенно

важны для общества: понимание текста, перевод, распознавание изображений и, в частности, распознавание лиц. В Менло-Парке исследовательская Инженеры

группа

одной

уже

работала

израильской

над

этим

компании,

вопросом.

приобретенной

Facebook, успешно экспериментировали со сверточными сетями. Именно

они

убедили

Марка

Цукерберга

продолжать

исследования и заниматься разработками в области ИИ. У нас было очень много работы. В конце 2013 г. машинное обучение

только

новостной

начинало

ленты,

информации.

Это

использоваться

размещения

по-прежнему

обучение,

которое

регрессию



рекламы

было

использовало,

вероятностную

для и

фильтрации

классическое

например,

версию

организации

машинное

логистическую

перцептрона



деревья

принятия решений, «пакеты слов» и т.д. Глубокого обучения было еще очень мало. Хотя

часть

разработку

деятельности

приложений,

лабораторией

FAIR

она

все

фундаментальных

была

же

в

ориентирована

основном

исследований

с

на

оставалась

определенной

автономией. Мы редко использовали данные Facebook. Если мы работали над системой распознавания речи, машинного перевода или

понимания

естественного

языка,

мы

тестировали

ее

с

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

использовали

алгоритм

перевода,

Европейского

мы,

же

все

Сообщества.

Таким

Например,

прочего,

который

парламентские образом,

поддающуюся

методологию.

базы.

среди

парламента,

сгруппировал

используя

те

наука

проверке

улучшить

использовали,

за

сессии

чтобы

последние на

различных

продвигалась и

данные 10

лет

языках вперед,

воспроизводимую

Вскоре после моего прихода в FB я понял, что для создания продукции и услуг с помощью новых методов, разработанных в FAIR,

требуется

отдельная

прочувствовал

на

группа.

себе

исследований

Там

группы

две

Bell

весь

фундаментальных наши

В

Labs

и

процесс,

к

AT&T

Labs

ведущий

конкретным

фундаментальных

я от

приложениям. и

прикладных

исследований находились в соседних офисах и использовали одни и

те

же

программные

инструменты.

Прикладные

исследования

порой превращают ведущих ученых в инженеров. Позвольте мне высказаться

по

этому

поводу:

двое

таких

ученых

защитили

докторскую диссертацию по теоретической физике, но, не сумев найти 1980

должности г.,

они

профиля.

С

в

университете

после

сокращения

переквалифицировались

их

математическим

в

бюджета

инженеров

образованием

они

бы

в

общего щелкали

теорию нейронных сетей и машинного обучения, как орешки. Но

вернемся

организовать машинному возглавил

к

Facebook.

Я

убедил

исследовательскую обучению

Хоакин

(AMLA,

руководство

группу

Applied

Киньонеро

по

прикладному

Mashine

Кандела,

компании

Learning).

бывший

Ее

сотрудник

Microsoft, который занимается системами машинного обучения для

размещения

Хоакин



испанец,

французской докторскую Германии

рекламы. он

средней

работал

Великобритания. французском,

оба

вырос

в

школе,

диссертацию он

Мы

английском,

в

он

в

учился

в

и

а

постдока

в

Кембридже,

на

датском

во

Испании,

После

Research

говорил

немецком,

где

учился

Дании.

Microsoft

Поэтому

по-французски.

Марокко,

затем

защитил в

говорили

испанском, немного

на

арабском! Настоящий европеец, живущий в Кремниевой долине. В Microsoft он уже занимался прикладными исследованиями. В

первые

годы

поспособствовало

сотрудничество развитию

распознавание

изображений.

распознавание

речи,

все

FAIR

некоторых Но

было

не

в

и

действительно

областей,

других

так

AML

областях,

радужно.

таких таких

как как

Маркетинговые

группы

интересовали

которые

инструменты

разрабатывались

в

рамках

машинного

AML,

поэтому

обучения,

у

инженеров

оставалось мало времени на более долгосрочную работу. С другой стороны, нанять

в

группу

по

инженеров,

интеллекте

и

AML

необходимо

было

специализирующихся

машинном

обучении.

в

короткие

на

Задача

сроки

искусственном

была

непростой,

потому что компании разбирали таких сотрудников как пирожки! В итоге, чтобы сотрудничество FAIR и AML стало по-настоящему эффективным, нам понадобилось несколько лет. Научный прорыв имеет ценность для компании только в том случае, если он быстро превращается в продукцию. Техническое руководство компании должно оценить потенциальную отдачу от такого

прорыва

и

инвестированию

согласиться

ресурсов

в

взять

проект

на

себя

развития.

риск

по

Инженеры,

составляющие основную часть компании, должны сами убедиться в

возможности

превратить

научный

прорыв

в

технологические

инновации, создать продукт и внедрить его. Однако иногда мы сталкивались

со

скептицизмом.

Чем

дальше

вы

продвигаетесь,

тем дороже будет каждый ваш шаг и выше недоверие к тому, что вы

создали.

навыки

Важную

роль

технического

технологические

в

решении

менеджмента.

этой

проблемы

Именно

компании-гиганты

эти

такими

играют

люди

делают

успешными:

менеджеры-инженеры! Мы смогли извлечь урок из опыта таких компаний, как Xerox и AT&T, чьи лаборатории изобрели большую часть технологий современного мира, но руководство, не поняв коммерческой выгоды этих изобретений, зачастую пренебрегало продвижением своей продукции и отдавало всю прибыль другим. В

2018

г.

Facebook

создала

проект

Facebook

AI,

который

охватывал все исследования и разработки компании. Этот проект курировал

FAIR,

«Facebook

AI-Applied

произносится

как

AML

(который

был

Research»,

что

«fire»)

и

несколько

переименован на

в

FAIAR,

английском

языке

других

лабораторий.

Во

главе Facebook AI стоял другой француз: Жером Песенти, бывший сотрудник IBM, которой он продал свой стартап. Благодаря

этому

сотрудничество распознавания экранах

FAIR

и

FAIAR.

изображений

миллиардов

обычно

общему

такой

людей

процесс

Инновации

и в

направлению

переводе течение

происходит

улучшилось

FAIR

могли

в

отразиться

нескольких

медленнее,

отношении

и

недель.

большая

на Но

часть

исследований FAIR носит долгосрочный характер. В 2013 г. платформа еще не использовала глубокое обучение. В 2019 г. все было с точностью до наоборот: без этого Facebook уже просто

не

могла

бы

функционировать.

Целый

набор

методов,

разработанный FAIR, внес бесчисленные улучшения в работу этой социальной

сети

в

области

распознавания

изображений,

понимания языка, распознавания речи (что в 2013 г. еще не было приоритетом), способных для

в

области

помогать

которых

разработок

людям

раньше

не

в

виртуальных

повседневной

было.

Компания

ИИ-агентов,

жизни,

Facebook

технологии была

очень

заинтересована в распознавании лиц, что было трудной задачей. Теперь ИИ автоматически переводит разговоры на огромное число языков. Он анализирует миллиарды изображений в день, чтобы

помочь

описательных

в

организации

текстов

для

новостных

слабовидящих.

лент

и

Профиль

создании

миллиардов

пользователей обновляется буквально одним кликом и т.д. Многие

другие

команды,

помимо

FAIR,

разработали

данные

приложения и обеспечили их правильное функционирование для почти двух миллиардов пользователей. Мощная инфраструктура! Я до сих пор регулярно встречаюсь с Марком Цукербергом, однако

сейчас

группой

людей,

встречаемся прогресс

уже

в

с

реже,

чем

отвечающих

ним

около

исследованиях.

за

вначале. ИИ

в

четырех

раз

И

от

время

Вместе

компании в

год,

времени

с

небольшой

Facebook,

чтобы я

мы

обсудить

встречаюсь

с

Марком в неофициальной обстановке, когда он желает узнать о новых достижениях FAIR.

Фильтрация контента С

момента

строгие

своего

создания

правила,

компания

касающиеся

Facebook

обмена

применяла

данных

между

пользователями: никакой порнографии, никакого употребления «языка

вражды»,

ну,

или

вышеперечисленных американскому

почти

запретов,

понятию

никакого. Facebook

«свобода

слова»,

Помимо следовала

не

собираясь

на

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

философия

выборов

в

изменилась

США.

фильтрации

Компания

контента

платформы

с

людьми

и

2016

г.,

Facebook

после

признала

предотвращения

для

получения

президентских важность

использования

коммерческой

или

политической выгоды, в погоне за кликами, которые приносят им деньги

или

«панацеи

приводят

от

всех

выдуманных, многим

но

людям

к

разногласиям.

болезней»,

или

настолько

невозможно

Будь

то

публикация

продажа

некой

новостей,

порой

извращенно-завлекательных, не

читать

их

и

не

делиться

что ими.

Старый, но не очень добрый кликбейтинг! Сегодня контент.

мы

пытаемся

Что

автоматически

касается

фильтровать

фильтрации

такой

порнографических

изображений или сцен насилия, то Facebook не распространяет исходный

код

своей

системы

наблюдения,

чтобы

помешать

недоброжелателям ее обойти. Мы делаем все возможное. Но 15 марта 2019 г. в Крайстчерче, Новая

Зеландия,

белый

расист

и

исламофоб

застрелил

из

автоматического оружия 51 прихожанина двух мечетей города. На

его

шлеме

была

камера,

которая 103

прямом эфире на Facebook Live

транслировала

в течение 17 минут.

стрельбу

в

К

тому

времени

заблокировала

сеть

аккаунты

Впоследствии

Facebook

уже

была

стрелка удалила

в

предупреждена

Facebook

1,5

млн

и

и

Instagram.

видеокопий

этой

трагедии. Этот страшный промах автоматического обнаружения вызвал

всеобщее

основными

волнение.

социальными

Главы

сетями

правительств

обратились

к

наряду

с

Крайстчерчу

с

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

обнаружение

такого

рода

контента

остается

чрезвычайно трудной задачей даже для современных технологий. С одной стороны, многие «жестокие» видео являются законными: отрывки из голливудских фильмов, кадры из видеоигр или даже видеоролики

со

стрельбой

по

мишеням.

Как

отличить

эти

изображения от реальных убийств? С другой стороны, помните, что

мы

обучаем

модель,

предоставляя

ей

очень

большое

количество примеров. Как обучать системы обнаружения, когда —

хоть

это

настоящей

и

к

счастью

резней?



у

нас

Инженеры

очень

мало

Facebook,

видеороликов

YouTube

и

с

других

сервисов работают над улучшением надежности своих систем. Большая Facebook,

часть

ненавистнического

удаляется

автоматическому обнаружения изображений

добавляются сверточная

.

в

того,

как

обнаружению

Они

список

обучается видео.

сразу

выпущен,

после

Затем

вектор, другая

благодаря ИИ.

видео

методы,

запрещенных

создавать

фильтруемого

системами

используются

помечаются

черный

или

его

он

пропагандистских

террористов

сеть

изображение

до

известных

104

эмбеддингом

еще

контента,

Для или

схожие

с

публикации

и

тем.

Первая

представляющий система

просто

обнаруживает сходство с видео, которые находятся в этом черном 105

списке

.

Однако

большое

количество

подобного

контента

все

же

ускользает от фильтров. ИИ не понимает подтекста изображений.

Например,

если

неонацистская

группа

публикует

расистское

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

деятельностью,

которые

могут

«репостить»

агрессивные послания, чтобы задокументировать неонацистскую пропаганду.

Система

антинеонацистов текст,

но

с

от

классификации

поста

самих

противоположным

не

отличит

неонацистов:

посылом.

Если

ведь

это

имеет

пост тот

же

место

не

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

В

распознавания

изображений

картину

нужно

настоящее

подобных

допустить

время

уже

случаях

к

не

система

понимает,

просмотру.

существуют

автоматического

что

это

Несмотря

инструменты

искусство на

то,

для

что

и в

создания

таких исключений, некоторые проблемы все же не решены. Я

вспомнил

разместил

на

редактора своей

одной

странице

норвежской в

Facebook

газеты, очень

который

известную

фотографию обнаженной вьетнамской девочки лет 12, бегущей по

дороге,

спасаясь

изображение законом,

от

напалма.

обнаженного

поскольку

Как

и

ребенка

считается

почти

в

во

всех

Норвегии

педофилией.

Об

странах,

запрещено этом

факте

сообщил пользователь (человек). Модератор, не узнавший фото, зарегистрировал жалобу, и фото было удалено. Скандал. Репортер написал

письмо

восстановили.

Марку

Опять

же,

Цукербергу. для

И,

конечно

серьезного

же,

искусства

и

фото СМИ

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

Бирме,

преобладающее

мусульман

буддийское

рохинджа

население.

преследовало

Буддийские

лидеры

публиковали маленькая

поддельные

девочка

мусульманином.

из

новости,

например

буддийской

Один

из

семьи

лидеров

фотографию,

якобы

затем

с

была

где

убита

наслаждением

опубликовал пост: «Вы знаете, как мы должны были поступить». Учитывая сможет

нынешнюю

распознать,

подделкой,

как

и

ограниченность является

не

сможет

ли

ИИ,

ни

одна

передаваемая

обнаружить

система

не

информация

скрытый

характер

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

независимо

от

платформы,

используемой

для

его

распространения. Особенно, когда за этим стоит правительство. Здесь

я

технологий. миллиарды Facebook

хочу

поговорить

Невозможно сообщений,

каждый

автоматическую

о

вручную

Нам

фильтрацию.

существующих

отсортировать

изображений

день.

пределах

все

и

видео,

еще

Поэтому

миллиарды

и

загружаемых

в

нужно

Facebook

улучшить вкладывает

большое количество ресурсов в эту область. На

сегодняшний

день

в

компании

есть

три

«сортировочных

цеха». 1. Системы автоматического обнаружения на основе ИИ. Мы постоянно их совершенствуем, но, как вы только что убедились, они работают не совсем идеально. 2. Пользователи. Они могут сообщать о подозрительном содержании. Это эффективно, но медленно и часто предвзято. Кроме того, эта реакция является запоздалой, поскольку контент уже транслируется. 3. Модераторы. Сейчас по всему миру Facebook насчитывает около 30 000 пользователей-модераторов, в основном они работают в компаниях-партнерах. Они говорят на сотнях разных языков и определяют, нарушает ли контент, сообщаемый автоматизированной системой или пользователем, действующие правила. Работа модератора

довольно сложная. Некоторым из них приходится видеть ужасные вещи, но мы не можем обойтись без таких людей.

Неудачи



полезности.

это

Facebook

неизбежное объединяет

следствие

общественной

географически

разбросанных

друзей и семьи. Социальная сеть позволяет малым предприятиям начинать

свой

бизнес

и

процветать,

связывая

их

со

своими

клиентами. Она помогает объединяться тем, кто имеет близкие интересы

или

проблемы.

Она

призывает

к

солидарности.

Она

поощряет взаимодействие — как, увы, и нарциссизм.

Поговорим вкратце о Cambridge Analytica Во-первых,

давайте

персональные

сразу

данные

проясним:

своих

Facebook

пользователей

не

продает

рекламодателям.

Марк Цукерберг напомнил об этом 25 января 2019 г., описывая 106

бизнес-модель Facebook в статье известной газеты Le Monde Компания

показывает

рекламу

своим

пользователям,

но

.

не

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

неправильное

коммуникационных

платформ,

использование если

сама

их

глобальных

концепция

еще

очень нова? В 2018 г. Facebook испытала отрицательные последствия своей популярности,

и

имидж

компании

значительно

пострадал.

Несмотря на то, что FAIR Labs не были замешаны в этом деле и данная ситуация не имеет абсолютно никакого отношения к ИИ, я чувствую, что здесь нам нужно это обсудить. Напомним факты. В марте 2018 г. ежедневные газеты New York Times и Guardian сообщили, ведома

что

данные

использованы

Analytica,

пользователей американской

занимающейся

анализом

Facebook

были

компанией данных.

без

ее

Cambridge Руководили

созданием

этой

известный

компании

своей

в

2013

консервативной

г.

Боб

Мерсер,

позицией,

и

бизнесмен,

Стив

Бэннон,

который на тот момент входил в ближайшее окружение Дональда Трампа. Боб

Мерсер



бывший

компьютерный

ученый,

который

работал над распознаванием речи в компании IBM, пока в конце 1980-х он и некоторые его коллеги не были наняты в Renaissance Technologies, использует

хедж-фонд

и

финансовую

компьютерные

инвестирования.

Эти

люди

и

организацию,

математические

стали

очень

которая

методы

богатыми.

Все

для они

относились к «левым» в политике, кроме Боба Мерсера, который поддерживал либертарианское течение. В прессе писали, что компания Cambridge Analytica получила и использовала данные миллионов пользователей Facebook, чтобы определить, кто может поменять свое мнение в пользу кандидата Дональда Трампа на выборах в 2016 г. и в пользу Brexit (выхода Великобритании

из

ЕС)

во

время

кампании,

определявшей

будущее Соединенного Королевства. Спустя три месяца после публикации этого громкого дела в американских

и

вице-президент обвинил

английских

и

ежедневных

руководитель

Александра

газетах

юридического

Когана,

Пол

отдела

американца

Гревал,

Facebook,

молдавского

происхождения, а также ученого Кембриджского университета в области данных,

психологии, которые

за

тот

предоставление собирал

для

Cambridge

своей

Analytica

работы.

В

его

психологическом тесте «Thisisyourdigitallife», в котором приняли участие 270 000 пользователей, получивших 4 доллара за ответы на

вопросы

интерфейс название

об

их

привычках

подключения Graph

API

к

v1.0.

в

Интернете,

использовался

платформе

Facebook,

Используя

профили

получивший друзей

этих

респондентов Коган получил доступ к определенной информации миллионов

пользователей,

информации,

которую

они

вносят

в

свой профиль и которой они делятся со своими друзьями: город проживания, дата рождения, образование, интересы, друзья и т.д. Как это вообще могло произойти? Еще до 2016 г. Facebook сделала свою платформу открытой. Таким

образом,

компания

позволила

разработчикам

программного обеспечения писать приложения с использованием знаменитого

Graph

API

v1.0.

Сюда

входили

игры,

в

которые

можно играть с другими; или приложения с общим календарем. Контракты

на

использование

распространение быстро

личных

поняли,

что

злоупотребления, обеспечения

нормальной календарь,

данных здесь

данным

работы

которому

вы

пользователей.

для

должны

в

иметь

приложение, к

случаи

программного доступ

пользователей.

доступ

и

Facebook

различные

были

например,

разрешили

сбор

Но

работы

профиля

такое,

запрещают

возможны

поскольку

разработчики

определенным

кода

Но как

своему

к

для

общий

профилю,

также должно иметь доступ к профилям ваших друзей, которые, однако,

своего

разрешения

злоупотребления огорчению

Facebook

компаний,

на

это

не

полностью

которые

в

давали.

закрыла

нее

В

ответ

платформу,

вложились.

на к

История

получилось достаточно нервная. К 2016 г., то есть по крайней мере за два года до раскрытия дела, компания Facebook решила эту проблему. После того, как разгорелся скандал, Александр Коган заявил, что

он

ученый

и

использовал

профили

только

в

целях

своих

социологических исследований. Но похоже, что он, нарушив свой контракт, злоупотребил этими данными и передал результаты в Cambridge Analytica. И произошло это еще до того, как в Facebook решили заблокировать доступ к своей платформе. Мы

можем

упрекнуть

руководство

Facebook

в

излишней

доверчивости во имя своей философии. Компания не имела ни малейшего

представления,

что

ее

сетью

могли

воспользоваться

недобросовестные люди. Но, в любом случае, доверие к компании сильно пошатнулось.

Новостная лента После президентских выборов в США в 2016 г. Facebook также изменила

алгоритм

приложение

в

своей

появилось

новостной

впервые



2006

ленте.

г.),

Когда

система,

это

которая

решала, что вам показывать, была основана главным образом на простых

алгоритмах,

обучении

(без

использовать Система,

а

затем

глубокого более

обучения).

сложные

используемая

на

классическом Лишь

методы

Facebook

для

с

2015

машинном г.

глубокого

она

стала

обучения.

моделирования

наших

интересов, обучается и развивается вместе с нашими кликами. Она постоянно адаптируется. Все

такие

качества

системы

пытаются

обслуживания.

минимизации

в

минимизировать

Как

и

в

машинном (или

оптимизировать случае

с

показатели

целевой

обучении,

максимизировать)

мы эти

функцией стремимся

показатели

в

зависимости от ситуации. Мы слегка модифицируем систему и на время разворачиваем модифицированную версию для нескольких пользователей. Если показатели улучшаются, мы реализуем ее для большего количества пользователей. Мы

рассчитываем,

«кликнут»

на

рассматривался количество количеству

например,

определенную в

рекламу.

предыдущей

отображаемых кликов.

Правда,

количество

главе:

(Данный

мы

объявлений количество

людей,

вопрос

пытаемся по

кликов

которые уже

уменьшить

отношению

к

предопределяет

доход компании. Но нам также известно, что чем больше рекламы мы

предлагаем,

тем

меньше

пользователей

переходят

на

платформу, поскольку они не нуждаются в ней. Поэтому мы ищем компромисс: заинтересует

минимум

рекламы;

пользователей.

только

Все

та,

что

больше

индивидуально.)

всего Итак,

необходимо

знать,

что

пользователи

искали

ранее,

чтобы

предоставить им похожие вещи и т.д. Все это требует понимания контента и принципов машинного обучения. Прежний

показатель

«вовлеченности»

отражал

количество

времени, которое люди тратили на новостную ленту, количество кликов, которые они сделали, прочитанные статьи, количество их ответных

сообщений

и

т.д.

Пользователи

проводят

много

времени на страницах Facebook, однако они не были довольны тем контентом, что у них был. С января 2018 г. Facebook коренным образом изменила свои критерии:

показатели

взаимодействие

вовлеченности

пользователей

определить,

что

им

по

душе.

занимался

распознанием

с

теперь

важным

Целый

для

отдел

интересов

пытаются них

оценить

контентом

компании

и

Facebook

пользователей.

Хотя

некоторый контент и вызывает клики, это не обязательно самый приятный

контент

для

пользователей,

которые

впоследствии

сочтут его пустой тратой времени. В 2018 г. повышение уровня удовлетворенности

пользователей

стало

руководящим

принципом компании Facebook. Все это способствует увеличению количества

контента

с

активным

посещением

и

уменьшению

контента с пассивной реакцией пользователей. Выбор

критериев

для

оптимизации

результата

не

входит

в

обязанности FAIR. Вся эта инфраструктура — прерогатива отдела разработок и инжиниринга. Но они, в свою очередь, используют системы

для

распознавания

изображений,

понимания

текста

и

т.д., основанные на методах, разработанных FAIR и используемых группами

прикладных

исследований

и

разработок.

«технологической ракеты» Facebook много ступеней!

У

Facebook и будущее СМИ Корпоративный

рекламный

онлайн-сервисам, традиционным время

в

бюджет

частности

СМИ,

социальные

таким сети

к

как

все

Google

чаще

и

печатные

привлекают

устремлен

Facebook, газеты.

в

Но

к

ущерб

в

то

значительную

же

часть

случайных читателей к традиционным СМИ. В 2018 г. изменение алгоритма новостных лент поспособствовало развитию контента, рекомендованного непосредственно рейтинг,

друзьями,

в

СМИ.

именуемый

надежность. контентом контента,

Все

из

это

и

приводит

авторитетных

и

целью

количество

счет

Посты

индексом

единственной

внимания

за

в

контента,

газетах

доверия, к

включают

который

увеличению

надежных которого

кликов:

размещенного

и

является

пользователи

себя

оценивает

обмена

СМИ

в

их

важным

уменьшению привлечение

нажимают

на

ссылки, но не делятся ими. Новый алгоритм нарушил отношения между

издательскими

публикациями

(реакция

на

статью,

опубликованную органом печати) и веб-публикациями (реакция на

статью,

публикаций серьезных

рекомендованную резко

статей

возросло, в

что

новостных

другом). привело

лентах.

к

Количество

веб-

появлению

более

Скорее

всего

это

будут

именно те статьи, которые были рекомендованы друзьями. Таким образом, качества

корректировка традиционных

алгоритма

СМИ

в

ущерб

привела

к

повышению 107

рекламистам

.

Именно

такую роль играет Facebook в экономике медиасектора.

Обновленная компания Facebook Основываясь на опыте последних нескольких лет, когда Facebook обвиняли контента

равно и

в

в

небрежности

чрезмерной

в

отношении

цензуре,

нежелательного

компания

призвала

правительства либеральных демократий принять новые правила

по данному вопросу. Как частная компания, Facebook не считала правомерным Поэтому

в

решать,

конце

какой

2018

г.

контент

компания

приемлем, вместе

с

а

какой

нет.

правительством

Франции начала дискуссию о фильтрации контента. Десятого мая 2019 г. Марк Цукерберг встретился с Эмманюэлем Макроном в Елисейском ведется:

дворце,

эта

чтобы

политика

подвести

должна

108

итоги

.

развиваться

Работа

все

еще

демократическим

путем, а не зависеть от одной частной компании. Новые

правила

будут,

однако,

лишь

общими

рамками.

Как

применить их на практике? Как решить — сохранять или удалять информацию? Команда Facebook начала крупную общественную 109

кампанию, чтобы определить наилучший план действий

. В ней

участвовало более 2000 человек из 88 стран мира. Оказалось, что людям прежде всего требуется наблюдательный совет, который бы

утверждал

политику

в

отношении

контента,

независимо

от

Facebook и правительства. Совет будет основан на универсальных принципах

прав

человека,

обеспечивая

компромисс

между

самовыражением, безопасностью, неприкосновенностью частной жизни

и

равенством.

Совет,

в

частности,

создаст

и

механизмы

обжалования. Кроме

того,

изменение данных объявил

обновленный

философии,

пользователей. об

этом

сосредоточено

на

вокруг

Facebook

ориентированной Шестого

марта

110

форуме

.

приватного

знаменует на

2019

г.

Будущее общения

защиту Марк

собой личных

Цукерберг

компании с

будет

друзьями

с

использованием данных с непрерывным шифрованием.

Работа FAIR Для машинного обучения обязательна маркировка данных. В FAIR мы стараемся обучать систему умеренно. Например, мы изучаем, как использовать большой объем данных, не помечая их вручную.

Мы делаем это так: берем 3,5 млрд изображений в Instagram и обучаем

достаточно

хэштеги,

которые

большую

люди

нейронную

вводят

при

сеть

предугадывать

публикации

фотографии.

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

может

бесполезная Данная

показаться,

затея?

операция

Вы

что

правы.

позволяет

прогнозирование Но

это

хэштегов

обязательное

нейронной

сети



условие.

разработать

универсальное представление об изображении, а упомянутые 17 000

хэштегов

охватывают

почти

все

пространство

понятий,

содержащихся в изображениях. После обучения сети мы удаляем последний слой (тот, который производит хэштеги) и заменяем его другим слоем, который мы обучаем интересующей нас задаче. Например, обнаружение насильственных или порнографических изображений с целью их фильтрации. Такое предварительное обучение, или трансферное обучение, работает лучше, чем обучение машины конкретной задаче. Оно отображает точные записи в таких базах данных, как ImageNet. Другой способ — это использование нейронной сети «Mask R111

CNN

»,

разработанной

FAIR,

которая

за

последние

годы

добилась большого прогресса. Она позволяет не только узнавать предметы или людей, но также определять их местонахождение и рисовать их контуры. Она укажет вам на кузена Чарльза, тетю Хлою, бейсбольную биту, которую Жюльен держит в руке, собаку перед

дверью,

бокалы

и

бутылку

вина

на

столе,

а

также

количество овец в поле… Зачем это нужно? Например, незрячий пользователь проводит пальцем по фотографии на его мобильном телефоне, а тот вслух описывает ему то, чего он коснулся. Сети настолько хорошо сжаты, что некоторые версии могут работать на

современном

мобильном

телефоне

в

реальном

времени

со

скоростью около 20 фотографий в секунду. Все это включено в

программное названием

обеспечение Detectron,

с

открытым

что,

в

исходным

свою

кодом

очередь,

под

позволяет

исследовательскому сообществу улучшать его.

Премия Тьюринга В марте 2019 г. я получил возможность оценить путь, пройденный мною

с

будучи

того еще

момента,

как

подростком.

я

впервые

Итак,

я

«взломал»

имел

компьютер,

удовольствие

и

честь

получить премию Тьюринга, эквивалент Нобелевской премии в области

вычислительной

вычислительной

техники,

техники.

Я

присуждаемой

разделил

премию

с

Ассоциацией двумя

моими

коллегами — Йошуа Бенджио и Джеффри Хинтоном. Премией

Тьюринга

награждаются

научные

или

технологические работы, которые имеют большое практическое влияние и являются предметом научных публикаций. Насколько я понял, премию вручают и старым работам, даже таким, которые за последние пять лет не фигурировали в цитатах. Получение награды совпало с изменениями в моей карьере в компании Facebook. В январе 2018 г. я оставил свою должность руководителя FAIR, чтобы стать главным специалистом компании по

ИИ.

Я

отказался

исследованиям

и

от

технологической

объясняется

целым

значительно

выросла.

отдельную

оперативного

рядом

управления стратегии.

причин.

Наряду

организацию,

с

нам

вернулся

Мое

Во-первых,

FAIR

и

решение

организация

пришлось

занимающуюся

к

создать

прикладными

исследованиями и отвечающую за передачу новых разработанных методов для их практической реализации. Эта

новая

крышей,

так

организация что

они

была

теперь

объединена

могут

с

FAIR

под

взаимодействовать

общей очень

тесно. Лично

я

считаю

себя

больше

творческим

мечтателем,

чем

руководителем. Создать проект, направить его в нужное русло —

это, конечно, хорошо, но заниматься всем остальным — уже не моя история. Я решил передать свои полномочия в другие руки. Руководство FAIR теперь составляют два человека — Антуан Бордес из Парижа, бывший руководитель FAIR в Париже, и Жоэль Пино также

из

Монреаля,

профессор

компании

Макгилла.

курирующим

FAIAR,

организационной

руководитель

Университета

Facebook,

исследований

бывший

является

структуре

я

FAIR

и

Жером

вместе

научное и стратегическое направление.

с

FAIR

в

Монреале,

Руководителем группу

ИИ

прикладных

Песенти.

Жеромом

а

В

этой

отвечаю

за

ГЛАВА 9

Что ждет нас завтра? Перспективы и проблемы искусственного интеллекта

На сегодняшний день даже самые лучшие системы ИИ все еще очень

ограничены.

По

уму

они

уступают

кошке,

мозг

которой

содержит 760 млн нейронов и 10 000 млрд синапсов. Не говоря уже о ее «двоюродной сестре» собаке, в мозге которой 2,2 млрд нейронов. которые

Мы

по

не

можем

мощности

проектировать

даже

и

приближались

строить

бы

к

машины,

человеческому

мозгу, с его 86 млрд нейронов и потребляемой мощностью около 25

Вт.

Из

главы

принципы

1

нам

обучения

структуру,

известно,

в

мозгу,

вычислительная

что

даже

даже

если

если

мы

мощность,

мы

понимаем

понимаем

необходимая

его для

воспроизведения его функционирования, оказывается гигантской —

порядка

1,5

×

18

10

операций

в

секунду.

Сегодняшняя

видеокарта способна выполнять лишь 1013 операций в секунду и потребляет

около

человеческого таких

250

мозга,

процессоров

к

вам

Вт.

Чтобы

придется

гигантскому

получить

подключить

компьютеру,

мощность

сотню

тысяч

потребляющему

не менее 25 мегаватт; это в миллион раз превышает потребности человеческого

мозга.

имеют

к

доступ

Исследователи

вычислительным

ИИ

в

Google

мощностям

и

Facebook

такого

порядка,

однако сложно заставить несколько тысяч процессоров работать одновременно над одной задачей.

Научная

проблема

здесь

велика.

Технологическая

проблема

тоже. Мы

неустанно

существующих

работаем

систем.

над

Какие

расширением возможности

границ наиболее

перспективны? Чего нам ожидать от будущих исследований?

Природа вдохновляет, но лишь до определенного момента Во Франции все слышали о Клемане Адере, пионере французской авиации.

Репродукция

его

самолета

Avion-III

вызывает

восхищение у посетителей Музея искусств и ремесел в Париже. Клеман Адер жил в конце XIX века. Еще за 13 лет до братьев Райт, в

1890

г.,

этот

гениальный

мастер

построил

самолет,

который

совсем немного оторвался от земли. Но никто не знает его имени за пределами Франции. Почему? Да потому что за его работами никто не следил, да и мало кто видел его изобретение. Самолет Адера действительно летал, но оказался неуправляемым. Моделью для него послужила летучая

мышь,

но

маневренностью машина.

Желая

и

изобретатель

не

устойчивостью,

воспроизвести

подумал которые

природу,

он

о

проблемах

создавала

сбился

с

пути.

с

его Еще

одна проблема: этот пионер авиации был человеком скрытным и дерзким. Вместо того чтобы выставлять свои работы, он показал их

лишь

горстке

людей.

Отсутствие

очевидцев

даже

заставляет

историков сомневаться в правдивости его достижений. Эта

история

без

будущего

хорошо

иллюстрирует

мою

точку

зрения. Засекреченные эксперименты ни к чему не приведут. Об исследованиях обменами убедился

нужно

говорить,

информацией. в

этом,

работая

Они в

ведь

они

должны

Bell

Labs,

быть и

подпитываются открытыми.

пользовался

тем

Я же

принципом в FAIR. С другой стороны, воспроизведение биологии

без понимания принципов ее работы часто приводит к фиаско. Вместо

этого

мы

должны

выявить

главное

в

естественных

механизмах, которые мы пытаемся воспроизвести. Мы много говорили о знаменитом научном дуэте Хьюбела и Визеля,

а

также

о

нейробиологах,

которые

начали

расшифровывать человеческий мозг. Они и вдохновили первых исследователей

искусственного

интеллекта.

Искусственный

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

мой

обучения, Подобно птиц,

взгляд,

будь

тому,

летучих

объясняет

то

мы

должны

искать

биологический

как

аэродинамика

мышей

и

преобразование

основы

интеллект

или

объясняет

насекомых, энергии

в

и

интеллекта

электронный.

полет

как

и

самолетов,

термодинамика

тепловых

двигателях

и

биохимических процессах, теория интеллекта должна отражать интеллект во всех его формах.

Пределы машинного обучения: обучение с учителем Обучение является

с

учителем,

лишь

слабым

наиболее

часто

отражением

используемое

принципа

обучения

в

ИИ,

людей

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

маркировать

изображения,

переводить

текст

с

одного

языка

на

другой

обучения

таких

и

производить

систем.

распространенным, консалтинговая многим

компаниям,

академических

Этот

что

группа,

данные,

необходимые

процесс

стал

Accenture,

уже

предлагает

использующим

исследованиях

настолько

международная

именно

такие

машинное

часто

для

услуги

обучение.

используется

В

платформа

AMT (Amazon Mechanical Turk), услуга, предлагаемая Amazon, с помощью

которой

любой

может

войти

в

систему,

чтобы

выполнять маркировку объектов и получать деньги. Обучение

с

контролем

очень

эффективно,

когда

данных

достаточно. Но у него есть свои пределы. Оно работает лишь в пределах заданной области и оставляет «слепые зоны». В качестве доказательства изображения, собой

то

же

я

беру

которые

самое,

что

так

для и

называемые

глубокого

оптические

«состязательные»

обучения иллюзии

представляют

для

людей.

Эти

заведомо идентифицируемые изображения могут легко заставить машину ошибиться. Эксперименты показали, что незначительное изменение дорожного знака «стоп» может привести к тому, что некоторые нейронные сети уже не смогут его обнаружить. Это уже

причина

вождения.

В

водителей,

беспокоиться

принципе,

можно

замаскировав

о

безопасности

ввести

дорожные

в

автономного

заблуждение

знаки,

но

и

людей-

почему

такая

маскировка опаснее для беспилотных автомобилей? Давайте

посмотрим,

как

это

работает,

на

примере.

Рассмотрим ИИ-приложение, которое различает кошку и тостер. Можно незаметно заменить изображение кошки на изображение человека, но машина оценит эту подмену как «тостер», причем с высоким

баллом

достаточно пиксели

показать

этого

«тостера»

надежности.

и

Чтобы

изображение

изображения уменьшить

так,

оценку

этого

кошки

чтобы для

добиться,

машине

и

увеличить «кошки»

поменять

оценку с

нам

для

помощью

градиентного спуска. Однако с человеком этот фокус не пройдет

— для него кошка с измененными пикселями все равно останется кошкой. Как можно так легко обмануть сеть? При обучении с учителем машина

выдает

хорошие

результаты

лишь

для

обучающих

примеров. Но обучающие примеры охватывают крошечную часть 112

входного пространства

. Вне этих примеров поведение функции

не определено. В

отличие

от

сетей

с

учителем,

человеческая

зрительная

система обучена не только классификации изображений. Как мы увидим

позже,

она

также

обучена

улавливать

структуру

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

нужны

тысячи

примеров

слонов,

чтобы

уловить

суть

концепции. Достаточно трех, даже стилизованных, примеров. Поэтому

обучение

настоящему

с

учителем

интеллектуальные

не

позволяет

машины.

Это

создавать только

по-

часть

решения. Нам не хватает многих кусочков реальной мозаики.

Обучение с подкреплением Некоторые видят решение проблемы в другом виде машинного обучения. Так называемое обучение с подкреплением позволяет обучать машину, не подсказывая ей ожидаемого ответа, а только сообщая, является

ли

конкретный

ответ

правильным

или

нет.

Оно

используется, когда мы можем оценить качество ответа системы без

возможности

Допустим,

вы

предоставить

хотите

научить

ей

этот

робота

правильный

поднимать

ответ.

предметы.

Трудно постоянно указывать машине, как приводить в действие ее

двигатели

оценить,

был

для ли

выполнения объект

задачи.

действительно

Но

после

поднят.

теста Робот

легко может

опробовать стратегию, посмотреть, работает ли она, попробовать другую стратегию, если предыдущая не сработала, и повторять

процесс

до

тех

пор,

пока

стратегия

не

сработает

надежно.

Последнее может быть достигнуто с помощью нейронной сети, входными датчики

данными

которой

положения,

силы

являются

и

касания

изображение робота,

а

сцены

и

выходными

данными — команды, отправляемые двигателям. Такое обучение методом проб и ошибок с оценкой результата без предоставления правильного

ответа

подкреплением».

машине

Пройти

или

называется

не

пройти

«обучением

тест

зачастую

с

можно

автоматически, что позволяет системе учиться «самостоятельно». Оценка успеха — это своего рода «награда» или «наказание» для

машины,

которое

вы

во

это

дрессируете.

положительное, ответ

многом

если

В

ответ

неправильный.

похоже

случае

на

с

поощрение

машиной

правильный,

Однако

и

машина

число.

Оно

отрицательное,

если

не

это

животного,

знает,

в

каком

направлении изменить свой результат, чтобы улучшить награду (мы

не

можем

вычислить

градиент

этой

функции

оценки,

мы

можем только наблюдать за ее значениями), поэтому она делает попытки, видит влияние новой тактики на награду и меняет свое поведение,

настраивая

параметры

своей

нейронной

сети

так,

чтобы они награда была максимальной. Суть обучения с подкреплением в том, что оно может обучать системы,

производительность

предоставляя

им

которых

правильный

можно

ответ.

В

оценить,

основном

не оно

используется, когда системе необходимо производить действия, например,

для

подкреплением

управления оказалось

роботом

или

чрезвычайно

игры.

Обучение

успешным

в

играх

с с

AlphaGo и AlphaGo Zero компании DeepMind, а также Elf OpenGo, созданной Facebook. Классический

способ

обучить

машину

игре

в

шахматы

или

шашки — запрограммировать ее на использование древовидного 113

поиска

. Более новые методы используют глубокое обучение и

обучение с подкреплением.

Мы

пишем

правилам, скорее

с

программу,

системой

всего,

приведут

которая

обучения, к

победе.

учит

машину

определяющей, Поначалу

играть

какие

такая

по

ходы,

система

не

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

говорит

ей:

«В

следующий

раз,

когда

ты

будешь

играть

в

подобной ситуации, играй также, как ты и играл сейчас, потому что это привело к победе». Таким иногда

образом,

и

количества

машина

миллиарды новых

играет

партий.

против

При

компьютеров,

себя

миллионы,

а

наличии

достаточного

работающих

параллельно,

система может играть в миллионы игр за считанные часы. В итоге система приобретает сверхчеловеческие способности, потому что она способна сыграть большую часть всех партий, возможных в той или иной игре. AlphaGo и AlphaGo Zero, последняя версия от Google DeepMind, работают именно таким образом. В Facebook у нас

есть

систем

похожая DeepMind,

система имеет

Elf

OpenGo,

открытый

которая,

исходный

в

отличие

код

и

от

была

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

и

в

случае

сверхчеловеческих множества

обучения

способностей

межсистемных

с

учителем,

требует

огромных

взаимодействий.

достижение ресурсов

DeepMind

и

обучил

систему для игры в классические видеоигры Atari (их 80). Чтобы достичь приличного уровня, ему потребовалось не менее 80 часов тренировок за игру, в то время как человеку требовалось всего 15 минут, чтобы сделать то же самое. Но если вы позволите системе учиться дальше и дальше, она достигнет высот, превосходящих человеческие возможности. На самом деле 80 часов — это время, которое потребовалось бы машине, если бы она играла в игру в

реальном времени. Но она может играть в игру намного быстрее и даже играть в несколько игр одновременно. Но работает этот прием

только

с

играми.

Вы

не

сможете

заставить

часы

бежать

быстрее, когда обучаете машину вождению!

Пределы обучения с подкреплением Обучение реальном

с

подкреплением,

мире

столь

бессмысленно.

эффективное

Да-да,

именно

в

так!

играх,

Если

бы

в вы

захотели использовать его, чтобы научить машину вождению, ей пришлось бы проехать миллионы часов и попасть в десятки тысяч 114

аварий, прежде чем она научилась бы их избегать

.

Машина упадет с обрыва, а система скажет: «А, должно быть, я ошибалась» и немного скорректирует стратегию. Во второй раз машина

упадет

система

снова

должен

был

с

обрыва,

немного

бы

упасть

может

быть,

поправит таким

немного

стратегию

образом

и

тысячи

по-другому,

т.д. раз,

а

Автомобиль прежде

чем

система поймет, как избежать падения. Так

что

же

позволяет

большинству

людей

научиться

водить

машину примерно за 20 часов практики и при незначительном контроле,

не

попадая

при

этом

в

аварии

(для

большинства

из

нас)? Обучения с учителем и обучения с подкреплением в таком случае недостаточно. Нужно изобрести новую парадигму, чтобы машина могла быть встать на один уровень с обучением человека или животных. Конечно, мы могли бы использовать моделирование, но тогда возникает другая проблема: симуляторы должны быть достаточно мощными и точными, то есть достаточно точно отражать то, что происходит

в

реальности,

чтобы

после

того,

как

система

была

обучена моделированием, мы могли перенести ее возможности в реальный

мир.

Это

возможно

далеко

не

всегда.

Описанная

проблема, сокращенно называемая sim2real (англ. Simulation to

Real

World),

является

в

настоящее

время

очень

популярной

областью исследований. Часть

научного

подкреплением уровня.

сообщества

станет

Дэвид

ключом

Сильвер, компании

«обучение

подкреплением

Столкнувшись пессимистами. торт,

с

этим

Я

состоящий

довольно

как-то из

Я

покрытый часто

из

нас

что

и

стали

шоколадный

бисквита

на

и

интеллекта».

лес»,

глазурью

говорю

AlphaGo

говорить,

некоторые

слоев

с

человеческого

суть

«Черный

чередующихся

вишней.

любит это

веры»,

упоминал

внушительный,

засахаренной



ИИ

обучение

команды

DeepMind,

«актом

что

разработке

капитан

представитель с

к

полагала,

и

сливок,

украшенный

лекциях,

что

если

интеллект — это «Черный лес», то бисквит представляет собой обучение без учителя, основной способ обучения у животных и людей, глазурь соответствует обучению с учителем, а вишенка на торте — это… обучение с подкреплением.

Пресловутый здравый смысл Парадокс искусственного интеллекта заключается в следующем: он

очень

мощный,

он

чрезвычайно

специализирован,

и

он



совершенно лишен здравого смысла. «ИИ не наделен понятиями. У него нет культуры. Он ничего не понимает», — напомнил всем Эмманюэль Макрон 29 марта 2018 г., когда представлял доклад об искусственном

интеллекте

математика

115

Седрика

Виллани

,

обладателя медали Филдса и депутата LREM. ИИ обладает лишь самым поверхностным представлением о мире.

Беспилотный

автомобиль,

который

может

добраться

из

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

пробках,

настраиваются

на

вашу

радиостанцию

и

мгновенно

находят песню Жоржа Брассенса, которую вы ищете. Но если вы скажете ей: «Алекса, моя одежда не влезает в мой чемодан, что мне делать?» — она не сможет ответить: «Бери меньше одежды» или «Купи чемодан побольше». Скорее всего, она ответит: «Вот большие чемоданы, доступные на Amazon…». Если вы скажете ей: «Алекса, я уронил свой телефон в ванну», она не будет знать, что ваш

телефон

намок

и

его

нужно

починить.

Чтобы

ответить

с

пользой, Алексе понадобится немного здравого смысла, то есть некоторые знания о том, как устроен мир, и о его физических ограничениях. Нынешнему ИИ не хватает здравого смысла, а здравый смысл очень важен. Он обусловливает нашу связь с миром. Он заполняет пробелы и восполняет неявное. Вспомните, как человек сидит за столом. Мы можем не видеть его ног, но мы знаем, что они у него есть, потому что у нас есть определенные знания о строении тела человека.

Вспомним

элементарные

законы

физики.

Мы

знаем,

что, если человек опрокинет стакан, вода выльется на стол. Мы знаем,

что,

если

не

держать

предмет

в

руках,

он

упадет.

Мы

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

предложения:

«Пьер

взял

свою

сумку

и

вышел

из

конференц-зала», мы сразу получаем много важной информации. Пьер, наверное, мужчина. Он, скорее всего, на работе. В его сумке наверняка есть документы. Чтобы взять сумку, Пьер делает это рукой, встает

а

не

со

ногой, стула

он (он,

сжимает скорее

пальцы, всего,

чтобы

поднять

сидел,

ее,

возможно,

он на

совещании), он идет к двери, а не летит, он берется за дверную ручку, поворачивает ее и переступает порог. С самого начала мы знаем, что другие события невозможны: Пьер не собирается брать свою сумку с помощью психокинеза, он не

собирается

материализоваться

дематериализоваться, за

пределами

комнаты,

чтобы он

не

затем

собирается

проходить

сквозь

стену

(если,

конечно,

он

не

человек,

проходящий сквозь стены) и т.д. Модель

мира,

которую

мы

постепенно

усваиваем,



я

намеренно использую ту же лексику, что и для искусственного интеллекта позволяет массой



в

нам

течение

первых

заполнить

недостающей

это

месяцев

весьма

информации.

и

лет

нашей

банальное Она

не

жизни

предложение

дает

нам

всех

сведений, но мы подразумеваем ее, потому что знаем, как устроен мир. Точно так же, когда мы читаем текст, мы можем более или менее предвидеть следующее предложение, а когда мы смотрим видео,

мы

можем

более

или

менее

предсказать

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

к

финальной

«Следовательно,

убийца

сцене, —

сэр

где

Эркюль

Пуаро

…»,

читателю

уже

объявляет: потребуется

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

здравый

смысл

характеризуется

способностью

делать

выводы. Это позволяет нам определиться в мире и действовать. Моя гипотеза состоит в том, что это — результат другой формы обучения, которую я называю «обучением без учителя».

Эталон человеческого обучения или «обучения без учителя» На

данный

момент

данное

человеческое

обучение

намного

эффективнее, чем любой другой метод машинного обучения.

Психологи, Эмманюэль

занимающиеся

Дюпу,

развитием

профессор

личности,

когнитивных

такие

наук

в

как

Высшей

нормальной школе и по совместительству исследователь в FAIR в Париже,

объясняют, 116

очень

рано

знаний знают

о

.

том,

С

такой

первых

как

разницу

что

месяцев

устроен

между

тип

мир.

обучения

жизни

С

начинается

дети

получают

двухмесячного

одушевленными

и

у

нас

много

возраста

они

неодушевленными

предметами. Они рано понимают, что эти объекты не появляются спонтанно, и что они всегда есть, даже если спрятаны другими. Они приобретают понятие «постоянства». Эти свойства очевидны для взрослых, но изучать их нам приходится в первые несколько месяцев.

Интуитивная

восемью

месяцами.

физика

Спустя

появляется

девять

между

месяцев

шестью

малыш

и

осваивает

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

за

ними

глазами,

когда

те

падают,

и

будет

подбирать

игрушки, чтобы начать этот процесс сначала. Не ругайте его! Он изучает принцип работы гравитации. В то же время ребенок развивает способность предсказывать. Это важно для полноты нашего восприятия (у сидящего человека есть ноги, которых я не вижу), но в более общем плане — полезно для прогнозирования последствий наших действий. Это позволяет нам

их

планировать.

Если

вы

толкнете

легкий

объект,

он

сдвинется. Но чтобы пододвинуть тяжелый предмет, потребуется больше усилий. У

нас

есть

последствия. модель

У

тысяча нас

и

один

также

человеческого

есть

сценарий тысяча

поведения.

и

и

их

предполагаемые

одна

прогностическая

Они

подпитывают

наш

социальный

интеллект,

они

позволяют

нам

представить,

как

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

которые

исследователи

использовать

в

искусственного

машинах.

Я

интеллекта

предполагаю,

что

они

приобретают большую часть своих знаний посредством обучения без

учителя,

добавляется

где

важную

небольшая

роль

часть

играет

наблюдение;

обучения

(или

к

нему

имитационного

обучения) с учителем и еще совсем маленькая доля обучения с подкреплением. вождению

Обучение

сочетает

в

себе

ходьбе,

езде

на

все

типа

обучения.

три

велосипеде

или

Когда

мы

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

предсказать,

проверять обучения

этого не

что «на

хватает

подкреплением

последствия всякий

случай».

машинам,

крайне

исследователи

пытаются

прогностические

модели

и

будут

что

плачевными: Именно

делает

такой

их

использовать

модели с

Некоторые

машины эти

стоит

обучение

неэффективным. обучить

не

изучать

модели,

чтобы

уменьшить количество проб и ошибок при обучении. Мы говорим об

«обучении

с

подкреплением

на

основе

моделей»,

подход все еще находится в зачаточном состоянии.

но

и

этот

Рис.

9.1.

Этапы

перцептивного,

моторного

и

социального

развития

по

Эмманюэлю

Дюпу

Младенцы получают огромное количество базовых знаний о том, как устроен мир, в первые

несколько

наблюдения:

в

месяцев

первые

жизни.

месяцы

Это

обучение

младенцы

очень

осуществляется мало

влияют

в

на

основном

путем

окружающий

их

физический мир. Примерно через девять месяцев дети понимают, что объект без опоры падает под действием силы тяжести. До этого периода объект, который парит в воздухе, их (по словам Эмманюэля Дюпу) совсем не удивляет.

В

человеческом

(которое,

на

мой

мозге

для

взгляд,

и

приобретения является

этого

сутью

знания

интеллекта)

предназначена лобная доля. Животные учатся так же, как и мы. Некоторые выглядят более одаренными, чем другие. Среди птиц особенно

талантливыми

считаются

вороны.

Среди

морских

животных очень умны осьминоги, несмотря на то, что природа не особенно благосклонна к ним: они живут всего несколько лет и не воспитываются

матерью,

поскольку

та

умирает

вскоре

после

выхода молодых осьминогов из яиц. Смерть матери — трагедия для человека, однако гибель их прародителя, похоже, не влияет на головоногих моллюсков, которые мирно обитают на морском дне в течение сотен миллионов лет.

А вот кошки! У них нет навыков рассуждения, как у людей, но у них куда больше здравого смысла, чем у самой умной машины. У крыс тоже. Я бы считал свою карьеру успешной, если бы мы могли создавать машины, которые будут такими же умными, как крыса

или

белка!

наблюдений.

Все

Они

эти

животные

познают

приобретают

мир

посредством

прогностические

модели,

которые позволяют им выжить. Если

мы

приобретают очередь



поймем, этот

как

люди

огромный

посредством

и

большая

объем

знаний

наблюдений,

часть

о

мы

животных

мире,

в

сможем

первую развить

системы ИИ гораздо дальше.

Обучение без учителя — продолжение Основная идея обучения без учителя состоит в том, чтобы взять вход,

скрыть

под

маской

часть

этого

входа

и

обучить

машину

предугадать маскированную часть по видимой части. Примером этого

является

прогнозирование

видео:

машине

показывают

видео и просят ее предсказать то, что будет происходить в видео. Затем

ей

дается

настраивается, очень

похож

прогноз

чтобы на

как

улучшить

обучение

с

желаемый свой

выход,

прогноз.

учителем.

и

машина

Данный

Разница

в

процесс

том,

что

желаемый выход является временно скрытой частью входа. Однако

в

обучении

с

учителем

до

сих

пор

полностью

не

решена серьезная проблема: как представить неопределенность в прогнозировании?

Для

данного

сегмента

видео

возможны

несколько вариантов развития событий. Как сделать так, чтобы машина могла отображать все эти возможности? В главе 7 мы увидели, что обучение без учителя очень хорошо помогает обучить машину предсказывать слова в тексте. На входе в

машину

скрыты,

и

вводят

фрагмент

обучают

машину

текста,

некоторые

находить

слова

недостающие.

которого Система

учится представлять значение и структуру текста, просто обучаясь

предсказывать легко

пропущенные

представить

пропущенного

слова.

Для

неопределенность

слова

система

создает

текста

относительно

прогноза. большой

Для

каждого

(многомерный)

вектор, каждый компонент которого указывает вероятность того, что конкретное слово в лексиконе является пропущенным словом. Результатом

работы

вероятностей

по

системы

всем

словам

является в

распределение

лексиконе

для

каждого

пропущенного слова.

Рис. 9.2. Обучение без учителя

Обучение

без

учителя

включает

в

себя

ввод

входных

данных,

таких

как

видеоклип,

маскирование части входных данных и обучение модели предсказанию скрытой части по

видимой.

Для

позволяющую часть

научить прошлое

темным часть

машину из

модель

заполнить

показана

игнорируемая

этого



пробелы.

цветом, серым

предсказывать

настоящего

должна

или

В

фиксировать

видеоклипе

маскированная

цветом.

В

будущее

любую

на

внутреннюю

другую

данных,

диаграмме

выше

наблюдаемая

(предсказуемая)

часть



зависимости из

структуру

прошлого

от и

обучения

настоящего,

комбинацию,

верхнюю часть изображения в соответствии с нижней.

режима

светлой,

например,

а

можно

предсказывать предсказывать

К

сожалению,

непрерывных Непонятно,

дело

больших

как

обстоит

иначе,

сигналов,

представить

когда

таких

как

вход

состоит

кадры

распределение

из

из

видео.

вероятностей

в

пространстве всех возможных изображений. Возьмем

пример.

Ручка,

опирающаяся

кончиком

на

стол

в

вертикальном положении, удерживается моим пальцем. Я прошу машину

предсказать

ситуацию

(состояние

мира)

через

две

секунды после того, как я уберу палец (рис. 9.3). Человек сможет предсказать, какую

что

ручка

сторону.

машину

большим

упадет

на

Ориентация

стол,

но

не

может

непредсказуема.

количеством

видеоклипов,

в

сказать,

Если

в

обучать

которых

я

буду

повторять эксперимент, начальные сегменты всех клипов будут, по

существу,

разными,

с

одинаковыми,

разным

представляет

собой

но

положением нейронную

все

конечные

упавшей сеть

сегменты

ручки.

(или

Если

будут

система

некоторую

другую

параметризованную функцию), выход которой состоит из кадров последнего сегмента видео, она может производить только один выход

для

каждого

прогнозирования, значения

всех

изображения,

входа.

система

Чтобы

будет

минимизировать

ведена

к

правдоподобных

конечных

состоящего

ручки

из

получению

во

положениях. Это — очень странный прогноз.

сегментов, всех

ошибку среднего то

есть

возможных

Рис. 9.3. Направление падения ручки непредсказуемо

Пальцем я держу ручку в вертикальном положении; кончик ее опирается на столе. Я прошу наблюдателя, человека или машину, предсказать состояние мира — ситуацию через две секунды после того, как я уберу палец. Человек сможет предсказать, что ручка упадет на стол, но не сможет указать ее ориентацию. В этом есть неопределенность. Если вы научите машину предсказывать продолжение видео с начальным кадром, как слева

на

рисунке,

она

не

сможет

сделать

правильный

и

единый

прогноз.

Если

ее

попросят сделать один прогноз, лучшее, что она может сделать, — это выдать среднее значение

всех

возможных

кадров

из

исходного

видео.

Но

такой

прогноз

будет

изображением, состоящим из ручки во всех возможных положениях, как изображено справа. Это плохой прогноз.

Рис. 9.4. Прогнозирование видео

На видео маленькая девочка перед праздничным тортом. Трудно предсказать, будет ли девочка вытягивать голову вперед, чтобы задуть свечи, или отведет ее назад, чтобы хлопать

в

ладоши.

Система,

обученная

минимизировать

ошибку

прогнозирования,

будет сведена к прогнозированию среднего вероятного прогноза, что является нечеткой картиной.

Вверху:

четыре

кадра,

поступающие

в

сеть.

Внизу:

следующие

два

кадра,

предсказанные сверточной сетью, приводимой к минимизации квадратичной ошибки с тысячами клипов.

Давайте

возьмем

видео,

где

в

комнату

вносят

торт

в

день

рождения маленькой девочки (рис. 9.4). Перед ней ставят торт с зажженными чтобы

свечами.

машина

могла

Что это

она

собирается

предсказать,

ей

делать?

Для

потребуется

того,

модель

мира, содержащая большой объем информации о привычках и обычаях

определенных

культур,

и

не

только.

Ей

также

потребуются знания интуитивной физики, чтобы предсказать, что если

задуть

свечу,

то

она

погаснет.

Не

говоря

уже

о

неопределенностях: свечи может задуть девочка, стоящая рядом, девочку

могут

аплодисментов

напугать и

прогнозирования? назад,

поэтому

прогнозирование, соответствующее девочки.

т.д.

гости,

Как

Девочка

в

этих

может

система, создаст наложению

а

может случаях

двигать

обученная

начнет

обучить

головой делать

размытое различных

она

с

систему

вперед

или

наилучшее изображение,

положений

головы

Если бы мне пришлось выделить только одну проблему среди тех, которые стоят на пути прогресса в области ИИ, я бы сказал так: как заставить работать обучение без учителя, когда сигнал не полностью

предсказуем,

и

притом

является

непрерывным

и

многомерным?

Множественные прогнозы и скрытые переменные Модель,

обученная

без

учителя,



функция (например, нейронная сеть) наблюдаемых идентичная модели

входов,

yp

формулировке

делать

Основная

а

идея



это

yp = g (x, w),

прогноз.

обучения

с

где

Данная

кроме

прогноза

состоит

в

чтобы

для

x

— это часть

формулировка,

учителем,

ничего,

том,

параметризованная

не

позволяет

заданных

добавить

к

f

входов.

аргумент

z,

который мы называем скрытой переменной:

yp = g(x, z, w)

Путем изменения

z

в заданном наборе выход yp будет меняться

сам по себе. Набор всех выходов, полученных при изменении заданном

наборе,

представляет

собой

Эта ситуация показана на рис. 9.5.

набор

прогнозов

z

в

модели.

Рис. 9.5. Модель со скрытой переменной

Модель со скрытой переменной зависит от значения скрытой переменной z, которая при изменении в наборе (обозначенном серым прямоугольником внизу) создает набор выходов, представленных серой лентой справа.

Существует несколько методов обучения модели со скрытыми переменными. Adversarial

Самый

Network,

популярный

метод,

GAN

генеративно-состязательные

(Generative сети),

был

117

предложен в 2014 г. Яном Гудфеллоу

, когда он был студентом

Йошуа Бенжио. Принцип GAN показан на рис. 9.6. В примере мы

случайным

образом

извлекаем

значение

z

возможных значений, что дает прогноз yp. Поскольку случайным

образом,

вероятность

будет равен желаемому обучить

вторую

y,

сеть,

нет.

Мы

обучаемую

можем

функцию

что

z

набора

нарисован

прогнозируемый

yp

мала. Идея GAN состоит в том, чтобы называемую

определять, находится ли прогноз или

того,

из

(x, y)

yp

сетью»,

в наборе вероятных выходов

рассматривать стоимости.

«критической

критическую

Критическая

сеть

сеть

как

обучена

обеспечивать низкую стоимость выходов, связанных с примерами (x, y),

и высокую стоимость всех других наблюдений. В частности,

дискриминатор неверны,

и

предполагает,

корректирует

его

что

прогнозы

веса,

чтобы

генератора

предоставить

(x,

yp)

этим

прогнозам высокую стоимость. Одновременно с этим первая сеть

(«генератор») корректирует свои веса для получения прогнозов, при которых дискриминатор выдаст низкую стоимость.

Рис.

9.6.

GAN

(генеративно-состязательные

сети)

или

состязательные

генеративные

сети

GAN

состоит

из

двух

сетей,

управляемых

одновременно;

одна

из

них

является

дискриминатором, а другая — генератором. Генератор берет наблюдение x (например, начальный

сегмент

видеоклипа)



значение,

полученное

случайным

образом

из

скрытой переменной z (которая является вектором), и производит прогноз yp. Данный прогноз

оценивается

критической

сетью.

Эта

сеть

представляет

собой

своего

рода

обучаемую функцию стоимости. Форма функции стоимости обозначена справа в трех моментах обучения. Сначала функция стоимости плоская. Наблюдаемые у для данного х — это маленькие темные точки. Для наблюдаемого x дискриминатор корректирует свои

параметры u,

чтобы

обеспечить

низкую

стоимость

наблюдаемого

y

и

высокую

стоимость yp, предсказываемую генератором. Функция стоимости расширяется вокруг маленьких темных точек и поднимается вокруг ярких точек, создаваемых генератором. Одновременно

генератор

использует

выходу

обратного

распространения

(путем

градиент

стоимости

через

по

отношению

дискриминатор),

чтобы

к

своему

настроить

свои параметры w и приблизить свои прогнозируемые точки к долине стоимости (т.е. давать хорошие прогнозы). После обучения мы можем нарисовать z наугад и получить набор правдоподобных yp с учетом наблюдения x.

С

момента

феноменального результаты,

своего

количества

хотя

ошеломляющие

создания статей.

управлять

результаты

GAN Они

ими

появились

стали дали

очень в

предметом

впечатляющие

сложно.

ноябре

2015

Первые г.,

когда 118

вышла статья Алека Рэдфорда, Люка Метца и Сумита Чинтала

.

Сумит работал в FAIR, Алек и Люк открыли стартап в Бостоне, но первый с тех пор присоединился к OpenAI, а второй — к Google. Их

статья

показала,

сверточной

(или,

создавать

что

GAN,

скорее,

довольно

использующие

архитектуру

деконволютивной) убедительные

сети,

может

синтезированные

изображения. Вход в генератор представляет собой 100-мерный скрытый

вектор

изображение



их

случае

размером

64

нет

×

64

x-входа),

а

пикселя.

выход



цветное

Дискриминатор



односторонняя сверточная сеть. Авторы тренировали свою сеть на

фотографиях

случайных

спален.

чисел,

совершенно

и

После

она

убедительной

обучения

создает

образ

спальни.

Эта

сети

дается

100

воображаемой, статья

была

но

сродни

взорвавшейся бомбе. Все перешли на GAN! Они являются одним из способов выполнения старой мечты моделирования данных: параметризация пространстве,

о

очень

сложной

котором

поверхности

что-то

известно

в

многомерном

только

на

немногих

конкретных примерах. Год

спустя

вместе

с

моим

учеником

Микаэлем

Матье

и

Камилль Купри, исследователем из FAIR в Париже, мы показали, что GAN могут помочь решить проблему размытых изображений при

прогнозировании

119

видео

.

Вместе

с

Камиллем

и

другими

участниками FAIR мы будем создавать изображения одежды после обучения

на

основе

коллекции

изображений

от

известного

120

дизайнера

. Некоторые примеры приведены на рис. 9.7.

Но одна из самых впечатляющих демонстраций GAN — это статьи

из

финских

лабораторий

NVidia,

где

сверточная

GAN

смогла создать очень качественные и очень реалистичные лица 121

после обучения на примере портретов известных людей

.

У GAN и современных генеративных моделей в более общем плане старых

есть

много

пленок,

приложений увеличение

для

творчества: разрешения

раскрашивание изображения,

инструменты для обработки изображений и синтеза. Некоторые используют их для синтеза звука и музыкальных композиций.

Рис. 9.7. Одежда с напечатанным рисунком, произведенная методом состязательного обучения

Генератор со сверточной архитектурой был обучен на коллекции изображений модных вещей от известного дизайнера.

Но

у

этих

методов

применение.

Например,

правдоподобные (иногда

очень

искусства

может

на

и

очень

«дипфейки»,

первый

взгляд

вульгарные),

оказываются

быть

на

в

то

сомнительное есть

изображения

которых

политики

щекотливом

или

очень

или или

видео люди

недостойном

положении. При

помощи

говорит сигнал

GAN

также

предложение, так,

собственной

как

а

будто

можно

мы

менять

можем

предложение

интонацией,

акцентом,

и

голос:

преобразовать сказал

человек

голосовой

человек

особенностями

А

Б

речи

с

его

и

т.д.

Для этого достаточно записать образец голоса человека Б и затем клонировать его. Поскольку обучение GAN проводится без учителя, появилась надежда

на

использование

предварительного учителем.

Это

необходимых

обучения

позволило в

ходе

бы

состязательных системы сократить

обучения,

однако

перед

методов обучением

количество эти

для с

примеров,

методы

пока

не

привели

к

существенным

улучшениям

в

работе

систем

технического зрения. Кроме создания

того,

никто

текста.

не

GAN

нашел

способа

«предпочитают»

использовать

непрерывные

их

для

данные,

подобные изображениям, дискретным данным, таким как текст.

Способность к прогнозированию Мы

говорили

про

обучение

без

учителя

для

построения

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

среды

и

предсказывать

последствия

этих

изменений, поэтому мы можем с надежностью планировать то или

иное

действие

(или

последовательность

действий).

Часть

исследований ИИ работает над тем, чтобы наделить машины этой способностью, но они пока находятся в зачаточном состоянии. А погода, спросите вы? Она, по сути, предсказывает движение облаков «ДНК»,

и

изменения

как

и

у

робототехникой, процессами.

У

барометра.

менее

Прогнозирование

знакомых

аэронавтикой

робота

есть

нам или

подробная

систем



это

его

управления

промышленными

модель

его

динамики,

которая позволяет ему прогнозировать то, как воздействие на его двигатели повлияет на положение и скорость его «конечности». НАСА использует уравнения динамики ракеты для планирования траектории стыковки с Международной космической станцией. Но

все

эти

модели

написаны

инженерами

вручную

с

применением механики Ньютона: вот в чем разница. Эти роботы не

обучены.

То

же

самое

и

с

прогнозом

погоды

или

расчетом

обтекания

самолета,

законы

которого

написаны

вручную

физиками, освоившими гидродинамику или метеорологию. С

другой

электроэнергии недвижимости, реакции

стороны, в

городе,

прогнозирование

стоимости

электорального

организма

на

финансовых

поведения

лекарство



потребления

это

активов

населения

не

уже

или

физика.

или даже

Одних

базовых принципов, таких как сохранение энергии или импульса, недостаточно

для

коллективные основным

написания

явления

редко

принципам.

феноменологические прогнозированием

этих

можно

Мы

моделей. свести

должны

модели,

нас

нескольким

полагаться

которые

интересующих

к

Сложные

на

ограничиваются

переменных

на

основе

наблюдаемых данных, не прибегая к редукционистской модели причинно-следственных связей между этими переменными. Цена дома

зависит

от

жилой

площади,

количества

комнат,

размера

земельного участка. Но оно также зависит от критериев, которые труднее

определить

количественно,

таких

как

качество

школ

в

районе, внешний вид дома или спокойствие и привлекательность района. Трудно все это вставить в уравнение! Вы можете обучить систему (нейронную сеть или что-то еще) предугадать

цену

предоставили модели

бросается

основе

все

в

простых

комнату. к

нам

в

этих

данных

необходимые

прогнозированию

относительно Заходим

ей

на

того,

ситуациях, Малыш,

объятия,

надеяться,

переменные. что



Но

совсем

только

заметив

что

даже

другое

начал

лежащего

вы

обучение

произойдет

это

который не

и

в

дело.

ходить,

на

земле

электрического провода. Споткнется ли он, ударится ли головой о журнальный столик, опрокинет ли вазу, стоящую на краю стола? Эти

предвидимые

нами

обстоятельства

заставляют

нас

поспешить, чтобы не дать ребенку упасть. Но как робот может узнать достаточно о том, как устроен мир, чтобы представить и предотвратить все это?

Подобный

«электромеханический

работник»

должен

был

бы

наблюдать за ситуацией своей камерой и предугадать, как и мы, ряд

возможных

позволят

сценариев.

прогнозировать

Однако

действие

на

взаимосвязи, основе

которые

видеофрагмента,

чрезвычайно сложны. А теперь представьте себе робота-повара. Несмотря на то, что его

рабочая

зона



работа

в

целом)

ограничены,

он,

тем

не

менее, уже должен иметь весьма сложную модель мира. Как и любой повар, он должен уметь предугадывать, что произойдет, если

он

добавит

кипения.

Он

молоко

должен

разумеющимся:

в

муку

понимать

если

он,

или

то,

когда

что

мы

например,

он

доведет

считаем

перельет

соус

само

до

собой

содержимое

большой емкости в маленькую, значительная часть его пропадет. Он

должен

обладать

интуитивной толчка, чтобы

что

физики,

достаточными чтобы

необходимо

вытащить

пакет

знать,

обойти сахара,

знаниями

что

или или

стакан

области

упадет

переместить какие

в

после

салатницу,

движения

нужно

сделать, чтобы вставить насадки в электрический миксер. Итак: 1. Количество входных переменных огромно: их, возможно, миллионы, включая изображения с одной или двух камер, датчики расстояния, касания, силы, температуры, микрофоны и т.д. 2. Модель, описывающая состояние «мира» (кухни) в момент времени

t + 1

времени

t

в зависимости от его состояния в момент

и выполняемого действия, чрезвычайно сложна.

3. Постоянно приходится иметь дело с чем-то непредсказуемым.

Учитывая находится

состояние

робот,

что

бы

мира это

(кухня ни

или

было),

и

среда,

в

которой

учитывая

действие

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

s[t + 1] = f([t], a[t], z[t], w),

где

— будущее состояние,

s[t + 1]

выполненное действие, а

z[t]

s[t]

— текущее состояние,

a[t]



— скрытый вектор, представляющий

все непредсказуемое в эволюции мира. Эта функция должна быть выполнена нейронной сетью. Как

ее

обучить?

выполняем

действие

результаты в мире так,

чтобы

Возможно

несколько Мы

Изучение

конкретной

произвольно

ситуации

вносим

к

прогнозов, обучить

прогноз

и

z[t]

Затем мы корректируем

можем

Данный

с

приближался

произвольно изменяя

действий

a[t],

s[t + 1].

прогноз

усложняет. методом.

Начнем

w,

это

эту

параметры

следует

f,

результату.

обстоятельство

модель

Мы

наблюдаем

наблюдаемому

и

s[t].

все

состязательным

повторить,

несколько

раз

z[t].

модели

для

является

планирования

предметом

последовательности

обсуждений

во

многих

лабораториях, в FAIR, в Калифорнийском университете в Беркли, в

Google

в

учреждениях.

их

дочерней

Но

все

мы

компании

DeepMind

сталкиваемся

с

и

одним

в и

других тем

же

препятствием: с трудностью делать прогнозы, потому что мир не очень-то предсказуем.

Архитектура автономных интеллектуальных систем Системы,

которые

ориентированы сигналов.

на

упоминались восприятие

Обучение

с

ранее, и

в

значительной

интерпретацию

подкреплением

степени

естественных

пытается

объединить

восприятие и действие в единую парадигму обучения. Но мы уже убедились в том, что количество проб и ошибок, необходимых для обучения

таких

приложениях, вождение.

систем,

таких

недопустимо

как

во

робототехника

многих или

практических

автоматическое

Пришло время подумать об общей архитектуре автономного интеллектуального воспринимать,

агента,

который

планировать

и

мог

действовать.

бы

По

научиться

этому

вопросу

проводится много исследований, но эксперты пока не достигли консенсуса относительно дальнейших действий. Лучший пример автономного интеллектуального агента — это люди.

Чтобы

понять,

чего

еще

не

хватает

машине,

давайте

посмотрим на поведение человека. Им управляет два механизма. Первый



реактивный

или

стимул-реактивный.

Он

управляет

задачами, которые мы можем выполнять, не задумываясь. Нам бросают мяч, мы ловим его на лету. Нас спрашивают «2 + 2?», мы отвечаем «4». Мы едем на машине по прямой, пустой дороге, не обращая на нее особого внимания. Второй модель

механизм

мира

и

является

нашу

сознательным

способность

и

включает

планировать.

Мы

нашу

должны

правильно припарковать машину в специально отведенном для этого месте, или сесть на поезд в незнакомом городе, или выбрать между тем или иным товаром в магазине, рассказать историю, доказать

теорему

или

написать

программу,

поговорить

с

банковскими или административными сотрудниками и т.д. Эти два способа мышления и действий известный психолог и 122

лауреат Нобелевской премии по экономике Даниэл Канеман называет

«системой



и

«системой

2».

Некоторые

виды

поведения типа 1 являются врожденными, например, закрытие век,

когда

объект

быстро

приближается

к

нашему

лицу,

но

большинству из них мы учимся в течение жизни. Поведение типа 2

включает

в

себя

процессы

осознанного

и

рефлексивного

мышления. Давайте столкнулись

перейдем до

сих

к

машине.

пор,

Все

относятся

системы, к

с

системе

которыми 1,

а

мы

именно

«реактивной». Какую архитектуру следует создать, чтобы машина обладала

поведением,

«сознательной»?

относящимся

Возможная

к

системе

архитектура

2,

а

именно

автономной

интеллектуальной системы показана на рис. 9.8. Она состоит из агента, взаимодействующего с окружающей средой, и целевого модуля, степень

своего

рода

функции

неудовлетворенности

стоимости, агента.

которая

Агент

измеряет

наблюдает

за

окружающей средой через модуль восприятия, который дает ему представление

(как

правило,

неполное)

о

мире

вокруг

него.

Целевой модуль наблюдает за внутренним состоянием агента и выдает

выходное

число,

подобное

стоимости.

Расчетная

стоимость низкая, когда все в порядке, высокая, когда что-то не так. Агент старается минимизировать среднее значение целевого результата, рассчитанного в долгосрочной перспективе. Другими словами, целевой модуль «вычисляет» боль (высокая стоимость), удовольствие

(низкая

стоимость)

и

побуждение

(высокая

стоимость, когда они не удовлетворены, низкая стоимость, когда они удовлетворены) — если вообще мы можем назвать их так в случае с машиной. Агент учится минимизировать боль, получать максимальное

удовольствие

и

воздействуя на окружающую среду.

удовлетворять

побуждения,

Рис. 9.8. Автономная интеллектуальная система с внутренней целью

Система наблюдает за состоянием окружающей среды через модуль восприятия. Он производит функцию

воздействие (своего

на

рода

окружающую

функцию

среду,

стоимости),

чтобы

минимизировать

которая

измеряет

целевую

степень

ее

неудовлетворенности. Данная целевая функция наблюдает за внутренним состоянием агента и выдает небольшое число, если агент находится в состоянии удовлетворения, и большое число, если агент находится в неудобном или болезненном состоянии. Система должна

научиться

цели

долгосрочной

в

производить

действия,

перспективе.

Эта

которые

цель

минимизируют

обеспечивает

среднее

внутреннюю

значение

мотивацию

системы. Она может быть построена частично «вручную», чтобы обезопасить систему и людей,

которые

ее

используют,

во

многом

подобно

цепям

и

инстинктам

боли

или

удовольствия у животных и людей. Но ее можно и частично обучить.

В мозге подобную роль играет набор структур, расположенных 123

в базальных ганглиях

.

Они

«вычисляют»

наше

удовольствие,

нашу боль и нашу удовлетворенность. Эта архитектура является основой

обучения

«внутренней»

с

подкреплением

мотивацией,

когда

с

так

стоимость

называемой

рассчитывается

внутри машины целевым модулем. В более традиционной модели обучения с подкреплением, используемой AlphaGo, цель является внешней.

Величина

предоставляется

стоимости

не

непосредственно

рассчитывается

агенту

системой,

окружающей

средой

а в

виде числа, символизирующего награду или наказание. Наличие внутренней цели позволяет вычислить ее градиент, чтобы знать, в каком

направлении

следует

изменить

состояние

агента,

чтобы

минимизировать цель. Когда человек хочет что-то сделать, под этим предполагается желаемое

состояние

мира.

Для

планирования

ряда

действий,

соответствующих человек

достижению

использует

модель

этого

мира,

желаемого которая

состояния,

позволяет

ему

предсказать состояние, возникающее в результате ряда действий. Нам

нужно

переместить

стол

из

одной

комнаты

в

другую.

Желаемое состояние мира — «стол в другой комнате». Но какая последовательность

мышечных

действий,

миллисекунда

за

миллисекундой, приведет к желаемому результату? Это проблема планирования. опробовать

Без

модели

множество

мира

человек

был

бы

последовательностей

вынужден

действий

и

наблюдать за результатами. Модель мира позволяет нам избегать необходимости пробовать всевозможные сценарии, некоторые из которых

могут

быть

опасными.

Помните,

что

при

обучении

с

подкреплением система не имеет модели и должна перепробовать все! Шутка для специалистов: окружающую среду и реальный мир нельзя

продифференцировать!

градиенты действие, также

по

всему

чтобы

не

миру,

приблизить

можете

заставить

Вы

не

чтобы его

можете

вычислить,

к

желаемому

реальный

мир

распространять как

изменить

состоянию!

работать

Вы

быстрее

реального времени. Как и человек, машина должна иметь модель мира, которую ей придется создавать заново. Агент должен иметь внутреннюю структуру, серии агента

которая

действий с

позволяет

для

состояния

внутренней

моделью

ему

предсказывать

мира

и

его

показана

на

цели.

последствия Архитектура

рисунке

9.9.

Она

состоит из трех модулей: 1. Модуль восприятия, который дает оценку состояния мира. 2. Модель мира, то есть функция

g,

которая в момент времени t

предсказывает состояние следующего мира на основе текущего состояния переменной

z[t],

s[t],

действия

а[t]

и, возможно, скрытой

заданной произвольно и позволяющей

создавать несколько сценариев, если мир не полностью предсказуем:

s[t + 1] = g(s[t], a[t], z[t], w)

3. Дискриминатор, то есть функция стоимости

C(s[t]).

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

Рис. 9.9. Внутренняя архитектура автономного агента с прогностической моделью

Чтобы

действовать

разумно

и

минимизировать

свою

цель,

агент

должен

иметь

три

компонента: модель прогнозирования среды, дискриминатор, который предсказывает среднее

значение

действий. каждый

При

цели

в

будущем,

планировании

момент

t

мы

и

модуль

субъект,

предлагающий

восприятия

предоставляем

модели

оценивает

гипотезу

последовательность

состояние

действия

мира

a[t]

и

s[0].

В

значение

переменной z[t], и прогнозируем следующее состояние мира, используя модель s[t + 1] =

g

(s[t],

a[t],

вычисляет

z[t],

w).

стоимость.

Он

Дискриминатор пытается

берет

прогнозируемое

предсказать,

приведет

ли

состояние

состояние

s[t]

и

модели

к

благоприятному или неблагоприятному исходу. Дискриминатор обучен предсказывать будущий

средний

результат

целевого

модуля.

Он

рассчитывает

прогноз

средней

долгосрочной неудовлетворенности. Чтобы

спланировать

действий

и

разворачивает

последовательность рассчитанную градиентного функциями

действие,

на

агент

модель

действий,

траектории.

спуска,

Это

и

сетями).

последовательности,

повторяет

процесс.

Полученные

целей

обучения

субъекта

может

стоимость Агент

оптимизированной

для

Он

последовательности

уточняет

быть

за

с

помощью

дифференцируемыми

новым

прогнозированию

стоимость,

выполнено

являются

действия

гипотетическую

среднюю

выполняет

наблюдает

образом

прямому

о

минимизировать

уточнение

модель

таким

гипотезу

(справа).

чтобы

поскольку

(нейронными

выдвигает

могут

первое

действие

состоянием служить

наилучшего

в

мира

и

качестве

действия

без

необходимости какого-либо планирования или использования модели, то есть перехода от разумного действия к инстинктивному.

Архитектура может использоваться в двух режимах, более или менее

соответствующих

(сознательное

«системе

планирование)

и



Даниэла

«системе



Канемана (быстрое

реагирование). Начнем с сознательного планирования, которое инженеры в области модели

оптимального предсказания

управления

называют

удаляющегося

«управлением

горизонта».

по

Эпизод

начинается с оценки состояния мира модулем восприятия. Такое

состояние

инициализирует

имитирует времени

эволюцию

мира

(определенное

модель в

мира.

течение

количество

Затем

модель

определенного

периода

шагов

используя случайную последовательность

z



s[t + 1] = g(s[t], a[t], z[t]).

времени

стоимость

уточнить

гипотетическую

c[t]

=

горизонт),

и последовательность

гипотетических действий: рассчитывается

это

В каждый момент

C(s[t]).

последовательность

Теперь

нужно

действий,

чтобы

минимизировать среднюю стоимость по последовательности. Это можно

сделать

данную

помощью

операцию

случайных состоит

с

градиентного

приходится

последовательности

в

том,

чтобы

благоприятному

найти

исходу

спуска.

повторять

скрытой

первое

(низкая

К

для

сожалению, нескольких

переменной

действие,

стоимость)

z[t].

которое

Цель

ведет

независимо

к от

скрытой переменной. В конце эпизода, как только мы определили оптимальное

действие,

мы

выполняем

его,

наблюдаем

новое

состояние мира и повторяем операцию для следующего момента времени

t.

Это

довольно

затратно

с

точки

зрения

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

метод



обучить

модуль

субъекта;

его

иногда

называют «стратегическая сеть». Как и раньше, мы «прогоняем» модель

определенное

стоимость. действий

на

a[t]

=

часть

раз

мира

p(s[t]).

обратно

рис.

минимизировать

9.9)

раз

субъекта, в

качестве

Чтобы

градиенты и

и

вычисляем

последовательность

модулем

состояние

распространяем (правая

этот

создается

принимает действие

Но

количество

среднюю

входов

стоимости

настраиваем

гипотетических

функцией

обучить

и

p,

которая

производит

субъекта, на

весь

параметры

стоимость

среднюю

по

p,

мы

эпизод чтобы всей

последовательности. Вот типичное приложение такой модели. Допустим, мы хотим научить беспилотный автомобиль ездить по трассе. Разумеется,

речь не идет о том, чтобы отправить необученный автомобиль на настоящую

трассу:

он

далеко

не

уедет.

Во-первых,

для

модели

было бы неплохо предсказать, что будут делать окружающие этот автомобиль мира,

или,

состоит

машины скорее,

из

автомобиле,

в

течение

нескольких

непосредственного

прямоугольного на

котором

секунд.

окружения

изображения

представлены

с

соседние

Состояние

автомобиля, центром

на

автомобили

и

разметка полосы движения на дороге. По нескольким прошлым кадрам этого прямоугольника ConvNet обучается предсказывать несколько

будущих

кадров.

В

нем

есть

скрытые

переменные,

которые могут создавать несколько сценариев: без них прогнозы будут

нечеткими.

Данные

для

обучения

поступают

с

камер,

наблюдающих за движением на участке трассы. После обучения прогнозирующей обратного показано

модели

мы

распространения на

рис.

9.9.

обучаем

ошибки

Функция

с

субъектную течением

стоимости

сеть

путем

времени,

измеряет

как

близость

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

прогноза

модели.

Это

условие

заставляет

систему оставаться в зоне надежных прогнозов. В этих условиях система

учится

водить

«мысленно»,

даже

не

взаимодействуя

с

124

реальным миром Такой

подход

.

применяется

в

простых

случаях.

Но

быстро

возникают трудности: 1. Как получить модели мира, достаточно мощные, чтобы справиться со многими задачами и ситуациями? 2. Как обучить модель со скрытыми переменными, чтобы она могла предсказывать большинство возможных будущих сценариев? 3. Как обеспечить использование модели в тех областях, где ее прогнозы надежны?

Я

не

верю,

что

будет

достигнут

значительный

прогресс

в

создании систем, интеллект которых приближен к человеческому, пока

не

будет

найдено

удовлетворительное

решение

этих

вопросов. Мы все еще далеки от цели.

Глубокое обучение и рассуждения: динамические сети Вторая проблема. Упомянутые нами сети способны к восприятию, а иногда и к действию. Но как научить их рассуждать и сделать по-настоящему умными? Мы

только

что

планирование

говорили

особой

последовательности

прогностической стоимости.

об

модели

Многие

последовательности минимизируют

на

основе

минимизации

рассуждения

конкретную

рассуждений:

действий

путем

векторов

форме

сводятся

(или

функцию

функции к

поиску

символов), (как

которые

решение

проблемы

удовлетворения ограничений). Но

многие

формы

рассуждений

имеют

иную

природу.

Возьмем изображение на рис. 9.10. Чтобы ответить на вопрос: «Справа

от

блестящий резиновая

металлического

объект.

Он

сфера?»,

серого

такого

необходимо

же

цилиндра

размера,

найти

находится

что

сферу,

и

большая

найти

нужный

цилиндр и сравнить их размеры. Вместо того чтобы обучать сеть с фиксированной нужно

архитектурой

обучить

ее

отвечать

создавать

на

вторую

все

такие

сеть,

вопросы,

специально

адаптированную для ответа на этот вопрос. Эта вторая сеть будет построена новым

динамически

вопросом)

обнаружения

и

сферы

металлического

(то

есть

состоять

на

реконструироваться из

пяти

изображении,

цилиндра,

модулей:

второй

третий

для

для

с

каждым

один

для

обнаружения определения

местоположения убедиться

блестящий

сравнить

размеры.

перевода, одного

объекта

но

объект

Первая

вместо

языка

ли

справа

на

того,

или

сеть

него, нет,

выглядит

чтобы

другой,

последовательность

от

и

последний,

как

переводить

она

инструкций,

четвертый,

сеть

чтобы чтобы

языкового

предложение

«переводит»

описывающих

вопрос

с в

архитектуру

второй сети. Все это от начала до конца основано на базе данных CLEVR

(A

Diagnostic

Dataset

for

Compositional

Language

and

Elementary Visual Reasoning, т.е. диагностический набор данных для

творческого

основанного

на

университетом,

языка образах),

и

и

элементарного

созданной

состоящей

из

100

FAIR 000

и

рассуждения, Стэнфордским

синтезированных

изображений, плюс 850 000 автоматически созданных вопросов и 125

ответов

.

Рис.

9.10.

Сеть,

выход

которой

представляет

собой

другую

сеть,

динамически

созданную для ответа на поставленный вопрос

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

размеры.

вопрос

в

качестве

инструкций), предложение ответа

Первая

на

сеть

входа

(вверху) и

преобразует

описывающее

архитектуру

трансформируется

вопрос:

ее

работает

во

модули

как

его

в

перевода.

«предложение»

сети,

вторую

система

состоящей

сеть,

обнаруживают

которая сферу,

из

Она

принимает

(последовательность пяти

специально

цилиндр,

их

модулей.

Это

построена

для

положение

и

сравнивают их размеры, чтобы получить ответ. Система обучается от начала до конца на основе образцов изображений, вопросов и автоматически сгенерированных ответов 126

(источник: Hu et al., 2017, FAIR

Такая

идея

).

нейронных

сетей,

созданных

динамически

на

основе входов, привела к новой концепции дифференцируемого программирования.

Мы

пишем

программу,

инструкциями

которой являются не фиксированные операции типа «добавить 4 к переменной z», а модули глубокого обучения, функция которых будет

определяться

обучением.

Роль

программы

заключается

в

создании графа модулей (сети), расположение которых подходит для задачи. Этот граф (архитектура сети) заранее не фиксируется, а

структурно

учителем.

зависит

от

«Инструкции»

входов.

Затем

программы,

то

система есть

обучается

точные

каждого модуля, определяются этим этапом обучения.

с

функции

Это

новый

преимущества

способ

программ,

дифференцируемости

дифференцирования градиентного

написания

графа

спуска.

модулей,

модулей

Некоторые

и

использующий

автоматического

обучения

видят

в

этом

методом

настоящую

революцию.

Интеллектуальные объекты Искусственный мощностей. несколько

интеллект

Обучение часов

графическими

требует

большой

или

дней

использоваться

на

сверточной

на

процессорами. серверах

больших

целой

После

вычислительных

сети

может

«батарее»

обучения

центра

обработки

занять

машин

сеть

с

может

данных

для

фильтрации, пометки и сортировки изображений или текста, или для

распознавания

распознавания цифровых

речи.

На

изображения

операций.

автоматическим

рисунке требуется

Команды

упрощением

6.9

показано,

несколько

инженеров

сетей,

чтобы

что

для

миллиардов

работают

над

минимизировать

их

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

для

сверточных

сильно

сетевых

отличается

от

вычислений,

архитектуры

архитектура стандартных

процессоров. Они задействованы в системах поддержки вождения автомобилей,

используются

в

мобильных

телефонах

для

немедленного перевода или функций «виртуальной реальности», в

интеллектуальных

съемки,

в

фото-

беспилотных

и

видеокамерах

летательных

для

аппаратах,

оптимизации

которые

могут

отслеживать и снимать нас самих. В будущем у нас будут глубокие сети в очках виртуальной реальности, в интеллектуальных домах и

обслуживающих

роботов-курьеров.

роботах,

на

транспортных

средствах

и

у

Все это требует разработки новых инструментов — нейронных процессоров

с

вычислительной

мощностью,

измеряемой

в

TFLOPS (терафлопс), но дешевых и потребляющих мало энергии. Их

«маленькая»

сверточная

сеть

должна

выполнить

10

млрд

операций для анализа изображения. При 30 кадрах в секунду для работы

на

смартфоне

гигафлопс,

потребуется

потребляющий

смартфона

составляет

менее

процессор 1

Вт.

примерно

со

скоростью

Емкость

10

300

аккумулятора

ватт-часов.

Процессор

мощностью 1 Вт опустошает его за 10 часов. Слишком быстро! Для

достижения

высокой

производительности

нейронные

процессоры используют новую аппаратную архитектуру. Чтобы свести

к

минимуму

энергоемкие

обмены

данными,

вычислительные блоки и память смешиваются и распределяются по кремниевому чипу. Вычисления выполняются с числами очень низкой

точности:

представить кодировать

веса

и

числа

процессоры.

нескольких активность

на

32

или

Новые

64

битов

достаточно,

нейронов. бита,

как

Нет это

возможности,

чтобы

необходимости

делают

обычные

предоставляемые

приложениями глубокого обучения, интегрированными в наши повседневные

гаджеты,

таковы,

что

инновации

в

индустрии

интегральных схем уже стремительно растут. Компании, Amazon, Huawei

Samsung, и

Intel,

множество

европейских для

подобные

нужд

домашних

роботов,

виртуальной

или

камер,

Qualcomm,

Apple,

или

для

новых

виртуальных

ARM,

разных интеллектуальных объектов.

Microsoft,

Baidu,

Alibaba,

тайваньских

нейронные поколений

средств

и,

и

процессоры смартфонов,

помощников,

реальности,

транспортных

Будущее согласно ИИ

Facebook,

китайских,

разрабатывают

дополненной

автономных

Google,

американских,

стартапов

собственных

NVidia,

очков

интеллектуальных в

общем,

самых

Четыре основные категории приложений ИИ вызывают интерес у крупных

промышленных

транспортные

средства,

промышленные

компаний:

медицина,

виртуальные

роботы.

Первые

две

автономные

помощники,

области

мы

и

бытовые/

уже

обсудили.

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

автономный

Рима

человека,

или

придется

Калькутты

невозможен

использования

автомобиль

до

в

часы

появления

прогностических

всерьез

выяснять,

как

на

улицах

пик,

без

вмешательства

обучения

моделей. человек

Нью-Йорка,

без

Скорее

учится

учителя всего,

водить

и

нам

машину

всего за 20 часов. Что касается виртуального помощника, то его разработка еще более

ограничена.

В

идеале

он

должен

обладать

интеллектом,

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

чтобы

решить

связаться

со

ту

или

службой

иную

административную

мобильной

телефонной

связи,

организовать поездку или прогулку с друзьями, планировать свой календарь сможет

или

отфильтровать

ответить

встречах,

на

напомнить

любой об

сообщения.

вопрос,

итогах

Умный

помочь

предыдущих

нам

помощник в

встреч.

деловых Все

это

невозможно без революции, основанной на здравом смысле. Научно-фантастический

фильм

«Она»

2013

г.

режиссера

Спайка Джонза описывает возможное взаимодействие мужчины со

своим

виртуальным

помощником.

Главный

герой

Тео

влюбляется в компьютерную сущность, у которой голос Скарлетт Йоханссон немногих

и

которую

фильмов,

реалистично.

в

Сценарий

он

назвал

которых

Самантой. ИИ

Это



один

рассматривается

футуристический,

но

суть

его

из

очень верна.

Люди

склонны

вокруг

них.

привязываться

Почему

все

к

объектам,

должно

быть

животным

иначе

с

и

людям

виртуальным

помощником, особенно если он запрограммирован на развитие уникальной

личности

на

основе

взаимодействия

со

своим

«хозяином»? Но давайте посмотрим правде в глаза, настоящий робот все еще

существует

пылесосы, просто

лишь

откровенно

под

столом

в

научной

говоря,

или

за

фантастике.

глупы.

креслом.

Они

Наши

легко

Когда

же

«роботы»-

застревают мы

увидим

домашнего робота, который способен убрать весь дом? Автономные обнаружении

газонокосилки

препятствий,

немного

поскольку

те

более

искусны

потенциально

в

опасны

для машины. Но и они до сих пор не могут отличить клумбы от зарослей

одуванчиков.

Привет,

кошмар

садовода!

Появится

ли,

наконец, робот-садовник, который позаботится о наших цветах, соберет малину и вырвет все сорняки? Машины, используемые в производстве, только повторяют раз за

разом

предварительно

запрограммированные

процедуры,

но

они еще не могут выполнять сложные манипуляции или сборку, если условия поменяются. Когда появится разумный, а не просто трудолюбивый робот? Как

и

в

случае

с

виртуальным

помощником

и

автономным

автомобилем, эти интеллектуальные роботы станут реальностью только

после

появления

моделей

мира,

которые

позволят

им

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

ГЛАВА 10

Искусственный интеллект и человечество

Искусственный интеллект вызывает массу вопросов. Он меняет общество.

Он

подрывает

технологическая

революция,

экономику. он

Как

способствует

и

любая

появлению

одних

профессий и уничтожению других. Не всем такое нравится. Искусственный

интеллект



это

технология,

наука,

инструмент, целый комплекс. Требуется ли понимать ИИ, чтобы им пользоваться? Можно ли считать его надежным? Может

ли

искусственный

интеллект

сделаться

угрозой

человечеству? Стоит ли бояться умного оружия? Можем ли мы представить

себе

исполненных пропитано

злыми

страхами,

вторжение

роботов-убийц,

намерениями? которые

Наше

затуманивают

дронов,

воображение

наши

суждения.

Должны ли мы теперь ограничивать его возможности законами и постановлениями? Возможно, искусственный интеллект изменит представление человечества

о

самом

себе.

Он

уже

помогает

нам

понять,

как

работает наш мозг. Но каковы реальные пределы человеческого или искусственного познания? Если машины превосходят нас во некоторых интеллект

областях, не

так

следует

универсален,

ли

считать,

как

нам

что

человеческий

хотелось

бы

думать?

Может ли машина конкурировать с биологическими системами?

Если

мозг



возможностями,

это

просто

сопоставимая

с

машина ИИ,

с

каковы

ограниченными

будут

последствия

этого для людей? Будут ли машины когда-нибудь могущественнее людей

во

всех

областях?

Более

творческими?

Более

осведомленными? Будут ли у них желания, эмоции, моральные ценности?

Как

человеческим

обеспечить

ценностям?

соответствие

Хотят

ли

они

их

ценностей

господствовать

над

человечеством? Лавина вопросов, поэтому… Давайте продолжим.

ИИ меняет общество и экономику Экономика — не моя область знаний. Я просто поделюсь с вами некоторыми

наблюдениями,

сделанными

видными

экономистами. Они рассматривают ИИ как технологию общего назначения будет

(англ.

General

распространяться

и

Purpose

Technologies,

коренным

образом

GPT),

которая

преобразовывать

экономическую жизнь в ближайшие десятилетия. Из истории нам известно

и

о

других

технологиях

общего

назначения:

паровой

двигатель, электричество, компьютеры. Как

и

предыдущие

искусственный

интеллект

технологические

вытеснит

потрясения,

некоторые

профессии

и

заодно приведет к появлению новых профессий, которые мы даже и представить себе не можем. Кто мог предположить 20 лет назад, что

такие

сервисы,

зарабатывать

деньги

как на

YouTube,

создании

помогут

видео?

тысячам

Или

что

людей

Facebook

и

Instagram позволят мастерам своего дела находить клиентов по всему миру? Промышленные революции уничтожают одни виды деятельности каждый

и

второй

хозяйством.

В

порождают француз

2019

г.

другие.

Напомним,

зарабатывал

доля

таких

себе

людей

на

что

жизнь

снизилась

двадцатой. Мы приспособились. Мы сделаем это снова.

в

1870

г.

сельским до

одной

Экономисты окажет

считают,

значительное

что

в

влияние

следующие

на

10

или

20

производительность

лет

ИИ

труда



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

Как

будут

перераспределяться

революции?

По

связанные

определенными

с

мере

достижения

распространения

этой

технологий

профессиями,

новой

навыки,

устаревают.

Людей

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

как

Эрик

Бриньолфссон

технологического

института,

утверждают,

скорость

что

из

более внедрения

Массачусетского

оптимистичны. технологий

Они

общего

назначения в экономику ограничивается как раз тем временем, которое

требуется

пользоваться. Повышение техники

Этот

работникам, процесс

может

производительности

началось

только

с

чтобы занимать в

середины

области 1990-х

научиться от

15

до

ими

20

лет.

вычислительной гг.,

когда

широко

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

извлечь

воспользоваться это

вложить

из

этого?

возможностями

значительные

Лучший

способ

искусственного

средства

в

для

стран

интеллекта

образование.

На



всех

уровнях: в школах, вузах, аспирантуре и, конечно же, в системе повышения

квалификации.

трансформации,

а

также

Вы

должны

создать

подготовить

технологическую

«экосистему», благоприятную для инноваций.

и

людей

к

научную

Инновационная «экосистема» ИИ Новым

технологиям

Фундаментальные экосистемы, вложений.

исследования

который Такие

необходим

требует

вложения



правильный это

первый

государственных часто

климат. компонент

или

частных

концентрируются

вокруг

ведущих университетов: в Соединенных Штатах, в Кремниевой долине вокруг Стэнфорда и Беркли, в Бостоне вокруг Гарварда и Массачусетского вокруг

технологического

Нью-Йоркского

института

и

университета,

в

Нью-Йорке

Колумбийского

университета и Корнельского технологического института. Второй

компонент

экосистемы

лаборатории.

Во

Франции

подобных

лабораторий

многочисленных

главным



это

«центром

является

инженерных

промышленные притяжения»

Париж.

школ,

для

Помимо

университетов

и

государственных исследовательских центров, в городе работают лаборатории

искусственного

интеллекта

таких

компаний,

как

Facebook, Google, Samsung, Amazon, Huawei, Valeo и целого ряда других. Третий

компонент

используют примеру Таким

формируют

финансовые

кампус

Station

образом,

динамичным

возможности F,

Париж

местом

компании-стартапы,

для

частично

сейчас

и

инфраструктуру,

спонсируемый

является

реализации

которые

самым

к

Facebook.

важным

технологических

идей

и в

Европе. Однако проблемы:

во

Франции

там

продолжают

недостаточно

сохраняться

платят

старые

исследователям

и

преподавателям высших учебных заведений, особенно в научных и технологических областях, где присутствует влияние частного и иностранного любого

сектора.

молодого

американском начальная

Рассмотрим

профессора

университете

заработная

плата

эту

ситуацию

компьютерных в

в

2019

г.

размере

У

от

наук

такого 100

000

на

примере

в

хорошем

сотрудника до

120

000

долларов в год, а бюджет на исследования для открытия своей лаборатории долларов.

составляет

Чтобы

найти

примерно

от

200

финансирование,

000

такой

до

300

000

исследователь

предлагает проекты специальным агентствам, гражданским или военным,

или

подписывает

контракты

с

промышленными

организациями. Кроме того, он руководит докторантами и ведет два курса в год, что соответствует примерно 80 часам нагрузки. Заработная месяцев

в

оплачивать

плата году. свои

такому Летом

в

сотруднику течение

исследования

выплачивается

трех

грантами,

месяцев

он

которые

девять может

составляют

33% надбавки к зарплате, или работать в промышленной области. Кроме того, в течение учебного года он может одновременно являться

отраслевым

консультантом

с

нагрузкой

один

день

в

неделю. Он не подчиняется приказам заведующего лабораторией и

сам

распоряжается

своей

жизнью,

однако

система

научного

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

которое до

позволит

ему

за

адъюнкт-профессора.

«умри,

но

сильно

опубликуйся».

разнятся

в

шесть

лет

пройти

Существует Заработная

зависимости

от

и

путь

от

знаменитое

плата

и

условия

специальности

и

университета. Учреждения, как государственные, так и частные, соревнуются в привлечении лучших из лучших. Рассмотрим Ему

теперь

приходится

молодого

постоянно

французского

бороться

за

место

исследователя. под

солнцем.

Сначала он должен сдать вступительные экзамены CNRS (фр. Le Centre national de la recherche scientifique, Национальный центр научных Digital

исследований),

Science

and

Inria

(National

Technology)

или

Institute

другого

for

Research

университета

in на

должность лектора. Но даже в случае успеха его зарплата будет около 30 000 евро в год, что примерно в полтора раза меньше средней заработной платы в стране. И все это — после восьми лет

обучения

в

высшем

учебном

учреждении,

одного

или

двух

лет

стажировки за границей, а также выхода значимых публикаций в международных научных журналах! В академической среде царит иерархия.

Молодой

официального потребуется

права

преподаватель руководить

подождать

еще

во

Франции

докторантами.

несколько

лет

не

Для

и

имеет

этого

пройти

ему

новую

аккредитацию. Он должен проводить 128 часов лекций в год, или 192 часа учебных занятий, или 288 часов практической работы. При

этом

из-за

низкой

заработной

платы

ему,

скорее

всего,

придется работать сверхурочно, чтобы сводить концы с концами. В

результате

исследования.

у

Если

исследовательской

него

остается

молодой

совсем

специалист

деятельности,

ему

мало

хочет

времени

посвятить

придется

на

себя

получить

должность исследователя в Inria или CNRS с той же заработной платой, что и у лектора. В университетах Франции этот нелегкий путь

ожидает

специалиста

по

любой

дисциплине.

Аналогична

ситуация и в других странах Европы. Достойные университетские должности

в

Европе,

условия

которых

могут

сравниться

с

лучшими университетами Северной Америки, имеются разве что в Швейцарии, особенно в Федеральных политехнических школах Лозанны и Цюриха. Во Франции, конечно, хватает талантливых ученых, несмотря на эти посредственные условия. Но как их удержать? Активность и успех исследований в Соединенных Штатах и Канаде во многом зависит от их способности привлекать лучшие таланты со всего мира. Более половины молодых американских университетских профессоров родились и получили образование в других странах, в

первую

очередь

в

Китае,

Индии,

России,

Великобритании

континентальной Европе.

Кому выгодна интеллектуальная революция?

и

Я не уверен, что революция искусственного интеллекта хороша для

всех.

Те

творческие

люди,

что

профессии

имеют

или

высококвалифицированные,

должности,

ориентированные

на

работу с людьми, имеют больше шансов сохранить свою работу, чем

те,

чья

работа

может

быть

частично

или

полностью

автоматизирована. Прибыль от использования ИИ вряд ли будет равномерно

распределена

между

всеми

трудящимися,

а

экономическое неравенство усилится, если главы правительств не исправят ситуацию с помощью фискальных мер. Автоматизация

заменила

людей

при

выполнения

повторяющихся или тонких операций. Искусственный интеллект заменит людей в профессиях, требующих определенного уровня сложности

в

восприятии,

планировании вероятно,

действий.

сократят

грузовиков,

такси

рассуждении, Автономные

количество и

принятии

транспортные

рабочих

арендуемых

решений

мест

для

автомобилей,

и

средства, водителей

но

с

другой

стороны, дороги станут безопасней. В медицине системы анализа изображений

уже

исследованиях.

внедряют

Осмотры

при

пациентов

рентгенологических

станут

более

надежными

и

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

можно

добавляют

ценность

подлинному цены

на

сказать

наверняка:

тому,

человеческому

некоторые

с

чем

ИИ

они

опыту.

не

и

его

могут

конкурировать:

Автоматизация

промышленные

товары;

приложения

уже

эта

снизила

тенденция

продолжится и даже усилится с внедрением ИИ в промышленную отрасль. влияние около

Однако ИИ

70

на

сферах

отражается

евро.

В

услуг,

иначе.

этой

продаж

Пример?

невероятно

и

недвижимости

Плеер сложной

Blu-ray

стоит

технологии

используется множество новейших изобретений (синий лазерный диод, цифровой формат для сжатия видео H.264/MPEG-4 и т.д.). А

теперь

давайте

возьмем

расписанную

вручную

керамическую

вазу. Ее изготовление является частью тысячелетней традиции, и поэтому она может стоить 500, 600 или 700 евро. Плеер Blu-ray производится

серийно,

ваза



уникальное

творение.

Другой

пример? Каждый из нас может послушать любимое музыкальное произведение

по

цене

до

2

евро

или

по

подписке.

Но

чтобы

сходить на рок-концерт или посетить оперу, придется заплатить от

50

до

300

евро.

В

чем

разница?

Уникальность

события,

момента жизни, который оно в себе несет. Вкусная еда, прогулка на природе, посещение музея или джазового фестиваля — я как просвещенный заставляет

все

уникальной

любитель больше

могу

только

ценить

продукцию.

радоваться

творчество

Будущее

теперь

и

этому

опыт,

за



редкую

и

профессиями

в

области здравоохранения, искусства, науки, образования, спорта —

всем

тем,

что

отдают

приоритет

эмоциональным

или

интеллектуальным аспектам жизни.

Военная угроза? Как и любую инновацию, ИИ можно использовать и во благо, и во вред.

Многие

военных

целях,

вооружения Однако

высказываются

в

в

первую

(SALA),

против

очередь

известных

большинстве

армий

использования

против

также

автономных

как

существуют

ИИ

в

систем

«роботы-убийцы». строгие

правила,

регулирующие процедуры нанесения ударов. Принятие решений всегда зависит от того или иного армейского чина, независимо от типа используемого оружия. Отметим также, что автономное или полуавтономное оружие существует на самом деле уже давно — к нему, например, относятся самонаводящиеся и крылатые ракеты. Самым

старым

из

противопехотные запретила «умны»,

а

их

таких

мины.

автономных В

1999

использование,

потому,

что

они,

но

г.

оружия

Международная

не

по

видов

потому,

сути



что

конвенция

они

очень

являются

слишком

«глупы».

К

сожалению, Корея

и

США,

Южная

Китай, Корея,

Россия, Иран

Индия,

и

Пакистан,

несколько

Северная

других

стран

не

подписали запрет. Рискуем

ли

мы

стать

свидетелями

новой

интеллектуальной

гонки вооружений? В сентябре 2017 г. Владимир Путин заявил, что

«лидеры

Генеральной

ИИ

станут

Ассамблеи

хозяевами

Организации

мира».

На

заседании

Объединенных

Наций

в

Женеве прошли дебаты с предложениями ввести мораторий на автономное вооружение. Некоторые страны даже считают SALA одним

из

видов

оружия

массового

поражения.

Другие,

в

частности, Соединенные Штаты, напротив, рассматривают SALA в качестве средства уменьшения сопутствующего ущерба и числа жертв

среди

гражданского

населения

в

военных

конфликтах 127

благодаря точному распознаванию и отслеживанию целей Перед

лицом

способствует

изменений

ИИ,

опасность

в

военной

новой

технике,

эскалации

вполне

.

которым реальна.

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

им

угрожает

националистический

популизм

и

изоляционизм.

Предупреждение об опасности: предвзятость и безопасность Напомним,

что

ИИ



это

инструмент,

созданный

людьми,

который призван служить нам. Именно люди модифицируют и развивают

его

«узкого»

ИИ,

интеллект.

Но

с

неспособного

учетом

нынешних

проявлять

ограничений

инициативу,

в

возникновении непредвиденных ситуаций следует винить только людей. Неизвестно, случается ли что-то подобное преднамеренно, или по неосторожности, или по причине некомпетентности. Если

и есть опасность от ИИ, то она связана с самим человеком и его злоупотреблением технологиями. Для

предотвращения

участии

было

создано

техногенных

Партнерство

катастроф,

по

ИИ 128

общества (The Partnership on AI или PAI) сотни

коллективных

членов:

крупные

во

при

благо

моем

людей

и

объединяющее около

компании,

интернет-

гиганты, научные общества, правозащитные организации, СМИ (New

York

Times),

академические

группы

и

правительственные

учреждения. Они обсуждают этические вопросы, предупреждают об

опасностях

и

публикуют

рекомендации.

Искусственный

интеллект — это новая технология, и последствия ее внедрения не всегда предсказуемы. Мы должны помнить об этом. Партнерство проводит исследования по шести темам. 1. ИИ и жизненно важные системы, сбои в которых могут поставить под угрозу жизнь человека. 2. Справедливость, прозрачность и ответственность в сфере ИИ. 3. Влияние ИИ на экономику и рабочие места. 4. Сотрудничество человека и машины. 5. Социальное и общественное влияние ИИ. 6. ИИ и социальное благополучие.

Рассмотрим пример (к сожалению, очень распространенный), который касается неправильного использования статистических моделей: данных

необъективные присутствуют

обученная

этим

принятия ошибки

данным,

решений.

или

неизбежно

Если

в

нарушения, отразит

эти

наборе

машина, ошибки

и

нарушения в своих выводах. Проблема здесь не в ИИ как таковом, а в использовании данных и статистических моделей, какими бы они ни были. Глубокие сети — это лишь один из особо сложных примеров может

статистической

возникнут

даже

модели, при

но

систематическая

использовании

моделей, таких как линейная регрессия.

очень

ошибка простых

Еще

один

пример:

репрезентативную системы

распознавание

выборку

распознавания

лиц.

населения

лиц,

то

эта

Если

использовать

Франции система

для

будет

обучения не

очень

надежной для лиц африканского или азиатского происхождения. И

наоборот,

если

для

обучения

используется

репрезентативная

выборка населения Сенегала, она не будет надежной для людей европейского что

или

азиатского

надежность

происхождения.

системы

зависит

от

Становится

ясно,

разнообразия

и

сбалансированности обучающих примеров. Желаемые

результаты

обучения

на

примерах

могут

также

быть необъективными. Данные о задержанных преступниках, где учитывается уровень их рецидивизма, позволили бы предсказать риски, связанные с освобождением под залог. Но если эти данные на протяжении долгого времени искажались в ущерб этнической или социально-экономической категории, система продолжит и усилит

дискриминацию.

Здесь

речь

идет

вовсе

не

о

теории.

Система COMPAS (Correctional Offender Management Profiling for Alternative

Sanctions),

подверглась

используемая

публичному

129

осуждению

ProPublica

(американское

журналистов).

В

этой

в

некоторых со

стороны

некоммерческое

системе

штатах

использовались

США,

организации объединение

только

простые

статистические методы (далекие от уровня сложности глубокого обучения), но и это не предотвратило злоупотребления. Таким образом, проблема появления ошибок и нарушений не связана с алгоритмами обучения или моделями. Здесь скорее речь о

данных

и

о

том,

как

они

обрабатываются

и

фильтруются,

прежде чем они будут использоваться для обучения модели. Как заметил

известный

социолог

из

Корнельского

университета

и

лауреат премии Макартура Джон Кляйнберг: «Проблема, которую выявила

ProPublica,

на

самом

деле

сводится

к

тому,

как

мы

подходим к прогнозированию и алгоритмам». Искусственный

интеллект

может

также

способствовать

нарушениям прав граждан. С 2014 г. сверточные сети являются

130

основой систем распознавания лиц факт,

что

правительства

широкомасштабное

частной

Китая

но

либеральных

использование

неприкосновенности правительство

,

отметить

демократий

ИИ

С

системы

тот

запрещают

посредством

жизни.

использует

следует

законов

другой

о

стороны,

распознавания

лиц,

устанавливая камеры наблюдения во всех общественных местах, и

часть

населения

видит

в

этом

прогресс:

больше

нет

необходимости предъявлять удостоверение личности в аэропорту или административном здании. Безусловно, уличные камеры наблюдения позволяют снизить уровень

преступности

камеры

ошибочно

улицу

на

без

того

низкий

идентифицируют

зеленый

специально



свет,

лезли

и

под

вас,

отправят

машины.

в

Китае).

когда

вам

вы

Но

же

переходите

штраф,

Китайское

эти

словно

вы

правительство

использует данную технологию, и это гораздо серьезнее, в целях этнической населением, мусульмане западе

дискриминации таким из

как

и

тибетцы

Синьцзянского

страны.

контроля или

над

уйгуры,

автономного

Компании-стартапы

повстанческим

по

тюркоязычные

района

на

северо-

распознаванию

лиц

процветают в Китае! Правительство также использует машинное обучение

для

социальной

оплачиваете

счета?

оценки Вы

каждого

человека.

неоднократно

Вы

не

совершали

правонарушения? Вы общаетесь с подозрительными личностями? Ваша

социальная

оценка

падает,

а

органы

государственной

власти усложняют вам жизнь. Правительственные органы нашли способ

контролировать

поведение,

которое

считается

«девиантным». Следуя своим принципам, китайское правительство обязывает Интернет-компании

предоставлять

доступ

к

личным

данным

своих пользователей — вот почему Google, Amazon и Facebook не работают

в

Китае.

международным другим

Эта

страна

газетам,

западным

СМИ

с

блокирует

таким

как

помощью

New так

доступ York

к

Википедии,

Times

называемого

и

многим

«Великого

131

китайского Китайской

файрвола» стены.

В



электронной

результате,

Китай

версии

является

Великой

сейчас

сильно

изолированной социальной системой. Далеко

не

только

«Поднебесная

современных

технологий

израильский

стартап

может

определить

по

для

империя»

нарушения

гордится

прав

разработкой

фотографии

черты

использует

мощь

человека.

системы,

характера

Один

которая

человека

и

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

наших

демократических

институтов

и

законы

о

неприкосновенности частной жизни.

Должен ли ИИ быть понятным? Некоторые люди называют системы глубокого обучения «черным ящиком», видя в этом повод для недовольства. Их сетования не обоснованы.

Инженер

функционирование когда

в

этой

подключений,

сети

может

нейронной находятся

довольно

принимает

решение.

разумного

решения?

сети.

разве

Ведь

Все

миллионы

трудно

Но

подробно доступно.

единиц

полностью это

мы

не

не

изучить

и

Конечно,

миллиарды

понять,

как

особенность

понимаем

сеть

любого

нейронных

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

когда

с

легкостью

можно

доказать,

что

она

безопасней человека? Большинство ежедневно

из

тех

триллионов

принимаются

решений,

системами

ИИ,

которые

касаются

сейчас поиска,

сортировки и фильтрации информации, а также нескольких не слишком

серьезных

приложений,

содержащих

эффекты,

применяемые к фотографиям и видео. Вы действительно хотите потратить время и силы на их детальное изучение? Они приносят нам удовлетворение, разве этого недостаточно? В

наше

время

используется

множество

систем,

механизмы

работы которых людям неизвестно. Многие из распространенных лекарств

были

получены

физиологическое

методом

действие

все

проб

еще

и

ошибок,

недостаточно

и

их

изучена.

Например, препараты лития широко используются для лечения биполярного остается

расстройства,

загадкой.

Всем

но

как

они

знакомый

и

действуют,

до

незаменимый

сих

пор

аспирин,

широко используемое лекарство, был синтезирован в 1897 г., но механизм его действия не был выяснен до 1971 г. Естественно, в случае

ошибки

или

несчастного

случая,

наличие

объяснения

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

размещению

на

рынке

лекарственного

средства, или для процедуры сертификации нового самолета. То же самое должно относиться к системам ИИ, принятие решения которых имеет решающее значение. Другой вопрос: должен ли ИИ быть на 100% надежным для введения

в

эксплуатацию?

требовать

от

решений?

Медицина

надежность сомнению

ИИ

большего,

обязательно.

чем

ежедневно

которых их

Не

не

от

прибегает

идеальна,

полезность.

других

не

Например,

Опять средств к

зачем

принятия

обследованиям,

подвергая

во

же,

время

при

этом

обследования

всегда присутствует определенная — умеренная — возможность «ложноотрицательных»

результатов.

Но

если

возникают

сомнения, врач не станет принимать во внимание только один результат обследования. Зачем требовать большего от ИИ? Мой

друг

Леон

Ботту

любит

указывать

на

тот

факт,

что

современное общество производит данные, объем которых растет в геометрической прогрессии — с той же скоростью, что объемы средств сетях.

для

Но

хранения

данных

способность

развивается

не

человеческих

так

или

людей

быстро.

знаний

В

будет

скорость

передачи

обрабатывать какой-то

эту

момент

извлечена

из

данных

в

информацию

большая

данных

часть

нашими

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

должен

обосновать

решение

заинтересованному

лицу

и

порекомендовать изменения в его профиле, которые помогут ему получить кредит. С помощью систем машинного обучения легко давать

рекомендации,

применяется поиске

анализ

Это

тот

зависимости

чувствительности,

минимального

решение.

вне

изменения

же

принцип,

от

их

который

ввода,

которое

что

в

и

важности:

заключается изменило

случае

в

бы

негативных

примеров, но уже с реальной пользой.

Лучше понять человеческий интеллект? Развитие Известно,

ИИ что

идет

рука

об

устройство

животных

вдохновило

сверточных

сетей.

нескольких

лет

сверточную

сеть

Но

руку

развитием

зрительной

ученых

можно

качестве

на

поступить

исследователи в

с

коры

нейробиологии.

головного

создание и

архитектуры

наоборот.

нейробиологии

объяснительной

мозга

В

течение

использовали

модели

работы

зрительной

коры.

Проводятся

эксперименты,

где

изображение

параллельно показывают человеку (или животному) и сверточной сети. Активность зрительной коры измеряется функциональной МРТ,

магнитоэнцефалографией

показателями попытка



животных),

предугадать

наблюдаемой

в

подтверждают

тот

зрительной

или

эту

после

коры

V1

чего

активность,

сверточной факт,

электрофизиологическими

исходя

сети.

что

из

Данные

активность

предугадывается

предпринимается активности,

эксперименты

первичной

первыми

области

слоями

сети,

а

активность последующих областей в иерархии вентрального пути V2, V4 и IT — верхними слоями сети. Интересное наблюдение! Нейробиология сверточные

зрения

сети,

в

вдохновляет

свою

очередь,

сверточные

помогают

сети,

объяснить

а

работу

зрительной коры головного мозга. Схожие

черты

исследований

как

этих в

систем

области

открывают

новое

нейробиологии,

так

и

поле в

для

области

искусственного интеллекта. Правда, люди и машины учатся поразному,

но

разве

Индуктивный

их

вывод,

методы

обучения

заключающийся

не

в

имеют

общих

определении

черт?

правила,

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

приблизиться

позволяющему

в

к

требуемой

компактном

виде

задаче,

не

сродни

представить

набор

исходных данных? Индуктивный

вывод



основа

научного

метода.

Ученый

делает наблюдения, пытается их объяснить и выявить основной закон, другими словами, он строит теорию. Затем он оценивает, позволяет ли это предсказывать ему явления, которые он еще не наблюдал. Понаблюдайте за гравитацией! То, что благодаря ей можно предсказать положение планет как сегодня, так и через 100 лет, доказывает обоснованность этого закона.

Обучающаяся машина работает точно так же. Во время своего «обучения»

она

эквивалент данными,

постепенно

компактного которые

результатами.

представления

она

Затем

эта

выстраивает

собирает, связь

единую



и

связь

между

входными

ожидаемыми

позволяет

ей



от

нее

производить

для

любого входа правильный выход. Даже если машина не думает, она все равно управляет связями. Она «изучает» понятия кошки, стула

или

самолета,

идентифицировать «понятие»

не

абстрактных

любую

похоже и

которые

на

кошку,

затем

стул

или

определение,

универсальных

позволяют самолет.

когда

мы

представлениях,

ей

Разве

это

говорим

об

определяемых

различными характеристиками объекта? Мы можем углубиться в эту аналогию и дальше. В машине на этапе

обучения

изображений

выстраивается

кошек

взаимосвязь

(входные

данные)

и

между

множеством

понятием

кошки

(выходными данными). Сконфигурированная модель машины — это

стабильное

состояние,

в

котором

ошибки

распознавания

минимальны. Она представляет собой «подход» к понятию кошки. У людей понятие кошки также является «подходом» к понятию кошки. Эти наблюдения отсылают нас к знакомым философским концепциям, таким как «идеи» Платона и «идеалы» Канта.

Неужели мозг — это всего лишь машина? На

сегодняшний

день

большинство

ученых

принимает

идею

о

том, что мозг — это биохимическая машина. Конечно, сложная, но все же машина. Нейрон реагирует электрическим сигналом на свои

входы.

В

вышестоящих

зависимости нейронов,

от

он

того,

что

вычисляет,

он

получает

приводит

от ли

своих он

к

электрическому импульсу, потенциалу действия (или «спайку»), который Механизм

он

посылает

этот

всем

довольно

своим

прост.

нижестоящим

Но

объединив

нейронам. активность

миллиардов этих относительно простых нейронов, мы получим человеческий мозг и разум. Я

понимаю,

может

что

заставить

религиозных

идея

моделирования

содрогнуться

людей.

Но

многие

человеческого

некоторых из

нас,

мозга

философов

ученых,

или

считают,

что

механизмы мышления в конечном итоге будут воспроизводиться системами искусственного интеллекта, способными к обучению. Те,

кто

понимания

оспаривает того,

как

это,

утверждают,

биологические,

что

мы

физические,

далеки

квантовые

от и

другие системы объединяются в организме, чтобы заставить мозг работать. Мы и на самом деле не все понимаем, но я убежден, что мозг млекопитающих или людей — это машина, которая умеет «вычислять»,

и

что

эти

расчеты,

в

принципе,

воспроизводимы

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

Стивеном

объединяет

высокомерие

с

то,

Джеем что

пьедесталов

Гулдом:

все

они

извечной

«Основные

сбросили

научные

человеческое

уверенности

о

нашем

132

центральном положении в космосе

».

Все модели неверны… В статье 1976 г. британский статистик Джордж Бокс написал: «Все модели неверны, но некоторые из них все же полезны». Шутка, ставшая известной. Любое мысленное представление мира, любое внутреннее

представление

обязательно

будет

набора

неточным.

данных

Статистическая

в

виде

теория

модели обучения

демонстрирует нам пределы этой неточности в зависимости от количества

обучающих

примеров

и

сложности

модели.

Она

подтверждает, что любая модель неточна, но все же может быть полезной.

Физикам давно известно, что классическая механика Ньютона верна

только

для

относительно

макроскопических

малой

скоростью

объектов,

(по

движущихся

сравнению

со

с

скоростью

света) и в слабых гравитационных полях. В случае с высокими скоростями и сильной гравитацией должна применяться общая теория

относительности,

а

для

микроскопических

объектов



квантовая механика. Что касается комбинации высокой скорости (следовательно, высокой энергии), сильной гравитации и малых размеров,

нам

потребуется

единая

теория,

которой

еще

не

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

формулам

и

небольшому

количеству

свободных

параметров (то есть констант, которые теория не позволяет нам вычислять

из

других)

гравитационная Планка.

Но



таких

постоянная,

масса

большинство

климатологии,

биологии,

как

скорость

электрона

сложных

и

постоянная

явлений

нейробиологии,

света,

в

химии,

когнитивных

науках,

экономике или социальных науках нельзя свести к нескольким формулам свойства,

и

параметрам.

возникающие

в

Эти

системы

результате

приобретают

взаимодействия

новые

большого

количества различных элементов. Возможны детали

для

два

нас

варианта.

не

важны,

Когда

все

методы

элементы

одинаковы

статистической

физики

и и

термодинамики дают нам представление о том, что происходит. Но

когда

элементы

взаимодействия

сложны,

разные а

(все

детали

нейроны

важны,

мы

разные), вынуждены

построить феноменологические модели, которые дают нам лишь абстрактное описание явления. Таким машин

образом, в

обучение

целом

феноменологических закономерностях.

животных

В

в

настоящее

ограничивается

моделей, этом

и,

весь

основанных смысл

этой

на

время,

построением статистических

книги.

Ребенок

или

собака учатся ловить мяч в полете. Они могут предсказать его траекторию: у них есть феноменологическая модель физики. Но тот же ребенок или собака не могут написать уравнения, которые регулируют траекторию мяча. В отличие от Ньютона и некоторых других специалистов в области гравитации, они не могут создать объяснительную модель. Смогут

ли

однажды

машины

разработать

объяснительные

модели на основе «экспериментальных» данных, как это делают физики?

Для

этого

соответствующие

системы

переменные

причинно-следственные например, скорость

такими

и

Речь

Обнаружение

должны

и

связи.

В

этих

случае

являются

Применение

идет

о

будут

уметь

устанавливать

переменными

ускорение.

ускорение.

ИИ

силы

выявлять

между

ними

движущихся масса, к

координата,

массе

вызывает

причинно-следственной

причинно-следственных

тел,

связей

связи. между

переменными является широко обсуждаемой темой в области ИИ. Наличие эффективных методов причинно-следственного вывода позволило

бы

добиться

прогресса

в

биологии

и

медицине.

Благодаря этому мы бы смогли отличить причинно-следственные связи

и

простые

регуляторные генов.

Это,

корреляции

цепи

генов

например,

данных.

исходя

из

значительно

Мы

могли

данных

бы

вывести

экспрессии

упростит

поиск

этих

лечения

наследственных заболеваний. Джуда Перл, профессор Калифорнийского университета в ЛосАнджелесе (и лауреат Премии Тьюринга 2011 г. за свою работу по вероятностному

осмыслению),

резко

раскритиковал

машинное

обучение, обвинив его в чрезмерном пренебрежении причинным 133

осмыслением

.

Я

с

ним

согласен:

чтобы

быть

по-настоящему

разумными, машинам придется изучать модели мира, способные определять

причинно-следственные

связи.

Некоторые

из

моих

бывших и нынешних коллег уже работают над этим вопросом: Изабель Гийон из Университета Париж-Орсе, Бернхард Шелкопф из

Института

Макса

Планка

в

Тюбингене,

Давид

Лопес-Пас

из

FAIR в Париже и Леон Ботту, мой старый друг, из FAIR в НьюЙорке.

Встревоженные голоса Самая

известная

отсылка

к

культурным

явлениям,

которая

многое для меня значила, когда я был подростком, и которую я уже

много

цитировал,

одноименный одиссея». фильма,

Я

еще и

ни

раз

фильм

Ч.

Кларка

разу

упоминал не

кораблем,

Стэнли

Кубрика

«2001:

главных

объяснил

человеком.

космическим

это

Артура

несколько

но

машиной

роман



суть

Компьютер

Космическая

героев

из

конфликта

HAL,

запрограммирован

и

этого между

управлявший

так,

чтобы

не

раскрывать человеческому экипажу настоящие причины и цель их

миссии.

Это

диагностическую

приводит

ошибку.

Он

к

тому,

прочитал

что

по

он

губам

совершает

космонавтов,

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

Затем

он

отказывается

впустить

на

борт

космического

корабля Дэйва Боумена, отправившегося спасать Фрэнка. Итак, любой

HAL,

ценой,

препятствие. целью,

запрограммированный постепенно

Это



начинает

прекрасный

запрограммированной

ценностями.

В

фильме

HAL

в

на

выполнение

рассматривать

пример

системе,

потерпел

экипаж

несовпадения и

миссии как

между

общечеловеческими

неудачу,

но

ему

все

же

удалось внести свой вклад в бесчисленные фантазии по поводу подавления пример,

человечества

возможно,

«Терминатор»,

в

его

даже

котором

собственным

более система

творением.

известный, SkyNet



обретает

это

Другой фильм

интеллект,

берет под контроль оружие и пытается истребить человечество.

Но мы здесь, а не в том мире. Так чего нам бояться? В 2014 г. Стивен Хокинг высказался на эту тему на канале BBC, предположив, что «ИИ может означать конец человечества», хотя потом

изменил

свое

мнение.

Как

у

всякого

астрофизика,

его

временные рамки измерялись миллионами или миллиардами лет. Но как предсказать, где окажется человечество через 10 или 100 млн лет, если оно существует всего несколько сотен тысяч лет? Билл

Гейтс

тоже

выразил

обеспокоенность,

и

тоже

потом

отказался от своих слов. Что касается Илона Маска, генерального директора Tesla, то он сделал вообще ошеломляющие заявления и даже попытался, хотя и без особого успеха, убедить руководящие органы начать регулировать ИИ, чтобы, по его словам, избежать сценария «Терминатора». Беседуя с ним, я подумал, что он сильно недооценивает

количество

времени,

которое

потребуется

ИИ,

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

он

с

слишком

большим

много

слушал

оптимизмом

основателей

уверяют,

будто

стартапов,

уже

вот-вот

возникнет ИИ, сравнимый по уровню интеллекта с человеком. Кроме

того,

134

Бострома

.

Илон

Это

прочитал

философ

из

книгу

«Суперинтеллект»

Оксфорда,

который

Ника

описывает

серию сценариев-катастроф, в которых ИИ может выйти из-под контроля

своих

сверхразумный

создателей. компьютер,

Вот

пример.

которому

Мы

поручили

создаем управлять

фабрикой по производству скрепок. Его единственная миссия — максимизировать производство. Компьютер, конечно же, может оптимизировать производство, поставку продукции, потребление энергии

и

т.д.

спроектировать

Более и

того,

построить

его

новые

интеллект фабрики

позволяет

скрепок,

ему

которые

еще более эффективны, чем прежние. Он может убедить людей давать лишить

ему

все

людей

больше власти

ресурсов,

для

а

затем

достижения

он

своей

найдет цели.

и

способ

Постепенно

этот интеллект превращает всю Солнечную систему в скрепки. В

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

чтобы

создать

сверхчеловеческую

интеллектуальную

машину, и в то же время настолько глупыми, чтобы наделить ее такой

нелепой

целью?

безрассудными,

что

Неужели

даже

не

мы

будем

попытаемся

настолько

обезопасить

себя?

Например, не сможем создать еще одну сверхразумную машину, единственной целью которой было бы отключить первую? Но

не

следует

забывать

и

о

том,

что

все

технологические

революции, которые мы соглашаемся признать как полезные для человечества,

имели

свою

темную

сторону.

Изобретение

печатного станка, позволившее распространение знаний, также способствовало послуживших Европе

в

распространению

причиной

XVI–XVIII

вв.

идей

Кальвина

кровопролитных

Радио?

Оно

и

Лютера,

религиозных

стало

свидетелем

войн

в

подъема

фашизма в 1930-е. Самолет? Он «сократил расстояния» в мировом масштабе,

но

посмотрите телефона,

также на

позволил

бомбить

информационные

телевидения,

интернета

целые

города.

технологии, и

заканчивая

Если

начиная

вы с

социальными

сетями, каждая из них породила проблемы, которые в конечном 135

итоге были решены

.

Усердный исполнитель Мы

наделяем

машины

все

Лексические

определения

«интеллект»,

«нейроны»,

большим

и

большим

используемые

«обучение»,

в

интеллектом.

области

«решение»



ИИ,



термины,

ранее предназначавшиеся только для людей и животных, сами по себе

могут

нас

пугать.

Конечно,

в

очень

специализированных

задачах системы с ИИ работают намного быстрее человека. Это игра

в

го

или

уничтожения,

шахматы,

составление

поиск

опухолей

профилей

или

целей

потребителей,

для

поиск

информации

на

тысячах

страниц,

переводы

чуть

ли

не

на

все

языки мира. Но на данный момент, как мы уже говорили, у ИИ, каким бы замечательным

он

новорожденного

ни

был,

котенка,

меньше

точнее,

здравого

его

нет

смысла,

совсем.

чем

у

Познания

и

понимание мира машинами минимальны, так как они обучены выполнять только одну задачу. Она

неспособна

поддерживать

намерение

или

развивать

сознание. «Когда дело доходит до создания действительно умных машин,

способных

разрабатывать

стратегии

и

хорошо

разбираться в мире, у нас даже нет ингредиентов для рецепта. Сегодня

нам

не

хватает

фундаментальных

концепций»,



резюмирует мой коллега Антуан Бордес, один из руководителей FAIR. Прямо с языка снял!

Врожденное или приобретенное? Математик

Владимир

Вапник

описал

статистическую

теорию

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

гласит,

обучаться,

он

что

для

того,

обязательно

чтобы

должен

субъект

смог

чему-то

специализироваться

на

ограниченной области задач. Данная интеллект врожденная

теорема не

применима

универсален.

необходимость

и

к

Другими

людям.

Человеческий

словами,

предварительно

существует

настроить

мозг

на

ограничение возможностей ради ускорения обучения. Мы знаем, что

некоторые

из

зон

мозга

имеют

особую

архитектуру

и

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

что

зрительная

кора,

которая

и

вдохновила

исследователей

на

создание

специализированной носите

очки,

видите.

Их

зоной.

которые

линзы

сверточных

Представьте

меняют

себе

каждый

непрозрачные,

они

сетей,

является

теперь,

пиксель, состоят

из

что

вы

который

вы

оптических

волокон, которые направляют эти пиксели в разные места поля зрения.

Таким

становится

образом,

непонятным.

изображение, В

нем

нет

которое

смысла.

вы

видите,

Когда

объект

движется на фоне изображения, одни пиксели загораются, другие гаснут. Соседние пиксели на изображении пропадают, когда они проходят через эти очки. В таких условиях мозг практически не может

что-либо

распознать,

потому

что

он

неправильно

подсоединен. Он запрограммирован на то, что соседние пиксели чаще

всего

признак

имеют

того,

близкие

что

наш

значения мозг

и

не

коррелированы.

универсален,

а

Это

очень

специализирован. Мозг, к тому же, очень пластичен. Некоторые эксперименты показывают, процедура

что

существует

коркового

определяется

своего

обучения»,

поступающим

к

рода

когда

нему

«универсальная

функция

пучком

зоны

сигналов,

коры

который

поступает к нему, а не областью, которая его принимает. В конце 1990-х

гг.

Мриганка

Сур

и

его

коллеги

из

Массачусетского

технологического института извлекли плод у хорька незадолго до рождения. Они провели операцию, перерезав зрительный нерв и соединив

его

со

слуховой

136

корой

воодушевляющими:

слуховая

зрительной

модифицировала

коры

ориентированные

и

контуры,

кора

обычно

.

стала

Результаты выполнять

нейроны,

были

функцию

определяющие

присутствующие

в

области

первичной зрительной коры V1. Первоначальное строение слуховой коры несколько похоже на строение

зрительной

коры.

Значит,

если

исходная

структура

соединений у разных зон близка, то в результате обучения в них может возникнуть любая необходимая функция. Это доказывает, что

роль,

выполняемая

областью

коры,

на

самом

деле

определяется

сигналами,

которые

генетическим

предварительным

она

получает,

а

программированием

не

«органа

зрения» в головном мозге. Возможность коре

головного

ищут

единый

существования мозга

дает

«универсального

надежду

организующий

ученым,

принцип,

алгоритма»

которые,

лежащий

как

в

и

в я,

основе

интеллекта и обучения.

Возникнет ли у машин сознание? Сознание



сложная

тема.

Мы

не

знаем,

как

его

правильно

определить или измерить. Его путают с самосознанием, которое считают

признаком

шимпанзе,

высшего

узнающие

интеллекта

себя

в

у

животных.

зеркале,

уже

Слон

и

обладают

самосознанием. Но не собака. На эту тему было написано много книг,

в

частности

моим

другом

и

соавтором

Станисласом

137

Деаном

.

Лично я считаю, что сознание — это просто иллюзия. Правда, похоже,

что

оно

существует

у

многих

разумных

животных,

и,

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

к

нашему

определенной внимание.

вниманию.

ситуацией,

Мы

мы

Когда

мы

сталкиваемся

сосредотачиваем

фокусируемся.

Когда

мы

на

ней

с

свое

разгадываем

головоломку, пробуем новый рецепт приготовления, участвуем в спорах,

наше

необычных

внимание

или

«сознательно»

сложных

задачах.

Это

сосредоточено заставляет

нас

на для

планирования дальнейших действий привести в движение нашу «модель мира». Но,

возможно,

смоделировать

что

более

префронтальная

у

нас

одной

кора

недостаточно

модели

может

мира

нейронов,

одновременно.

содержать

своего

чтобы Наша рода

реконфигурируемую

схему,

которая

может

быть

«запрограммирована» нашим сознанием на выполнение модели мира,

соответствующей

текущей

ситуации.

В

данной

гипотезе

сознание — это механизм управления, который настраивает эту схему

для

причине

выполнения без

той

или

иной

предварительной

задачи.

подготовки

Не мы

по

этой

не

ли

можем

одновременно сосредоточить свое внимание более чем на одной задаче?

Однако,

осознанно,

мы

мобилизации

повторяя учимся

нашей

какие-либо выполнять

модели

мира.

действия их

намеренно

автоматически,

Благодаря

этому

и

без

процессу

выполнение задачи переходит от Системы 2 Даниэля Канемана к Системе 1. Поэтому,

когда

сосредотачиваемся переключения

мы на

учимся рулевом

передач…

Мы

водить колесе,

машину, дороге,

представляем

все

мы

рычаге

возможные

сценарии. После нескольких десятков часов практики мы легко выполняем все эти задачи. Задача стала подсознательной, почти автоматической.

Сознание

преднамеренного моделирования

могло

механизма

мира.

быть

следствием

настройки

Возможно,

это

единой

следствие

этого схемы

ограниченных

возможностей нашей черепной коробки, а не отражение нашего высшего

интеллекта.

префронтальных нескольких

Если

нейронов

независимых

понадобилось

бы

для

бы

в

нас

было

одновременного

моделей

сознание

у

том

мира, виде,

в

достаточно

моделирования

возможно, каком

мы

нам его

не

себе

представляем. Я

не

сомневаюсь,

что

интеллектуальные

машины

будущего

будут обладать некоторой формой сознания. Возможно, в отличие от нас, они даже смогут сосредоточиться на нескольких задачах одновременно.

Роль языка в формировании мышления

Для

людей

язык

синонимом управляем

настолько

интеллекта. ими,

чтобы

важен,

Мы

что

соотносим

рассуждать,



его

даже

слова все

с

можно

счесть

понятиями,

это

приводит

мы

нас

к

мысли, что интеллект не может существовать без языка. А как насчет бонобо, шимпанзе, горилл и орангутангов, всех наших братьев — человекообразных обезьян? Похоже, у них нет такой развитой системы общения, как человеческие языки. Они не

дают

имен

символические

понятиям.

Тем

представления

не

и

менее

они

абстрактные

развивают

рассуждения.

В

любом случае их модель мира несравненно сложнее, чем у наших лучших систем ИИ. Если интеллект наших братьев-приматов не связан с языком, значит

ли

это

то,

что

значительная

часть

нашего

интеллекта

также не связана с ним? На

мой

взгляд,

рассуждений

с

слишком

управлением

тесная

символами

связь и

мышления

логикой

и

является

основной ошибкой классического ИИ (если не брать во внимание то

небольшое

значение,

которое

этот

подход

придавал

обучению). Напротив, мне кажется, что интеллект животных и большая часть

человеческого

аналогии модели

и

интеллекта

воображении

мира.

Это

весьма

основан

ситуации далеко

от

с

на

моделировании,

использованием

логических

нашей

рассуждений

и

языка.

Будут ли у машин эмоции? Я не сомневаюсь, что однажды у автономных интеллектуальных машин появятся эмоции. В Главе 9 я предложил архитектуру, в которой

поведение

объективной затраты,

системы

функции. которая

неудовлетворенности»

определяется

Данная измеряет машины.

целевая

минимизацией

функция

степень Когда

машина

вычисляет

«мгновенной исправляет

действие,

повлекшее

приравнивается

к

за

собой

высокие

стремлению

затраты,

избежать

разве

чувство

это

боли

не

или

дискомфорта? Когда

компонент,

измеряющий

заряд

батареи

робота,

сигнализирует о нехватке питания и заставляет машину искать розетку, разве это не приравнивается к чувству голода? Архитектура

действующего

модуля

включает

в

себя

модель

мира и анализ. Эта модель предвидит, как изменится мир. Анализ предвосхищает измеряет модели анализ

результат

целевой

неудовлетворенность

мира, как

робот

бы

функции,

машины.

предугадывает

предвидит

«боль»,

модуля,

Если,

падение

который

благодаря

и

своей

повреждение,

рассчитываемую

с

то

помощью

целевой функции. В этом случае робот попытается спланировать такую

траекторию,

чтобы

избежать

этого

неприятного

результата. Разве это не похоже на чувство страха? Когда

машина

избегает

действия,

потому

что

в

конечном

итоге это действие приведет к высоким энергетическим затратам, или

когда

она

выполняет

действие,

потому

что

оно

позволяет

избежать лишних затрат, разве это уже не признак проявления эмоций? Когда

компонент

приводит более

к

целевой

высоким

общем

затратам,

плане

«неудовлетворенных»

функции, он

запускает

поведение

компонентов

вычисляющий поиск

является

целевого

«голод»,

«пищи».

В

результатом

модуля.

Сложное

поведение является результатом планирования действий, которое сводит к минимуму ожидаемые затраты с учетом используемой модели

мира.

Если

вас

ущипнуть

за

руку,

то

боль

возникает

мгновенно. Стоимость, рассчитанная с помощью вашего целевого модуля, отражает ваше текущее состояние. Когда кто-то хочет вас ущипнуть, заставляет

ваш вас

критический защищать

руку.

модуль Иначе

предугадывает говоря,

эмоции

ожидание затрат, рассчитанных критическим модулем.

боль —

и

это

Я прекрасно понимаю, что все мои примеры могут показаться слишком

поверхностными.

Эмоции



настолько

важная

часть

человеческой натуры, что никто не хочет сводить их к простому вычислению математической функции. Мы так же не решаемся сводить

человеческое

поведение

к

минимизации

целевой

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

Захотят ли роботы захватить мир? Нет. Наш страх перед роботом, желающим захватить власть, — это проецирование особенностей человеческой природы на машины. Для

большинства

разумными Именно

нас

существами

этот

человеческую интеллекта,

из

факт

является

бы

в

Это

нас

ошибка:

животном

взаимодействием

общение

заставляет

природу.

хотя

единственным

мире,

с

другими

путать есть —

и

и

людьми.

интеллект другие

я

с

и

формы

говорю

уже

не

только о языке. Такие животные, как бонобо, шимпанзе, павианы и некоторые другие

приматы,

иерархическую

имеют

в

своих

социальную

группах

организацию.

сложную,

часто

Выживание

(или

комфорт) каждого человека зависит от его способности влиять (доминирование представителей животные,

является своего

объясняет,

лишь

вида.

формой

Тот

почему

факт,

мы

влияния) что

мы

связываем

на

других

социальные

стремление

к

господству с интеллектом. Но давайте рассмотрим несоциальный вид обезьян, например, орангутанов.

Они

сравнимы

с

людьми

по

интеллекту:

их

мозг

всего вдвое меньше нашего. Но живут они поодиночке и избегают соседства

с

другими

особями.

Их

социальное

взаимодействие

ограничивается отношениями матери и ребенка в течение двух

лет и территориальными конфликтами. В результате эволюция не выстроила

в

них

стремление

доминировать

над

ближним:

без

социальной структуры нет никакой пользы для доминирования. Таким образом, можно быть умным, не стремясь к господству. Вы понимаете, к чему я веду… Кроме того, даже у людей стремление к доминированию не связано умные

с

интеллектом.

из

нас

не

Тут

всегда

скорее

стремятся

дело

в

стать

тестостероне!

лидерами.

У

Самые

нас

есть

яркие примеры этого на международной политической арене… Да

и

я,

например,

возглавляю

лабораторию,

большинство

сотрудников которой намного талантливее, чем я. Однако они не стремятся

занять

приглашают

на

отказываются.

мое

место.

Напротив!

руководящие

Я

их

Лучших

должности,

понимаю:

они

но

ученых

многие

предпочитают

часто

из

них

напрямую

заниматься исследованиями. Помимо

стремления

побуждений выживания

и

эмоций

нашего

любопытство,

к

были

вида

людьми,

предпочтения

заложены

(или

наших

стремление

конкурентоспособность, другими

доминированию,

по

к

наших

эволюцией

для

Они

к

исследованиям,

желание

ненависть,

отношению

нас

из

генов!).

подчинение,

любовь,

в

многие

членам

включают

контакта

хищничество, нашей

семьи,

с

наши

нашему

племени, нашей культуре, нашей стране. Человек, животное, да и машина, могут быть разумными без этих побуждений и эмоций. Следует

запомнить:

господству

над

разумные

человечеством

машины только

в

будут том

стремиться

случае,

если

к

мы

вложим в них это желание. Зачем нам это делать?

Согласование ценностей Возможно, если,

машины

подобно

захотят

HAL9000,

доминировать

они

решат,

что

над это

человечеством, лучший

способ

достичь цели, которую мы им поставили. Чтобы избежать такого

сценария, будет ли достаточно встроить в них систему ценностей, которая

запрещала

бы

им

убийства,

использование

оружия,

насильственные действия в отношении живых существ и т.д.? В этом и заключается вопрос о согласовании внутренних ценностей машины с общечеловеческими ценностями. В «Рассказах о роботах» писатель и популяризатор науки Айзек Азимов описывает свои три закона робототехники: 1. Робот не может причинить вред человеку или своим бездействием подвергать человека опасности. 2. Робот должен подчиняться приказам человека, если только эти приказы не противоречат Первому Закону. 3. Робот должен защищать свое существование до тех пор, пока эта защита не станет противоречить Первому или Второму закону.

Как

оказалось,

довольно

сложно

запрограммировать

эти

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

нельзя

привить

эти

законы

роботу,

пока

он

не

научится

абстрактным понятиям: опасности, послушанию, комфорту. Как

это

сделать?

автономного

ИИ

контролирует

его

Из

Главы

включает инстинкты

9

ясно,

целевую и

что

архитектура

функцию,

импульсы.

Речь

которая

идет

о

его

«хранителе моральных ценностей». Эта целевая функция должна включать

«врожденные»,

ограничения, помощью

движения

гарантирующие

очень

приближения

простых

человека

рук

досягаемости.

то

и

робота, Намного

есть

безопасность

понятий. установить

когда

созданные

Легко

выражаемые

построить

ограничение

человек

сложнее

и

«вручную»,

находится

наложить

с

датчик

на

скорость

в

пределах

поведенческие

ограничения, относящиеся к абстрактным понятиям, таким как потенциальная опасность. Целевая

функция

должна

включать

в

себя

не

только

сконструированные (врожденные) компоненты, но и обучаемые компоненты. Когда машина совершит ошибку, мы ее исправим. Она

может

изменить

обучаемый

параметр

своей

целевой

функции, чтобы избежать повторения ошибки, возможно, даже обратившись опасности.

к

абстрактным

Такой

непредвиденных

процесс

понятиям,

исправит

ситуациях,

не

таким

как

поведение

охваченных

понятие

системы

врожденными,

в

т.е.

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

систем

моральных

ценностей

в

виде

законов

(которые мы часто называем «кодексами»). Эти ценности иногда кодируются

таким

образом,

чтобы

организации

и

власть

вели

себя хорошо. С другой стороны, эти ценности также кодируются образованием:

на

протяжении

тысячелетий

мы

учили

наших

детей отличать добро от зла и достойно вести себя в обществе. Чтобы

научить

наших

роботов

будущего

тоже

вести

себя

достойно, нам не придется начинать с нуля.

Новые рубежи Интеллект — это не только интеллектуальные способности. Он затрагивает

все

сферы

поведения.

К

нему

относятся

обучение,

адаптация и способность принимать решения. Хотя мы до сих пор не до конца понимаем, как обучаются люди и животные, ИИ дает нам

некоторые

ответы



по

умолчанию.

Существование

ИИ

доказывает, что между машинным интеллектом и человеческим нет

непреодолимой

пропасти,

и

указывает

направления,

в

которых мы должны работать. С точки зрения экономии средств машина использует в тысячи раз

больше

данных

и

энергии,

чем

мозг.

В

чем

кроется

эффективность

работы

последнего?

Биологические

нейроны

медленные, но компактные, их много, и они потребляют очень мало энергии. Стремление к экономии энергии столь велико, что в

любой

момент

в

головном

мозге

активно

лишь

небольшое

количество нейронов, которые при этом еще и экономичны сами по себе. «Тихий» нейрон тратит намного меньше энергии, чем нейрон,

который

активность



посылает

это

способ

импульсы.

изучить

Подобная

аппаратную

слабая

реализацию

искусственных нейронных сетей будущего. До сих пор остается большой загадкой, как человек так быстро строит абстрактные представления об окружающем мире? Как он, управляя

этими

разрабатывать

представлениями,

планы

действий,

учится

рассуждать

позволяющие

ему

и

разбить

сложную задачу на более простые подзадачи? Ответ на эти вопросы прольет свет на другие загадки. Человек учится

на

небольшом

количестве

примеров.

Он

представляет

сценарии, которые позволяют ему предвидеть последствия своих действий и, таким образом, сэкономить определенное количество знаний…

Задача

использования

текущих

большого

исследований

количества



обучение

примеров

без

и

энергии,

изобретения

зачатую

которые на сегодняшний день характерны для ИИ.

Наука об интеллекте В

истории

предшествуют

науки

технологические

теории

и

науке.

Примеры

приведены

в

таблице

10.1. Объектив, телескоп и микроскоп были изобретены задолго до того,

как

работала теплового

Ньютон более цикла

разработал

века, и

прежде

заложил

теорию чем

оптики.

Сади

основы

Паровая

Карно

ввел

термодинамики.

машина понятие Первые

самолеты взлетели до того, как были разработаны аэродинамика, теории крыла и устойчивости полета. Первые программируемые

компьютеры которую

породили

называют

науку

о

вычислениях

информатикой.

и

Теория

алгоритмах, информации,

предложенная Клодом Шенноном в Bell Labs в 1948 г., появилась лишь

спустя

десятилетия

после

появления

первых

удаленных

коммуникаций и зарождения цифровых сетей.

Таблица 10.1. Изобретение и лежащая в его основе теория

Исследования

в

области

ИИ

все

еще

находятся

на

стадии

разработки. Еще нет отдельной науки, связанной с ИИ. У нас нет единой теории интеллекта. Есть теория обучения, но она касается только

контролируемого

границы мозга

возможного,

или

но

правильного

обучения не

и

устанавливает

раскрывает

подхода

к

секреты

для

нас

механизмов

самоконтролируемому

обучению, которое характерно для биологических систем. Можем Возникнет машин,

ли ли

мы наука

способных

исследовательскую Открыть

для

интеллекта,

представить

себя

к

об

искусственный.

интеллекте

обучению?

программу основные

независимо

себе

от

Эти на

благодаря вопросы

и

интеллекта? изобретению

составляют

ближайшие

механизмы того,

теорию

мою

десятилетия.

принципы

естественный

работы

он

или

ПОСЛЕСЛОВИЕ

Вот

мы

и

подошли

к

концу

нашего

путешествия

в

мире

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

читателя

всей

сложности

серьезный

вызов

для

мыслящих

машин.

тех,

Но,

по

проблемы.

кто

не

Без

знаком

крайней

мере,

сомнения

с

новой

я

постарался



это

«вселенной» сделать

наше путешествие максимально информативным. Наука об искусственном интеллекте — молодая, находящаяся в

процессе

становления,

преобразующим границы

уже

потенциалом.

которой

реальность,

но

Это

беспрерывно

живущая

во

обладающая

значительным

одновременно

раздвигаются,

множестве

и

и

теория,

практическая

бытовых

устройств.

Собственная логика работы ИИ порой ускользает от нас. Однако я поддерживаю тесную связь с этой вселенной еще с подросткового возраста.

История

и

генезис

идей,

лежащий

в

основе

искусственного интеллекта, давно увлекает меня, и этим я тоже хотел поделиться с вами. Речь

в

этой

книге

шла

о

новых

идеях

и

исследованиях.

Я

благодарен первопроходцам, проложившим пути в науке задолго до

меня,

готово

и

солидарен

поделиться

с

научным

своими

сообществом,

достижениями.

Мы

которое



семья

всегда милых

безумцев, охваченных одним и тем же любопытством и склонных к

буйному

воображению.

Мы

каждый

день

изобретаем

этот

новый мир заново. Для нас это страна, куда мы никогда не можем попасть. Ничего удивительного, потому что ее границы все время отдаляются от нас. Еще



мы

дети

случая.

Почему

нас

интересует

то

направление, а не другое? С самого начала я был одержим идеей обозреть

этот

недостижимый

горизонт

интеллекта

человека

и

животных и попытаться воссоздать его в машине. Среди великих научных вопросов нашего времени: «Из чего состоит Вселенная?», «Что такое жизнь?» и «Как работает мозг?» я выбрал последнее — в духе инженера, который по-настоящему разберется в системе только

после

того,

как

воплотит

ее

в

технике.

Я

попытался

отследить собственный путь, который проделал, воодушевленный законами

электроники

и

компьютерной

науки,

охваченный

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

девизом

«молись

и

работай»:

разница

лишь

в

том,

что

мы

проводим долгие часы перед мониторами, представляя себе еще не существующие алгоритмы и структуры. Мечтать и ничего не делать тоже необходимо — ведь свободное время дает пищу для размышлений… Однако люди вроде нас отдыхают крайне редко. Я

признаю,

что

мне

бескомпромиссности,

понадобилась

чтобы

упорно

огромная

«доза»

разрабатывать

веры

и

нейронные

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

воссоздания

истинного

нейронных

сетях

с

интеллекта

продуманной

человека

и

структурой

животных.

нет

ни

В

грамма

здравого смысла, равно как и совести. Однако

уже

завтра

все

может

измениться.

Я

считаю,

что

сознание — это развивающееся свойство, неизбежное следствие интеллекта.

По-настоящему

глубоко

мы

обучаемся

только

в

младенчестве. Наши детища тоже постоянно совершенствуются, и однажды наступит день, когда машина достигнет такого уровня сложности,

что

ее

сознание

расцветет.

Почему

должно

быть

иначе? Ученые сходятся во мнении, что человеческий мозг — не что иное, как удивительный биологический механизм, который пока что превосходит компьютеры в большинстве категорий. Это он

работает

помощь.

в

Что

понять

нас.

же

Но

уже

случится

открытия,

в

здесь

машины

будущем?

сделанные

приходят

Сможем

нашими

ли

нам

мы

на

вообще

искусственными

системами? Давайте все же не будем бояться того, что они нас обгонят. На протяжении веков человечество уже не раз сталкивалось с тем, что

созданные

им

инструменты

превосходят

физические

и

умственные способности самих людей. Каменные орудия, ножи и топоры

оказались

более

прочными,

чем

наши

зубы;

тягловые

животные, тракторы, экскаваторы во всем сильнее нас; лошади, машины,

и

быстрее,

чем

быстрее,



более

наши

чем

постоянно

тем



самолеты

собственные

человеческий

усиливают

мозг.

перемещают

ноги.

Компьютер

Технологические

человеческую

мощь.

нас

куда

считает

разработки

Интеллект

машины,

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

меняет

наши

ориентиры.

Он

может

послужить

прогрессу, а может и творить зло. Надо быть бдительными. Лично я

верю,

что

повседневную способность

ИИ

способен

жизнь.

Я

размышлять

значительно

также и

верю

задавать

в

его

улучшить

нашу

потенциальную

вопросы.

Стремление

создавать желанием

интеллектуальные познать

искусственного познание

ИИ

мозга

самих

машины себя.

взаимно

представляет

мотивировано

Исследования

обогащают

собой

одну

друг из

природного

друга,

самых

нашим

поэтому

серьезных

научных и технологических проблем ближайших десятилетий.

БЛАГОДАРНОСТИ

В

первую

очередь,

наставников, учебы

и

я

хотел

которые

карьеры:

бы

поблагодарить

моих

на

учителей

направляли

меня

протяжении

Франсуазу

Сулие-Фогельман,

и

всей

Мориса

Милгрэма, Джеффри Хинтона, Ларри Джекеля и Ларри Рабинера. Исследования,

представленные

в

этой

книге,

были

бы

невозможны без людей, с которыми я работал и которые меня так многому

научили:

это

Леон

Ботту,

Йошуа

Бенжио,

Патрик

Хаффнер, Патрис Симар, Изабель Гийон, Роб Фергюс, Владимир Вапник,

Жан

Понс,

Патрик

Галлинари,

все

сотрудники

отдела

исследований адаптивных систем лаборатории AT&T Bell Labs и отдела исследований обработки изображений лаборатории AT&T Labs-Research,

а

также

вычислительного

мои

коллеги

интеллекта,

из

обучения,

лаборатории видения

и

робототехники (CILVR) при Нью-Йоркском университете и члены научной команды Facebook AI Research. В

более

старшем

возрасте

я

имел

удовольствие

работать

с

талантливыми молодыми специалистами, видеть, как они растут, и поддерживать их в самом начале их карьеры. Я хотел бы назвать здесь

имена

молодых

докторов

Альфредо

Канциани,

Бехнама

Нейшабура, Пабло Шпрехманна, Анны Чороманска, Джоан Бруна, Джейсона Рольфа, Тома Шауля, Камиллы Купри, Артура Шлама, Грэма Тейлора и Кароль Грегор, а также аспирантов Сян Чжан, Джейка Чжао, Микаэля Хенаффа, Микаэля Матье, Сиксин Чжан, Войцеха

Зарембу,

Росса

Горошина,

Клемана

Фарабета,

Пьера

Сермане, Петра

И-Лана

Буро,

Мировски,

Айсе

Кевина Наз

Джарретта,

Эркана,

Корай

Марка

Кавукчуоглу,

Аурелио

Ранзато,

Мэттью Граймса, Фу Джи Хуанга, Сумита Чопра, Райю Хадселл, Фэн Нин. Я благодарен Марку Цукербергу, Майку Шрепферу и Жерому Песенти за поддержку моей научной работы Отдельную благодарность я выражаю Одиллии Джейкоб за то, что она убедила меня затеять авантюру с написанием этой книги. Я бесконечно благодарен своему помощнику Росио Араухо, без которого моя жизнь давно погрузилась бы в хаос. Особенно я признателен моей коллеге, журналистке Кэролайн Бризард,

помогавшей

проводили

вместе

мне

долгие

с

написанием

часы,

работая

этой

над

книги.

ней,

Мы

зачастую

по

видеосвязи, а иногда и в совершенно неподходящее для работы время. Прожив 30 лет в Соединенных Штатах, я целиком растерял свои стилистические навыки во французском, которые и без того были слабыми. Благодаря своей неустанной работе и вниманию к деталям Кэролайн сделала эту книгу не только более понятной, но и приятной для чтения. Я благодарю своего отца, Жан-Клода, за то, что он привил мне вкус

к

науке,

технологиям

и

инновациям.

Мы

с

моим

братом

Бертраном научились у него буквально всему. И, разумеется, я говорю огромное спасибо своей жене Изабель за ее постоянную поддержку и за то, что во время написания этой книги

мне

удалось

избежать

семейных

дел

по

выходным

и

праздникам. Иногда я отвлекаюсь и теряюсь в своих мыслях, но я всегда

могу

невесток

рассчитывать

Кевина

и

на

Симону,

Изабель

Ронана,

и

на

Эрвана

наших и

сыновей

Марго,

и

которые

никогда не дают мне забывать о самых важных вещах в нашей жизни.

1. FLOPS (обозначается также как flops, flop/s, произносится по-русски

как

Operations

Per

«флопс») Second



(число

акроним

от

операций

с

англ.

Floating-point

плавающей

точкой

в

секунду). Представляет собой внесистемную единицу измерения производительности

компьютеров.

Правописание

и

склонение

термин в русском языке еще не устоялось: иногда пишут «флоп», иногда «флопс». — Прим. ред.

2. https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix.

3. https://arxiv.org/abs/1706.07068.

4. https://ai.google/research/teams/brain/magenta/.

5.

https://www.google.com/doodles/celebrating-johann-

sebastian-bach.

6. https://fr.wikipedia.org/wiki/Algorithme_de_Dijkstra.

7. https://fr.wikipedia.org/wiki/Algorithme_A*.

8.

Alan

Turing,

Computing

october 1950, vol. 59, n236.

9. То же.

machinery

and

intelligence,

Mind,

10. https://fr.wikipedia.org/wiki/Tri_a_bulles.

11.

Агентство

которое

в

перспективных

1972

перспективных

г.

исследовательских

переименовали

оборонных

в

DARPA

исследовательских

проектов, (Агентство проектов),

является агентством Министерства обороны по финансированию проектов исследований и разработок (НИОКР).

12. Терабайт — это единица измерения количества цифровой информации, здесь используется в качестве единицы измерения 40

объема памяти. Он составляет 2

байт. Один байт может иметь

256 различных значений.

13.

Richard

O.

Duda,

Peter

E.

Hart,

Pattern

Classification

and

Scene Analysis, Wiley, 1973.

14.

Marvin

L.

Minsky,

Seymour

A.

Papert,

Perceptrons:

An

Introduction to Computional Geometry, The MIT Press, 1969.

15.

Устройство,

предназначенное

состоящее

для

передачи

из

модулятора

цифровых

и

демодулятора,

данных

по

телефону

или по коаксиальному кабелю.

16. Théories du langage, théories de l'apprentissage: le débat entre Jean Piaget et Noam Chomsky, d.bat recueilli par Maximo PiatelliPalmarini,

Centre

Points, 1979.

Royaumont

pour

une

science

de

l'homme,

Seuil,

17.

Richard

O.

Duda,

Peter

E.

Hart,

Pattern

Classification

and

Scene Analysis, p. 6.

18. См. главу 5 «Мой HLM!».

19. Машиной Больцмана называется один из видов нейронных сетей. — Прим. ред.

20. John J. Hopfield, Neural networks and physical systems with emergent National

collective Academy

computational of

Sciences,

abilities,

1982,

Proceedings

79

(8),

p.

of

the

2554–2558,

DOI:10.1073/pnas.79.8.2554.

21. См. Главу 4, «Висячие долины».

22. По-русски этот метод сейчас называться обычно «методом обратного распространения ошибки». — Прим. ред.

23.

Пропускная

способность

нейронной

сети



это

среднее

арифметическое между объемами обрабатываемой и создаваемой информации нейронной сетью за единицу времени. — Прим. ред.

24. «Мадлен» — французское бисквитное печенье небольшого размера.

Во

французском

превратилось

в

языке

метафору,

выражение

обозначающую

«мадленка предмет,

Пруста»

вкус

запах, вызывающие наплыв воспоминаний. — Прим. ред.

или

25. Хинтон преподавал там в должности профессора с 1982 г. — Прим. ред.

26. D. E. Rumelhart, G. E. Hinton, R. J. Williams, Learning internal representations McClelland,

by

PDP

error

propagation,

Researche

Grou

in

D.

Parallel

E.

Rumelhart,

Distributed

J.

L.

Processing:

Explorations in the Microstructure of Cognition, MIT Press, 1986, vol. 1, p. 318–362.

27. Язык Lisp был создан в конце 50-х годов автором термина «искусственный интеллект» специально для работы с ИИ. Долгое время

он,

занимал

в

в

различных

разработке

вариантах, ИИ

то

которых

место,

было

которое

очень

теперь

много,

занимает

Python. Как и Python, Lisp является интерпретируемым языком, он нуждается в запущенной программе — интерпретаторе, которая построчно исполняет (интерпретирует) написанный на языке Lisp программный код. Интерпретатор, в свою очередь, может быть написан

для

Ботта,

разных

целей

очевидно,

специализированный

и

с

разными

написал именно

для

особенностями.

интерпретатор управления

Леон Lisp,

симулятором

Лекуна. — Прим. ред.

28.

Исследование

искусственного

интеллекта

компании

Facebook.

29. «The Machine Learning Summer School»; в настоящее время она

ежегодно

проводится

на

базе

Тюбинген, Германия. — Прим. ред.

института

Макса

Планка,

30.

Yann

LeCun,

«Gradientbased

Léon

Bottou,

learning

Yoshua

applied

to

Bengio,

Patrick

document

Haffner,

recognition»,

Proceedings of the IEEE, 1998, 86 (11), p. 2278–2324.

31. Мем — это идея, которая воспроизводится, потому что ее распространяют

люди.

Выражение,

придуманное

биологом-

эволюционистом Ричардом Докинсом, основано на слове «ген» по аналогии с его способом передачи от человека к человеку.

32. На доске написано «All your bayes are belong to us». В игре фраза звучит как «All your base are belong to us», в ней сразу две ошибки:

должно

было

быть

«All

your

bases

belong

to

us».

В

каламбуре Лекуна обе ошибки тщательно сохранены: хотя «bayes» выглядит как множественное число, такого слова в английском нет,

а

фамилия

«Bayes»,

естественно,

воспринимается

как

единственное число. — Прим. ред.

33.

Для

Теперь имеет

справки,

она

в

называется

сексистский

2018

г.

NIPS

NeurIPS

оттенок

под

(nips

поменяло тем

на

свое

название.

предлогом,

английском

что

NIPS

языке



уменьшительное от nipples, которое переводится с французского как

«соски»).

внимание

Раньше

научного

об

этом

никто

сообщества

не

обратило

думал! на

Теперь

это

одно

же из

ответвлений #MeeToo — глобального движения, зародившегося в октябре

2017

сексуальное

и

г.

в

Соединенных

гендерное

насилие,

Штатах, чьими

которое

жертвами

осуждает

становятся

женщины.

34.

См.

подробное

объяснение

бабушки и дедушки Яна ЛеКуна).

в

главе

6

(фото

свадьбы

35. См. главу 7 «Встраивание контента и измерение сходства».

36.

На

итальянском

языке:

Istituto

Dalle

Molle

di

Studi

sull'Intelligenza Artificiale, IDSIA (Институт исследований в области искусственного находится

в

интеллекта

Манно,

Далле

Швейцария.

Молле). Он

был

Данное основан

заведение в

1988

г.

Анджело Далле Молле через фонд, носящий его имя.

37. Yann LeCun, Yoshua Bengio, Geoffrey Hinton, «Deep learning», Nature, 2015, 521, p. 436–444.

38. Python — очень гибкий и простой в использовании язык программирования,

наиболее

часто

используемый

практиками

машинного обучения (www.python.org).

39. Мы пишем в этой книге числа в английском формате, с десятичной

точкой

вместо

запятой,

как

это

принято

в

языках

программирования.

40. В языке Python оператор возведения в степень пишется как **. Например, «x в квадрате» записывается «x**2».

41. Warren S. McCulloch, Walter Pitts. A logical calculus of the ideas

immanent

in

nervous

activity,

The

Bulletin

of

Mathematical

Biophysics, 1943, 5 (4), p. 115–133.

42.

Donald

Olding

Hebb,

The

Organization

Neuropsychological Theory, Wiley, 1949.

of

Behavior:

A

43.

Marvin

L.

Minsky,

Seymour

A.

Papert,

Perceptrons:

An

Introduction to Computational Geometry, op. cit.

44.

Его

обучение

происходит

без

учителя,

поскольку

не

используются желаемые выходы (y).

45. Першерон — французская порода лошадей-тяжеловозов, в этом случае название породы использовано как аналог русского выражения «рабочая лошадка». — Прим. ред.

46. Здесь и далее, где используется код Python, не забывайте следить за отступами. — Прим. ред.

47. Напомним, что переменная в компьютерной программе — это название области памяти для записи данных.

48.

Иначе

говоря,

функции,

график

которых

имеет

точки

излома. — Прим. ред.

49. Джордж Буль, о котором идет речь, был предком Джеффри Хинтона. Это не помешало Хинтону стать одним из противников преобладания логики в ИИ!

50. T. M. Cover, Geometrical and statistical properties of systems of linear

inequalities

with

applications

in

pattern

recognition,

IEEE

Transactions on Electronic Computers, 1965, EC-14 (3), p. 326–334.

51.

«Передача

ответственности

(англ.

credit

assignment

path,

CAP) — это цепочка преобразований внутри нейронной сети от входа к выходу. — Прим. ред.

52. См. главу 2.

53. Аббревиатура DEA расшифровывается как Diplome d'Etudes Appronfondies.

Так

называется

французских

университетов,

выходная

степень

докторантуры

приблизительно

соответствует

кандидатской степени в России. — Прим. ред.

54. D. E. Rumelhart, G. E. Hinton, R. J. Williams, Learning internal representation by error propagation, in D. E. Rumelhart, J. McClelland (dir.), Parallel Distributed Processing, The MIT Press, 1986.

55.

Чтобы

массивы

иметь

чисел

использовать

в

возможность

Python,

одну

из

как

мы

обрабатывать

это

программных

делаем

многомерные

здесь,

библиотек,

желательно

созданных

для

этой цели, например, Numpy или PyTorch. В частности, PyTorch содержит

множество

выполнении

функций,

операций,

использованием

которые

описанных

графических

эффективны

в

этой

процессоров

там,

книге, где

при с это

необходимо (см. http://PyTorch.org).

56.

При

сохранении

постоянных

значений

остальных

переменных. — Прим. ред.

57.

Для

специалистов:

по

соглашению,

вектор

градиента,

такой как dC/dz, рассматривается как линейный вектор, то есть

вектор, транспонированный относительно обычного вектора. Это позволяет нам умножить его на матрицу Якоби.

58. См. Главу 4 рис. 4.5.

59.

На

родном

Соединенных

языке

Штатах

интерпретировалось цитатах

научных

моя

фамилия

«Ле»

как

статей

в

фамилии

инициалы стали

пишется «Ле

второго

писать

«Cun

«Le

Cun»,

Кун»

имени, Y.

L.».

но

в

обычно

так

что

Поэтому

в

вне

Франции я пишу свою фамилию «LeCun», то есть в одно слово.

60. См. Главу 2 «Преданные последователи».

61. Свертка — это матрица из некоторого количества входов нейронов, натренированных на опознание конкретного признака (вертикальной

линии,

окружности

последовательно

проходит

по

попиксельно,

и

фиксирует

всему

наличие

и

др.).

Свертка

изображению,

или

отсутствие

смещаясь

признака

в

каждой своей позиции. Существует множество сверток, каждая из которых обучена опознавать свой признак; они последовательно применяются признаков

к

изображению,

запоминаются.

и

Карты

координаты наличия

найденных

обнаруженных

признаков на изображении (например, «прямых углов найдено 100500»)

с

таблицей

соответствующих

координат

пикселей

называются картами признака (англ. feature map). — Прим. ред.

62. PyTorch.org и TensorFlow.org

63. Относительно ReLU см. рис. 5.2.

64. Raia Hadsell, Pierre Sermanet, Jan Ben, Ayse Erkan, Marco Scoffier, Koray Kavukcuoglu, Urs Muller, Yann LeCun, Learning longrange

vision

for

autonomous

off-road

driving,

Journal

of

Field

Robotics, 2009, 26 (2), p. 120–144. Pierre Sermanet, Raia Hadsell, Marco Scoffier, Matt Grimes, Jan Ben, Ayse Erkan, Chris Crudele, Urs Miller, Yann LeCun, A multirange architecture for collision-free offroad robot navigation, Journal of Field Robotics, 2009, 26 (1), p. 52– 87.

65.

T.-Y.

Lin

et

al.,

The

focal

loss

for

dense

object

detection,

https://arxiv.org/abs/1708.02002.

66.

T.-Y.

Lin

et

al.,

«The

focal

loss

for

dense

object

detection»,

https://arxiv.org/abs/1708.02002.

67. Kaiming He, Georgia Gkioxari, Piotr Dollar, Ross Girshick. The IEEE International Conference on Computer Vision (ICCV), 2017, p. 2961–2969.

68.

C.

Farabet,

C.

Couprie,

L.

Najman,

Y.

LeCun,

Learning

hierarchical features for scene labeling, IEEE Transactions on Pattern Analysis and Machine Intelligence, 2013, 8 (35), p. 1915–1929.

69. См. главу 7.

70.

V.

segment

Jain,

H.

images:

S.

A

Seung,

crucial

S.

C.

Turaga,

technology

for

Machines

that

connectomics,

Opinion in Neurobiology, 2010, 20 (5), p. 653–666.

learn

to

Current

71. https://github.com/facebookresearch/maskrcnn-benchmark.

72. См. Главу 8 «Фильтрация контента».

73. См. главу 8.

74. J. Bromley, I. Guyon, Y. LeCun, E. Sckinger, R. Shah,. Signature verification Proceedings

using of

a

«siamese»

the

6th

time

delay

International

neural

network,

Conference

on

NIPS'93 Neural

Information Processing Systems, Morgan Kaufmann Publishers, 1993, p. 737–744.

75. S. Chopra, R. Hadsell, Y. LeCun, Learning a similarity metric discriminatively, with application to face verification, Conference on Computer Vision and Pattern Recognition (CVPR), 2005, 1, p. 539– 546.

76.

Y.

Closing

Taigman,

the

Conference

gap on

to

M.

Yang,

M.

human-level

Computer

Vision

A.

Ranzato,

performance and

Pattern

L. in

Wolf, face

DeepFace:

verification.

Recognition

(CVPR),

2014, 8.

77. https://www.wildbook.org/.

78.

Точное

описание

помощник, см. в этой главе.

того,

как

работает

виртуальный

79.

Y.

Bengio,

R.

Ducharme,

P.

Vincent,

C.

Jauvin.

A

neural

probabilistic language model, Journal of Machine Learning Research, 2003, 3 (6), p. 1137–1155.

80.

Ronan

natural

Collobert,

language

learning,

Jason

processing:

Proceedings

of

Weston,

Deep

the

A

neural

25th

unified networks

International

architecture with

for

multitask

Conference

on

Machine Learning (ICML'08), ACM, New York, 2008, p. 160–167.

81.

T.

Mikolov,

Distributed

I.

Sutskever,

representations

K.

of

Chen,

words

G.

S.

and

Corrado,

phrases

J.

Dean,

and

their

compositionality, Advances in Neural Information Processing Systems, 2013.

82. Word2vec — общее название для совокупности моделей на основе

искусственных

нейронных

сетей,

предназначенных

для

получения векторных представлений слов на естественном языке (цитата из Википедии). — Прим. ред.

83. См. https://fasttext.cc/.

84. Ilya Sutskever, Oriol Vinyals, Quoc V. Le, Sequence to sequence learning

with

neural

networks,

Advances

in

Neural

Information

Processing Systems, 2016, p. 3104–3112.

85.

Sepp

Hochreiter,

Jürgen

Schmidhuber.

Long

memory, Neural Computation, 1997, 9 (8), p. 1735–1780.

short-term

86. D. Bahdanau, K. Cho, Y. Bengio, Neural machine translation by jointly

learning

to

align

and

translate,

ICLR2015,

http://arXiv.org/abs/1409.0473.

87.

Workshop

международная

on

Machine

конференция

Translation,

по

крупнейшая

машинному

переводу,

включающая в себя конкурс разработок. — Прим. ред.

88. Nathan Ng, Kyra Yee, Alexei Baevski, Myle Ott, Michael Auli, Sergey

Edunov,

Facebook

FAIR'S

WMT19

News

Translation

Task

Submission, 2012, artXiv: 1907.06616.

89.

Alexis

Conneau,

Guillaume

Lample.

Cross-lingual

Language

Model Pretraining, 2019, arXiv: 1901.07291.

90.

J.

Devlin,

training

of

M.-W.

deep

Chang,

K.

Lee,

bidirectional

K.

Toutanova,

transformers

for

BERT:

Pre-

language

understanding, https://arxiv.org/abs/1810.04805.

91. https://gluebenchmark.com/leaderboard.

92. Названа в честь профессора Стэнфордского университета Терри

Винограда

и

представляет

собой

ряд

определенным

образом сформулированных вопросов, на которые искусственный интеллект должен дать правильный ответ.

93.

G.

pretraining

Lample,

A.

Conneau,

Cross-lingual

language

https://arxiv.org/abs/1901.07291

https://github.com/facebookresearch/XLM).

model (code:

94. См. Главу 8 «Новостная лента».

95. Myle

Alexander

Ott,

Rives,

Clawrence

Siddarth

Zitnick,

Goyal,

Jerry

Joshua

Ma,

Rob

Meier,

Demi

Fergus,

Guo,

Biological

structure and function emerge from scaling unsupervised learning to 250 million protein sequences, bioRxiv, 2019, p. 622803.

96. R. Evans, J. Jumper, J. Kirkpatrick, L. Sifre, T. F. G. Green, C. Qin, A. Zidek, A. Nelson, A. Bridgland, H. Penedones, S. Petersen, K. Simonyan, Hassabis, learning

S. A.

Crossan, W.

based

Protein

D.

Senior,

scoring,

Structure

T.

De 13th

Jones, novo

Silver,

structure

Critical

Prediction

D.

K.

Kavukcuoglu,

prediction

Assessment 1–4

of

with

deep-

Techniques

December

D.

for

2018,

https://deepmind.com/blog/article/alphafold.

97. AFP, 19 марта 2018 г.

98. См. в этой главе «Понимание языка и перевод».

99. Стажировка после получения докторской степени в США. — Прим. ред.

100. John Markoff, In a big network of computers, evidence of machine learning, The New York Times, 25 June 2012.

101. Одно из полуофициальных прозвищ Facebook. В IT-среде подобная

«цветовая

распространена производителей

дифференциация

довольно графических

широко: адаптеров

так,

штанов»

вообще

конкурентов

называют



«красными»

(AMD)

и

«зелеными»

(NVidia);

производителей

процессоров

«красными» и «голубыми». В России есть «красная», «желтая» и «зеленая» мобильная связь (МТС, Билайн и Мегафон) и так далее. — Прим. ред.

102. Видеокурс по глубокому обучению в Коллеж де Франс: https://www.college-de-france.fr/site/yann-lecun/index.htm.

103. Facebook Live — это сервис, который позволяет любому вести прямые трансляции со своего смартфона.

104. Об эмбеддинге см. Главу 7.

105. Об обнаружении сходства в видеороликах см. Главу 7.

106.

Mark

Zuckerberg,

Je

souhaite

clarifier

la

mani.re

dont

Facebook fonctionne., Le Monde, 25 janvier 2019.

107.

Steve

engagement

El-Sharawy, can

Facebook

favour

algorithm:

newsrooms,

Global

How

the

Editors

shift

in

Network

Newsletter, 5 February 2019.

108.

Luca

Mediavilla,

Mark

Zuckerberg.

l'lys.e

vendredi

pour

rencontrer Emmanuel Macron., Les Échos, 7 mai 2019.

109. Brent Harris, Bilan du d.bat global et commentaires propos du Conseil de surveillance sur les politiques de contenu de Facebook et leur application, Newsroom, 27 juin 2019.

110.

Mark

Zuckerberg,

A

privacy-focused

vision

for

social

networking, Facebook, 6 march 2019.

111. См. Главу 6.

112.

В

черно-белом

изображении

размером

1000

×

1000

пикселей, где каждый пиксель может принимать 256 значений, существует

256

**

10

000

000

возможных

конфигураций

пикселей. Это число из 24 миллионов цифр! Обучающий набор из 1 миллиарда примеров охватывает лишь очень малую его часть.

113. См. Главу 7, рисунок 7.9.

114.

См.

главу

7,

«Архитектура

"больших"

приложений:

автономный автомобиль».

115. Сédric Villani, Donner un sens à l'intelligence artificielle. Pour une

stratégie

européenne,

mars

2018,

https://www.ladocumentationfrancaise.fr/var/storage/rapportspublics/184000159.pdf.

116. Emmanuel Dupoux, http://www.fscp.net/persons/dupoux.

117. Ian Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair, Aaron Courville, Yoshua Bengio. Generative

adversarial

nets,

Advances

Processing Systems, 2014, p. 2672–2680.

in

Neural

Information

118.

Alec

Radford,

representation

Luke

learning

Metz,

with

Soumith deep

Chintala,

Unsupervised

convolutional

generative

adversarial networks, ICLR2015, arXiv:1511.06434.

119. Michael Mathieu, Camille Couprie, Yann LeCun, Deep multiscale

video

prediction

beyond

mean

square

error,

ICLR2016,

arXiv:1511.05440.

120.

Othman

Sbai,

Mohamed

Elhoseiny,

Antoine

Bordes,

Yann

LeCun, Camille Couprie, DesIGN: Design inspiration from generative networks, ECCV Workshops, 2018, arXiv: 1804.00921.

121.

Tero

Progressive

Karras,

Growing

Timo of

Aila,

GANS

Samuli

for

Laine,

Improved

Jaakko

Quality,

Lehtinen,

Stability

and

Variation, ICLR2018, https://openreview.net/forum?id=HK99zCeAB.

122. Daniel Kahneman, Système 1 / Système 2. Les deux vitesses de la pensée, Flammarion, 2011.

123.

Базальные

ганглии



это

основные

структуры

мозга,

отвечающие за эмоции и мотивацию.

124.

Mikael

Henaff,

Alfredo

Canziani,

Yann

LeCun,

Model-

predictive policy learning with uncertainty regularization for driving in

dense

traffic,

ICLR2019.

https://youtu.be/X2s7gy3wlYw

et

Vid.o

explicative:

https://openreview.net/forum?

id=HygQBn0cYm.

125. https://cs.stanford.edu/people/jcjohns/clevr/.

126.

Ronghang

Darrell,

Kate

networks

Hu,

Jacob

Saenko,

for

Andreas,

Learning

visual

to

question

Marcus

reason:

Rohrbach,

End-to-end

answering,

ICCV

Trevor module 2017,

http://openaccess.thecvf.com/content_iccv_2017/html/Hu_Learning_to_Reason_ICCV_2017_paper.html.

127.

Группа

правительственных

экспертов

по

автономным

системам оружия летального действия (АСОЛД), 2018 г., https://www.unog.ch/__80256ee600585943.nsf/(httpPages)/7c 335e71dfcb29d1c1258243003e8724

OpenDocument

и

ExpandSection = 3.

128. https://www.partnershiponai.org/.

129. Julia Angwin, Jeff Larson, Surya Mattu et Lauren Kirchner, «Machine

bias»,

https://www.propublica.org/article/machine-bias-

risk-assessments-in-criminal-sentencing.

130.

См.

Главу

7,

«Встраивание

контента

и

измерение

сходства».

131. Файрвол (англ. firewall, противопожарный вал или стена, брандмауэр) комплекс

в

сетевых

аппаратных

технологиях

или



межсетевой

программных

средств

экран,

для

т.е.

изоляции

частей сети.

132.

«Основные

научные

революции

объединяет

то,

что

все

они сбросили человеческое высокомерие с пьедесталов извечной уверенности

о

нашем

центральном

положении

в

космосе.»

Зигмунд Фрейд, цитата взята из книги Stephen Jay Gould «Origin,

stability,

and

extinction»,

Dinosaur

in

a

Haystack:

Reflections

in

Natural History, Harmony Books, 1995, часть 3, глава 13.

133. Kevin Hartnett, «To build truly intelligent machines, teach them

cause

and

effect»,

Quanta

Magazine,

15

mai

2018,

https://www.quantamagazine.org/to-build-truly-intelligentmachines-teach-them-cause-and-effect-20180515/.

134. Nick Bostrom, Superintelligence. Paths, Dangers, Strategies, Oxford University Press, 2014; trad. fr: Superintelligence. Quand les machines surpasseront l'intelligence humaine, Dunod, 2017.

135. По мнению многих исследователей проблемы, вызванные развитием телевидения, интернета и социальных сетей, не только не

решены,

а

еще

находятся

далеко

от

пика

своего

отрицательного воздействия.

136.

Jitendra

Sharma,

Alessandra

Angelucci,

Mriganka

Sur.

Induction of visual orientation modules in auditory cortex, Nature, 2000, 404 (6780), p. 841.

137. Stanislas Dehaene, Yann Le Cun, Jacques Girardon, La Plus Belle Histoirede l'intelligence, Robert Laffont, 2018.

[1] Tom Sercu, Christian Puhrsch, Brian Kingsbury, Yann LeCun, Very

deep

multilingual

convolutional

networks

for

LVCSR,

IEEE

International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2016, p. 4955–4959.

[2] Tom Sercu, Christian Puhrsch, Brian Kingsbury, Yann LeCun, Very

deep

multilingual

convolutional

networks

for

LVCSR,

IEEE

International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2016, p. 4955–4959.

[3]

«Дельта»

употребляющееся

— в

жаргонное,

мире

но

чрезвычайно

компьютерных

широко

специалистов

слово,

обозначающее небольшое изменение исходного показателя.

[4] Nan Wu, Jason Phang, Jungkyu Park, Yiqiu Shen, Zhe Huang, Masha

Zorin,

Stanisław

Jastrzębski,

Thibault

F.vry,

Joe

Katsnelson,

Eric Kim, Stacey Wolfson, Ujas Parikh, Sushma Gaddam, Leng Leng Young

Lin,

Joshua

D.

Weinstein,

Krystal

Airola,

Eralda

Mema,

Stephanie Chung, Esther Hwang, Naziya Samreen, Kara Ho, Beatriu Reig, Yiming Gao, Hildegard Toth, Kristine Pysarenko, Alana Lewin, Jiyon Lee, Laura Heacock, S. Gene Kim, Linda Moy, Kyunghyun Cho, Krzysztof

J.

Geras,

Deep

neural

networks

improve

radiologists'

performance in breast cancer screening, Medical Imaging with Deep Learning Conference, 2019, arXiv:1903.08297.

[5] Cem M. Deniz, Siyuan Xiang, R. Spencer Hallyburton, Arakua Welbeck, James S. Babb, Stephen Honig, Kyunghyun Cho, Gregory Chang. Segmentation of the proximal femur from MR images using

deep convolutional neural networks, Nature Scientific Reports, 2018, 8, article 16485, arXiv:1704.06176.