Это учебное пособие является 9-м выпуском серии Упрощенное суммирование абстрактного текста, в этой серии мы рассмотрим новейшие подходы с использованием глубокого обучения для решения задачи суммирования абстрактного текста, весь код для этой серии можно найти здесь, который написан в тензорном потоке и без проблем работает в Google Colab, а данные находятся на диске Google, поэтому нет необходимости ни загружать данные локально, ни запускать код локально, так как все можно сделать за бесплатно в Google Colab .

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

  1. Что такое обучение с подкреплением и когда его использовать?
  2. Зачем использовать его с глубоким обучением?

Это руководство основано на этом удивительном блоге Satwik Kansal и Brendan Martin, в котором подробно рассказывается об обучении с подкреплением и о том, как его реализовать.

Также мы использовали это удивительное репо и их статью от yaserkl, которая строит библиотеку с использованием тензорного потока для реализации нескольких подходов для Deep RL, а также мы должны поблагодарить Paulus et al за его четкое объяснение методов DeepRL .

Хочу поблагодарить всех за отличную работу.

0. О серии

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

Мы уже рассмотрели (код для этой серии можно найти здесь)

0. Обзор бесплатной экосистемы для глубокого обучения (как использовать google colab с google drive)

  1. Обзор задачи реферирования текста и различных техник выполнения задачи
  2. Используемые данные и как они могут быть представлены для нашей задачи (предварительные условия для этого руководства)
  3. Что такое seq2seq для реферирования текста и почему
  4. Многослойный двунаправленный LSTM / GRU
  5. Beam Search & Attention для обобщения текста
  6. Построение модели seq2seq с вниманием и поиском лучей
  7. Сочетание абстрактных и экстрактивных методов реферирования текста
  8. Научите модели seq2seq учиться на своих ошибках, используя углубленное изучение учебной программы

EazyMind бесплатный AI-as-a-service для обобщения текста

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

Давайте начнем!

1. Что такое обучение с подкреплением и когда его использовать?

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

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

Обучение с подкреплением основано на

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

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

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

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

В обучении с подкреплением есть несколько полезных терминов, поэтому мы называем

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

поэтому приведенную выше анимацию можно упростить до

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

2- Зачем использовать его с глубоким обучением?

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

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

Они указали, что

  • мы склонны использовать метрику оценки максимального правдоподобия (MLE) для оптимизации функции потерь в нашей глубокой архитектуре, как и в любой другой задаче, для решения которой нам необходимо использовать глубокое обучение.
  • Однако мы склонны использовать другие показатели, специфичные для НЛП, такие как показатели BLEU и ROUGE, для оценки результатов.

Показатели BLEU и ROUGE используются в задачах НЛП для измерения перекрытия между словами из справочника и из выходных данных (т. е. количества слов, которые видны как в ссылка на тестирование и выходное предложение), поскольку перекрытие увеличивает увеличение баллов.

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

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

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

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

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