О чём урок
Рекуррентные нейронные сети (RNN) и их варианты с управляемыми ячейками, такие как ячейки долгой краткосрочной памяти (LSTM) и управляемые рекуррентные блоки (GRU), предоставляют механизм для языкового моделирования. Они способны изучать порядок слов и предсказывать следующее слово в последовательности. Это позволяет использовать RNN для генеративных задач, например, для обычной генерации текста, машинного перевода и даже создания подписей к изображениям. ✅ Подумайте, как часто вы пользуетесь генеративными задачами, такими как автозаполнение текста при вводе. Изучите свои любимые приложения, чтобы узнать, используют ли они RNN. В архитектуре RNN, которую мы обсуждали в предыдущем модуле, каждая единица RNN выдавала следующее скрытое состояние в качестве выходных данных. Однако мы также можем добавить еще один выход к каждой рекуррентной единице, что позволит нам выводить последовательность (равную по длине исходной последовательности). Более того, можно использовать RNN-единицы, которые не принимают входные данные на каждом шаге, а только некоторый начальный вектор состояния, и затем генерируют последовательность выходных данных. Это позволяет создавать различные нейронные архитектуры, которые показаны на изображении ниже: Изображение из статьи Unreasonable Effectiveness of Recurrent Neural Networks Андрея Карпати (Andrej Karpaty) One-to-one представляет собой традиционную нейронную сеть с одним входом и одним выходом. One-to-many представляет собой генеративную архитектуру, которая принимает одно входное значение и генерирует последовательность выходных значений. Например, если вы хотите обучить сеть для создания подписей к изображениям, которая будет генерировать текстовое описание картинки, вы можете подать изображение на вход, пропустить его через CNN для получения скрытого состояния, а затем использовать рекуррентную цепочку для генерации подписи слово за словом. Many-to-one соответствует архитектурам RNN, которые мы описывали в предыдущем модуле, например, для классификации текста. Many-to-many, или sequence-to-sequence, соответствует таким задачам, как машинный перевод. В этом случае первая RNN собирает всю информацию из входной последовательности в скрытое состояние, а другая цепочка RNN разворачивает это состояние в выходную последовательность.
План урока
- Тест перед лекцией
- ✍️ Упражнения: Генеративные сети
- Мягкая генерация текста и температура
- Заключение
- 🚀 Задание
- Тест после лекции
- Обзор и самостоятельное изучение
- Задание
Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.