Глубокое обучение«3.4.4 глубокое обучение (нейронной сети) (deep learning, deep neural network learning): <искусственный интеллект> Подход к созданию обширных иерархических представлений посредством обучения нейронных сетей с большим количеством скрытых слоев. Примечание — Глубокое обучение является частным случаем машинного обучения» (). (глубинное обучениеДанный термин используется, в частности, в ВШЭ и Сколтехе, а также в соответствующем хендбуке/учебнике Яндекса (в разделах 5—7, тем не менее в разделе 13 используется термин «глубокое обучение»).; ) — совокупность методов машинного обучения (с учителем, с частичным привлечением учителя, без учителя, с подкреплением), основанных на обучении представлениям (), а не специализированных алгоритмах под конкретные задачи. Многие методы глубокого обучения были известны ещё в 1980-е годы (и даже ранееНа самом деле, первые глубокие сети появились ещё в середине 1960-х годов: сети в виде глубоких перцептронов были описаны в работах советских учёных А. Г. Ивахненко и В. Г. Лапы — см. далее раздел «История».), но результаты не впечатлялиИсследователь нейронных сетей Джон Денкер () в 1994 году заметил: «Нейронные сети — это второй лучший способ сделать практически что угодно»., пока продвижения в теории искусственных нейронных сетей (предобучение нейросетей с помощью специального случая ненаправленной графической модели, так называемой ограниченной машины Больцмана) и вычислительные мощности середины 2000-х годов (в том числе использующие графические ускорители, программируемые пользователем вентильные матрицы и различные формы нейронных процессоров) не позволили создавать сложные технологические архитектуры нейронных сетей, обладающие достаточной производительностью и позволяющие решать широкий спектр задач, не поддававшихся эффективному решению ранее, например, в компьютерном зрении, машинном переводе, распознавании речи, причём качество решения во многих случаях теперь сопоставимо, а в некоторых превосходит эффективность человека.

История Несмотря на то что термин «глубокое обучение» появился в научном сообществе машинного обучения только в 1986 году после работы Рины ДехтерRina Dechter (1986). Learning while searching in constraint-satisfaction problems. . University of California, Computer Science Department, Cognitive Systems Laboratory., первый общий рабочий алгоритм для глубоких многослойных перцептронов прямого распространения был опубликован в книге советских учёных Алексея Григорьевича Ивахненко и Валентина Григорьевича Лапы «Кибернетические предсказывающие устройства» ещё в 1965 году. В дальнейшем, наиболее ранний метод глубокого обучения МГУА был использован для обучения восьмислойной нейронной сети уже в 1971 году.

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

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

В 1994 году Андре де Карвальо вместе с Майком Фэйрхерстом и Дэвидом Биссетом опубликовал экспериментальные результаты многослойной булевой нейронной сети, также известной как невесомая нейронная сеть, состоящая из трехуровневого самоорганизующегося модуля нейронной сети для выделения признаков (SOFT), а затем — модуль нейронной сети многоуровневой классификации (GSN). Каждый модуль прошёл независимое друг от друга обучение. Каждый слой в модуле извлекал объекты с растущей сложностью относительно предыдущего слоя.

В 1995 году Брендан Фрей продемонстрировал, что можно обучить (в течение двух дней) сеть, содержащую шесть полностью соединённых слоев и несколько сотен скрытых юнитов (базовых обрабатывающих элементов), используя алгоритм сна-бодрствования, разработанный совместно с Питером Даяном и Хинтоном. Многие факторы способствуют низкой скорости, включая проблему исчезающего градиента, проанализированную в 1991 году Зеппом Хохрайтером.

Более простые модели, которые используют ручные работы, специфичные для конкретной задачи, такие как фильтры Габора и метод опорных векторов (МОВ), были популярным выбором в 1990-х и 2000-х годах из-за вычислительных затрат искусственной нейронной сети (ИНС, англ. ANN) и отсутствия понимания того, как мозг связывает свои биологические сети.

Как мелкие, так и глубокие модели ИНС (например, рекуррентные сети) изучались в течение многих лет. Эти методы никогда не превосходили неоднородную смешанную гауссову модель и скрытую модель Маркова, основанную на генеративных моделях речи, обученных дискриминационно. Были проанализированы ключевые трудности, в том числе уменьшение градиента и слабая временная корреляционная структура в нейронных прогностических моделях. Дополнительными трудностями были отсутствие обучающих данных и ограниченная вычислительная мощность.

Глубокое обучение приобрело популярность в середине 2000-х годов, когда всё сошлось воедино: компьютеры стали достаточно мощными, чтобы обучать большие нейронные сети (вычисления научились делегировать графическим процессорам, что ускорило процесс обучения на порядок), наборы данных стали достаточно объёмными, чтобы обучение больших сетей имело смысл, а в теории искусственных нейронных сетей произошло очередное продвижение — статьи Хинтона, Осиндеро и Тэ, а также Бенджио, в которых авторы показали, что можно эффективно предобучать многослойную нейронную сеть, если обучать каждый слой отдельно при помощи ограниченной машины Больцмана, а затем дообучать при помощи метода обратного распространения ошибки.

Революция в глубоком обучении В 2012 году команда под руководством Джорджа Э. Даля выиграла конкурс «Merck Molecular Activity Challenge», используя многозадачные глубокие нейронные сети для прогнозирования биомолекулярной мишени одного препарата. В 2014 году группа Хохрейтера использовала глубокое обучение для выявления нецелевых и токсических эффектов химических веществ, присутствующих в окружающей среде, в питательных веществах, продуктах домашнего обихода и лекарствах, и выиграла «Tox21 Data Challenge» от Национального института здравоохранения США, Управления по санитарному надзору за качеством пищевых продуктов и медикаментов и NCATS.Значительное развитие в распознавании изображений или объектов ощущалось в период с 2011 по 2012 годы. Хотя сверточные нейронные сети (СНН), обученные обратному распространению, существовали в течение десятилетий, и GPU внедряли нейронные сети в течение многих лет, включая СНН, быстрые реализации СНН на GPU использовали для развития компьютерного зрения. В 2011 году этот подход впервые позволил добиться сверхчеловеческой производительности в конкурсе визуального распознавания образов. Также в 2011 году он выиграл конкурс рукописного ввода ICDAR, а в мае 2012 года — конкурс сегментации изображений ISBI. До 2011 года СНН не играли основной роли на конференциях по компьютерному зрению, но в июне 2012 года доклад Циресана на ведущей конференции CVPR показал, как максимальное объединение СНН на GPU может значительно улучшить многие результаты бенчмарков. В октябре 2012 г. аналогичная система была разработана Крижевским, коллектив которого выиграл крупномасштабный конкурс ImageNet со значительным преимуществом по сравнению с методами традиционного машинного обучения. В ноябре 2012 года команда Циресана также выиграла конкурс ICPR по анализу больших медицинских изображений для выявления рака, а в следующем году MICCAI Grand Challenge по той же теме. В 2013 и 2014 годах частота ошибок в задаче ImageNet с использованием глубокого обучения была ещё снижена вследствие аналогичной тенденции в широкомасштабном распознавании речи. Стивен Вольфрам в рамках проекта по идентификации изображений опубликовал эти улучшения.

Классификация изображений была затем расширена до более сложной задачи генерации описаний (подписей) для изображений, часто в виде комбинации СНН и LSTM.

Некоторые исследователи считают, что победа ImageNet в октябре 2012 года положила начало «революции глубокого обучения», которая изменила индустрию искусственного интеллекта.

В марте 2019 года Йошуа Бенжио, Джеффри Хинтон и Янн ЛеКун были награждены премией Тьюринга за концептуальные и инженерные прорывы, которые сделали глубокие нейронные сети критическим компонентом вычислений.

Нейронные сети Искусственные нейронные сети (ИНС) — это вычислительные системы, основанные на принципах биологических нейронных сетей, составляющих мозг животных. Такие системы учатся (постепенно улучшают свои способности) выполнять задачи, как правило, без программирования для решения конкретных задач. Например, при распознавании изображений кошек они могут научиться распознавать изображения, содержащие кошек, анализируя примеры изображений, которые были вручную помечены как «кошка» или «нет кошки», и используя результаты анализа для идентификации кошек на других изображениях. Наибольшее применение ИНС нашли в программных приложениях, которые трудно выразить традиционным компьютерным алгоритмом, использующим программирование на основе правил.

ИНС основаны на наборе связанных единиц, называемых искусственными нейронами (аналог биологических нейронов в биологическом мозге). Каждое соединение (синапс) между нейронами может передавать сигнал другому нейрону. Принимающий (постсинаптический) нейрон может обрабатывать сигнал (сигналы) и затем сигнализировать о подключенных к нему нейронах. Нейроны могут иметь состояние, обычно представляемое действительными числами, обычно между 0 и 1. Нейроны и синапсы могут также иметь вес, который изменяется в процессе обучения, что может увеличивать или уменьшать силу сигнала, который он посылает далее.

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

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

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

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

Глубокие нейронные сети