本文主要是介绍前馈(向)网络之深度神经网络,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.多层感知器(MLP,DNN)
模型:拥有一个输入层,一个输出层,加上隐藏层,每一层都是通过全连接来进行的!
ps:添加少量隐藏层叫做浅层神经网络,而增多隐藏层就是深度神经网络!
ps:每一层都进行了全连接,导致参数量比较大,模型比较复杂。
ps:全连接可以看成笛卡尔积,两者是一样的概念。
一个简单的神经网络模型:
可以理解为它是对线性的(输入层)输入,经过(隐藏层)非线性的变换,然后通过随机梯度下降(SGD)进行优化,不断的重复进行训练,最后得到输出(输出层),这样的一个过程。
2.神经网络之BP算法
介绍:复合函数的求导,就会出现乘积项,因为是一层反馈回一层进行优化参数的过程。
1.定义变量:
2.代价函数:
3.公式及其推导:
推文!https://blog.csdn.net/zhaozx19950803/article/details/80226525
3.总结一些问题
1.激活函数一定是非线性函数?
特征经过非线性变换是类似于特征组合的一个过程,因此神经网络本身就是一种可以特征自组合的一种模型。
ps:特征的自组合以及对结果的不断优化的过程,就是指神经网络。
2.对于图像视频这种特殊数据深层神经网络表达的更好,而一般的业务数据只需要两三层即可!
3.(随机)mini-batch梯度下降,size太大会在凸函数上表现的好,而在非凸函数会造成很容易陷入局部最优。而size太小会造成损失的震荡非常大,导致很难收敛。
ps:一般size是需要经过实验的要根据实际样本来选取,不能太大也不能太小!
这篇关于前馈(向)网络之深度神经网络的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!