深度学习笔记(一)感知器、梯度下降、反向传播

本文是在学习优达学城深度学习课程第一部分后做的笔记,只供查阅使用,具体公式推导与代码实践在文中给了参考资料的链接。

深度学习

神经网络是一种机器学习算法,模型如下。

深度学习笔记(一)感知器、梯度下降、反向传播_第1张图片
神经网络

神经网络由输入层、隐藏层、输出层组成,当隐藏层的层数大于等于2时,叫做深层神经网络,使用深层神经网络算法进行机器学习就叫做深度学习。

感知器 perceptron

神经网络是由神经元组成的,而激活函数为阶跃函数的神经元就是感知器。感知器的模型如下:

深度学习笔记(一)感知器、梯度下降、反向传播_第2张图片
perceptron

感知器的运作流程是,将输入inputs乘以权重weights,然后相加,再经过激活函数step function,得到一个输出。通过对权重的设置,可以让激活函数代表任意线性函数。具体解释可以看这个非常棒的博客:零基础入门深度学习(1) - 感知器 。

这里,我们只需知道一个感知器可以表示一个函数,但是这好像并没有什么实际作用。对,一个感知器是作用不大,但是,当感知器变成神经网络时情况就完全不同了,它会有非常神奇的效果。目前自然语言处理、图像和语音处理、自动驾驶等领域都广泛使用深度学习,由此可见一斑。

梯度下降 Gradient Decent

要得到有实际作用的感知器,我们必须设置它的参数,如何设置呢?梯度下降可以解决这个问题。

梯度下降整体的逻辑就是,通过已知的输入值x和真实的输出值y,求出感知器最合适的参数w。那么如何定义最合适的参数w?我们认为通过感知器计算得到的输出值pred与真实的数值y最接近的时候,那么参数w的值就最合适。

基于以上,在数学里面,通过求导数的方式,我们可以知道通过让w每次加上delta_w的方式,可以让pred 与 y的值越来越接近。

深度学习笔记(一)感知器、梯度下降、反向传播_第3张图片
梯度下降

而delta_w等于:

深度学习笔记(一)感知器、梯度下降、反向传播_第4张图片

这里具体的数学公式推导可以参考:
吴恩达的机器学习课程
零基础入门深度学习(2) - 线性单元和梯度下降

反向传播 Back Propagation

当上面的梯度下降算法,应用到神经网络时,就叫做反向传播算法。核心点就在于:不断的更新每一层的权重w。

深度学习笔记(一)感知器、梯度下降、反向传播_第5张图片
反向传播示例

总结一下:
反向传播时,与输出层k连接的参数w_jk的调整值delta_w_jk还是和上面梯度下降中的求法一样。

输入层i隐藏层j的w_ij的调整值delta_w_ij的计算公式如下:

深度学习笔记(一)感知器、梯度下降、反向传播_第6张图片

这里更多的内容可以参考:
零基础入门深度学习(3) - 神经网络和反向传播算法
Andrej Karpathy:Yes you should understand backprop

代码实现

关于使用代码实现,可以下载我在优达学城第一个项目的作业:我的第一个神经网络里面的First_neural_network.ipynb文件和数据文件。

你可能感兴趣的:(深度学习笔记(一)感知器、梯度下降、反向传播)