Почему мы делаем горячее кодирование в языковом моделировании? - PullRequest
0 голосов
/ 04 мая 2018

Может ли кто-нибудь объяснить, почему одноразовое кодирование хорошо в языковом моделировании? (особенно в области глубокого обучения)

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

Заранее спасибо!

1 Ответ

0 голосов
/ 05 мая 2018

Основное применение однократного кодирования заключается в представлении символов с векторами без какого-либо предварительного смещения. «книга», «яблоко», «библиотека» являются символическими представлениями без каких-либо измеримых значений.

Есть два места, где мы используем горячее кодирование в нейронных сетях: 1. кодирование входов 2. кодирование прогнозируемых выходов.

Входы нейронных сетей известны как представления функций, а выходы работают как компоненты инструментов поиска (найдите значение в индексе i). Но я хотел бы доказать, что оба на самом деле являются инструментами для операции поиска.

Наиболее важные свойства, которые нейронные сети ищут в любой вычислительной операции: 1. дифференцируемость и 2. распараллеливание с графическими процессорами. Операция поиска, если она выполняется как индексация элементов и нахождение их на основе целочисленного индекса, не является дифференцируемой операцией, и ее невозможно легко выполнить параллельно, но если элементы, подвергаемые этой операции, являются векторами, индексы могут быть представленными как горячие векторы, а операции поиска могут быть простым матричным умножением вектора векторов (матрица чисел) и горячим представлением индексов. Эта операция умножения может быть как распараллеливаемой, так и дифференцируемой.

Когда вы представляете входное слово с однократным кодированием x, результат умножения его на матрицу W работает как операция поиска (это то, что мы знаем как слой встраивания), и если выходные метки y с однократным кодированием умножения выходных данных y' и транспонирования y - это точное значение в заданном индексе (обычно это вероятность или логит предсказания метки). Такое представление не всегда является оптимальным способом для этого, поэтому в современных системах часто встречаются «редкие» альтернативы: например, sparse_categorical_crossentropy для выходных данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...