Глубокое обучение (Deep learning)

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

Здесь серым цветом указаны компоненты, которые самостоятельно обучаются на данных

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

В качестве примера можно посмотреть на следующую картинку:

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

(!! надо ли?) Parameters sharing

Почему именно сейчас?

Секреты успеха:

  • Много данных
    • Более 100 часов видео заливается каждую минуту на Youtube
    • Социальная сеть ВКонтакте хранит огромное количество информации о пользователях (в день в ВК заходят более 80 млн.)
  • Вычислительная мощность
    • С каждым годом видео-карты становятся в разы мощнее
    • Распределенные вычисления
  • Новые алгоритмы
    • Алгоритм ReLU позвлил обучать сеть точнее и намного быстрее
    • Новые методы оптимизации повышающие эффективность сетей: Dropout, Batch Normalization

Успех в компьютерном зрении

В области компьютерного зрения всегда была, есть и будет одна самая главная цель - понять, что изображено на картинке. Человек ли там или дерево? Поэтому для проверки различных алгоритмов существуют соревнования по классификации изображений. Одним из таких соревнований является ImageNet Competition, в котором используется база ImageNet, состоящая из более чем 12 миллионов изображений. Всего в ней 1000 основных классов.

Главным мерилом всех этих соревнований является процент ошибки. Он бывает топ-1 или топ-5. Это означает, что мы приводим полученные алгоритмом результаты к полиномиальному распределению, где сумма вероятностей всех классов равна 1. Таким образом для каждого класса есть своя вероятность того, что на изображении находиться именно он. Соответственно, для топ-1 классификации, ответом будет класс с наибольшей вероятностью. И если этот класс не совпадает с правильным классом, то это считается за ошибку. Для топ-5 берется 5 классов с наибольшей вероятностью.

Каждый год различные алгоритмы компьютерного зрения уменьшали топ-5 процент ошибки в среднем на 2%. Но в 2012 году выиграла небольшая (по сегодняшним меркам) сверточная нейронная сеть, состоящая из 8 слоев. Только она уменьшила процент ошибки сразу на 10%. Это результат, о котором в то время даже и не думали. С тех пор и начался успех глубоких сеток, который продолжается и по сей день.

И с каждым годом количество слоев существенно увеличивается:

Как используется сейчас

Локализация различных объектов на изображении:

Описание происходящего:

Скрещивание двух изображений:

Распознавание речи человека:

results matching ""

    No results matching ""