Convolutional Neural Networks Learning Note (一)

来源:互联网 发布:三下五除二 软件 编辑:程序博客网 时间:2024/05/21 06:46

-----相关名词介绍:

CNN:Convolutional Neural Networks

FC:Fully Connected

IoU:intersection over Union(LoU的定义:Region Proposal 与 GROUnd TRUth的窗口的交集和并集的比值,如果IoU低于0.5,那么相当于目标还是没有被检测到)

ICCV:International Conference on Computer Vision

R-CNN:Region-based Convolutional NeuralNetworks

AR:Average Recall

RPN:Region Proposal Networks

FAIR:Facebook AI research

w.r.t:with respect to 

Image Classificarion:图像分类

Object Detetction LocalizationSegmentation:对角检测、定位、分割

i.e.:in other words

dot product:点乘

ReLu:Rectified Linear Units??类似sigmod函数 的分类器映射

the stride :滤波器的步调

the amount of zero padding :0填充的数目

----CNN的物理意义:

图像的主要问题在于其高维度,原因是对高维度的处理时间和运算能力成本很高。卷积网络就是为了通过各种方式降低图像的维度而设计的。过滤器步幅即是减少维度的一种方法,另一种方法是降采样。

----Input Image 与filter:

滤波器的深度和输入的深度一致,滤波器和输入的每个深度分别进行卷积得到activaton map ,比如32*32*3的输入图像和5*5*3的滤波器卷积,会得到28*28*1的activation map.

----Activation map与filter:

-有多少个filters ,activation map的维度就是多少,如有两种滤波器,那么会生成28*28*2的activation map。

-Activation map的每个维度的(它的维度可看作它的数目)共享对应fliter的权重和偏差。

----ConvNet的结构:

---Pooling(池化/降采样)的物理意义:

Pooling层一般用于降维,将一个kxk的区域内取平均或取最大值,作为这一个小区域内的特征,传递到下一层。传统的Pooling层是不重叠的,使Pooling层重叠可以降低错误率,而且对防止过拟合有一定的效果。

---Conv Layer的总结:


K:filters的数目

F:filter的空间大小

S:步调长度(向前移动的步数)

P:0填充数目

----深度革命中遇到的问题:

          随着CNN网络的发展,尤其的VGG网络的提出,大家发现网络的层数是一个关键因素,貌似越深的网络效果越好。但是随着网络层数的增加,问题也随之而来。

         第一个问题: vanishing/exploding gradients(即梯度消失或爆炸):这就导致训练难以收敛。但是随着 normalized initialization and BN(Batch Normalization)的提出,解决了梯度消失或爆炸问题。
        第二个问题:网络越深,训练误差和测试误差越大。在收敛问题解决后,又一个问题暴露出来:随着网络深度的增加,系统精度得到饱和之后,迅速的下滑。让人意外的是这个性能下降不是过拟合导致的。对一个合适深度的模型加入额外的层数导致训练误差变大。如下图所示,可通过Deep Residual Learning 框架来解决这种因为深度增加而导致准确性下降问题。


0 0
原创粉丝点击