Поделиться через


Глубокое обучение и машинное обучение в Машинном обучении Azure

В этой статье сравнивается глубокое обучение с машинным обучением и описывается, как они вписываются в более широкую категорию ИИ. Узнайте о решениях для глубокого обучения, которые можно создавать с помощью Машинного обучения Azure, предназначенных для обнаружения мошенничества, распознавания речи и лиц, анализа тональности и прогнозирования временных рядов.

Рекомендации по выбору алгоритмов для конкретных решений см. на странице Памятка по алгоритмам Машинного обучения.

Модели Foundry в Машинном обучении Azure — это предварительно обученные модели глубокого обучения, которые можно адаптировать для конкретных вариантов использования. Дополнительные сведения см. в статье "Изучение моделей Microsoft Foundry в Машинном обучении Azure и использование моделей с открытым исходным кодом, управляемых машинным обучением Azure".

Глубокое обучение, машинное обучение и искусственный интеллект

Схема, описывающая связи между ИИ, машинным обучением и глубоким обучением.

В следующих определениях описываются связи между глубоким обучением, машинным обучением, ИИ:

  • Глубокое обучение — это разновидность машинного обучения на основе искусственных нейронных сетей. Процесс обучения называется глубоким, так как структура искусственных нейронных сетей состоит из нескольких входных, выходных и скрытых слоев. Каждый слой содержит единицы, преобразующие входные данные в сведения, которые следующий слой может использовать для определенной задачи прогнозирования. Из-за этой структуры компьютер может учиться с помощью собственной обработки данных.

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

    1. Передача данные в алгоритм. (На этом шаге можно предоставить дополнительные сведения модели, например, выполнив извлечение компонентов.)
    2. Эти данные используются для обучения модели.
    3. Тестирование и развертывание модели.
    4. Использование развернутой модели для автоматизированного решения задачи на основе прогнозирования. (Иными словами, вызовите и используйте развернутую модель для получения прогнозов, возвращаемых моделью).
  • ИИ — это метод, позволяющий компьютерам имитировать человеческий интеллект. Сюда же относится и машинное обучение.

  • Generateive AI — это подмножество ИИ, использующее методы (например, глубокое обучение) для создания нового содержимого. Например, можно использовать генерированный ИИ для создания изображений, текста или звука. Эти модели используют огромные объемы предварительно обученных знаний для создания этого содержимого.

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

Методы глубокого обучения и машинного обучения

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

В следующей таблице приведено более подробное сравнение этих двух методов.

Машинное обучение Глубокое обучение
Количество точек данных Для создания прогнозов можно использовать небольшие объемы данных. Необходимо использовать большие объемы обучающих данных для создания прогнозов.
Зависимость от оборудования Может работать на маломощных компьютерах. Не требуются крупные вычислительные мощности. Зависит от высокопроизводительных компьютеров. При этом компьютер, по сути, выполняет большое количество операций перемножения матрицы. Графический процессор может эффективно оптимизировать эти операции.
Процесс конструирования признаков Требует точного определения признаков и их создания пользователями. Распознает признаки высокого уровня на основе данных и самостоятельно создает новые признаки.
Подход к обучению Процесс обучения разбивается на мелкие шаги. Затем результаты выполнения каждого шага объединяются в единый блок выходных данных. Задача решается методом сквозного анализа.
Время обучения Обучение занимает сравнительно мало времени — от нескольких секунд до нескольких часов. Как правило, процесс обучения занимает много времени, поскольку алгоритм глубокого обучения включает много уровней.
Выходные данные Выходными данными обычно является числовое значение, например оценка или классификация. Выходные данные могут иметь несколько форматов, таких как текст, оценка или звук.

Что такое передача обучения?

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

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

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

Чтобы узнать, как применять трансферное обучение для классификации изображений с использованием open-source фреймворка в Azure Machine Learning, см. статью «Обучение модели глубокого обучения PyTorch с помощью трансферного обучения» .

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

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

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

Распознавание именованных сущностей

Распознавание именованных сущностей — это метод глубокого обучения, который воспринимает фрагмент текста в качестве входных данных и преобразует его в предварительно определенный класс. Эти новые сведения могут быть почтовым индексом, датой или идентификатором продукта. Затем эти сведения можно хранить в структурированной схеме для создания списка адресов или служить эталоном для подсистемы проверки кода.

Обнаружение объектов

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

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

Создание заголовка изображения

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

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

Машинный перевод

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

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

Аналитика текста

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

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

Искусственные нейронные сети

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

В следующих разделах описываются некоторые популярные топологии искусственной нейронной сети.

Нейронная сеть с передачей по очереди

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

Рекуррентная нейронная сеть (RNN)

Рекуррентные нейронные сети — это широко используемые искусственные нейронные сети. Эти сети сохраняют выходные данные слоя и передают его обратно на входной слой, чтобы улучшить прогнозирование на выходе конкретного слоя. Повторяющиеся нейронные сети обладают сильными возможностями обучения. Они широко используются для выполнения сложных задач, таких как прогнозирование временных рядов, обучение распознаванию рукописного ввода и распознавание естественной речи.

Сверточная нейронная сеть (CNN)

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

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

Генеративно-состязательная сеть (GAN)

Генеративно-состязательные сети — это регенеративные модели, обученные для создания реалистичного содержимого, например изображений. Они состоят из двух сетей, известных как генератор и дискриминатор. Обе сети обучаются одновременно. Во время обучения генератор использует случайные помехи для создания новых искусственных данных, которые похожи на реальные данные. Дискриминатор принимает выходные данные генератора в качестве входных данных и использует реальные данные, чтобы определить, является ли созданное содержимое реальным или искусственным. Каждая сеть конкурирует с другой. Генератор пытается создать искусственное содержимое, неотличимое от реального содержимого, и дискриминационный пытается правильно классифицировать входные данные как реальные или синтетические. Затем выходные данные используются для обновления веса обеих сетей, чтобы помочь им лучше достичь соответствующих целей.

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

Преобразователи

Преобразователи — это архитектуры моделей, которые подходят для решения проблем, содержащих последовательности, например текстовые или временные ряды данных. Они состоят из слоев кодировщика и декодера. Кодировщик принимает входные данные и сопоставляет их с числовым представлением, содержащим определенные сведения, например контекст. Декодер использует информацию из кодировщика для получения выходных данных, например переведенного текста. Преобразователи отличаются от других архитектур, содержащих кодировщики и декодеры, своими вложенными слоями внимания. Внимание относится к сосредоточению на определенных частях входных данных на основе важности их контекста в отношении других входных данных в последовательности. Например, когда модель суммирует новостную статью, не все предложения относятся к описанию основной идеи. Если сосредоточиться на ключевых словах в статье, формирование сводных данных может быть сделано в одном предложении — в заголовке.

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

Вот некоторые известные примеры реализации преобразователей:

  • Двунаправленные представления кодировщика из преобразователей (BERT)
  • Генеративный предварительно обученный трансформатор 2 (GPT-2)
  • Генеративный предварительно обученный трансформатор 3 (GPT-3)

Следующие шаги

В следующих статьях описаны дополнительные варианты использования моделей глубокого обучения с открытым исходным кодом в Машинном обучении Azure: