Глубокое обучение


Глубокое обучение (глубинное обучение; англ. Deep learning) — совокупность методов машинного обучения (с учителем, с частичным привлечением учителя, без учителя, с подкреплением), основанных на обучении представлениям (англ. feature/representation learning), а не специализированных алгоритмах под конкретные задачи. Многие методы глубокого обучения были известны ещё в 1980-е (и даже ранее[1]), но результаты не впечатляли[2], пока продвижения в теории искусственных нейронных сетей (предобучение нейросетей с помощью специального случая ненаправленной графической модели, так называемой ограниченной машины Больцмана) и вычислительные мощности середины 2000-х годов (в том числе использующие графические ускорители, программируемые пользователем вентильные матрицы и различные формы нейронных процессоров) не позволили создавать сложные технологические архитектуры нейронных сетей, обладающие достаточной производительностью и позволяющие решать широкий спектр задач, не поддававшихся эффективному решению ранее, например, в компьютерном зрении, машинном переводе, распознавании речи, причём качество решения во многих случаях теперь сопоставимо, а в некоторых превосходит эффективность человека[3].

Несмотря на то что термин «глубокое обучение» появился в научном сообществе машинного обучения только в 1986 году после работы Рины Дехтер[4], первый общий рабочий алгоритм для глубоких многослойных перцептронов прямого распространения был опубликован в книге советских учёных Алексея Григорьевича Ивахненко и Валентина Григорьевича Лапы «Кибернетические предсказывающие устройства» ещё в 1965 г.[5]

Другие глубокие архитектуры, в особенности те, которые специализируются на распознавании образов, берут своё начало с неокогнитрона, разработанного Кунихико Фукусимой[англ.] в 1980 году. В 1989 году Яну Лекуну удалось использовать алгоритм обратного распространения ошибки для обучения глубоких нейросетей для решения задачи распознавания рукописных ZIP-кодов[6]. Несмотря на успешный опыт, для обучения модели потребовалось три дня, что существенно ограничивало применимость этого метода. Низкая скорость обучения связана со многими факторами, включая проблему исчезающих градиентов из-за большого разброса значений обучаемых параметров, которую в 1991 году анализировали Йорген Шмидхубер и Зепп Хохрайтер. Из-за этих проблем нейронные сети в 1990-х годах уступили место методу опорных векторов.

К 1991 году такие системы использовались для распознавания изолированных двумерных рукописных цифр, а распознавание трёхмерных объектов осуществлялось путём сопоставления двумерных изображений с трёхмерной объектной моделью, изготовленной вручную. В 1992 году создана модель кресцептрона[7][8][9] для распознавания трёхмерных объектов в загромождённых сценах.