卷积神经网络之前向传播算法

0.杂谈

本来个人是准备毕业直接工作的,但前段时间学校保研大名单出来之后,发现本人有保研机会,于是就和主管请了几天假,回学校准备保研的事情。经过两天的准备,也是非常幸运,成功拿到本院的保研名额。明确得到保研名额的时候已经是9月18号,然而国家推免系统开放时间是9月28号,也就是说我只还有10天时间准备保研,而且这个时间点很多学校夏令营、预报名活动早已结束,不再接受学生申请。所以能够申请的学校也就很少,同时这10天之间,还要赶回北京实习,所以时间还是很赶的。

短短10天,发生了很多有趣的事情,但不论怎样,最后的结果还是很不错的,成功保研到华中科技大学,全国排名前10左右的高校,而且计算机很强 。但华科要求,本科非985高校不允许读学硕,只能读专硕。我倒觉得无所谓,反正不准备继续读博,学硕、专硕没有太大区别。

被华科预录取之后,导师要求提前到实验室学习,于是10月10号便来到实验室搬砖。怎么说呢,感觉还是挺累的,比工作还累,早9晚10。但确实能够学习到很多东西,实验室环境很不错,每人一台电脑,等等福利都很好。至此,一直准备工作的我,成功走上读研之路,加油啦。前段时间一直想写篇关于从双非到985高校的飞跃之路,但感觉有点哗众取宠,以后看情况再写吧。

最后,个人准备从推荐方向慢慢转到NLP方向,但推荐方向不会放弃,继续学习。OK,开始学习算法,今天准备讲解CNN(卷积神经网络)。学习卷积神经网络之前,建议学习下深度神经网络,没学习过的可以看我之前写的文章,深度神经网络之前向传播算法深度神经网络之反向传播算法深度神经网络之损失函数和激活函数深度神经网络之正则化

1.CNN基本结构

01

首先我们来看看卷积神经网络(CNN)的基本结构。如上图所示,可以看出最左边的图片就是我们的输入层,计算机理解为输入若干个矩阵。接着是卷积层(Convolution Layer),卷积层是CNN所特有的,卷积层使用的激活函数是ReLU,之前在DNN之中介绍过ReLU的激活函数,形式如 R e L U = max ⁡ ( 0 , x ) ReLU=\max(0,x) ReLU=max(0,x)。卷积层后面的是池化层,池化层也是CNN所特有的,池化层没有激活函数。

卷积层+池化层的组合可以在CNN隐藏层中出现多次,实际使用中根据模型需要而定。同时我们也可以灵活使用卷积层+卷积层,或者卷积层+卷积层+池化层的组合,卷积层+池化层的组合在构建模型时没有限制,但最常见的CNN都是若干卷积层+池化层的组合。

在若干卷积层+池化层的组合后面是全连接层(Fully Connected Layer),全连接层就是之前讲到的DNN结构,只是输出层使用了Softmax激活函数来做图像识别的分类。从上面模型可以看出,CNN相对于DNN,比较特殊的是卷积层和池化层。如果之前熟悉DNN的话,只要把卷积层和池化层的原理理解清楚,那么CNN就简单啦。

2.卷积

既然是学习卷积神经网络,那自然需要了解什么是卷积。在学习高等数学的时候,微积分中卷积表达式和其离散形式如下所示。
s ( t ) = ∫ x ( t − a ) w ( a ) d a s(t)=\int x(t-a)w(a)da s(t)=x(ta)w(a)da

s ( t ) = ∑ a x ( t − a ) w ( a ) s(t) = \sum _a x(t-a)w(a) s(t)=ax(ta)w(a)

当然也可以用矩阵进行表达,其中*****表示卷积。
s ( t ) = ( X ∗ W ) ( t ) s(t)=(X*W)(t) s(t)=(XW)(t)
如果是二维的卷积,则其表达式如下所示。
s ( i , j ) = ( X ∗ W ) ( i , j ) = ∑ m ∑ n x ( i − m , j − n ) w ( m , n ) s(i,j)=(X*W)(i,j)=\sum_m \sum_n x(i-m,j-n)w(m,n) s(i,j)=(XW)(i,j)=mnx(im,jn)w(m

  • 6
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值