Как обучить chainer.links.EmbedID в цепочке?

Я хочу самостоятельно обучить встраиванию меток (да, встраивание меток похоже на встраивание слов, но ввод — это один из горячих векторов меток)

Когда я нашел chainer.links.EmbedID, я нашел пример в официальном документе, он должен пройти в нем W.

Как обучить встраивание W-матрицы, чтобы позже мы могли использовать ее для обучения другой модели?

Я имею в виду, как тренировать встраивание векторного представления слова/метки?


person machen    schedule 10.03.2018    source источник


Ответы (1)


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

Word2vec — один из официальных примеров, в котором используется EmbedID:

person corochann    schedule 11.03.2018
comment
Должен ли ввод обеспечивать некоторый порядок? например, порядок x должен быть таким же, как порядок слов в статье? Или у него нет такого ограничения в обучении встраиванию? Если это обучение в пакетном режиме, перетасовка между пакетами нарушит этот порядок, уверены? - person machen; 15.03.2018
comment
Извините, я не мог понять, что вы хотите знать. Для ID порядок присвоения EmbedID может быть произвольным, например ID=1 и ID=2 не означает, что они близки. Что касается порядка обучения, я думаю, это зависит от того, какую задачу вы решаете. Если вы имеете дело с RNN/LSTM, порядок пакетов (какое слово подается в сеть) имеет значение. - person corochann; 17.03.2018