Convolutional Neural Network
从通俗版的论述:
- CNN是借鉴了人的视网神经的成像原理
- 输入的图像是立体的,因为有RGB三色,不断的卷积过程中,这个层呢,长宽会变窄,高变长。最终一步分出类别。
CNNs做的就是下面3件事:
- 读取图片(原大小W)
- 在机算机的眼里,一幅图像是 0 ~ 255的数值,如果是黑白
提取特征
- 利用filter,即卷积层,寻找图片的特征,从图像的头到尾扫一遍,用卷积运算 (属于线性运算)
- 过滤器的长宽设定有讲究,长宽越大,丢失的细节就越多,所以一般会设定相对小
- 过滤器移动的step,也有讲究。一般是一步接一步移,跳跃式前进,会有细节丢失
- 另外扫一遍后,得出的特征图会比原来的小,有时为了还原回图片大小,需要在原图上补0,加个padding,公式p=(F-S)/2
过滤器每扫一遍,只能取一种特征,所以会多扫几遍,会取到的特征数多一点,如何定filter中的值?
这就涉及到CNNs要做的工作了。每一个过滤器中的数值,都是算法自己学习来的,不需要我们费心去设置。
人工要做的:设置过滤器的大小F; 设置过滤器滑动的步幅数S;设置过滤器的个数K
卷积”输出的结果,是包含 :宽、高、深 3个维度的,深就是filter数
当我们设置这些超参数时,需要遵循一个原则
- 特征图大小:(W-F + 2*P )/S 为一个整数
图片分类
从以下方面卷积神经网络
- CNN架构
卷积层
- 利用filter,即卷积层,寻找图片的特征,从图像的头到尾扫一遍,用卷积运算 (属于线性运算)
- 过滤器的长宽设定有讲究,长宽越大,丢失的细节就越多,所以一般会设定相对小
- 过滤器移动的step,也有讲究。一般是一步接一步移,跳跃式前进,会有细节丢失
- 另外扫一遍后,得出的特征图会比原来的小,有时为了还原回图片大小,需要在原图上补0,加个padding,公式p=(F-S)/2
- 过滤器每扫一遍,只能取一种特征,所以会多扫几遍,会取到的特征数多一点,如何定filter中的值?
- 这就涉及到CNNs要做的工作了。每一个过滤器中的数值,都是算法自己学习来的,不需要我们费心去设置。
- 人工要做的:设置过滤器的大小F; 设置过滤器滑动的步幅数S;设置过滤器的个数K
- 卷积”输出的结果,是包含 :宽、高、深 3个维度的,深就是filter数
- 当我们设置这些超参数时,需要遵循一个原则 :特征图大小:(W-F + 2*P )/S 为一个整数
Activate function 激活层
由于卷积运算是一种线性运算,
卷积之后,常常引入一个“非线性”的计算,来使得数据更加接近真实世界。
ReLU
如果是负数,出来的结果就是0
如果是正数或零,出来的结果仍是自己本身
Pooling池化 (可选)
保留图片主要信息的前提下,将图片的尺寸缩小
有多种:“最大池化”、“平均池化”、“求和池化”
参数:过滤器大小(F),滑动步宽S
”池化”层的过滤器,其内部没有数值
经过“池化”处理后,得到的图片张数(即“图片深度”),仍等于上一层的图片张数。
Full connection Layer全连接层
- 分类
Loss(Cost) function
Architecture
卷积网络的神经科学基础
【Deep Learning】
下面是数学术语
什么是卷积?
所谓卷积神经网络,就是会自动的对于一张图片学习出最好的卷积核以及这些卷积核的组合方式,也就是对于一张图片的任务来说,求出最好的图片对于本任务的特征的表达,然后来进行判断,分类。
- 有卷积公式
卷积运算的原理?
一个卷积层包含的步骤
权值共享 http://blog.sina.com.cn/s/blog_6ca5ea9f0102x2f2.html
- 权值共享是指用相同的filter去扫一遍整个图像,相当于提一次某个特征,得到一个feature map
- 作用:有效降低链接权重数量。