在我们了解过神经网络的人中,都了解神经网络一个有很常见的训练方法,BP 训练算法。通过 BP 算法,我们可以不断的训练网络,最终使得网络可以无限的逼近一种我们想要拟合的函数,最终训练好的网络它既能在训练集上表现好,也能在测试集上表现不错!

在咱们了解过神经网络的人中,都了解神经网络一个有很常见的练习办法,BP 练习算法。经过 BP 算法,咱们能够不断的练习网络,终究使得网络能够无限的迫临一种咱们想要拟合的函数,终究练习好的网络它既能在练习集上体现好,也能在测验集上体现不错!

那么 BP 算法具体是什么呢?为什么经过 BP 算法,咱们就能够一步一步的走向最优值(即便有可能是部分最优,不是大局最优,咱们也能够经过其它的办法也抵达大局最优),有没有一些什么数学原理在里面支撑呢?这几天梳理了一下这方面的知识点,写下来,一是为了记载,二也能够共享给咱们,避免了解过错,一同学习沟通。

BP 算法具体是什么,能够参阅我这篇文章知乎专栏(具体的将 BP 进程走了一遍,加深了解),那么下面处理这个问题,为什么经过 BP 算法,就能够一步一步的走向更好的成果。首要咱们从神经网络的运转原理来看,假设现在有下面这个简略的网络,如图:

<img src="https://static.leiphone.com/uploads/new/article/pic/201708/331506b19a12761324434113a569f3cc.png" data-rawwidth="675" data-rawheight="396" class="origin_image zh-lightbox-thumb" width="675" data-original="https://pic1.zhimg.com/v2-8ad20b3f51bad9e21f1b88e7bbb55744_r.png" _src="https://static.leiphone.com/uploads/new/article/pic/201708/331506b19a12761324434113a569f3cc.png"/> 我们定义符号说明如下:

神经网络和数学之间的联络在哪里?看完你就理解(数学与神经网络)  神经网络 数学 BP 第1张

咱们界说符号阐明如下:

<img src="https://static.leiphone.com/uploads/new/article/pic/201708/af102cbe221d16d8857bac7708dc7c38.png" data-rawwidth="743" data-rawheight="413" class="origin_image zh-lightbox-thumb" width="743" data-original="https://pic4.zhimg.com/v2-dd88143942766bae6dcf704950a6718f_r.png" _src="https://static.leiphone.com/uploads/new/article/pic/201708/af102cbe221d16d8857bac7708dc7c38.png"/> 则我们正向传播一次可以得到下面公式:

神经网络和数学之间的联络在哪里?看完你就理解(数学与神经网络)  神经网络 数学 BP 第2张

则咱们正向传达一次能够得到下面公式:

神经网络和数学之间的联络在哪里?看完你就理解(数学与神经网络)  神经网络 数学 BP 第3张

神经网络和数学之间的联络在哪里?看完你就理解(数学与神经网络)  神经网络 数学 BP 第4张<img src="https://s4.51cto.com/wyfs02/M01/9D/DD/wKiom1mH4hrglqovAAAsJJcRIX8297.png" data-rawwidth="292" data-rawheight="228" class="content_image" width="292" _src="https://s4.51cto.com/wyfs02/M01/9D/DD/wKiom1mH4hrglqovAAAsJJcRIX8297.png"/>

神经网络和数学之间的联络在哪里?看完你就理解(数学与神经网络)  神经网络 数学 BP 第5张<img src="https://s1.51cto.com/wyfs02/M01/9D/DD/wKioL1mH4hqDLe5CAAAGC944VOc665.png" data-rawwidth="174" data-rawheight="64" class="content_image" width="174" _src="https://s1.51cto.com/wyfs02/M01/9D/DD/wKioL1mH4hqDLe5CAAAGC944VOc665.png"/>

神经网络和数学之间的联络在哪里?看完你就理解(数学与神经网络)  神经网络 数学 BP 第6张<img src="https://s1.51cto.com/wyfs02/M00/9D/DD/wKioL1mH4hqzsmoQAAAwIXlOWdA514.png" data-rawwidth="547" data-rawheight="153" class="origin_image zh-lightbox-thumb" width="547" data-original="https://pic4.zhimg.com/v2-07a79a3e15b67058d57c1128f3640c4b_r.png" _src="https://s1.51cto.com/wyfs02/M00/9D/DD/wKioL1mH4hqzsmoQAAAwIXlOWdA514.png"/>

神经网络和数学之间的联络在哪里?看完你就理解(数学与神经网络)  神经网络 数学 BP 第7张

<img src="https://s5.51cto.com/wyfs02/M02/9D/DD/wKiom1mH4huCJ2JJAAAgWHx_Q-E162.png" data-rawwidth="547" data-rawheight="99" class="origin_image zh-lightbox-thumb" width="547" data-original="https://pic3.zhimg.com/v2-39f27335952a5ace6f496c58434c80ba_r.png" _src="https://s5.51cto.com/wyfs02/M02/9D/DD/wKiom1mH4huCJ2JJAAAgWHx_Q-E162.png"/>神经网络和数学之间的联络在哪里?看完你就理解(数学与神经网络)  神经网络 数学 BP 第8张

假设丢失函数 C 界说为

<img src="https://s5.51cto.com/wyfs02/M01/9D/DD/wKiom1mH4hvSP_KlAAAIEq2DEDs173.png" data-rawwidth="206" data-rawheight="69" class="content_image" width="206" _src="https://s5.51cto.com/wyfs02/M01/9D/DD/wKiom1mH4hvSP_KlAAAIEq2DEDs173.png"/>神经网络和数学之间的联络在哪里?看完你就理解(数学与神经网络)  神经网络 数学 BP 第9张

那么咱们期望练习出来的网络猜测出来的值和实在的值越挨近越好。咱们先暂时不论 SGD 这种办法,最暴力的咱们期望关于一个练习数据,C 能抵达最小,而在 C 表达式中,咱们能够把 C 表达式看做是一切 w 参数的函数,也便是求这个多元函数的最值问题。那么成功的将一个神经网络的问题引进到数学中最优化的路上了。

---------------------------分割线---------------------------

好,咱们现在顺畅的将一个神经网络要处理的工作转变为一个多元函数的最优化上面来了。现在的问题是怎样修正 w,来使得 C 越来越往最小值接近呢。常见的办法咱们能够采纳梯度下降法(为什么梯度下降法中梯度的反方向是最快的方向,能够参阅我下篇文章,不是这篇文章宗旨)。可能到这还有点笼统,下面举一个特别简略的比如。

假设咱们的网络十分简略,如下图(符号阐明跟上面相同):

神经网络和数学之间的联络在哪里?看完你就理解(数学与神经网络)  神经网络 数学 BP 第10张

<img src="https://static.leiphone.com/uploads/new/article/pic/201708/84c0a988d8e05428a3ec5c169824b00d.png" data-rawwidth="366" data-rawheight="329" class="content_image" width="366" _src="https://static.leiphone.com/uploads/new/article/pic/201708/84c0a988d8e05428a3ec5c169824b00d.png"/> 那么我们可以得到:那么咱们能够得到:<img src="https://static.leiphone.com/uploads/new/article/pic/201708/81efeb3c9ba227b425b0c54a78efec11.png" data-rawwidth="396" data-rawheight="105" class="content_image" width="396" _src="https://static.leiphone.com/uploads/new/article/pic/201708/81efeb3c9ba227b425b0c54a78efec11.png"/>

神经网络和数学之间的联络在哪里?看完你就理解(数学与神经网络)  神经网络 数学 BP 第11张

其间<img src="https://static.leiphone.com/uploads/new/article/pic/201708/97d02f2a25bcf78362f4e20b04316cdd.png" data-rawwidth="601" data-rawheight="62" class="origin_image zh-lightbox-thumb" width="601" data-original="https://pic2.zhimg.com/v2-28fc4ccc4dd16bfdf09b0b9ea17168fd_r.png" _src="https://static.leiphone.com/uploads/new/article/pic/201708/97d02f2a25bcf78362f4e20b04316cdd.png"/>

神经网络和数学之间的联络在哪里?看完你就理解(数学与神经网络)  神经网络 数学 BP 第12张

只要 w 参数是不知道的,那么 C 就能够看做是关于 w 的二元函数(二元函数的优点便是咱们能够在三维坐标大将它可视化出来,便于了解~)。 图片来自于网络:

<img src="https://static.leiphone.com/uploads/new/article/pic/201708/d2f6ec1dfb62c65f9009b6498c0c9c02.jpg" data-rawwidth="660" data-rawheight="518" class="origin_image zh-lightbox-thumb" width="660" data-original="https://pic1.zhimg.com/v2-7ba7a98ed47b5ac4243cfc9b072c5cd4_r.jpg" _src="https://static.leiphone.com/uploads/new/article/pic/201708/d2f6ec1dfb62c65f9009b6498c0c9c02.jpg"/>

神经网络和数学之间的联络在哪里?看完你就理解(数学与神经网络)  神经网络 数学 BP 第13张

下面走一遍算法进程:

咱们先开端随机初始化 w 参数,相当于咱们能够在图上对应 A 点。

下面咱们的方针是抵达最低点 F 点,所以咱们进行往梯度反方向进行移动,公式如下:

神经网络和数学之间的联络在哪里?看完你就理解(数学与神经网络)  神经网络 数学 BP 第14张

<img src="https://static.leiphone.com/uploads/new/article/pic/201708/8c615feed3f4d0c723a3d8b8f0a71e21.png" data-rawwidth="229" data-rawheight="169" class="content_image" width="229" _src="https://static.leiphone.com/uploads/new/article/pic/201708/8c615feed3f4d0c723a3d8b8f0a71e21.png"/> 每走一步的步伐大小由前面的学习率决定,假如下一步到了 B 点,这样迭代下去,如果全局只有一个最优点的话,我们在迭代数次后,可以&amp

转载请说明出处
知优网 » 神经网络和数学之间的联络在哪里?看完你就理解(数学与神经网络)

发表评论

您需要后才能发表评论