是否有可能以及如何使用 tf-hub elmo 模型减少 ELMO 嵌入的维度?

Is it possible and how to reduce the dimensions of ELMO embeddings using tf-hub elmo model?

我正在使用来自 tensorflow hub 的 ELMO 模型。

import tensorflow as tf
import tensorflow_hub as hub
from tensorflow.contrib import predictor

elmo = hub.Module("https://tfhub.dev/google/elmo/3", trainable=False)

默认输出维度为 1024。有没有什么方法可以在不使用 PCA/losing 信息的情况下将 ELMO 嵌入的维度降低到 128

由于 ELMo 是由 allennlp 发布的 pre-trained 模型,这些模型将根据 的训练给出固定的输出维度1024.

减少输出维度的一种方法是尝试像PCAtSNEUMAP这样的降维技术,但正如你所说,这将以丢失信息为代价.

相反,您可以从头开始训练 ELMo,提供大量数据和训练设备。
您可以关注 this 文章,其中解释了如何从头开始训练 ELMo
要更改输出维度等超参数和其他操作,可以在此 file.

中完成