Проблема инициализации весов модели глубокого обучения - PullRequest
0 голосов
/ 06 мая 2019

Я пытаюсь создать модель в TensorFlow. Однако инициализация весов кажется неправильной, но я не могу понять, почему. Итак, моя модель имеет скрытый слой с сигмоидом в качестве функции активации, а выходной слой использует softmax. Я также использую Xavier. Итак, для инициализации весов я использую:

hidden_layer = tf.Variable(tf.random_normal([input_size, hid_size], stddev=0.01)) * np.sqrt(1./input_size)

output_layer = tf.Variable(tf.random_normal([hid_size, output_size], stddev=0.01)) * np.sqrt(1./hid_size)

Дается стандартное отклонение.

Вы видите что-то не так?

1 Ответ

0 голосов
/ 06 мая 2019

если вы используете Xavier, вам следует рассмотреть возможность использования инициализатора Xavier, см. здесь для документации.


hidden_layer  = tf.get_variable("w1", shape=[input_size, hid_size], initializer=tf.contrib.layers.xavier_initializer())

output_layer = tf.get_variable("w2", shape=[hid_size, output_size], initializer=tf.contrib.layers.xavier_initializer())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...