Глубокое обучение — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Нейронные сети)
Строка 29: Строка 29:
 
* Может сочетать алгоритмы [[Обучение с учителем | обучения с учителем]]<sup>[на 12.12.18 не создан]</sup> (пример {{---}} классификация) и [[Обучение без учителя | без учителя ]]<sup>[на 12.12.18 не создан]</sup>  (пример {{---}} анализ образца).
 
* Может сочетать алгоритмы [[Обучение с учителем | обучения с учителем]]<sup>[на 12.12.18 не создан]</sup> (пример {{---}} классификация) и [[Обучение без учителя | без учителя ]]<sup>[на 12.12.18 не создан]</sup>  (пример {{---}} анализ образца).
 
* Формирует в процессе обучения слои выявления признаков на нескольких уровнях представлений, которые соответствуют различным уровням абстракции; при этом признаки организованы иерархически {{---}} признаки более высокого уровня являются производными от признаков более низкого уровня.
 
* Формирует в процессе обучения слои выявления признаков на нескольких уровнях представлений, которые соответствуют различным уровням абстракции; при этом признаки организованы иерархически {{---}} признаки более высокого уровня являются производными от признаков более низкого уровня.
 
+
{|align="center"
[[Файл:N_nets.jpg|border|666px|Пример нейронных сетей]]
+
|-valign="top"
 +
|[[Файл:Network_dif.png|border|250px|thumb|left|Глубокие и неглубокие нейронные сети.]]
 +
|}
  
 
== Нейронные сети ==
 
== Нейронные сети ==

Версия 23:44, 12 декабря 2018

Глубокое обучение (англ. deep learning) — совокупность широкого семейства методов машинного обучения, основанных на имитации работы человеческого мозга в процессе обработки данных и создания паттернов используемых для принятия решений[1]. Как правило, глубокое обучение предназначено для работы с большими объемами данных и использует сложные алгоритмы для обучения модели[2]. Несмотря на то, что данный раздел машинного обучения появился еще в 1980-х, до недавнего времени его применение было сильно ограничено из-за недостака вычислительных мощностей существовавших компьютеров. Ситуация изменилась только в середине 2000-х.

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

История

  • 1943 — Искусственный нейрон Маккаллока — Питтса[3] — узел искусственной нейронной сети, являющийся упрощённой моделью естественного нейрона.
  • 1949 — Принцип обучения нейронов Хебба[4] — изначально наблюдаемая причинно-следственная связь между активациями пре- и постсинаптического нейрона имеет тенденцию к усилению.
  • 1957 — Модель перцептрона предложена Фрэнком Розенблаттом[5] — математическая или компьютерная модель восприятия информации мозгом.
  • 1960 — Дельта-правило обучения перцептрона[6] — метод обучения перцептрона по принципу градиентного спуска по поверхности ошибки.
  • 1969 — Выход книги Марвина Минска и Сеймура Паперта "Перцептроны"[7]. В данной книге математически показаны ограничения перцептронов.
  • 1974 — Метод обратного распространения ошибки впервые предложен А. И. Галушкиным и Дж. Вербосом[8] — метод вычисления градиента, который используется при обновлении весов многослойного перцептрона.
  • 1980 — Первая свёрточная нейронная сеть предложена Кунихико Фукусимой[9] — специальная архитектура искусственных нейронных сетей использующая некоторые особенности зрительной коры.
  • 1982 — Рекуррентные нейронные сети предложены Д. Хопфилдом — вид нейронных сетей, где связи между элементами образуют направленную последовательность.
  • 1991 — Проблема "исчезающего" градиента была сформулирована С. Хочрейтом. Проблема "исчезающего" градиента заключается в быстрой потере информации с течением времени.
  • 1997 — Долгая краткосрочная память предложена С. Хочрейтом и Ю. Шмидхубером[10]. В отличие от традиционных рекуррентных нейронных сетей, LSTM-сеть хорошо приспособлена к обучению на задачах классификации, обработки и прогнозирования временных рядов в случаях, когда важные события разделены временными промежутками с неопределённой продолжительностью и границами.
  • 1998 — Градиентный спуск для сверточных нейронных сетей предложен Я. Лекуном.
  • 2006 — Публикации Г. Хинтона, С. Осиндера и Я. Теха об обучении сетей глубокого доверия. Данные публикации, а также их активное освещение в средствах массовой информации смогли привлечь внимание ученых и разработчиков со всего мира к глубоким сетям.
  • 2012 — Предложение дропаута Г. Хинтоном, А. Крижевски и И. Шутковичем[11]. Дропаут (от англ. dropout) — метод регуляризации искусственных нейронных сетей, предназначен для предотвращения переобучения сети.
  • 2012 — Нейронные сети побеждают в ImageNet Challenge[12]. Данное событие ознаменовало начало эры нейронных сетей и глубокого обучения.
  • 2014 — Группа исследователей под руководством Зеппа Хохрейтера использовала глубокое обучение для определения токсичного воздействия лекарств и бытовых средств на окружающую среду. Данна работа была отмечена первым местом на соревновании "Tox21 Data Challenge"[13].
  • 2016 — Программа для игры в го Google AlphaGo выиграла со счётом 4:1 у Ли Седоля, лучшего международного игрока в эту игру. AlphaGo, разработанная DeepMind, использует глубокое обучение с помощью многоуровневых нейронных сетей.

В настоящее время глубокое обучение используется во многих сферах.

Определение

Глубокое обучение — это класс алгоритмов машинного обучения, который:

  • Использует многослойную систему нелинейных фильтров для извлечения признаков с преобразованиями. Каждый последующий слой получает на входе выходные данные предыдущего слоя.
  • Может сочетать алгоритмы обучения с учителем[на 12.12.18 не создан] (пример — классификация) и без учителя [на 12.12.18 не создан] (пример — анализ образца).
  • Формирует в процессе обучения слои выявления признаков на нескольких уровнях представлений, которые соответствуют различным уровням абстракции; при этом признаки организованы иерархически — признаки более высокого уровня являются производными от признаков более низкого уровня.
Глубокие и неглубокие нейронные сети.

Нейронные сети

  • Искусственные нейронные сети (англ. artificial neural networks (ANN))[14]
На данном рисунке каждый узел представляет собой искусственный нейрон, а стрелка представляет связь между выходом одного нейрона и входом другого.
  • Глубокие нейронные сети (англ. deep neural network (DNN))[15]

Применения

  • Распознавание речи[16]. Все основные коммерческие системы распознавания речи (например, Microsoft Cortana, Xbox, Skype Translator, Amazon Alexa, Google Now, Apple Siri, Baidu и iFlyTek) основаны на глубоком обучении.
  • Компьютерное зрение[на 06.12.18 не создан]. На сегодняшний день системы распознавания образов основанные на глубоком обучении уже умеют давать более точные результаты, чем человеческий глаз[17].
  • Обработка естественного языка[18]. Нейронные сети использовались для реализации языковых моделей еще с начала 2000-х годов. Изобретение LSTM помогло улучшить машинный перевод и языковое моделирование[19].
  • Обнаружение новых лекарственных препаратов. К примеру, нейронная сеть AtomNet использовалась для прогнозирования новых биомолекул — кандидатов для лечения таких заболевания, как вирус Эбола и рассеянный склероз.
  • Рекомендательные системы[20]. На сегодняшний день глубокое обучение применяется для изучения пользовательских предпочтений во многих доменах.
  • Предсказание генномных онтологий в биоинформатике[21].

Полный список возможных применений глубокого обучения[22].

Фреймворки для глубокого обучения

Сопоставление фреймворков, библиотек и отдельных программ для глубокого обучения[32].

См. также

Примечания

Источники информации