Реализация RNN

Я собираюсь реализовать RNN с помощью Pytorch. Но до этого у меня возникли некоторые трудности с пониманием кодировки one-hot на уровне символов, которая задается в вопросе.

Пожалуйста, найдите ниже вопрос

  • Выберите текст, который вы хотите, чтобы ваша нейронная сеть изучила, но помните, что ваш набор данных должен быть достаточно большим, чтобы изучить структуру! RNN обучены на очень разнообразных текстах (романы, тексты песен, ядро ​​Linux и т. д.) с успехом, так что вы может проявить творческий подход. Как один из простых вариантов, Gutenberg Books - это источник бесплатных книг, в которых вы можете скачать полные романы в формате .txt.

  • Мы будем использовать представление на уровне персонажа для этой модели. Для этого вы можете использовать расширенный ASCII с 256 символами. Читая выбранный вами обучающий набор, вы будете считывать символы по одному в горячую кодировку, то есть каждый символ будет отображаться в вектор из единиц и нулей, где один указывает, какой из символов настоящее:

    char → [0, 0, · · ·, 1, · · ·, 0, 0] Ваша RNN будет считывать эти двоичные векторы длиной 256 в качестве входных.

Так, например, я прочитал роман на питоне. Всего уникальных персонажей 97. и где-то около 300 000 персонажей.

Итак, мой ввод будет 97 x 256 с одной матрицей горячего кодирования?

или это будет одна матрица горячего кодирования 300 000 x 256?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
115
1

Ответы 1

Один горячий предполагает, что каждый из ваших векторов должен отличаться в одном месте. Итак, если у вас 97 уникальных символов, я думаю, вам следует использовать 1-горячий вектор размера (97 + 1 = 98). Дополнительный вектор отображает все неизвестные символы в этот вектор. Но вы также можете использовать вектор длиной 256. Итак, вы вводите:

B x N x V (B = размер пакета, N = количество символов, V = размер одного горячего вектора).

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

Другие вопросы по теме