深度学习---卷积神经网络解决分类与回归问题

一、CNN神经网络的发展史:
Lenet,1986年
Alexnet,2012年 2012年,Imagenet比赛冠军的model——Alexnet [2](以第一作者alex命名),AlexNet 是一种典型的 convolutional neural network,它由5层 convolutional layer,2层 fully connected layer,和最后一层 label layer (1000个node, 每个node代表ImageNet中的一个类别) 组成
GoogleNet,2014年 14年比赛冠军的model,这个model证明了一件事:用更多的卷积,更深的层次可以得到更好的结构。
VGG,2014年 VGGNet是google和牛津大学一起研发的卷积神经网络,VGG-Net不同于AlexNet的地方是:VGG-Net使用更多的层,通常有16-19层,而AlexNet只有8层。另外一个不同的地方是:VGG-Net的所有convolutional layer 使用同样大小的 convolutional filter,大小为 3 x 3。
Deep Residual Learning,2015年,这个model是2015年底最新给出的,也是15年的imagenet比赛冠军。可以说是进一步将conv进行到底,最深的model采用的152层
不同的卷积神经网络的对比:
深度学习---卷积神经网络解决分类与回归问题_第1张图片

二、分类与回归
分类:计算每一个类别的概率值,选择最大的概率值的分类作为最终的结果(sigmoid二分类,softmax、softmax_loss多分类)。
回归:计算出属于哪种分类,同时要得到所在位置(x,y,w,h)。
物体检测到物体分割,分类 +回归(既要得到种类又要得到位置)。
(1)分类:经过一系列的卷积层和池化层之后,再经过全连接层得到样本属于每个类的得分(概率值),用softmax对其进行分类。
(2)回归:定位,用一个矩形框来框住要识别的物体。
①回归:输入数据通过神经网络不断的拟合数据得到x,y,w,h,通过L2欧氏距离(距离差的平方和的算术平方根)来计算差异值,当差异值最小时就是我们要得到的物体的定位数据了。再通过反向传播计算梯度值,调节权重值来更新数据。
x,y,w,h—>>>x,y,w,h
②经过全连接层要做分类和回归
深度学习---卷积神经网络解决分类与回归问题_第2张图片
三、CNN卷积神经网络的训练过程
1、选定分类模型
模型:VGGNet、AlexNet、GoogleNet,RES net
不需要自己从零开始初始化权重值和阈值等参数,采用fine tune,即利用别人训练好的模型来训练自己的网络,用别人的参数自己再进行微调,只需修改全连接层即可
微调的做法:
a、截断预先训练好的网络的最后一层softmax,并用与我们自己的问题相关的新的softmax替换(1000类—>>>10类)
b、使用较小的学习率来训练网络
c、如果数据集数量过少,我们只训练最后一层,如果数量中等,就冻结预训练网络的前几层的权重
2、添加回归模块(R-CNN、fast R-CNN、faster R-CNN)
训练回归模型使用随机梯度下降(SGD)和计算损失值
位置:卷积层或者全连接层的后面
可用来判断物体的行为或者人脸中加入其他特效
①sliding window
在寻找location的过程中,对于一个输入用固定大小的滑动窗口在图像中不断移动,每移动一个区域可以用训练好的网络如VGGNet来算出属于这个类别的概率,滑完所有区域概率最高的区域就为最终的location。
深度学习---卷积神经网络解决分类与回归问题_第3张图片

在使用sliding window时要对图像进行预处理—scale变换,即将原输入图像放大缩小为一系列固定大小的sliding window去滑动,这样做是为了检测物体在不同图像中大小不同时的位置。
但是因为滑动窗口一般比较小,对于每一次输入需要滑动很多次,每滑动一次就要再遍历一次CNN,这是非常占内存的,改进办法----Region Proposals区域建议
②selective search算法
将输入图像中有用的物体都框出来作为候选框,再用selective search算法对几个候选框将图像的像素特性或者纹理特性类似或者有相同规律的框合并成大的框,这样最终的框就是location。
深度学习---卷积神经网络解决分类与回归问题_第4张图片

③几种回归模型
a、R-CNN
与CNN类似。最后一步是将feature先固化在disk上,再选择模型进行回归
深度学习---卷积神经网络解决分类与回归问题_第5张图片

深度学习---卷积神经网络解决分类与回归问题_第6张图片
深度学习---卷积神经网络解决分类与回归问题_第7张图片
R-CNN的缺点:
测试时间非常慢,对于每一个region proposal都有一次CNN
过程繁琐,先进行固化再进行提取
b、fast R-CNN
深度学习---卷积神经网络解决分类与回归问题_第8张图片

使用卷积共享,对所有的区域建议只进行一次CNN,且不需固化。
在sliding window全部进行完后进行统一的计算,不会固化在磁盘上,直接进行全连接计算,然后选择是否进行回归或分类计算。
解决了输入到输出整个过程中完成了所有分类任务和回归任务。
c、faster R-CNN
深度学习---卷积神经网络解决分类与回归问题_第9张图片

将selective search整合到net中,即在网络中添加一层region proposal network,不需要在原输入图像中找候选框,而是在卷积之后的特征图中找框,提高了速度。
3、训练网络
4、测试
物体检测:需要把所有的物体都检测出来,并且标注所在的位置,是属于分类与回归的结合体
不能用回归解决:无法指定要获取多少个物体,那就不知道要求多少个物体的x,y,w,h
深度学习---卷积神经网络解决分类与回归问题_第10张图片

不能用分类解决:需要测试多次物体的位置及scale变换,如果CPU有多个,可以用分类解决,但会花很多时间

深度学习---卷积神经网络解决分类与回归问题_第11张图片

你可能感兴趣的:(深度学习)