这节课换了美女老师,美不美其次,是个亚洲面孔,看着亲切。她是李飞飞的博士生,年轻有为啊!
计算图框架
可以用计算图表示的框架,就可以利用链式法则,实现方向传播。
反向传播
一个简单的方向传播的例子:
- 例如,x=-2,y=5,z=-4
- 引入中间变量q,q=x+y,关于q的x、y的偏导数均为1
- 则f=qz,关于f的q的偏导数是z,也就是-4;z的偏导数是q,也就是x+y=3
- 那么关于f的x的偏导数是-4,y的偏导数是-4,z的偏导数是3
进一步讲解的例子
- f是一个节点,它有两个输入x,y,一个输出z
- 我们可以知道z关于x,y的梯度
- 若知道L关于z的梯度值
- 我们就可以利用链式法则求出L关于x,y的梯度
- 对于每个节点,我们只关心它的输入输出就可以了,不需要关心其他节点
又一个例子
- 首先得到它的计算图框架
- 从末尾开始进行反向传播
- 接着
- 再往下
- 再接着往下
- 下面是加法部分,我们知道梯度是1,所以
- 下面到了x0,w0,x1,w1,w2这层
总结
- 求出本地梯度
- 求出上层梯度
- 本地梯度乘以上层梯度就好了
注意
- 精髓就是链式法则
- 例如可以把方程中的一部分整体的梯度算出来,就不需要再分解了
- 记住sigmoid的梯度公式
在方向传播中,都做了什么
- 加法门:分发
- max门:只发送给一个输入
- 乘法men:交叉转换
-
如果一个节点有多个上游节点相加,则梯度也相加
高维度变量的方向传播怎么计算
- 计算的流程是不变的
- 只是x,y,z这些变量变成了矩阵
一个例子
- 正向传播
- 反向传播
有点复杂,不解释了,动笔算算就明白了
神经网络介绍
- 神经网络就是由一组函数组成的
- 这是一个两层的神经网络,由一个线性方程和一个非线性方程组成
- 激活函数
- 网络模型