神经网络与深度学习小结(三)

AlexNet

网络结构

网络说明 :
        网络一共有8层可学习层——5层卷积层和3层全连接层
        左侧:连接数         右侧:参数

        改进:
                池化层均采用最大池化
                选用ReLU作为非线性环节激活函数
                网络规模扩大,参数数量接近6000万
                出现“多个卷积层+一个池化层”的结构
        普遍规律
                随网络深入,宽、高衰减,通道数增加
改进:输入样本
最简单、通用的图像数据变形的方式
        从原始图像(256,256)中,随机的crop出一些图像(224,224)。【平移变换,crop】
        水平翻转图像。【反射变换,flip】
        给图像增加一些随机的光照。【光照、彩色变换,color jittering】

改进:激活函数
        采用ReLU替代 Tan Sigmoid
        用于卷积层与全连接层之后

改进:Dropout
        在每个全连接层后面使用一个 Dropout 层,以概率 p 随机关闭激活函数

改进:双GPU策略
        AlexNet使用两块GTX580显卡进行训练,两块显卡只需要在特定的层进行通信

详细解释:以第一层conv1为例
        relu1:max(0,𝑥),作为激活函数紧接在卷积层后面
        norm1:局部响应归一化LRN        
                        LRN层作用不大,在CNN中并不常用
        pool1:采用max pooling        
                        pooling核大小为3×3
                        stride为2,即pooling核的步长是2,即2倍降采样
                        此处的pool1层是有交叠的池化层,即pooling核在相邻位置有重叠

VGG-16

网络结构

 

网络说明

 

        改进
                网络规模进一步增大,参数数量约为1.38亿
                由于各卷积层、池化层的超参数基本相同,整体结构呈现出规整的特点。
        普遍规律
                随网络深入,高和宽衰减,通道数增多。

残差网络ResNet

非残差网络的缺陷
残差网络的优势
梯度消失问题

 

残差块

 

残差网络

        普通网络的基准模型受VGG网络的启发

 

        卷积层主要有3×3的过滤器,并遵循两个简单的设计规则:①对输出特征图的尺寸相同的各层,都有相同数量的过滤器; ②如果特征图的大小减半,那么过滤器的数量就增加一倍,以保证每一层的时间复杂度相同。
        ResNet模型比VGG网络更少的过滤器和更低的复杂性。ResNet具有34层的权重层,有36亿FLOPs,只是VGG-19(19.6亿FLOPs)的18%。


常用数据集

MNIST

        MNIST数据集主要由一些手写数字的图片和相应的标签组成,图片一共有 10 类,分别对应从0~9V
        原始的MNIST数据库一共包含下面 4 个文件

        MNIST数据集是由0〜9手写数字图片和数字标签所组成的,由60000个训练样本和10000个测试样本组成,每个样本都是一张28 * 28像素的灰度手写数字图片。

Fashion-MNIST数据集
        FashionMNIST是一个替代MNIST手写数字集的图像数据集。它是由 Zalando旗下的研究部门提供,涵盖了来自 10 种类别的共 7 万个不同商品的正面图片。
        FashionMNIST 的大小、格式和训练集/测试集划分与原始的MNIST 完全一致。60000/10000 的训练测试数据划分,28x28的灰度图片。你可以直接用它来测试你的机器学习和深度学习算法性能,且不需要改动任何的代码。
        以下是数据集中的类,以及来自每个类的10个随机图像:


CIFAR-10数据集

        CIFAR-10数据集由10个类的60000个32x32彩色图像组成,每个类有6000个图像。有50000个训练图像和10000个测试图像
        数据集分为五个训练批次和一个测试批次,每个批次有10000个图像。测试批次包含来自每个类别的恰好1000个随机选择的图像
        以下是数据集中的类,以及来自每个类的10个随机图像:


PASCAL VOC数据集

        PASCAL的全称是Pattern Analysis, Statistical Modelling and Computational Learning
        VOC的全称是Visual Object Classes
        目标分类(识别)、检测、分割最常用的数据集之一
        第一届PASCAL VOC举办于2005年,2012年终止。常用的是PASCAL 2012
        一共分成20类:
                person
                bird, cat, cow, dog, horse, sheep
                aeroplane, bicycle, boat, bus, car, motorbike, train
                bottle, chair, dining table, potted plant, sofa, tv/monitorVTL
        标注格式: 里面是图像对应的XML标注信息描述,每张图像有一个与之对应同名的描述XML文件,XML前面部分声明图像数据来源,大小等元信息,

        Pascal VOC2012 Main中统计的训练、验证、验证与训练、测试图像:

        20类图像实例:


MS COCO数据集

        PASCAL的全称是Microsoft Common Objects in Context,起源于微软于2014年出资标注的Microsoft COCO数据集
        数据集以scene understanding为目标,主要从复杂的日常场景中截取
        包含目标分类(识别)、检测、分割、语义标注等数据集
        ImageNet竞赛停办后,COCO竞赛就成为是当前目标识别、检测等领域的一个最权威、最重要的标杆
        官网:http://cocodataset.orgVTL
        提供的标注类别有80 类,有超过33 万张图片,其中20 万张有标注,整个数据集中个体的数目超过150 万个。
        人:1类
        交通工具:8类,自行车,汽车等
        公路常见:5类,信号灯,停车标志等
        动物:10类,猫狗等
        携带物品:5类,背包,雨伞等
        运动器材:10类,飞盘,滑雪板,网球拍等。
        厨房餐具:7类,瓶子,勺子等
        水果及食品:10类
        家庭用品:7类,椅子、床,电视等
        家庭常见物品:17类,笔记本,鼠标,遥控器等VTL
        
MS COCO数据集示例


ImageNet数据集

        始于2009年,李飞飞与Google的合作:“ImageNet: A Large-Scale Hierarchical Image Database”
        总图像数据:14,197,122
        总类别数:21841
        带有标记框的图像数:1,034,908VTL

ISLVRC 2012子数据集

        训练集:1,281,167张图片+标签
        类别数:1,000
        验证集:50,000张图片+标签
        测试集:100,000张图片VTL

总结

        经典网络:以“一个或多个卷积层+一个池化层“作为一个基本单元进行堆叠,在网络尾部使用全连接层,最后以Softmax为分类器,输出结果。
        残差网络:在普通网络的基础上,将浅层的激活项通过支路直接传向深层,克服深层神经网络中梯度消失的问题,为训练极深的神经网络提供便利。
        数据集:常见的数据集包括VOC和COCO;ImageNet较大


评价指标

算法评估相关概念
        TP: 被正确地划分为正例的个数,即实际为正例且被分类器划分为正例的实例数
        FP: 被错误地划分为正例的个数,即实际为负例但被分类器划分为正例的实例数
        FN:被错误地划分为负例的个数,即实际为正例但被分类器划分为负例的实例数
        TN: 被正确地划分为负例的个数,即实际为负例且被分类器划分为负例的实例数
        P(精确率): TP/(TP+FP)
        R(召回率): TP/(TP+FN)。召回率越高,准确度越低Part 1 1.4 算法评估
        
        P-R曲线
        P-R的关系曲线图,表示了召回率和准确率之间的关系
        精度(准确率)越高,召回率越低

        假设一个测试集,其中图片只由大雁和飞机两种图片组成        
        True positives : 飞机的图片被正确的识别成了飞机。
        False positives: 大雁的图片被错误地识别成了飞机。
        False negatives: 飞机的图片没有被识别出来,系统错误地认为它们是大雁。
        True negatives: 大雁的图片没有被识别出来,系统正确地认为它们是大雁
        假设使用CNN得到飞机分类结果如下

        分类为飞机(正样本)的四张照片中:
                True positives : 有三个,画绿色框的飞机。
                False positives: 有一个,画红色框的大雁。
        分类为大雁(负样本)的四张照片中:
                True negatives : 有四个,这四个大雁的图片,系统正确地没有把它们识别成飞机。
                False negatives: 有两个,两个飞机没有被识别出来,系统错误地认为它们是大雁。

置信度与准确率
        调整阈值可改变准确率或召回值
        在刚才例子中,对应某阈值,前四个样本(左侧)被分类为飞机改变阈值会改变划分,进一步影响准确率或召回值
        可以通过改变阈值(也可以看作上下移动蓝色的虚线),来选择让系统识别能出多少个图片,当然阈值的变化会导致Precision与Recall值发生变化。比如,把蓝色虚线放到第一张图片下面,也就是说让系统只识别出最上面的那张飞机图片,那么Precision的值就是100%,而Recall的值则是20%。如果把蓝色虚线放到第二张图片下面,也就是说让系统只识别出最上面的前两张图片,那么Precision的值还是100%,而Recall的值则增长到是40%。

        不同阈值条件下,Precision与Recall的变化情况

P-R曲线

AP计算
        mAP:均值平均准确率
        其中𝑁代表测试集中所有图片的个数,𝑃(𝑘)表示在能识别出𝑘个图片的时候Precision的值,而 Δ𝑟(𝑘)则表示识别图片个数从𝑘 − 1变化到𝑘时(通过调整阈值)Recall值的变化情况。
        在这一例子中,AP的值
        = (1 ∗ (0.2 − 0)) + (1 ∗ (0.4 − 0.2)) + (0.66 ∗ (0.4 − 0.4)) + (0.75 ∗ (0.6− 0.4)) + (0.6 ∗ (0.6 − 0.6)) + (0.66 ∗ (0.8 − 0.6)) + (0.57 ∗ (0.8 − 0.8))+ (0.5 ∗ (0.8 − 0.8)) + (0.44 ∗ (0.8 − 0.8)) + (0.5 ∗ (1 − 0.8)) = 0.782.
        = (1 ∗ 0.2) + (1 ∗ 0.2) + (0.66 ∗ 0) + (0.75 ∗ 0.2) + (0.6 ∗ 0) + (0.66∗ 0.2) + (0.57 ∗ 0) + (0.5 ∗ 0) + (0.44 ∗ 0) + (0.5 ∗ 0.2) = 0.782.
        通过计算可以看到,那些Recall值没有变化的地方(红色数值),对增加Average Precision值没有贡献。
         每一个类别均可确定对应的AP
        多类的检测中,取每个类AP的平均值,即为mAP
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值