Должен ли я установить trainable = True при использовании встраивания? - PullRequest
0 голосов
/ 29 декабря 2018

Когда я использую RNN для классификации чего-либо, я должен установить trainable=True при инициализации встраивания?

Я не уверен, должен ли я установить trainable=True при инициализации встраивания.В обычном случае, без предварительно обученного файла встраивания, я должен инициализировать матрицу встраивания слов, например:

bound = -1 # for example
initializer = tf.random_uniform_initializer(minval=-bound, maxval=bound)
embedding = tf.get_variable(name=variable_name,
                        shape=[vocab_size, embedding_size],
                        dtype=tf.float32,
                        initializer=initializer)

и параметр trainable по умолчанию равен True.

Оригиналони выглядят следующим образом: некоторые -0.2300489, -0.7200954, 0.5842655, 0.7981529, -0.7432661 ... -0.12576556, 0.3133614, -0.78932405, 0.38539863, 0.5543554, и я думаю, что это работает, потому что все значения в [-1,1].

Тем не менее, после обучения модели RNN-Classifiy исходное значение вложения составит: около 6,2576456 5,70158 -6,7240534 -7,060843 -6,9045954 ... 0,65268683 6,7722726 5,766225 6,743621 -5,3276224 один -0,996256,80 072 223 063 0682 063 063 063 0682 063 063 063 0682 063 063 063 0682 063 063 063 063 063 063 063 063 025 025 025 0252 0682 6262 0252 664,16 0642 6162,16 0642 664,90 092,9692 0642 0642,95 092,12 072,12 0261,90 0,8182,90,90,90,90,90,60,90 можно сравнить по их данным можно найти здесь... -0,9133856 -0,6819365 -0,44985628 -0,43600297 0,51928043 справка -3,8815696 -6,9417324 -7,08272 -2,7665734 3,8522656 ... 2,8540928 6,841772 2,7118142 7,89535 1,4688607

1016 это * * 1015 или 1016 *1016* 1016

1 Ответ

0 голосов
/ 29 декабря 2018

я должен установить trainable = True при инициализации встраивания?

Да, потому что в противном случае веса являются просто случайными значениями, которые вы инициализировали.Установив обучаемое значение True, вы позволяете сети самостоятельно изучать встраивание.

Это нормально или мне следует нормализовать его?

Да, для вложения веса является нормальным заданное значение, если вы его не ограничили.Если вы хотите, чтобы сеть имела малые веса, вы можете использовать регуляризацию, такую ​​как l2-регуляризация .

...