Как учится машина. Революция в области нейронных сетей и глубокого обучения - Ян Лекун
Рис. 4.5. Функция с двумя минимумами.
Некоторые функции стоимости могут иметь несколько минимумов. Данная диаграмма представляет собой невыпуклую функцию с двумя минимумами. Применяя метод градиента для поиска минимума, можно попасть в один минимум или в другой, в зависимости от начальной точки. Здесь представлены четыре траектории градиентного спуска.
Данное явление проиллюстрировано на рис. 4.5, где функция имеет два минимума, один из которых ниже другого. Мы рисуем случайные w для оптимизации, и если наше случайное значение находится в локальном минимуме с координатой центра 0 по оси ординат, мы попадаем в правильный минимум.
Если наше значение оказывается в локальном минимуме с координатой центра 5 по оси ординат, мы столкнемся с ошибкой.
Для многих исследователей машинного обучения правильная функция стоимости обязательно должна быть выпуклой, потому что лишь выпуклая функция стоимости имеет ровно один минимум. Это дает теоретические гарантии сходимости градиентных алгоритмов. Если бы кто-то предложил таким ученым модель, функция стоимости которой была невыпуклой, его бы, как еретика, бросили на растерзание львам!
В этом и состоит одна из причин, по которой многослойные нейронные сети (некоторое время) не изучали: их функция стоимости невыпуклая. Напротив, функция стоимости последовательных машин является выпуклой. Для теоретиков выпуклость функции стоимости обязательна, а невыпуклость недопустима.
На практике невыпуклость многослойных нейронных сетей с миллионами параметров не является проблемой. При обучении большой сети с помощью стохастического градиентного спуска все локальные минимумы, к которым мы приходим, более или менее эквивалентны, независимо от начальной точки. Решения разные, но окончательные значения стоимости (высоты минимумов) очень похожи. Считается даже, что ландшафт функции стоимости таков, что минимумы – это не точки, а обширные долины, соединенные друг с другом. Таковы свойства некоторых функций в многомерном пространстве. На рисунке 4.5 вы не можете перейти от одного минимума к другому, не поднимаясь на перевал, который их разделяет. Но если мы добавим измерение в пространство (третье измерение, перпендикулярное странице), мы сможем обойти этот проход. Когда пространство имеет миллионы измерений, всегда найдется показатель, с помощью которого вы можете обойти гору или преодолеть ее через глубокий разлом. Мы вернемся к этому в главе 5.
Общая теория обучения
Во время обучения сеть настраивает свои параметры так, чтобы все x в обучающем наборе давали желаемый y. После обучения она может интерполировать или экстраполировать, то есть дать значение y для нового x, которого не было в обучающем наборе. Мы говорим об интерполяции, когда новый x окружен обучающими примерами, и об экстраполяции, когда новый x находится за пределами области, охватываемой обучающими примерами. Общее правило, связывающее элементы обучающих пар вместе, – это функция, модель которой была выбрана инженером. Выбор этой модели зависит от конкретных ограничений.
Рассмотрим пример такого выбора. Предположим, что модель обучения – это линия, определяемая уравнением:
f(x, w) = w[0] * x + w[1]
Зададим некоторое значение х. Функция умножает x на коэффициент w[0], который представляет собой наклон линии, и добавляет константу w[1], которая представляет собой вертикальное положение линии (точка, в которой линия пересекает ось y). Если w[1] равно 0, прямая проходит через 0. Если w[1] не равно 0, прямая пересекает вертикальную ось по ординате w[1]. Варьируя w[0] и w[1], мы можем построить любую прямую.
Данный случай представляет собой двухпараметрическую модель. Если в обучающем наборе есть только две точки X[0], Y[0] и X[1], Y[1], мы все равно можем найти параметры, которые заставят линию проходить через эти две точки.
Теперь представьте, что у нас есть третья точка обучения X[2], Y[2], которая не принадлежит прямой, проходящей через точки X[0], Y[0] и X[1], Y[1]. Как найти новую модель обучения, которая объединит эти точки? Чтобы управлять машиной, вы должны заранее иметь представление о модельной функции, график которой проходит как можно ближе ко всем трем точкам. В интересующем нас примере мы знаем – по опыту – что соответствующая функция должна отображаться некой кривой, например параболой. Это функция, состоящая из квадратичного выражения, то есть многочлена 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, w). Это может быть однослойный перцептрон, двухслойная нейронная сеть или сверточная нейронная сеть с 3, 5, 6 или даже 50 слоями. Процедура эта по сути своей – эмпирическая, однако она опирается на статистическую теорию обучения Вапника.
Я хорошо знал Владимира Вапника, блестящего математика. Я работал в Bell Labs в Нью-Джерси, когда он пришел к нам (через год после меня). Когда я возглавил компанию 1996 г., я стал его «руководителем». В фундаментальных исследованиях руководитель не управляет работой сотрудников своей лаборатории. Все, что есть у руководителя есть, – это свобода и средства на проведение исследовательских работ. Несколько неблагодарная роль, которая отвлекает его от личных исследований.
Владимир родился в Узбекистане недалеко от Самарканда и провел часть своей карьеры в Москве в Институте проблем управления, где заложил теоретические основы статистической теории обучения. Он, естественно, интересовался перцептроном, но, поскольку его карьера в Советском Союзе сдерживалась из-за того, что он был евреем, он решил эмигрировать, как только правительство СССР перестало препятствовать отъезду своих граждан. Он прибыл в Соединенные Штаты через год после меня, в октябре 1989 г., незадолго до падения Берлинской стены. Именно в этой гостеприимной стране