好久没更了,不过这回是学完了整本书,一下子更新4章完事儿。

欢迎大家给出意见和建议呀!!!

1. 误差反向传播法:

是能够高效计算权重参数的梯度方法,可以通过反向传播高效计算导数。
正确理解该方法:一是基于数学式:严密简洁;二是基于计算图(该章重点):直观。

2. 计算图:

大致如下图所示,虚灰线代表正向传播,黑实线代表反向传播:将局部导数从右向左传递,原理是基于链式法则的(可以通过黑实线下面数字高效计算导数)。
在这里插入图片描述
反向传播导数运算原理如下:
在这里插入图片描述

3. 链式法则:

引入复数运算来解释,如下图所示:
在这里插入图片描述
下面是对上图的解释,主要还是根据复数运算来的。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4. 计算图中加法(加法结点:加法层 AddLayer)、乘法运算(乘法结点:乘法层MulLayer):

在这里插入图片描述
在这里插入图片描述
下满是自己填的数字,大家也可以尝试一下哦~
在这里插入图片描述

5. 简单层的实现:

“层”是神经网络中功能的单位,如:负责sigmoid函数的Sigmoid、负责矩阵乘积的Affine等。
(1)Sigmoid层:
在这里插入图片描述
简化版:
在这里插入图片描述
在这里插入图片描述
(2)Affine层:
神经网络的正向传播中进行的乘积运算在几何学领域被称为:“仿射变换”,即1次线性变换(神经网络的加权运算),1次平移(加偏置运算)。
正向传播:
在这里插入图片描述
反向传播:
在这里插入图片描述
图片中左边公式之所以这样写主要是保证:矩阵乘积等号两边维度的一致性(线性代数知识)。

7.复杂层,Softmax-with-Loss层:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
神经网络的学习的目的就是通过调整权重参数,使神经网络的输出(softmax)的输出接近监督标签。所以,必须将神经网络的输出与监督标签的误差高效的传递给前面的层(即y1-t1,y2-t2,y3-t3部分)。
之所以使用交叉熵函数(Cross Entroypy Error)作为损失函数,也是因为能反向传播得到(y1-t1,y2-t2,y3-t3)这样的结果,同理,使用“平方和误差”作为“恒等函数”的损失函数,反向传播也会得到相同的结果,主要是为了反向传播结果简单才使用这样的损失函数。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐