CS231n笔记 Lecture 5 Convolutional Neural Networks
2024-09-03 15:11:30
一些ConvNets的应用
- Face recognition
输入人脸,推测是谁 - Video classfication
- Recognition
识别身体的部位, 医学图像, 星空, 标志牌, 鲸... - 图像描述 Image Captioning
- transfer
卷积操作和信号处理的卷积操作的区别
印象中在学习数字图像处理这门课的时候,里面提到过卷积操作,当时的计算方法是,需要把卷积核作一个180度的旋转。其实在最开始听到“卷积神经网络“并开始在探究具体如何进行卷积操作的时候,我也有过这个疑惑,这里的卷积需要旋转吗?但是我当时不求甚解,没有深入地探查到底为什么。今天的课上,有一个同学把这个问题问了出来,Serena的回答是,我们在CNN里用的卷积实际上就是一个element wise的操作,只是思想上和信号处理的卷积相似,但具体计算还是有所区别了。感觉得到了官方的回复,这下可以少一些疑虑了。
卷积操作
计算
filter也是带有深度的,只是在很多时候这个*3被省略了。
但是,在经过一次计算后,这个深度信息(3)就没有了,或者是说被重新映射了,深度的个数取决于filter的个数。
输入输出的维度计算
这里需要注意的是,输出的图像为323210,此时已经没有所谓的rgb,新的通道个数为10,这是因为用了10个filter来做卷积。
参数个数
参数个数实际上就是filter里面元素的个数,由于共有10个55filter,且每个filter实际上是55*3的,外加1个bias项,所以总共的参数个数是760。
pooling
只spatially变小,depth保持不变。
为什么要用max pooling而不是average pooling?
因为每个region实际上是记录了一个激活强度,用max的话可以把这个激活强度最大程度地保留。(存疑)
为什么不直接用stride来做down sampling
当我们设置stride时,output的维度也会降低,Serena解释说这二者其实并没有太多本质的区别,而且最新的网络,大家也开始尝试用stride代替pooling来做down sampling.
最新文章
- 查看SQL Server被锁的表以及如何解锁
- BZOJ4572: [Scoi2016]围棋
- Javaweb学习随笔_JSP的九大内置对象
- 酶切位点分析(the analysis of enzyme sites)
- matlab 中txt文件(含字符及数值)处理
- Webpack使用教程六(Plugins)
- bootstrap响应式布局简单实例
- MFC中错误知识总结(一)
- topcoder srm 628 div2 250 500
- HDOJ/HDU 5686 Problem B(斐波拉契+大数~)
- myisam和innodb索引实现的不同
- Python对文件的操作(转)
- linux伪文件与proc文件
- PYTHON3 中的虚假四舍五入:round()
- JDBC-Oracle连接教程
- JavaScript图形库
- SQL-18 查找当前薪水(to_date='9999-01-01')排名第二多的员工编号emp_no、薪水salary、last_name以及first_name,不准使用order by
- Ubuntu 14.04 installation &; bugs on Alienware-13
- 11 基于django的图书管理系统 多表
- ABOUT ME/OI回忆录