Как встроить дискретные идентификаторы в Tensorflow? - PullRequest
0 голосов
/ 11 июня 2018

Есть много дискретных идентификаторов, и я хочу встроить их в нейронную сеть.tf.nn.embedding_lookup поддерживает только фиксированный диапазон идентификаторов, т. Е. Идентификатор от 0 до N. Как встраивать дискретные идентификаторы в диапазоне от 0 до 2^62.

1 Ответ

0 голосов
/ 14 июня 2018

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

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

например:

  • неизвестно -> 0
  • 84588271 -> 1
  • 92238356 -> 2
  • 78723958-> 3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...