2021李宏毅 机器学习 Convolutional Neural Network (CNN)

应用1:影像辨识

一张图片是一个三维的Tensor,一维是长,一维是宽,一维是channel (channel=3代表RGB的三种颜色,长和宽代表解析度,像素的数目)

模型的弹性越大,越容易过拟合。

观察一

图像中是否出现一些重要的pattern,这种pattern代表重要物件(例如鸟嘴,鸟眼,鸟爪)

一个neuron不需要去看整张图片,只需要看图片的一小部分,就足以去侦测一些关键的pattern有没有出现

第一个简化fully connected network的方式 : Receptive Filed (感受野)

Receptive Filed彼此之间可以是重叠的。

同一范围可以有多个不同的neuron。

最经典的安排方式:一般做影像辨识的时候会看所有的channel, 所以在描述一个Receptive Filed的时候,我们只讲它的宽高就行了,不用讲它的深度,因为它考虑的是全部的channel,宽高合起来叫Kernel Size, 一般Kernel Size不会设太大,3 x 3足够了,7x7,9x9就是蛮大的Kernel Size了。

一个Receptive Filed,一般会有一组一排neuron去守备它,

比如:64个或128个neuron去守备一个Receptive Filed的范围。

移动的量叫做Stride(一般设为Stride=1或2)因为我们希望Receptive Filed是有重叠的部分,为什么呢?假设Receptive Filed完全没有重叠,那有一个pattern正好出现在两个Receptive Filed的交界上面,就会变成没有任何neuron去侦测它,可能就会Miss掉这个pattern。

超出范围就去做Padding,padding就是补值,当做那个里面的值为0

观察二

同样的pattern出现在不同图片的不同区域里

第二个简化fully connected network的方式 :parameter sharing(共享参数)

不同的neuron,weight一样

两个相同receptive filed的neuron是不共享参数的

每一组Receptive Filed 都只有一组参数,这些参数叫做Filter.

Receptive Filed + parameter sharing = Convolution Layer

有用 Convolution Layer 的 neuron 就叫 Convolution Neural Network

CNN的Model的bias比较大,Model的bias大不一定是坏事

当Model的复杂度很高的时候,比较容易过拟合

Fully Connected Layer可以做各式各样的是事情,可以有各式各样的变化,但是它可能没有办法在任何特定的任务上做好

Convolution Layer是专门为影像设计的,虽然Model bias很大,但它仍可以做的很好,这个在影像上不是问题,但是在影像之外的任务,就要小心了,要看那些任务有没有影像用的特性。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值