博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CS231n笔记 Lecture 5 Convolutional Neural Networks
阅读量:5337 次
发布时间:2019-06-15

本文共 960 字,大约阅读时间需要 3 分钟。

一些ConvNets的应用

  • Face recognition
    输入人脸,推测是谁
  • Video classfication
  • Recognition
    识别身体的部位, 医学图像, 星空, 标志牌, 鲸...
  • 图像描述 Image Captioning
  • transfer

卷积操作和信号处理的卷积操作的区别

印象中在学习数字图像处理这门课的时候,里面提到过卷积操作,当时的计算方法是,需要把卷积核作一个180度的旋转。其实在最开始听到“卷积神经网络“并开始在探究具体如何进行卷积操作的时候,我也有过这个疑惑,这里的卷积需要旋转吗?但是我当时不求甚解,没有深入地探查到底为什么。今天的课上,有一个同学把这个问题问了出来,Serena的回答是,我们在CNN里用的卷积实际上就是一个element wise的操作,只是思想上和信号处理的卷积相似,但具体计算还是有所区别了。感觉得到了官方的回复,这下可以少一些疑虑了。

卷积操作

计算

802154-20180824162224848-1972924591.png

filter也是带有深度的,只是在很多时候这个*3被省略了。
但是,在经过一次计算后,这个深度信息(3)就没有了,或者是说被重新映射了,深度的个数取决于filter的个数。
802154-20180824162515811-276953418.png

输入输出的维度计算

802154-20180824162344281-1696686540.png

这里需要注意的是,输出的图像为323210,此时已经没有所谓的rgb,新的通道个数为10,这是因为用了10个filter来做卷积。

参数个数

802154-20180824162804897-19397725.png

参数个数实际上就是filter里面元素的个数,由于共有10个55filter,且每个filter实际上是55*3的,外加1个bias项,所以总共的参数个数是760。

pooling

802154-20180824164234741-2062818358.png

只spatially变小,depth保持不变。

为什么要用max pooling而不是average pooling?

因为每个region实际上是记录了一个激活强度,用max的话可以把这个激活强度最大程度地保留。(存疑)

为什么不直接用stride来做down sampling

当我们设置stride时,output的维度也会降低,Serena解释说这二者其实并没有太多本质的区别,而且最新的网络,大家也开始尝试用stride代替pooling来做down sampling.

转载于:https://www.cnblogs.com/zhsuiy/p/9416873.html

你可能感兴趣的文章
redux-effect
查看>>
Swift和OC混编
查看>>
Android轻量级的开源缓存框架ASimpleCache
查看>>
他山之石:加载图片的一个小问题
查看>>
shell - 常识
查看>>
mssql sqlserver 使用sql脚本 清空所有数据库表数据的方法分享
查看>>
分层图最短路【bzoj2763】: [JLOI2011]飞行路线
查看>>
linux下编译复数类型引发的错误:expected unqualified-id before '(' token
查看>>
codeforces 1041A Heist
查看>>
字典常用方法
查看>>
Spring Cloud Stream消费失败后的处理策略(三):使用DLQ队列(RabbitMQ)
查看>>
bzoj1048 [HAOI2007]分割矩阵
查看>>
Java中的编码
查看>>
PKUWC2018 5/6
查看>>
As-If-Serial 理解
查看>>
洛谷P1005 矩阵取数游戏
查看>>
在Silverlight中使用HierarchicalDataTemplate为TreeView实现递归树状结构
查看>>
无线通信基础(一):无线网络演进
查看>>
如何在工作中快速成长?阿里资深架构师给工程师的10个简单技巧
查看>>
WebSocket 时时双向数据,前后端(聊天室)
查看>>