神经网络一丢丢

终究有一天,还是得接触这个让人捉摸不透的东西。我总感觉他太过神秘,所以对他没有什么好感。无奈,他如此实用,不得不拜访一下。我不管什么CNN和RNN,这些花里胡哨的东西,我感觉就像边角料。
参考《Pattern Recongition》

神经网络,就其类别来讲是非线性判别,而非线性判别,主要是因为激活函数。输入层得到输入,经过线性函数(超平面)的分隔,输入的特征被映射为其他一些特征,如果激活函数是简单的0-1函数(虽然没法反向求导了)。就是那样本映射到超体(是这么形容吗?)的顶点上,再经过一层,网络,对上述点进行分隔,幸许就能把样本成功分类了。当然,这些都是简单的情况,而且,俩层神经网络的能力似乎并不够。
在这里插入图片描述

神经网络框架

在这里插入图片描述
这是一个三层神经网络。

Backpropagation 反向传播

在这里插入图片描述

我不知道有没有别的什么神经网络不用这个算法的,我还没有太深入了解,但我感觉,神经网络最核心的东西就是反向传播,还有框架本身。

下面,过一遍这个梯度的计算。

符号说明

假 定 有 L 层 神 经 元 , 输 入 层 有 k 0 = l 个 结 点 ( 神 经 元 ) , 在 第 r 层 有 k r 个 结 点 , r = 1 , 2 , … , L . 假定有L层神经元,输入层有k_0=l个结点(神经元),在第r层有k_r个结点,r=1,2,\ldots,L. Lk0=lrkrr=1,2,,L.
有 N 个 训 练 样 本 , ( x ( i ) , y ( i ) ) , i = 1 , 2 , … , N 有N个训练样本,(x(i),y(i)),i=1,2,\ldots,N N(x(i),y(i))i=1,2,,N
在这里插入图片描述
在这里插入图片描述
w j r 表 示 第 r 层 第 j 个 结 点 w_j^r表示第r层第j个结点 wjrrj
在这里插入图片描述
权重更新,按照普通的梯度下降为:
在这里插入图片描述
f ( ⋅ ) 为 激 活 函 数 f(\cdot)为激活函数 f()

损失函数(这里以最小平方误差为例)

在这里插入图片描述
在这里插入图片描述

梯度计算 Δ w j r = − μ ∑ i = 1 N δ j r ( i ) y r − 1 ( i ) \Delta w_j^r=-\mu\mathop{\sum}\limits_{i=1}^{N}\delta_j^r(i)y^{r-1}(i) Δwjr=μi=1Nδjr(i)yr1(i)

首 先 , y k r − 1 ( i ) , 是 第 r − 1 层 第 k 个 结 点 的 输 出 ( 激 活 后 ) , 相 应 的 v k r − 1 为 没 有 激 活 的 输 出 。 首先,y_k^{r-1}(i),是第r-1层第k个结点的输出(激活后),相应的v_k^{r-1}为没有激活的输出。 ykr1(i)r1kvkr1
而 w j k r 是 连 接 r − 1 层 第 k 个 结 点 和 r 层 第 j 个 结 点 的 权 重 。 而w_{jk}^r是连接r-1层第k个结点和r层第j个结点的权重。 wjkrr1krj
在这里插入图片描述
简 便 的 写 法 就 是 v j r ( i ) = w j t T y r − 1 ( i ) 简便的写法就是v_j^r(i)=w_j^{t\mathrm{T}}y^{r-1}(i) 便vjr(i)=wjtTyr1(i)
其 中 y 0 r − 1 ( i ) ≡ + 1 其中y_0^{r-1}(i)\equiv+1 y0r1(i)+1
那 么 损 失 函 数 关 于 w j r 的 导 数 ( 梯 度 ) 就 是 : 那么损失函数关于w_j^r的导数(梯度)就是: wjr
在这里插入图片描述
又 又
在这里插入图片描述
记 记
在这里插入图片描述
则 : 则:
在这里插入图片描述

计算 δ j r ( i ) \delta_j^r(i) δjr(i)

r = L r=L r=L

在这里插入图片描述
所 以 所以
在这里插入图片描述

r &lt; L r &lt; L r<L

因 为 v j r − 1 ( i ) 是 第 r 层 所 有 结 点 的 输 入 , 所 以 : 因为v_j^{r-1}(i)是第r层所有结点的输入,所以: vjr1(i)r
在这里插入图片描述
也 就 是 也就是
在这里插入图片描述
令 δ r = [ δ 1 r , δ 2 r , … , δ k r r ] T , 那 么 令\delta^{r}=[\delta_1^r,\delta_2^r,\ldots,\delta_{k_r}^r]^{\mathrm{T}},那么 δr=[δ1r,δ2r,,δkrr]T
δ r − 1 = M r δ r 其 中 M j k r = ∂ v k r ∂ v j r − 1 又 \delta^{r-1}=M^r\delta^r其中M_{jk}^r=\frac{\partial v_k^r}{\partial v_j^{r-1}}又 δr1=MrδrMjkr=vjr1vkr
在这里插入图片描述
所 以 M j k r ( i ) = w k j r f ′ ( v j r − 1 ( i ) ) 所以M_{jk}^r(i)=w_{kj}^r f^{&#x27;}(v_j^{r-1}(i)) Mjkr(i)=wkjrf(vjr1(i))

所 以 , 总 的 来 说 所以,总的来说
δ r = M r + 1 M r + 2 … M L δ L \delta^r=M^{r+1}M^{r+2}\ldots M^{L}\delta^L δr=Mr+1Mr+2MLδL
这 意 味 着 , 对 于 第 r 层 , 我 们 只 要 记 录 w r ( o l d ) 和 M r 就 足 够 迭 代 更 新 了 , 而 且 计 算 M r 的 工 作 可 以 在 前 向 传 递 的 时 候 完 成 , 也 可 以 在 反 向 传 播 的 时 候 再 计 算 。 这意味着,对于第r层,我们只要记录w^r(old)和M^r就足够迭代更新了,而且计算M^r的工作可以在前向传递的时候完成,也可以在反向传播的时候再计算。 rwr(old)MrMr
我 想 , 这 也 是 P y t o r c h 等 框 架 计 算 梯 度 的 原 理 , 当 然 这 只 是 猜 测 , 因 为 我 还 没 有 实 际 上 去 看 。 我想,这也是Pytorch等框架计算梯度的原理,当然这只是猜测,因为我还没有实际上去看。 Pytorch

weixin151云匹面粉直供微信小程序+springboot后端毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值