[3] TensorFlow 深层神经网络

时间:2022-02-08 09:37:47

深层神经网络
简称为深度学习有两个非常重要的特性
1. 多层
2. 非线性

 

线性模型的局限性 :例如前面的神经网络有两层(不算输入层),但是它和单层的神经网络井没有区别,任意线性模型的组合仍然还是线性模型,然而线性模型能够解决的问题是有限的

下面用TensorFlow Playground来演示 线性模型的局限性

还是以判断零件是否合格为例,输入为 X1 和巧,其中 X1 代表一个零件质量和平均质量 的差, X2代表一个零件长度和平均长度的差。 假设一个零件的质量及长度离平均质量及长度越近,那么这个零件越有可能合格

[3] TensorFlow 深层神经网络

蓝色的点代表合格的零件,而黄色的点代表不合格的零件。可以看到虽然蓝色和黄色的点有一些重合,但是大部分代表合格零件的蓝色点都在原点(0,0)的附近,而代表不合格零件的黄色点都在离原点相对远的地方。 这样的分布比较接近真实问题,因为大部分真实的问题都存在大致的趋势,但是很难甚至无法完全正确地区分不同的类别,下面我们用线性模型尝试着去解决这个问题
[3] TensorFlow 深层神经网络

顶部 (Activation) 选择线性(Linear)

这和前面设定的神经网络结构是基本一致的,通过模型训练100+轮候,在最右边可以看到训练结果

[3] TensorFlow 深层神经网络

 从左到右有隐约有数条分界线,说明这个模型只能用直线来划分平面,对于这种环形的分布是不适用的 (属于线性不可分问题)

而把数据切换成Gaussian高斯分布

[3] TensorFlow 深层神经网络

在线性可分问题中,线性模型就能很好区分不同颜色的点。而在更复杂的问题中,往往是无法通过直线(或者高维空间的平面)划分的, 现实世界中,绝大部分的问题都是无法线性分割的。

回到判断零件是否合格的问题, 如果将激活函数换成非线性的,比如ReLU激活函数,神经网络模型就可以很好的区分不同颜色的点(零件)了

[3] TensorFlow 深层神经网络

 

激活函数实现去线性化
如果将每一个神经元\\