Обновление веса встраиваемого слоя Deeplearning4j

Мне нужно использовать слой внедрения для кодирования векторов слов, поэтому веса слоя внедрения по существу являются векторами слов. Очевидно, я не хочу, чтобы веса в этом случае обновлялись во время обратного распространения. Мой вопрос: если встраивание слоя по дизайну уже запрещает обновления веса, или мне нужно сделать что-то особенное?


person Sheng    schedule 23.08.2017    source источник


Ответы (1)


Глядя на старую проблему здесь,

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()
person Sheng    schedule 23.08.2017