deeplearning4j嵌入层权重更新

时间:2017-08-23 15:49:27

标签: deeplearning4j

我需要使用嵌入层来对单词向量进行编码,因此嵌入层的权重基本上是单词向量。显然,我不希望在这种情况下权重在反向传播期间更新。我的问题是,如果逐层嵌入已经禁止重量更新,或者我必须对它做一些特别的事情?

1 个答案:

答案 0 :(得分:0)

在这里看一个老问题,

https://github.com/deeplearning4j/deeplearning4j/issues/3118

我认为满足我需要的一种方法是将学习率和偏差设置为0,即.biasInit(0.0).learningRate(0.0),尽管我认为更好的方法,也就是从上面的链接中提出的,是用冷冻层包裹它吗?

编辑: 我想我最终会得到如下的解决方案,

new FrozenLayer.Builder().layer(new EmbeddingLayer.Builder().nIn(nIn).nOut(nOut).activate(Activate.IDENTITY).biasInit(0.0).build()).build()