一.
DNN网络一般分为三层
1.输入层
2.隐藏层
3.输出层
简单网络如下:
二.前向传播
从第二层开始,每一个神经元都会获得它上一层所有神经元的结果。即每一个 y = wx + b的值。
具体分析如下:
如此下去就会非常可能出现了一个问题------就是越靠后的神经元获得的y值会非常大,试想一下,如果这个数远远大于它前面神经元的值,前面神经元对整个网络的表达就显得毫无意义。所以我们在每创建一层网络时就要多“y”进行一次约束。
我们有很多选择,但最好的方法就是运用Sigmoid函数。它可以将每层网络中的神经元全部控制在0-1之间。
我们到最后输出层每个神经元就可以获得一个y值。
利用tensorflow所构建网络的代码如下:
model = Sequential([
layers.Dense(256, activation=tf.nn.sigmoid),
layers.Dense(128, acti