Как передать вложение word2vec как слой встраивания Keras? - PullRequest
1 голос
/ 26 апреля 2019

Я решаю задачу классификации нескольких классов с помощью Keras.Но я предполагаю, что точность плохая из-за плохого встраивания моих данных (данных, относящихся к предметной области).

У Keras есть свой собственный уровень встраивания, который является контролируемым методом обучения.

ИтакУ меня есть 2 вопроса по этому поводу:

  1. Могу ли я использовать вложение word2vec в слой Embedded Keras, потому что word2vec - это форма обучения без присмотра / самоконтроля?

  2. Если да, то могу ли я использовать трансферное обучение на модели предварительного обучения word2vec, чтобы получить дополнительные знания о специфических для моего домена особенностях.

1 Ответ

0 голосов
/ 26 апреля 2019

Вы можете инициализировать слой вложений с помощью word2vec или любых других предварительно обученных вложений (может быть, FastText ?) Таким образом, что вы вручную создаете матрицу внедрения, т. Е. Просто загружаете все числа из файлы word2vec и создайте np.array из них. Затем вы создаете постоянный инициализатор и передаете его в качестве аргумента в конструктор слоя встраивания.

Если вы не хотите, чтобы вложения обновлялись во время обучения, просто установите trainable на False на объекте слоя.

...