Convolutional Neural Networks for Visual Recognition 7

Two Simple Examples

softmax classifier

后,我们介绍两个简单的例子,一个是线性分类器,一个是神经网络。由于网上的讲义给出的都是代码,我们这里用公式来进行推导。首先看softmax classifier 的例子。给定输入 XRN×D ,权值 WRD×K ,偏移量 bR1×K ,我们可以得到分类器对每个样本的预测分数: f=XW+b ,我们可以用softmax 函数将预测分数转为概率: pi=efijefj pi
表示样本属于第 i 类的概率,fi,fj表示线性函数对样本属于第 i,j 类的预测分数。

我们可以建立如下的loss function:

Li=log(pyi)=logefyijefj

L=1NiLi+12λklW2k,l

下面我们推导loss对 W,b 的偏导数,我们可以先计算loss对 f 的偏导数,利用链式法则,我们可以得到:

Lifk=Lipkpkfkpifk=pi(1pk)i=kpifk=pipkikLifk=1pyipyifk=(pk1{yi=k})

进一步,由 f=XW+b ,可知 fW=XT,fb=1 ,我们可以得到:

ΔW=LW=1NLiW+λW=1NLippffW+λWΔb=Lb=1NLib=1NLippffbW=WαΔWb=bαΔb

Neural Networks

上面介绍的是softmax 分类器,下面我们介绍神经网络。神经网络与softmax分类器类似,只是多了一个隐含层。我们先考虑其前向传递。

f1=XW1+b1h=max(0,f1)f2=hW2+b2pi=ef2ijef2jL=1NiLi+12λw21+12λw22

下面我们看如何利用BP对网络中的参数进行更新:

Lf2=1NLif2=1N(pk1{yi=k})ΔW2=LW2=Lf2h+λW2Δb2=Lb2=Lf2ΔW1=LW1=Lf2f2hX+λW1Δb1=Lb1=Lf2f2h

上面的表达式忽略了矩阵运算里的一些转置,实际编写代码的时候需要注意这一点,最后,我们可以得到如下的参数更新表达式:

W1=W2αΔW2b1=b2αΔb2W1=W1αΔW1b1=b1αΔb1

还有一点,上式的N表示训练集里的样本总数,如果我们要用batch模型,那么可以将整个训练集分成若干个batch,那么此时的N就是每个batch的样本数。

Reference

http://cs231n.stanford.edu/

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、付费专栏及课程。

余额充值