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

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

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

Приложения РНН

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

  • Аудио (музыка, звуки диалогов и т. д.)
  • Текст (статьи, книги и т.д.)
  • Биологические последовательности (ДНК, геномы и т. д.)
  • Видео (спорт, видеонаблюдение и т.д.)

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

  • Распознавание речи
  • Музыкальное поколение
  • Анализ настроений
  • Автоматические переводы
  • Анализ видео действий
  • Анализ генома и последовательности ДНК

Для нейронных сетей характерно иметь разные входные и выходные данные. Например, в случае RNN для распознавания речи требуются аудиоданные в качестве входных данных, а затем выводятся текстовые данные. Кроме того, входы и выходы могут быть одинаковыми. Например, автоматические переводы могут иметь звуковые данные (или текстовые данные) в обоих направлениях. Это действительно зависит от вашего варианта использования и задачи, которую вы решаете.

Архитектуры РНН

В зависимости от решаемой вами задачи архитектура RNN может различаться. От тех, которые имеют один вход и выход, до тех, которые имеют несколько (с вариациями между ними). Чтобы лучше решить эту проблему, ниже приведены некоторые распространенные примеры архитектур RNN.

Один к одному

Эта модель похожа на стандартный Perceptron (однослойная нейронная сеть). Сегодня он мало используется, поскольку предоставляет только линейные прогнозы.

Это простая модель, так как она состоит из одного входа x и выхода y.

Один ко многим

Часто используется, когда есть один поток доходов, например аудиопоток. На выходе он может генерировать текстовый или событийный новый аудиопоток, в зависимости от ситуации. В некоторых случаях он распространяет выходные данные y_{0…n}на следующие единицы RNN, как показано на изображении ниже.

Он состоит из одного входа x (например, в виде аудиопотока), активации a, и нескольких выходов y (которые могут представлять новые тоны). для сгенерированной музыки).

Многие к одному

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

Он состоит из нескольких входных данных x (например, слов из предложений), активаций a, и в конце единственного вывода y (этим выходом может быть настроение типа например).

Многие ко многим (один и тот же ввод и вывод)

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

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

Многие ко многим (разные ввод и вывод)

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

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

Резюме

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

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

Первоначально опубликовано на https://www.nvukobrat.com 3 апреля 2020 г.