【官方双语】深度学习之反向传播算法 上/下 Part 3 ver 0.9 bet

一、原理
反向传播原理: 反向传播算法主要由两个环节(梯度的传播计算,激励传播与权重更新)反复循环迭代。(仅考虑对单目标的识别)
【注】3b1b在两个视频里并没有区别两个环节,只是含糊说,两者都是反向传播,实际上第一个视频主要介绍的是权重、激励(向后传播)更新环节,第二个视频讲的是梯度(向后传播)计算的。
二、过程
过程大概分五步:
1.随机分布权重
2.输入样本 得到 各层激活值
3. 求最终 激活值 与 期望激活值的距离 即代价
4.反向传播,计算∂w/∂c, ∂b/∂c (即w,c的灵敏度)(见P2下篇)
(一定要看下篇!)
5.修改权重、偏置、激活(间接)以缩短代价。
将反向传播计算的梯度向量作工具,实现以
下目标:
5.1 根据现有w的比例,分配下一层激活期
望
5.2 根据现有a的比例,分配权重更改期望
5.3 修改偏置
6.向后重复直到第一层
7.输入同类样本的不同图案
:三、概念 & 规则
箭头是神经元激活度的期望变化
(就是我们希望它能这样变化)
红箭头表示我们希望它减小
蓝箭头反之
箭头长短是期望变化的幅值,范围为:0 ≤ 幅值 ≤ 1
证据:
L-1层的神经元的期望激活度由L-1层神经元与
L层神经元的权重决定。
权重越大,期望激活度越大
(假设:每层的权重更改总量有限)
证据有二:
证据1 :

证据1的时间戳:
证据二:箭头求和

光目标神经元激活还不够,我还想要非目标神经元被抑制。否则答案就变成多个了,与实际情况不符。
每列箭头代表根据已有权重分布,我们期望前一层神经元激活度的改变情况,不同列对应不同的最终输出的神经元(不懂的同学下面这段多看看)。
具体的分配方法3b1b只是说按比例,没细说,我在本文第三段给出一个猜测,供参考
草稿
(读者别看了,内容乱,而且有未改的错误)
因为要识别的不止一个数,所以要追求代价的平均值最小
因为,最后选答案是选出最大激活的元,假如你有1个自由分配的量,如果按减小分配,每个数分配0.2,你分配五个数,不一定能选出正确答案,但如果把1直接给2(2是正确答案),那你必能选对
减阈、加权、加激
假想图1是神经网络的第一层与第二层,则说明:
数字二这张图片,明显出现了1,6,7,9的特征(因为它们最亮)

图1 倒二激活层情况
由此推得:2 这张图 出现了 倒数第二层(高度综合层)的1,6,7,9..特征(不考虑倒二层的具体特征)
hebb法则:加强同时激活的神经元的关联
此处即将对网络层的各权重进行加强 / 削弱处理,所以3b1b说有点像

图2 神经元的代价期待
每个箭头代表wij 对代价均值的偏导数
即wij的微小变化引起的代价均值的微小变化的比值,以图2 红圈中的w42为例
假设1:本来就暗神经元->实现抓大头
假设2:输出层的其它答案
假设1不成立,因为在7:38箭头列是对应最终输出的神经元
简单说,最后一层与数据自带的期望值是可以逐步算出三个导数进而算出权重与代价的导数
具体计算方法:

^
/ \
| |

dz/db 根据 第二张图的第二行式子可得 1
矛盾:
假设:激活值全知
所有方法为了求比值
但3b1b说该方法是反向传播,即改变权重
则要么,反向传播不是改权重
要么,算比值也是反向传播的一种
箭头是什么?
假设1:dw
假设2:dc/dw
思考笔记
asu:arr = dw
asu:性价比 (目标 - 非目标)高=> 该比同,影响大asu=> 实际该比要更多
asu:实际改比相同
梯度下降 = dc/dw 下降
id:梯度向量指示我们分配改动权重总量的比例:
=>
arr = asu1期望变化,asu2 dc/dw
asu1 => re => dc/dw =>sort=> proportion
asu2 => null
asu1 - sum
asu {?=> arr in neuron} = ∅ in video
egt:
asu {?=> arr in neuron} = ∅ in video
proportion of w => (da = arr):
