Tensorflow实现神经网络的前向传播
我们构想有一个神经网络,输入为两个input,中间有一个hidden layer,这个hiddenlayer当中有三个神经元,最后有一个output。 图例如下: 在实现这个神经网络的前向传播之前,我们先补充一下重要的知识。 一.权重w以及input的初始化 我们初始化权重w的方法为随机生成这些权重,一般可以使用这些随机生成的数据正好在正态分布的曲线上,这也是最符合生成符合自然规律的随机数生成方法: import tensorflow as tf # 一般情况下神经网络上的参数是w的数列,当然我们一般使用随机数来生成这些参数 w=tf.Variable(tf.random_normal([2,3],stddev=2,mean=0,seed=1 )) # 其中stddev表示标准差,mean表示均值,【】表示随机生成正态分布的数值的shape 这样我们的权重就生成了,我们初始化input的方法有有以下几种,伪代码如下: 除了这种方式,我们还可以使用 tf.constant([ 1,2,3 ]),来生成指定数值 tf.zeros([ 2,3 ],int32),用来生成全零 tf.ones([ 2,3 ],int32),同来生成全1 tf.fill([ 3,2],6),生成指定数值 下面我们编写一个仅有一个初始值input的神经网络,并利用tensorflow实现对其进行前向传播