Глубокое обучение
Глубокое обучение (англ. deep learning) — совокупность широкого семейства методов машинного обучения, основанных на обучении представлениям, а не специализированным алгоритмам под конкретные задачи. Глубокое обучение может быть с учителем, с частичным привлечением учителя, без учителя и с подкреплением. Несмотря на то, что данный раздел машинного обучения появился еще в 1980х, до недавнего времени его применение было сильно ограничено из-за недостака вычислительных мощностей существовавших компьютеров. Ситуация изменилась только в середине 2000х.
На создание моделей глубокого обучения оказали влияние некоторые процессы и паттерны, происходящие в биологических нейронных системах. Несмотря на это, данные модели имеют множество различий от биологического мозга (и в структуре и в функциях), что делает невозможным использование теорем и доказательств, применяющихся нейробиологии.
История
Термин «глубокое обучение» появился в научном сообществе машинного обучения в 1986 году в работе израильско-американского ученой Рины Дехтер «Learning While Searching in Constraint-Satisfaction-Problems»[1]. Стоит отметить, что первый общий рабочий алгоритм для глубоких многослойных перцептронов прямого распространения был опубликован в книге советских учёных Алексея Григорьевича Ивахненко и Валентина Григорьевича Лапы «Кибернетические предсказывающие устройства».
Многие архитектуры глубокого обучения появились с искусственной нейронной сети Neocognitron[2], представленной в 1980 году Кунихикой Фукусимой. Особенное влияние данная сеть оказала на архитектуры, использующиеся для компьютерного зрения. В 1989 году Яну Лекуну удалось использовать алгоритм обратного распространения ошибки для обучения глубоких нейросетей для решения задачи распознавания рукописных ZIP-кодов[3]. Хотя алгоритм работал, на его обучение потребовалось 3 дня, что существенно ограничевало применимость данного метода. Из-за низкой скоростя обучения нейронные сети в 1990-х годах уступили место методу опорных векторов.
Популярность глубокое обучение приобрело в середине 2000-х годов. Этому способстовали несколько факторов:
- появились более мощные компьютеры, способные обучать большие нейронные сети;
- появились новые датасеты, достаточные по объёму, чтобы обучение больших сетей имело смысл;
- произошли существенные продвижения в теории искусственных нейронных сетей. В появихшихся статьях авторы показали, что можно эффективно предобучать многослойную нейронную сеть, если обучать каждый слой отдельно при помощи ограниченной машины Больцмана, а затем дообучать при помощи метода обратного распространения ошибки;
- технология привлекли внимание крупных медиа, — первым из мировых СМИ об этом написал The New York Times.
Определение
Глубокое обучение — это класс алгоритмов машинного обучения, который:
- использует многослойную систему нелинейных фильтров для извлечения признаков с преобразованиями. Каждый последующий слой получает на входе выходные данные предыдущего слоя.
- может сочетать алгоритмы обучения с учителем (пример — классификация) и без учителя (пример — анализ образца).
- формирует в процессе обучения слои выявления признаков на нескольких уровнях представлений, которые соответствуют различным уровням абстракции; При этом признаки организованы иерархически - признаки более высокого уровня являются производными от признаков более низкого уровня.
Нейронные сети
Применения
- Распознавание речи
- Компьютерное зрение
- Обработка визуальных изображений
- Обработка естественного языка
- Обнаружение новых лекарственных препаратов
- Рекомендательные системы
- Предсказание генномных онтологий в биоинформатике
Sigmoid function
...
Rectified Linear Units (ReLU)
...
См. также
- Нейронные сети, перцептрон[на 06.12.18 не создан]
- Сверточные нейронные сети[на 06.12.18 не создан]
- Рекуррентные нейронные сети [на 06.12.18 не создан]
- Задача нахождения объектов на изображении[на 06.12.18 не создан]
- Обучение с подкреплением [на 06.12.18 не создан]