下学期要学CV了 又要换电脑 干脆把笔记记在这上面 以后也好找
李宏毅机器学习笔记
;list=PLJV_el3uVTsPy9oCRY30oBPNLCo89yu49&index=19(李宏毅)为什么要使用CNN而不是全连接神经网络
如果要使用全连接神经网络,那么每一层的参数就过于多了,如果需要处理高清或者超清图片,这个计算量就真的很大了 所以我们需要一种更好的网络结构来帮助我们进行训练。而CNN做的事就是把一些我们知道的不必要的参数给过滤,这样计算量就会大幅度下降了。
可以拿掉多余参数的原因:
1.每个neuron只用观察一张图片的某一个区域即可,不需要观察整张图就能判断出他需要的特征是否存在。比如一只鸟的照片,只需要观察某一指定位置,就能知道鸟嘴是否存在
2.同样的pattern可能会出现在图片的不同部分 鸟嘴可能出现在左上部分 也有可能出现在中间的地方 我们不需要两个neuron来做一样的事 只是为了侦测仅仅一个pattern
3. 我们可以对图片做subsampling,一个图片能拿掉一些像素,去掉这些像素后仍然可以让我们看出这是一个鸟 而不会变成其他什么乱七八糟的东西 所以我们可以用这个概念把我们需要处理的数据变小
CNN结构
图片---->卷积层--->池化层--->卷积层---->池化层.....--->Flatten--->全连接神经网络----->结果
中间有几层卷积和几层池化由开发者自己决定,对于CNN前面的两个特征 是由卷积层来做的 subsampling 是由池化层来进行处理
每个层的功能:
卷积层:这有一个6*6的图片,其中1代表他是有东西在图片上的 0代表没有,然后在卷积层里有很多不一样的过滤器(Filter),如下图所示,每个Filter里面的值就跟全连接网络的W和b是一样的,是需要去训练出来的,对于图中这个例子,Filter的大小是3*3,意味着他只用判断一个3*3的范围里是否出现了他想要的pattern。
本文发布于:2024-02-03 03:51:14,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170690347548462.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |