首页 > 解决方案 > 在 Tensorflow NN 模型中将权重初始化为单位矩阵

问题描述

我对 GitHub 上的一个模型中的神经网络的工作相对较新,我注意到在将权重和偏差初始化为零后,一个单位矩阵被添加到偏差变量中。

 weights = tf.get_variable('weights', [256, K*K],
                              initializer=tf.constant_initializer(0.0),
                              dtype=tf.float32)
 biases = tf.get_variable('biases', [K*K],
                             initializer=tf.constant_initializer(0.0),
                             dtype=tf.float32)
 biases += tf.constant(np.eye(K).flatten(), dtype=tf.float32)
 transform = tf.matmul(net, weights)
 transform = tf.nn.bias_add(transform, biases)

它是这个模型特有的还是这是一种常见的做法?如果是这样,将偏差初始化为单位矩阵的目的是什么?

链接到回购:这里 链接到论文:这里

标签: pythontensorflowneural-network

解决方案


将您的权重初始化为零不是您想要的。正如 fPecc 所说,随机噪声是一种很好的初始化,否则您可以尝试正态分布。


推荐阅读