Глубокое Обучение (Deep Learning/DL) В последнее время машинное обучение (ML) получило широкое распространение в научных исследованиях и используется в различных приложениях, включая интеллектуальный анализ текстов, обнаружение спама, видеорекомендации, классификацию изображений и поиск мультимедийных концепций. Среди различных алгоритмов ML в этих приложениях очень часто используется глубокое обучение (DL). Другое название DL - обучение представлений (RL). Постоянное появление новых исследований в области глубокого и распределенного обучения связано как с непредсказуемым ростом возможностей получения данных, так и с удивительным прогрессом аппаратных технологий, например, высокопроизводительных вычислений (HPC). DL произошла от обычной нейронной сети, но значительно превосходит своих предшественников. Более того, в DL одновременно используются преобразования и графовые технологии для построения многослойных моделей обучения. Недавно разработанные методы DL показали отличные результаты в различных приложениях, включая обработку звука и речи, обработку визуальных данных, обработку естественного языка (NLP) и др. Обычно эффективность алгоритма ML сильно зависит от целостности представления входных данных. Было показано, что подходящее представление данных обеспечивает более высокую производительность по сравнению с плохим представлением данных. Таким образом, важным направлением исследований в области ML на протяжении многих лет является инженерия признаков, которая легла в основу многочисленных исследований. Этот подход направлен на построение признаков из необработанных данных. Кроме того, он чрезвычайно специфичен для конкретной области и часто требует значительных человеческих усилий. Например, в компьютерном зрении было представлено и сравнено несколько типов признаков, таких как гистограмма ориентированных градиентов (HOG), масштабно-инвариантное преобразование признаков (SIFT) и мешок слов (BoW). Как только появляется новый признак и обнаруживается, что он хорошо работает, он становится новым направлением исследований, которые ведутся на протяжении нескольких десятилетий. Относительно говоря, извлечение признаков происходит автоматически во всех алгоритмах DL. Это побуждает исследователей извлекать дискриминативные признаки, используя минимально возможное количество человеческих усилий и знаний в этой области. Эти алгоритмы имеют многослойную архитектуру представления данных, в которой первые слои извлекают низкоуровневые признаки, а последние - высокоуровневые. Отметим, что искусственный интеллект (ИИ) изначально вдохновлялся подобной архитектурой, которая имитирует процесс, происходящий в основных сенсорных областях человеческого мозга. Используя различные сцены, человеческий мозг может автоматически извлекать представление данных. Точнее, выходом этого процесса являются классифицированные объекты, а входной информацией - полученная информация о сцене. Этот процесс имитирует методологию работы человеческого мозга. Таким образом, он подчеркивает главное преимущество DL. В области ML, DL, благодаря своему значительному успеху, в настоящее время является одним из наиболее заметных направлений исследований. В данной статье представлен обзор DL, в котором рассматриваются различные аспекты, такие как основные концепции, архитектуры, проблемы, приложения, вычислительные инструменты и матрица эволюции. Конволюционная нейронная сеть (CNN) является одной из наиболее популярных и используемых сетей DL. Благодаря CNN DL очень популярна в настоящее время. Основное преимущество CNN по сравнению с предшественниками заключается в том, что она автоматически обнаруживает значимые признаки без какого-либо человеческого контроля, что сделало ее наиболее используемой. За последние несколько лет было опубликовано несколько обзорных статей по DL. Однако все они рассматривают только одну сторону, фокусируясь на одном приложении или теме, например, обзор архитектур CNN, DL для классификации болезней растений, DL для обнаружения объектов, DLприложения в анализе медицинских изображений и т. д. Хотя в этих обзорах представлены хорошие темы, они не дают полного понимания таких тем DL, как концепции, подробные пробелы в исследованиях, вычислительные инструменты и приложения DL. Прежде всего, необходимо понять аспекты DL, включая концепции, проблемы и приложения, а затем углубиться в их применение. Для этого необходимо потратить много времени и изучить большое количество научных работ, чтобы узнать о DL, включая пробелы в исследованиях и приложения. Справочная информация В этом разделе мы расскажем об истории DL. Мы начнем с краткого введения в DL, затем расскажем о разнице между DL и ML. Затем мы покажем ситуации, в которых требуется DL. Наконец, мы представим причины применения DL. DL, подмножество ML (рис. 1), вдохновлено шаблонами обработки информации, найденными в человеческом мозге. Для работы DL не требуется никаких правил, разработанных человеком; скорее, он использует большой объем данных для сопоставления заданных входных данных с определенными метками. В DL используется множество слоев алгоритмов (искусственных нейронных сетей, или ИНС), каждый из которых по-своему интерпретирует поданные ему данные. Рисунок 1 - Диаграмма систем DL Для решения задачи классификации с помощью традиционных методов ML требуется несколько последовательных шагов, в частности предварительная обработка, извлечение признаков, мудрый выбор признаков, обучение и классификация. Кроме того, выбор признаков оказывает большое влияние на эффективность методов ML. Необъективный выбор признаков может привести к неправильной дискриминации классов. В отличие от традиционных методов ML, DL позволяет автоматизировать процесс обучения наборов признаков для нескольких задач. DL позволяет проводить обучение и классификацию за один раз (рис. 2). Рисунок 2 - Разница между глубоким обучением и традиционным машинным обучением DL стал невероятно популярным типом алгоритмов ML в последние годы в связи с огромным ростом и развитием области больших данных. Он до сих пор находится в постоянном развитии, демонстрируя новые характеристики для ряда задач ML, и упростил улучшение многих областей обучения, таких как сверхразрешение изображений, обнаружение объектов и распознавание образов. В последнее время производительность DL стала превышать производительность человека в таких задачах, как классификация изображений (рис. 3). Рисунок 3 - Производительность глубокого обучения по сравнению с человеком Почти все научные области ощутили на себе влияние этой технологии. Большинство отраслей промышленности и бизнеса уже претерпели изменения и преобразования благодаря использованию DL. Ведущие технологические и экономические компании по всему миру участвуют в гонке за совершенствованием DL. Даже сейчас производительность и возможности человека не могут превзойти производительность DL во многих областях, таких как прогнозирование времени доставки автомобилей, принятие решений о выдаче кредитов и предсказание рейтингов фильмов. Лауреатами Нобелевской премии 2019 года в области вычислительной техники, также известной как премия Тьюринга, стали три пионера в области DL (Ян ЛеКун, Джеффри Хинтон и Йошуа Бенгио). Несмотря на то, что многие цели уже достигнуты, в контексте DL предстоит еще многое сделать. На самом деле, DL способна улучшить жизнь людей, обеспечив дополнительную точность в диагностике, включая оценку стихийных бедствий, открытие новых лекарств и диагностику рака. Обнаружено, что сеть DL обладает такой же способностью диагностировать заболевание, как и двадцать один сертифицированный дерматолог, используя 129 450 изображений 2032 заболеваний. Более того, при классификации рака простаты сертифицированные американские патологоанатомы достигли средней точности в 61 %, в то время как ИИ Google превзошел этих специалистов, достигнув средней точности в 70 %. В 2020 году ДЛ играет все более важную роль в ранней диагностике нового коронавируса (COVID-19). ДЛ стал основным инструментом во многих больницах мира для автоматической классификации и обнаружения COVID-19 по рентгеновским снимкам грудной клетки или другим типам изображений. Когда применять глубокое обучение Машинный интеллект полезен во многих ситуациях, в некоторых случаях он равен или даже лучше, чем человеческие эксперты, а это значит, что DL может стать решением следующих проблем: Случаи, когда эксперты-люди недоступны. Случаи, когда люди не могут объяснить решения, принятые с использованием их опыта (понимание языка, медицинские решения и распознавание речи). Случаи, когда решение задачи обновляется с течением времени (прогнозирование цен, предпочтение акций, предсказание погоды и отслеживание). Случаи, когда решения требуют адаптации в зависимости от конкретных случаев (персонализация, биометрия). Случаи, когда размер задачи чрезвычайно велик и превышает наши неадекватные способности к рассуждениям (анализ настроений, подбор рекламы для Facebook, расчет рангов веб-страниц). Почему именно глубокое обучение? На этот вопрос могут ответить несколько характеристик производительности, например 1. Универсальный подход к обучению: поскольку глубокое обучение способно работать примерно во всех прикладных областях, его иногда называют универсальным обучением. 2. Надежность: как правило, в методах DL не требуется точная разработка признаков. Вместо этого оптимизированные признаки обучаются в автоматическом режиме в зависимости от рассматриваемой задачи. Таким образом, достигается устойчивость к обычным изменениям входных данных. 3. Обобщение: различные типы данных или различные приложения могут использовать одну и ту же методику DL - этот подход часто называют трансферным обучением (TL), о котором рассказывается в последнем разделе. Кроме того, этот подход полезен при решении задач, в которых недостаточно данных. 4. Масштабируемость: DL хорошо масштабируется. Сеть ResNet, изобретенная компанией Microsoft, состоит из 1202 слоев и часто применяется в суперкомпьютерных масштабах. Лоуренс Ливерморская национальная лаборатория (LLNL), крупное предприятие, работающее над развитием фреймворков для сетей, использует аналогичный подход, в котором могут быть реализованы тысячи узлов. Классификация подходов к DL Методы DL делятся на три основные категории: неконтролируемые, частично контролируемые (полуконтролируемые) и контролируемые. Кроме того, глубокое обучение с подкреплением (DRL), также известное как RL, является еще одним типом методов обучения, который в основном считается относящимся к категории частично контролируемых (и иногда неконтролируемых) методов обучения. Глубокое контролируемое обучение (Deep supervised learning) Эта техника работает с помеченными данными. При рассмотрении такой техники в окружении имеется набор входов и результирующих выходов. Затем агент многократно обновляет параметры сети, чтобы получить улучшенную оценку предпочтительных выходов. После положительного результата обучения агент приобретает способность получать правильные решения по запросам из окружения. Для DL существует несколько методов контролируемого обучения, таких как рекуррентные нейронные сети (RNNs), сверточные нейронные сети (CNNs) и глубокие нейронные сети (DNNs). Кроме того, в категорию RNN входят подходы с использованием рекуррентных блоков (GRU) и долговременной кратковременной памяти (LSTM). Основным преимуществом этой техники является возможность сбора данных или генерации выходных данных на основе предварительных знаний. Однако недостатком этой техники является то, что граница принятия решения может быть перегружена, если в обучающем множестве нет образцов, которые должны быть в классе. В целом, эта техника проще других техник в плане обучения с высокой производительностью. Глубокое полуконтрольное обучение (Deep semi-supervised learning) В этой технике процесс обучения основан на полумаркированных наборах данных. Иногда генеративные состязательные сети (GAN) и DRL используются так же, как и эта техника. Кроме того, для частично контролируемого обучения используются RNN, включающие GRU и LSTM. Одним из преимуществ этой техники является минимизация количества необходимых помеченных данных. С другой стороны, одним из недостатков этого метода является нерелевантность входных признаков, присутствующих в обучающих данных, что может привести к принятию неверных решений. Классификатор текстовых документов - один из самых популярных примеров применения полунаблюдаемого обучения. Из-за сложности получения большого количества помеченных текстовых документов, полуконтролируемое обучение идеально подходит для задачи классификации текстовых документов. Глубокое несамостоятельное обучение (Deep unsupervised learning) Эта техника позволяет реализовать процесс обучения в отсутствие доступных помеченных данных (т. е. метки не требуются). Здесь агент изучает существенные признаки или внутренние представления, необходимые для обнаружения неопознанной структуры или взаимосвязей во входных данных. Техники генеративных сетей, уменьшения размерности и кластеризации часто относят к категории неконтролируемого обучения. Несколько представителей семейства DL показали хорошие результаты в задачах нелинейного сокращения размерности и кластеризации; к ним относятся ограниченные машины Больцмана, автокодировщики и GAN, как наиболее недавно разработанные методы. Кроме того, RNN, включающие GRU и LSTM, также используются для бесконтрольного обучения в широком спектре приложений. Основными недостатками бесконтрольного обучения являются неспособность предоставить точную информацию о сортировке данных и сложность вычислений. Одним из наиболее популярных подходов к бесконтрольному обучению является кластеризация. Глубокое обучение с подкреплением (Deep reinforcement learning/DRL) Обучение с подкреплением основывается на взаимодействии с окружающей средой, в то время как контролируемое обучение работает на предоставленных образцах данных. Эта методика была разработана в 2013 году в Google Deep Mind. Впоследствии было создано множество усовершенствованных методов, зависящих от обучения с подкреплением. На основе этой концепции было разработано несколько контролируемых и неконтролируемых методов. По сравнению с традиционными контролируемыми методами, такое обучение гораздо сложнее, поскольку в методе обучения с подкреплением нет прямой функции потерь. Кроме того, существует два существенных различия между контролируемым обучением и обучением с подкреплением: во-первых, нет полного доступа к функции, которая требует оптимизации, что означает, что она должна запрашиваться через взаимодействие; во-вторых, состояние, с которым осуществляется взаимодействие, основано на окружении, где входные данные основываются на предшествующих действиях. Для решения задачи выбор типа обучения с подкреплением основывается на пространстве или масштабе проблемы. Например, DRL - лучший способ оптимизации для задач с большим количеством параметров. В отличие от этого, беспроизводное обучение с подкреплением — это метод, который хорошо работает для задач с ограниченным количеством параметров. Некоторые из применений обучения с подкреплением - планирование бизнесстратегий и робототехника для автоматизации производства. Основной недостаток обучения с подкреплением заключается в том, что параметры могут влиять на скорость обучения. Вот основные мотивы использования Reinforcement Learning: Оно помогает определить, какое действие приносит наибольшее вознаграждение в течение длительного периода времени. Оно помогает определить, какая ситуация требует действий. Оно также позволяет определить наилучший подход для достижения большого вознаграждения. Обучение с подкреплением также дает обучающемуся агенту функцию вознаграждения. Обучение с подкреплением может применяться не во всех ситуациях, например: В случае, если имеется достаточно данных для решения проблемы с помощью методов контролируемого обучения. Обучение с подкреплением требует много вычислений и времени. Особенно если рабочая область велика. Типы сетей глубокого обучения В этом разделе рассматриваются наиболее известные типы сетей глубокого обучения: рекуррентные нейронные сети (RvNN), рекуррентные нейронные сети (RNN) и конволюционные нейронные сети (CNN). Рекурсивные нейронные сети (Recursive neural networks/RvNN ) Рекурсивные нейронные сети могут выполнять предсказания в иерархической структуре, а также классифицировать выходы, используя композиционные векторы. Рекурсивная автоассоциативная память (RAAM) является основным источником вдохновения для разработки RvNN. Архитектура RvNN предназначена для обработки объектов, имеющих случайную структуру, например графов или деревьев. Этот подход генерирует распределенное представление фиксированной ширины из рекурсивной структуры данных переменного размера. Сеть обучается с помощью введенной системы обучения с обратным распространением через структуру (BTS). Система BTS использует ту же технику, что и общий алгоритм обратного распространения, и способна поддерживать древовидную структуру. Автоассоциация обучает сеть регенерировать паттерн входного слоя в выходном слое. RvNN очень эффективна в контексте НЛП. Недавно была представлена архитектуру RvNN, предназначенную для обработки входных данных, поступающих из различных модальностей. Авторы демонстрируют два приложения для классификации предложений на естественном языке: случаи, когда каждое предложение разбивается на слова и изображения природы, и случаи, когда каждое изображение разделяется на различные сегменты, представляющие интерес. RvNN вычисляет вероятную пару оценок для объединения и строит синтаксическое дерево. Кроме того, RvNN рассчитывает балл, связанный с правдоподобностью слияния, для каждой пары единиц. Затем пара с наибольшей оценкой объединяется в вектор композиции. После каждого слияния RvNN генерирует (а) большую область из множества единиц, (б) композиционный вектор этой области и (в) метку для класса (например, существительное фраза станет меткой класса для новой области, если две единицы являются существительными словами). Композиционный вектор для всей области является корнем древовидной структуры RvNN. Пример дерева RvNN показан на рис. 4. RvNN используется в нескольких приложениях. Рисунок 4 - Пример дерева RvNN Рекуррентные нейронные сети (RNN) Рекуррентные нейронные сети являются широко используемым и знакомым алгоритмом в дисциплине DL. В основном RNN применяются в области обработки речи и в контексте NLP. В отличие от обычных сетей, RNN использует последовательные данные в сети. Поскольку встроенная структура в последовательности данных предоставляет ценную информацию, эта особенность является основополагающей для целого ряда различных приложений. Например, важно понимать контекст предложения, чтобы определить значение конкретного слова в нем. Таким образом, можно рассматривать RNN как единицу кратковременной памяти, где x представляет входной слой, y - выходной слой, а s - состояние (скрытый слой). Для заданной входной последовательности типичная развернутая диаграмма RNN показана на рис. 5. Представлены три различных типа глубоких RNN-методик, а именно "Hidden-to-Hidden", "Hidden-to-Output" и "Input-to-Hidden". Глубокая РНС, основанная на этих трех методах, снижает сложность обучения глубокой сети и обеспечивает преимущества более глубокой РНС. Рисунок 5 - Типичная развернутая диаграмма RNN Однако чувствительность RNN к взрыву градиента и проблемам исчезновения представляют собой одну из основных проблем этого подхода. Точнее, в процессе обучения дублирование нескольких больших или малых производных может привести к экспоненциальному взрыву или затуханию градиентов. С поступлением новых входных данных сеть перестает думать о первоначальных, поэтому со временем чувствительность снижается. Кроме того, с этой проблемой можно справиться с помощью LSTM. Этот подход предлагает рекуррентные связи с блоками памяти в сети. Каждый блок памяти содержит ряд ячеек памяти, которые способны хранить временные состояния сети. Кроме того, в нем присутствуют стробируемые блоки для управления потоком информации. В очень глубоких сетях остаточные связи также способны значительно уменьшить влияние проблемы исчезающего градиента, о которой будет рассказано в последующих разделах. CNN считается более мощной, чем RNN. RNN включает в себя меньшую совместимость признаков по сравнению с CNN. Конволюционные нейронные сети (Convolutional neural networks/CNN) В области DL CNN является наиболее известным и часто используемым алгоритмом. Основное преимущество CNN по сравнению с предшественниками заключается в том, что он автоматически определяет релевантные признаки без какого-либо контроля со стороны человека. CNN нашли широкое применение в различных областях, включая компьютерное зрение, обработку речи, распознавание лиц и т. д. Структура CNN была вдохновлена нейронами в мозге человека и животных, подобно обычной нейронной сети. В частности, в мозге кошки сложная последовательность клеток образует зрительную кору; эту последовательность и моделирует CNN. Определены три ключевых преимущества CNN: эквивалентные представления, редкие взаимодействия и совместное использование параметров. В отличие от обычных полносвязных сетей (FC), в CNN используются общие веса и локальные связи для полного использования двумерных структур входных данных, таких как сигналы изображений. При этом используется чрезвычайно малое число параметров, что упрощает процесс обучения и ускоряет работу сети. Это происходит так же, как и в клетках зрительной коры. Примечательно, что эти клетки воспринимают только небольшие области сцены, а не всю сцену целиком (то есть эти клетки пространственно извлекают локальную корреляцию, имеющуюся на входе, подобно локальным фильтрам над входом). Часто используемый тип CNN, похожий на многослойный перцептрон (MLP), состоит из множества сверточных слоев, предшествующих слоям субдискретизации (объединения), а завершающими слоями являются слои FC. Пример архитектуры CNN для классификации изображений показан на рис. 6. Рисунок 6 - Пример архитектуры CNN для классификации изображений