Введение

Генеративно-состязательные сети (GAN) и глубокое обучение с подкреплением (DRL) — две популярные и постоянно развивающиеся области искусственного интеллекта, которые в последние годы вызвали большой интерес и исследования.

Знание этих двух подполей и того, как они связаны и отличаются друг от друга, также важно, когда вы продвигаетесь в ML/AI. В этой статье мы расскажем об этих двух невероятных фреймворках машинного обучения и о том, что их отличает.

Что такое генеративно-состязательные сети (GAN)?

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

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

Фундаментальная концепция GAN заключается в том, что две нейронные сети, известные как генератор и дискриминатор, должны конкурировать друг с другом в игровой среде, поэтому термин «состязательный» относится к его названию.

Как работают GAN?

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

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

Проще говоря, генератор стремится создать поддельные данные, которые выглядят такими реальными, в то время как дискриминатор отличает настоящие данные от фальсифицированных данных, созданных генератором.

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

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

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

Применения GAN

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

  1. Создание изображения:

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

2. Медицинская визуализация:

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

3. Генерация текста:

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

4. Генерация видео:

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

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

Большинство проектов терпят неудачу, не дойдя до производства. Ознакомьтесь с нашей бесплатной электронной книгой, чтобы узнать, как реализовать жизненный цикл MLOps, чтобы лучше отслеживать, обучать и развертывать модели машинного обучения для увеличения производительности и количества итераций.

Что такое глубокое обучение с подкреплением (DRL)?

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

Он сочетает в себе обучение с подкреплением (RL), тип обучения, при котором агент учится посредством исследований и экспериментов, получая награды или наказания в зависимости от своих действий, с глубоким обучением. Это подмножество машинного обучения использует искусственно сгенерированные нейронные сети для моделирования сложных взаимосвязей данных.

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

Как работает ДХО?

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

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

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

Применения DRL

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

  1. Робототехника. DRL используется для обучения роботов выполнению сложных задач, таких как навигация в пространстве, изменение объектов, подъем или вытягивание объектов и т. д.
  2. Финансы.DRL используется для обнаружения мошенничества в финансовых транзакциях, прогнозирования цен на акции и т. д.
  3. Здравоохранение: DRL используется для повышения точности медицинской диагностики, улучшения планов лечения пациентов, прогнозирования развития конкретного заболевания у пациента и т. д.
  4. Обработка естественного языка: DRL используется для улучшения чат-ботов, машинного перевода, распознавания речи и т. д.

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

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

Сходства между GAN и DRL

  1. Это методы, основанные на оптимизации, которые со временем улучшаются.

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

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

2. GAN и DRL основаны на платформах глубокого обучения.

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

3. И GAN, и DRL подразумевают обучение через обратную связь.

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

Различия между GAN и DRL

  1. Процесс обучения. Процесс обучения GAN отличается от процесса обучения DRL. GAN используют метод состязательного обучения, в котором сеть генератора и дискриминатора сотрудничает для улучшения качества генерируемых данных. DRL, с другой стороны, использует процесс обучения методом проб и ошибок, в котором агент взаимодействует со своим окружением и учится на обратной связи, которую он получает.
  2. Оценка. GAN оцениваются на основе того, насколько реалистичны сгенерированные данные и насколько хорошо дискриминатор отличает настоящие данные от поддельных. DRL оценивается на основе того, насколько хорошо он выполняет задачу, для которой он был обучен.
  3. Техника обучения: GAN используют технику обучения без учителя, то есть они учатся на неразмеченных данных без прямых инструкций или ответов. DRL, с другой стороны, представляет собой тип алгоритма обучения с подкреплением, который использует глубокие нейронные сети для обучения на собственном опыте.
  4. Структуры моделей.GAN обычно состоят из сети генератора и дискриминатора, тогда как DRL представляет политику агента с использованием нейронной сети.

Цель GAN — генерировать свежие выборки данных, похожие на заданный набор данных, в то время как DRL направлена ​​на то, чтобы научиться принимать решения в среде, которая усиливает сигнал вознаграждения.

Заключение

Мы поговорили о двух важных областях ML/AI, о том, как они работают, о методах их обучения, о сходствах и различиях. Я надеюсь, что вы нашли эту статью полезной, и не стесняйтесь оставлять комментарии ниже!

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

Независимая от редакции, Heartbeat спонсируется и публикуется Comet, платформой MLOps, которая позволяет специалистам по данным и командам машинного обучения отслеживать, сравнивать, объяснять и оптимизировать свои эксперименты. Мы платим нашим авторам и не продаем рекламу.

Если вы хотите внести свой вклад, перейдите к нашему призыву к участию. Вы также можете подписаться на получение нашего еженедельного информационного бюллетеня (Еженедельник глубокого обучения), заглянуть в блог Comet, присоединиться к нам в Slack и подписаться на Comet в Twitter и LinkedIn для получения ресурсов и событий. и многое другое, что поможет вам быстрее создавать более качественные модели машинного обучения.