深度学习中卷积和池化的一些总结
来源:互联网 发布:cdr软件怎么购买 编辑:程序博客网 时间:2024/05/21 18:46
最近完成了hinton的深度学习课程的卷积和池化的这一章节了,马上就要结束了。这个课程的作业我写的最有感受,待我慢慢说来。
1:里面有几个理解起来的难点,一个是卷积,可以这么来理解。
这幅图是对一个5*5的矩阵A进行3*3的矩阵B的卷积,那么就从最上角到右下角,生成卷积之后的矩阵的大小是(5-3+1)*(5-3+1)的矩阵,生成之后的矩阵的元素值,是之前的两个矩阵对应元素的乘积之和,这个在matlab中有现成的命令,但是用之前需要注意下,比如在图中这样的B的话要首先进行B中元素左右和上下的对调才可以满足右侧矩阵的结果。这个是matlab中进行卷积计算的命令要求的,并且这个命令还有第三个参数,如图中使用的是valid参数值,具体的用法还请doc来了解吧。
2:说下池化,其实池化很容易理解,先看图:
比如上方左侧矩阵A是20*20的矩阵要进行大小为10*10的池化,那么左侧图中的红色就是10*10的大小,对应到右侧的矩阵,右侧每个元素的值,是左侧红色矩阵每个元素的值得和再处于红色矩阵的元素个数,也就是平均值形式的池化。
3:上面说了下卷积和池化,再说下计算中需要注意到的。在代码中使用的是彩色图,彩色图有3个通道,那么对于每一个通道来说要单独进行卷积和池化,有一个地方尤其是进行卷积的时候要注意到,隐藏层的每一个值是对应到一幅图的3个通道穿起来的,所以分3个通道进行卷积之后要加起来,正好才能对应到一个隐藏层的神经元上,也就是一个feature上去。
ps:在做这个实验的过程中,遇到了个2B的问题。我的代码中对convolution和pooling的check都过去了,但是准确率只有25%,反正中间使用了很多方法来找我的错误,最后都没找到,最终和同学的代码对比,一个文件一个文件的替换来跑(为了快速找到问题,把数据规模以及隐藏层的个数都调小了的),最终发现是池化的时候的问题,我把问题原因贴在这里,在池化的过程中,代码应该是这样子的:
而我写成了(注意红色部分)
但是这个代码被check过了没问题,我去看了下check的代码,这个代码是给出的:
也就是这个测试矩阵的features为1,numImages也是1,所以在我的代码中这个问题正好被隐藏掉了,导致我的check是显示congratulations的,因为也导致我就压根没想到是这个地方错误的。。
以后变量名一定要注意,不要弄如此类似的了,一不小心就搞错了,还有不要太相信这个里面的check的代码了,有错误还是多仔细检查每一个步骤,并且check的代码起码也要具备共性才有说服力!
- 深度学习中卷积和池化的一些总结
- 深度学习中卷积和池化的一些总结
- 深度学习、卷积神经网络的一些文章和牛人
- 深度学习之卷积和池化
- 深度学习(卷积神经网络)一些问题总结
- 深度学习(卷积神经网络)一些问题总结
- 深度学习(卷积神经网络)一些问题总结
- 深度学习(卷积神经网络)一些问题总结
- 卷积神经网络(深度学习)一些问题总结
- 深度学习(卷积神经网络)一些问题总结
- 卷积神经网络(深度学习)一些问题总结
- [深度学习]深度学习中卷积操作和数学中卷积操作的异同
- 深度学习卷积网络中反卷积/转置卷积的理解 transposed conv/deconv
- 卷积和池化的总结
- 深度学习框架Lasagne的一些总结和技巧
- 深度卷积神经网络学习笔记1:卷积的一些相关概念
- 卷积神经网络学习--卷积和池化
- 卷积神经网络学习--卷积和池化
- codeforce344C
- 并发编程的相关API和面临的挑战(2)
- You are *required* to use the date.timezone setting or the date_default_timezone_set() function.
- 什么叫做架构师
- JavaScript事件冒泡简介及应用
- 深度学习中卷积和池化的一些总结
- Android监听获取手机信号强度
- linux 和 windows tcp的限制
- 怎样成为更好的架构师
- IDE自动生成merge,attachDirty,attachClean作用
- Documentation_driver-model_binding
- to_郭丹
- 独自一人被放逐时必备书籍
- CSS 相对|绝对(relative/absolute)定位系列(一)