零基础入门深度学习(3)

原文地址:零基础入门深度学习(3) - 神经网络和反向传播算法

这篇是前三篇和后三篇过渡的分水岭,我也不保证敢说自己也看明白了。一遍看一遍写自己的理解有助于思考。



前面已经学习过了感知器和线性单元,区别主要是激活函数不同。神经网络就是这种小单元按照一定的规则连接起来形成的网络。

神经元

本质上和感知器是一样的,但是感知器的激活函数是分段函数,神经元的激活函数的sigmoid函数或者tanh函数,如图:


计算这个神经元的输出和感知器计算一样,权值,输入相乘相加,作为sigmoid的参数计算输出。
y=sigmoid(\vec{w}^T\centerdot\vec{x})\qquad(式1)
sigmoid函数值域(0,1),是一个非线性的函数
sigmoid的函数图像

神经网络是啥

神经网络

如图由多个神经元全连接形成神经网络,全连接说的是下一层和的单个节点和上一层的所有节点都有连接。
最左侧是输入层,中间是隐藏层,可以是很多层,最右边是输出层。神经网络的宽度就是输入输出层向量的长度,深度就是有多少层。节点之间的连线都有一个权值。

计算神经网络的输出

实际上是输入向量到输出向量的一个函数,
\vec{y} = f_{network}(\vec{x})
给各个节点以及边标上符号,方便说明计算过程,

神经网络

输入向量的维度必须和输入层的节点数相同,计算a4的值:
\begin{align} a_4&=sigmoid(\vec{w}^T\centerdot\vec{x})\\ &=sigmoid(w_{41}x_1+w_{42}x_2+w_{43}x_3+w_{4b}) \end{align}
式子中的w_{4b}是偏置项,式子中需要使用sigmoid函数神经元的激活函数。从上面可以看出神经网络的输出向量长度和输出层节点数相同。其他节点的计算也是参照上面这样计算。

神经网络的矩阵表示

就说这个网络吧。

神经网络

这个我觉得使用右乘的方式比较好理解,但是每一次的计算结果都需要做一次转置才好理解。还是参照原文的采用左乘理解。
\vec{a}= \begin{bmatrix} a_4 \\ a_5 \\ a_6 \\ a_7 \\ \end{bmatrix} = sigmoid( \begin{bmatrix} w_{41},w_{42},w_{43},w_{4b} \\ w_{51},w_{52},w_{53},w_{5b} \\ w_{61},w_{62},w_{63},w_{6b} \\ w_{71},w_{72},w_{73},w_{7b} \\ \end{bmatrix}* \begin{bmatrix}x_1\\x_2\\x_3\\1\end{bmatrix})
相同的道理,在计算y_1,y_2的时候,在左边乘节点8,9的权值矩阵,也是按照行排列。
\begin{bmatrix} y_1 \\ y_2 \\ \end{bmatrix} = sigmoid(\begin{bmatrix} w_{84},w_{85},w_{86},w_{87} ,w_{8b}\\ w_{94},w_{95},w_{96},w_{97},w_{9b} \\ \end{bmatrix}* \begin{bmatrix} a_4 \\ a_5 \\ a_6 \\ a_7 \\ 1 \end{bmatrix} )
嗯,就是这个样子,每次计算完一层的输出就需要扩展一个 1 。

神经网络的训练

神经网络中能够通过训练得来的只有权重,至于网络的深度,连接方式,每层的节点数等,只能是通过人为设定,我们称之为超参数。
神经网络的训练算法反向传播算法(back propagation)

神经网络

假设每个训练样本为(\vec{x},\vec{t})其中\vec{x}为样本的特征,\vec{t}为样本的目标值。
根据上一节的算法,用样本特征\vec{x}计算每个隐藏层节点的输出a_i,以及每个节点的输出y_i
下面使用\delta_i表示每个节点的误差。

  • 输出层节点的误差:
    \delta_i=y_i(1-y_i)(t_i-y_i)
    对于节点 i y_i是使用样本(\vec{x},\vec{t})种的特征进行计算输出的结果。当样本为(x_1,t_1)输出为y_1的时候的误差为:\delta_8=y_1(1-y_1)(t_1-y_1)
  • 隐藏层节点的误差
    \delta_i=a_i(1-a_i)\sum_{k\in{outputs}}w_{ki}\delta_k
    a_i为节点的输出值,w,\delta为下一层节点的权值和误差。例如几点4的误差:
    \delta_4=a_4(1-a_4)(w_{84}\delta_8+w_{94}\delta_9)
  • 更新每个链接的权值
    w_{ji}\gets w_{ji}+\eta\delta_jx_{ji}
    \eta为学习效率,\delta为节点的误差项,x为当前节点节点的输出
    例如w_{84}这条连接权重的更新
    w_{84}\gets w_{84}+\eta\delta_8a_{4}

反向传播算法的内容差不多就是这个样子的了,至于推导去看原文吧!这里就不用看了,我们理解了神经网络更重要。上面这三个就死记硬背吧!

梯度检查

用于判断神经网络是否正确。机器学习的套路,首先确定神经网络的目标函数,然后用梯度下降优化算法求目标函数最小的时候的参数值。求解出来的就是参数的调整规则了。
目标函数,好像目标函数都是整个网络中节点的误差,如本文的这个神经网络
E_d\equiv\frac{1}{2}\sum_{i\in outputs}(t_i-y_i)^2
梯度检查就是用下面的式子计算梯度和程序计算出整个网络误差对权值的偏导数,然后计算梯度,将此梯度和程序计算出的梯度进行比较,两者相差非常小则说明程序是正确的:
\frac{\partial{E_d(w_{ji})}}{\partial{w_{ji}}}\approx\frac{f(w_{ji}+\epsilon)-f(w_{ji}-\epsilon)}{2\epsilon}

自我感觉梯度就是偏导再乘一个w的极小变化量。

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

推荐阅读更多精彩内容