程序笔记   发布时间:2022-07-21  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了CS231N Lecture 4 神经网络和反向传播大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

Lecture 4: 神经网络和反向传播

神经网络

线性分数函数:(f=Wx + b)

2层神经网络: (f = W_2max(0,W_1x + b_1) + b_2)

在这里,更精确地来说,应该叫做全连接神经网络(FC)

在两层神经网络中,使用了非线性激活函数ReLU。如果不使用非线性激活函数的话,最后会变为 在这种情况下,设 因此,实质上还是单层神经网络,不管有几个W,还是不能摆脱线性。

并且,由于许多点是我们无法用线性函数来划分区域的。因此,需要用非线性来画出我们想要的边界。当然,正则项也十分重要,reg越大,边界越会变为线性

CS231N Lecture 4 神经网络和反向传播

激活函数

CS231N Lecture 4 神经网络和反向传播

ReLU函数往往是默认使用的函数。其他函数会在之后的章节中提到优缺点。

隐藏的层数和每层神经元的数目需要自己来确定。

CS231N Lecture 4 神经网络和反向传播

反向传播 BACkpropagation

由于如果直接从损失函数计算梯度,会十分复杂。特别是到了卷积神经网络和神经图灵机上,

CS231N Lecture 4 神经网络和反向传播

因此,可以采用链式法则来更好地计算出梯度。

需要记住的是,函数对本层参数的梯度 = 上游梯度 * 本地梯度

CS231N Lecture 4 神经网络和反向传播

采用这种计算图的表示可以更加方便地求出我们想要的梯度。

由于标量对标量的导数求导是十分简单的,但到了标量对向量、向量对向量的求导就比较复杂了。

CS231N Lecture 4 神经网络和反向传播

需要明白矩阵的shape是什么样的。 行是分子的元素个数,列是分母的元素个数。

CS231N Lecture 4 神经网络和反向传播

至于如何确定相乘的顺序和是否需要转置,我的想法是只需要让他们的shape匹配就可以了(线性代数知识的匮乏

CS231N Lecture 4 神经网络和反向传播

[begin{array}{r}2 cdot h_{1}^{T} cdot hat{y} \2 X^{T} cdot hat{y} cdot W_{2}^{T}end{array} ]

大佬总结

以上是大佬教程为你收集整理的CS231N Lecture 4 神经网络和反向传播全部内容,希望文章能够帮你解决CS231N Lecture 4 神经网络和反向传播所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。