前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >都说卷积神经网络是个好东西,但它有什么弊端呢?

都说卷积神经网络是个好东西,但它有什么弊端呢?

作者头像
AI科技大本营
发布2018-04-27 09:52:21
6090
发布2018-04-27 09:52:21
举报

图片来源:Mathworks

翻译 | 王赫

编辑 | Donna

2012年,三位深度学习的“巨人”Alex Krizhevsky, Ilya Sutskever 和 Geoffrey Hinton,联合发表了题为 “ImageNet Classification with Deep Convolutional Networks” 的论文。自此,卷积神经网络( CNNs )就成了一个万人追捧的工具,并使深度学习成为人工智能领域的一大热门。

不可否认,CNNs 在计算机视觉领域无疑是一手实力制胜牌,在许多类型的任务中也表现出了惊人的性能。然而,CNNs 是完美的吗?这就是我们能做到的最好吗?我想你从我的题目中也已经看出来了端倪,答案是 NO!

2014年12月4日,Geoffrey Hinton 在 MIT 上发表了一篇关于他的"胶囊网络"( capsule networks )项目的演讲。在报告中,他讨论了 CNNs 中的一些问题,以及为何池化( pooling )的表现非常糟糕。事实上,池化的表现可以用灾难来形容。

本文会先对CNNs和池化层做一个简单介绍,然后将讨论目前CNNs存在的问题。

▌卷积计算层

一个卷积计算层中有一组矩阵,它与上一层神经元输出的矩阵做卷积乘法操作。这样操作后可以得到一些基本的特征,如边缘、颜色或模式,也可以得到一些复杂的特征,如形状、鼻子或嘴。所以,卷积计算层中的这些矩阵也被称为过滤器( filters )或核( kernels ) 。

卷积运算的一个操作:

▌池化层

池化层的类型不止一种,有最大池化,平均池化等等。现今最常用的是最大池化,这是因为它对于有些任务来说可以实现平移不变性,此外还可以非常廉价(无参数)地实现降维输出。

事实上,最大池化操作起来非常简单,你只需要预定义一个过滤器(即一个窗口),并将这个窗口在输入数据矩阵上滑动,每次取窗口中的最大值作为输出值。

过滤器大小为2x2的最大池化

▌那么,问题到底出在哪儿?

反向传播

反向传播算法并不是一个深度学习中的高效算法,因为它对数据量的需求很大。

平移不变性

当我们说平移不变性时,我们意思是,稍微改变同一物体的朝向或位置,可能并不会激活那些识别该物体的神经元。

正如上图所示,假如一个神经元是用来识别一只猫的,其参数会随着猫的位置和转动的变化而变化。虽然数据扩增(data augmentation)在一定程度上解决了这个问题,但这个问题并没有得到彻底的解决。

池化层

池化层的存在会导致许多非常有价值的信息的丢失,同时也会忽略掉整体与部分之间的关联。比如,当我们使用脸部探测器时,我们必须把一些特征结合在一起(嘴,双眼,脸的轮廓和鼻子)才能识别这张脸。

CNN的判别方式是,如果这5个特征同时呈现的概率很高,那这就将是一张人脸。

用CNN判别上面两张图,输出的辨认结果很接近,但效果并不好。

▌结论

CNN很厉害,但它还是有两个非常危险的缺陷:平移不变性和池化层。不过,我们可以尝试通过数据扩增等方法来避免潜在的缺陷。

现在,胶囊网络等新的结构的出现正在给深度学习领域带来一场革命。未来,更多改进过的事物会诞生。

作者|Mahmoud Tarrasse

链接|https://medium.com/@mahmoudtarrasse/what-is-wrong-with-convolutional-neural-networks-75c2ba8fbd6f

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-01-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI科技大本营 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档