【nextjs 源码分析】【金融代理系统源码】【lfs8.0 源码】caffe源码 softmax

来源:在线图片编辑源码

1.L2-constrained Softmax Loss for Discriminative Face Verification
2.SSD 分析(一)

caffe源码 softmax

L2-constrained Softmax Loss for Discriminative Face Verification

              æœ¬æ–‡ä¸»è¦é’ˆå¯¹è®­ç»ƒé›†æ•°æ®è´¨é‡ä¸å‡è¡¡é—®é¢˜ï¼Œé€šè¿‡åœ¨softmax loss层之前添加L2约束层将所有样本(简单样本和复杂样本)的特征描述子限定在同一L2范数上来达到平等对待所有样本的效果。

               æœ¬æ–‡é’ˆå¯¹çš„任务类型是人脸识别,而在不受限场景(如受视角、分辨率、遮挡和图像质量等因素影响下)的人脸识别是一个具有挑战性的难题。其原因之一在于训练数据集中图像数据质量的不平衡。大部分现有的基于Softmax loss训练的深度卷积神经网络会倾向于过拟合高质量的数据,无法正确分类在困难条件下的人脸图像。

        Softmax loss具有以下的优点和缺点:

        优点: 1.可以利用深度学习工具箱中的内置函数轻松实现,如Caffe,Torch和Tensorflow;

                   2.对输入批量的大小没有任何限制并且收敛速度快;

                   3.可以在没有任何度量学习帮助的情况下得到具有足够判别力度用于人脸识别的特征。

        缺点: 1.Softmax loss偏向于样本分布,即Softmax loss对于高质量人脸图像适应性很好,但会忽视训练批量中极为罕见的难例;

                   2.Softmax loss并不会优化识别的要求,即保持正样本对距离相近,负样本对间彼此远离。

                为了解决上述Softmax loss存在的缺陷,本文基于实验观察提出了L2约束下的Softmax loss,首先来介绍一下实验中的一个现象。

        通用的人脸识别系统的基线框架如图1所示,

                给定训练数据集和相对应的实体标签,网络首先利用深度卷积神经网络提取特征描述子,再结合特征描述子和Softmax loss得到训练样本属于每一个类别的概率,Softmax loss的形式如图2所示。训练完成后,我们用训练得到的网络分别提取两幅图像的特征描述子,并利用距离度量或相似度度量计算图像之间的相似度分数,依据给定的阈值来判断两幅图像是否相同。

               åœ¨è¿™ç§è®­ç»ƒæ¡ä»¶ä¸‹ï¼Œç½‘络并不会保证样本在归一化或三角空间中保持正样本相近及负样本对远离。此外,基于softmax loss的分类器不能够分类极端困难的样本。

               ç”±äºŽç½‘络会通过增大简单样本特征的L2范数并忽视难例来最小化Softmax loss,因此,网络会通过图像的特征描述子的L2范数来反应人脸的质量。作者通过实验发现,在测试过程中,当两幅输入图像的特征描述子的L2范数都很小时,性能很差,L2范数很大时则性能良好。

               ä¸ºäº†è§£å†³è¿™ä¸ªé—®é¢˜ï¼Œæˆ‘们将每幅图像的特征描述子的L2范数强制固定为常数 ,以此将L2约束下的特征描述子限定在一个具有固定半径的超球面上。在该超球面上,最小化Softmax loss相当于最大化余弦相似度,即增大正样本对的相似度减小负样本对的相似度。其次,由于所有的脸部特征有着相同的L2范数,因此Softmax loss可以更好的建模极端困难的人脸样本。

                L2约束Softmax loss的公式如图3所示,主要是在常规Softmax loss的基础上增加了一个约束项,将所有样本的特征描述子的L2范数固定为常量 。

               å…·ä½“实施方法为在网络倒数第二层后面增加L2归一化层和尺度层。L2归一化层将特征向量归一化到单位向量,尺度层将单位向量利用参数 缩放到指定的半径。

SSD 分析(一)

       研究论文《SSD: Single Shot MultiBox Detector》深入解析了SSD网络的训练过程,主要涉及从源码weiliu/caffe出发。首先,通过命令行生成网络结构文件train.prototxt、nextjs 源码分析test.prototxt以及solver.prototxt,执行名为VGG_VOC_SSD_X.sh的shell脚本启动训练。

       网络结构中,前半部分与VGG保持一致,随后是fc、conv6到conv9五个子卷积网络,它们与conv4网络一起构成6个特征映射,金融代理系统源码不同大小的特征图用于生成不同比例的先验框。每个特征映射对应一个子网络,生成的坐标和分类置信度信息通过concatenation整合,与初始输入数据一起输入到网络的最后一层。

       特别提到conv4_3层进行了normalization,lfs8.0 源码而前向传播的重点在于处理mbox_loc、mbox_loc_perm、mbox_loc_flat等层,这些层分别负责调整数据维度、重排数据和数据展平,html源码在线提取以适应网络计算需求。mbox_priorbox层生成基于输入尺寸的先验框,以及根据特征图尺寸调整的坐标和方差信息。

       Concat层将所有特征映射的预测数据连接起来,形成最终的传世手游 源码输出。例如,conv4_3_norm层对输入进行归一化,AnnotatedData层从LMDB中获取训练数据,包括预处理过的和对应的标注。源码中,通过内部线程实现按批加载数据并进行预处理,如调整图像尺寸、添加噪声、生成Sample Box和处理GT box坐标。

       在MultiBoxLoss层,计算正负例的分类和坐标损失,利用softmax和SmoothL1Loss层来评估预测和真实标签的差异。最终的损失函数综合了所有样本的分类和坐标误差,为网络的训练提供反馈。

文章所属分类:时尚频道,点击进入>>