matlab卷积神经网络代码_卷积神经网络 - CNN(附代码)

cf4f33afdf4fbd04cc642fd24faf81c5.png

AlexNet原文

之前有看过一些自己方向的论文,但是总体还是属于一种蒙的状态,然后觉得还是有必要把一些Base paper拿出来看看,毕竟基础很重要嘛, 写写随笔谈谈收获。

8c852bf93a2312f0548ef0f7a6c76edb.png

上面这个就是CNN的网络架构,跑的数据集是ImageNet

那么我们现在就来“剖析”一下,把deep Learning推上热门的CNN,因为Alex团队用了两个GPU跑,所以图片中的架构被分为两半,而我们下面放在一起进行讨论

Step 1:

输入图片数据(227 * 227 * 3),可能有人会有疑问上图中的大小是(224 * 224 * 3 )上图中的(224 * 224 * 3)应该是错的,为什么错呢,因为不符合公式,不符合逻辑,不符合常理,没道理呀,哈哈哈,所以也就是

Input 

计算卷积后的图片大小的公式如下

h 

Step 2:

对输入的图片进行第一层卷积

如论文中的图片,利用[11 * 11 * 3]的核对图片进行卷积,之后对卷积后的图片进行activation,normalization,和pooling, activation,normalization不会改变图像大小故不变。

Convolution

Step 3:

第一层的池化输出进行第二层卷积

采用了 'SAME'填充的方式,'SAME'也就是保存图片大小不变进行卷积

Convolution

Step 3:

第二层的池化输出进行第三层卷积

第三层卷积不再进行池化

Convolution

Step 4:

第三层的激活输出进行第四层卷积

第四层卷积同样不再进行池化

Convolution

Step 5:

第四层的激活输出进行第五层卷积

Convolution

Step 6:

第五层的池化层输出进行第六层全连接

平铺开我们第五层的池化层与第六层的4096个神经元进行全连接

全连接
fully_connect6 = [6 * 6 * 256, 4096]
fully_connect6 = relu(fully_connect6 )
dropout(fully_connect6)   #dropout随机失活,防止过拟合的一种方式

Step 7:

第六层的全连接输出进行第七层全连接

第六层4096个神经元与第七层的4096个神经元进行全连接

全连接

Step 8:

第七层的全连接输出进行第八层softmax输出层

第七层4096个神经元与第八层的1000个神经元进行全连接

输出层

因为有1000类所以输出为1000,利用softmax进行评分。

本人基于tensorflow搭了一个拙劣的cnn 跑了MNIST和cifar-10,Accuracy不高,只为通过代码更好的理解CNN,有兴趣的话点击下方查看代码:

MNIST手写体数字识别代码

cifar-10图像识别代码

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值