损失函数添加L2 regularization
对于AlphaGo 的一个神经网络预测两个值的情况,在原有的损失函数上,又要添加正则项来修正
AlphaGo的损失函数
使用了MSE和交叉验证,没有采用softmax激活函数,只有value网络使用了tanh激活
tv = tf.trainable_variables()#得到所有可以训练的参数,即所有trainable=True 的tf.Variable/tf.get_variable regularization_cost = 0.001* tf.reduce_sum([ tf.nn.l2_loss(v) for v in tv ]) #0.001是lambda超参数 cost = original_cost_function + regularization_cost optimizer = tf.train.AdamOptimizer(learning_rate = 0.01).minimize(cost)