Deep Learning: области применения глубокого обучения

В материале

приведена вводная информация по глубокому обучению (Deep learning).

Здесь перечислим и кратко охарактеризуем основные области применения глубокого обучения:

Компьютерное зрение

В компьютерном зрении ставится большое количество задач, связанных с обработкой изображений.

Например (см. рисунок ниже),

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

Многие из этих задач решаются, например, при коррекции поведения самоуправляемого автомобиля.
Яркие примеры: Беспилотные автомобили Tesla и Яндекса.

В материале  приведена вводная информация по глубокому обучению (Deep learning).-2

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

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

В материале  приведена вводная информация по глубокому обучению (Deep learning).-4
В материале  приведена вводная информация по глубокому обучению (Deep learning).-5

Многочисленные стартапы, занимаются подобными задачами с оптимизацией использования Deep learning на мобильных устройствах.

Также следует отметить распознавание по лицу, в том числе Apple FaceID (при помощи нескольких датчиков), то есть эта технология помогает защищать данные. В свое время Технология Touch ID стала настоящим прорывом в области аутентификации по отпечатку пальца, а Face ID — это совершенно новый уровень распознавания пользователя по лицу. 

Обработка естественного языка и речи

Вторая не менее значимая область применения – обработка естественного языка.

Сегодня нейронными сетями решаются многие задачи, связанные с речью и текстами.

В материале  приведена вводная информация по глубокому обучению (Deep learning).-6

Это и голосовой ввод (так называемая задача speech to text), это и чтение текста человеческим голосом с помощью компьютера (так называемая задача синтеза речи), это и понимание семантики речи и текста (так называемая задача распознавания текста) и даже машинный перевод, который активно используют Google translate и Яндекс переводчик в своих приложениях.

Всё это является примерами задач Natural Language Processing.

Немного подробнее о голосовых помощниках можно узнать, прослушав видеолекцию:

Управление: робототехника

Также одна из самых активных областей развития Deep learning на сегодняшний день – это Reinforcement Learning – так называемое обучение с подкреплением.

Вместе с алгоритмами компьютерного зрения, они активно используются в управлении роботами, дронами и прочей техникой.

В материале  приведена вводная информация по глубокому обучению (Deep learning).-7

Управление: игры

На самом деле наибольшего успеха модели обучения с подкреплением достигли именно в классических видеоиграх.

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

Например, имеются примеры успешных и неуспешных игр.

Алгоритм от Deep mind под названием «AlphaGo» в 2016 году выиграл у чемпиона мира Ли Седоля в игру го.

Это до сих пор одно из самых громких событий в этой области.

В 2018 году команда Deep mind от Google также опубликовала новую статью об алгоритме «AlphaGo Zero», который умеет выигрывать не только в игре го, но и в таких играх, как сёги и шахматы.

Однако не стоит преувеличивать его силу, все-таки он играл в определенных условиях, и до сих пор научное сообщество часто критикует условия проведения игр при сравнении с другими объектами.

В материале  приведена вводная информация по глубокому обучению (Deep learning).-8

Классификация

В начале 2000-х годов была успешно решена задача классификации картинок рукописных цифр (знаменитый датасет MNIST). Исторически сложилось, что именно задача классификации изображений и стала основой при решении почти всех последующих задач в компьютерном зрении.

Рассмотрим конкретный пример:

Задача: На вход дана папка с фотографиями, на каждом фото тот или иной объект: либо кошка, либо собака, либо человек (пусть “мусорных” изображений нет, супер-не-жизненная задача, но надо с чего-то начать). Нужно разложить картинки по трём папкам: /cats, /dogs и /leather_bags /humans, поместив в каждую папку только фото с соответствующими объектами.
Представим, что с компьютерным зрением мы пока не знакомы, но знаем Machine Learning. Изображения — это просто числовые тензоры в памяти компьютера (
Тензоры характеризуются следующими атрибутами: ранг – число осей (в двумерном тензоре ранг равен 2, трехмерном — 3 и т.д.);
форма, определяющая число элементов на каждой из осей; тип данных – int32, float32 и другие числовые типы). Напомним, что
тензор нулевого ранга или скаляр – это обычное число, тензор первого ранга или вектор – это массив скаляров, а тензор второго ранга или матрица представляет собой это массив векторов и т.д. Формализуем задачу в терминах машинного обучения: объекты — это картинки (изображения), их признаки — это значения в пикселях, ответ для каждого из объектов — метка класса (кошка, собака или человек). Это в чистом виде задача классификации.

В материале  приведена вводная информация по глубокому обучению (Deep learning).-9
В материале  приведена вводная информация по глубокому обучению (Deep learning).-10

Задачи на структурирование данных

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

В материале  приведена вводная информация по глубокому обучению (Deep learning).-11

Минус: интерпретируемость

Однако, несмотря на всё вышесказанное, у нейронных сетей имеется существенный недостаток:

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

Ученые с самого начала об этом задумались и по сей день предпринимают серьезные попытки при визуализации внутренней работы нейронных сетей.

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

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

Ещё лекции и видеоматериалы по нейронным сетям:

1. видеолекция "Deep Learning: введение и применение" - https://dzen.ru/video/watch/6249a920dc27640f5f8cb383.

2. лекция "Deep Learning: введение" - https://dzen.ru/a/Yke6OzfiAxsUiiwx?share_to=link.

3. лекция "Свёрточные нейронные сети" - https://dzen.ru/a/YkOggGQ2cVxVKFPX?share_to=link.

4. видеолекция "История возникновения и применение свёрточных архитектур" - https://dzen.ru/video/watch/624accea1ff8b2008192dded.

5. видеолекция "Архитектуры свёрточных нейронных сетей" - https://dzen.ru/video/watch/624acf9bb4b9cd5b8912ddcf.