作者thefattiger (LawTea)
看板DataScience
标题Re: [问题] 请问Fully convolutional networks输入
时间Tue Sep 11 00:21:23 2018
※ 引述《ChenXY (不差不歪 一插就歪)》之铭言:
: 藉着这篇标题想请问CNN与FCNN的比较
: http://mnist-demo.herokuapp.com/
: 上方连结是分别用上述两种网路分辨手写数字0~9的试验
: 网页中提到CNN的准确率达99.2% 而FCNN只有91.8%
: 实际测试虽然辨识度都不到9成 但CNN确实比较准
: 两者差别在CNN只有最後一层才fully connected
: 查了一些资讯提到当图像尺寸较大时
: FCNN会有过多的完全连接浪费掉
: 而且快速累积的大量参数也会很快就导致过度配适
: 对於上述解释其实我不太有感受
: 想请教有没有比较直观的说法
: 可以解释为何CNN的辨识率会比FCNN还高呢?谢谢!
原原po问的应该是Fully Convolutional Neural Network
而不是Fully Connected Neural Network
通常前者会简写为FCN,後者会简写为FNN
FCN是拿来做pixel-wise classification用的,也就是segmentation
至於你说的问题,为何CNN在影像辨识会比FNN好
我给一点定性的说法:
人眼决定一个物体看起来像什麽是由物体的各个局部特徵决定
影像中的局部特徵如边、角、形状等等都是只由局部的像素构成
比如两个相邻的像素一个灰阶值255一个是0,那你就知道中间很可能有个edge
而相隔很远的两个像素通常不会给你什麽关键的资讯
CNN这种sliding window的方式正好给Network一个机会去学习怎麽提取影像的局部特徵
传统的影像处理上也常利用各种kernal function去对影像做Convolution
所以与FNN强迫把整张图的像素的联系在一起比较起来,CNN是更自然的作法
至於过度配适指的应该是over-fitting吧?
这个比较一下FNN跟CNN的参数就知道了
MNIST是32*32=1024
假设第一层hidden-layer有100个neuron,这样光第一层就有102400个参数了
而CNN就算来100个3*3的的kernel也才900个参数
自然就不容易over-fitting了
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 58.114.212.150
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/DataScience/M.1536596485.A.F63.html
1F:推 yoyololicon: 说的ㄅ错 09/11 10:40
2F:推 abgfeds: 推推 讲到连我都懂了 不简单 09/11 11:05
3F:推 ChenXY: 感谢您精辟的解说 09/11 22:36
4F:推 melonboya: 推推 09/14 11:21