深度神经网络的训练过程(以向量化的角度)

BP 算法的训练过程,各种博客和参考书已经讲的很清楚了,但不管是周志华的《机器学习》,还是林轩田的《机器学习技法》,都只是对 3 层的神经网络的训练做了非向量化的推导。本文将结合 Andrew Ng 的最新视频,从向量和矩阵运算的角度推一遍任意层神经网络(全连接)的训练算法。

为什么要公式向量化

从工程的角度来讲,向量化可以极大的加快程序的运行速度。举一个例子,求两个向量(列向量)的内积,你可能会写出以下两个公式:


在实现的过程中,公式 (1) 使用了 for 循环,公式 (2) 使用了优化过的矩阵乘法,第一种的速度会远快于第二种。

符号约定

符号 意义
l 表示神经网络的层数
m batch_size
C 表示每一层的神经元的个数
J cost function
a 学习率
符号 shape 意义 i 的取值
Z[i] (Ci, ) 表示第 i 层的输入(未经激活函数) 2 - l
A[i] (Ci, ) 表示第 i 层的输入 1 - l
w[i] (Ci, Ci-1) 表示第 i 层神经元的权重矩阵 2 - l
b[i] (Ci, ) 表示第 i 层神经元的偏置(bias 2 - l

正向传播过程

输入:A[1],即 X
输出:A[l] ,即 y^
对于 i = 2, 3, ... l

其中


式子中的 * 符号指的是智能乘法,表示矩阵的对应位置相乘。

误差反向传导过程

BP 算法的原理是利用链式法则,对于每一个路径只访问一次就能求顶点对所有下层节点的偏导值。
先来看看 Jw[l] 的导数

其中


再来看 Jw[l-1] 的导数

通过观察 dw[l]dw[l-1],可以找到递推的规律:

BP 算法前向递推的规律:
起始条件


对于 i = l - 1, l - 2, ... 2,有

经过了一轮循环,求出了神经网络各层的 dw,然后按照下式更新网络参数:


这就完成了一个 epoch 的训练。

技巧

上述算法的缺点是,由于在后向传播的过程中,需要求激活函数 φ 对 输入 Z[i] 的导数,所以我们在进行前向传播的过程中,需要保存一下每一层的 Z 的值,这无疑增大了内存的消耗,在这里我们有一个技巧:

当激活函数为 SigomidTanhReLU 时,其导数可由其函数值表示,例如:Sigomid 函数的导数为 f(x) * (1 - f(x))Tanh 函数的导数为 1 - f(x)^2

所以,在参与上式 dZ 的运算中,利用函数的化简可以约分掉与 Z[i] 相关的项(用 A[i] 替代了) 的值,这样我们就可以适当的变换一下迭代公式,使 Z[i] 不出现在公式中,这样就不用再额外存储 Z 了。

实现

具体的 Python 实现,请点击这里

参考资料

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,454评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,553评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,921评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,648评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,770评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,950评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,090评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,817评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,275评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,592评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,724评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,409评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,052评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,815评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,043评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,503评论 2 361
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,627评论 2 350

推荐阅读更多精彩内容

  • 引言 机器学习栏目记录我在学习Machine Learning过程的一些心得笔记,涵盖线性回归、逻辑回归、Soft...
    hfk阅读 4,353评论 4 18
  • 每个父母都希望子女成龙成凤,又希望子女一直在自己的身边。每一步自己都认同,社会是不一样的。时代也不一样了,就不能去...
    静静的等待着阅读 131评论 0 0
  • 心随物动,情随事迁,如果一个人的房间里充斥的是不需要的东西,自己也会有一种不被需要的感觉。 只买自己需要和喜欢的,...
    当向上翊遇上文艺翊阅读 272评论 0 0
  • 第一次见到汤一介先生,大约是在上个世纪80年代初夏季的北京孔庙。那时,中国学术界正处于复苏时期。汤先生清...
    湖畔渔夫阅读 374评论 0 0
  • 美国最高法院周五以5张同意票,4张反对票的结果判决各州都不可以禁止同性恋婚姻。至此,美国成为了世界上又一个同性恋婚...
    根号四等于二阅读 14,420评论 20 51