sql移动加权计算利润_计算机视觉中的半监督学习

作者:Amit Chaudhary

编译:ronghuaiyang

导读

图解半监督的各种方法的关键思想。

计算机视觉的半监督学习方法在过去几年得到了快速发展。目前最先进的方法是在结构和损失函数方面对之前的工作进行了简化,以及引入了通过混合不同方案的混合方法。

在这篇文章中,我会通过图解的方式解释最近的半监督学习方法的关键思想。

1、自训练

在该半监督公式中,对有标签数据进行训练,并对没有标签的数据进行伪标签预测。然后对模型同时进行 ground truth 标签和伪标签的训练。

79cc773fe273d241251818d29879c243.png

a. 伪标签

Dong-Hyun Lee[1]在 2013 年提出了一个非常简单有效的公式 —— 伪标签。

这个想法是在一批有标签和没有标签的图像上同时训练一个模型。在使用交叉熵损失的情况下,以普通的监督的方式对有标签图像进行训练。利用同一模型对一批没有标签的图像进行预测,并使用置信度最大的类作为伪标签。然后,通过比较模型预测和伪标签对没有标签的图像计算交叉熵损失。

af7a20242d0257bb2c13c40f2510b0a1.png

总的 loss 是有标签和没有标签的 loss 的加权和。

c995fe70c5fddc55c4225c0be2f6dabf.png

为了确保模型已经从有标签的数据中学到了足够的知识,在最初的 100 个 epoch 中,αt 被设置为 0。然后逐渐增加到 600 个 epochs,然后保持不变。

5727e60fa53af1614411c36a9362c433.png

b. Noisy Student

Xie 等[2]在 2019 年提出了一种受知识蒸馏启发的半监督方法“Noisy Student”。

关键的想法是训练两种不同的模型,即“Teacher”和“Student”。Teacher 模型首先对有标签的图像进行训练,然后对没有标签的图像进行伪标签推断。这些伪标签可以是软标签,也可以通过置信度最大的类别转换为硬标签。然后,将有标签和没有标签的图像组合在一起,并根据这些组合的数据训练一个 Student 模型。使用 RandAugment 进行图像增强作为输入噪声的一种形式。此外,模型噪声,如 Dropout 和随机深度也用到了 Student 模型结构中。

abbea087a37d97b1ca21827678eac363.png

一旦学生模型被训练好了,它就变成了新的老师,这个过程被重复三次。

2、一致性正则化

这种模式使用的理念是,即使在添加了噪声之后,对未标记图像的模型预测也应该保持不变。我们可以使用输入噪声,如图像增强和高斯噪声。噪声也可以通过使用 Dropout 引入到结构中。

e549c1ccb29ab60d2a07ff813d29f5ef.png

a. π-model

该模型由Laine 等[3]在 ICLR 2017 年的一篇会议论文中提出。

关键思想是为标记数据和未标记数据创建两个随机的图像增强。然后,使用带有 dropout 的模型对两幅图像的标签进行预测。这两个预测的平方差被用作一致性损失。对于标记了的图像,我们也同时计算交叉熵损失。总损失是这两个损失项的加权和。权重 w(t)用于决定一致性损失在总损失中所占的比重。

6ff588e1201dcd5835ff06e667d9a92e.png

b. Temporal Ensembling

该方法也是由Laine 等[4]在同一篇论文中提出的。它通过利用预测的指数移动平均(EMA)来修正模型。

关键思想是对过去的预测使用指数移动平均作为一个观测值。为了获得另一个观测值,我们像往常一样对图像进行增强,并使用带有 dropout 的模型来预测标签。采用当前预测和 EMA 预测的平方差作为一致性损失。对于标记了的图像,我们也计算交叉熵损失。最终损失是这两个损失项的加权和。权重 w(t)用于决定稠度损失在总损失中所占的比重。

b15c364295a39c838a3db0544d955d0d.png

c. Mean Teacher

该方法由Tarvainen 等[5]提出。泛化的方法类似于 Temporal Ensembling,但它对模型参数使用指数移动平均(EMA),而不是预测值。

关键思想是有两种模型,称为“Student”和“Teacher”。Student 模型是有 dropout 的常规模型。教师模型与学生模型具有相同的结构,但其权重是使用学生模型权重的指数移动平均值来设置的。对于已标记或未标记的图像,我们创建图像的两个随机增强的版本。然后,利用学生模型预测第一张图像的标签分布。利用教师模型对第二幅增强图像的标签分布进行预测。这两个预测的平方差被用作一致性损失。对于标记了的图像,我们也计算交叉熵损失。最终损失是这两个损失项的加权和。权重 w(t)用于决定稠度损失在总损失中所占的比重。

ffe9042aefe59eafe3a23ae974dcd222.png

d. Virtual Adversarial Training

该方法由Miyato 等[6]提出。利用对抗性攻击的概念进行一致性正则化。

关键的想法是生成一个图像的对抗性变换,这将改变模型的预测。为此,首先,拍摄一幅图像并创建它的对抗变体,使原始图像和对抗图像的模型输出之间的 KL 散度最大化。

然后按照前面的方法进行。我们将带标签/不带标签的图像作为第一个观测,并将在前面步骤中生成的与之对抗的样本作为第二个观测。然后,用同一模型对两幅图像的标签分布进行预测。这两个预测的 KL 散度被用作一致性损失。对于标记了的图像,我们也计算交叉熵损失。最终损失是这两个损失项的加权和。采用加权偏置模型来确定一致性损失在整体损失中所占的比重。

292daf2f3ccf3afd998a8cdeddbfea26.png

e. Unsupervised Data Augmentation

该方法由Xie 等[7]提出,适用于图像和文本。在这里,我们将在图像的上下文中理解该方法。

关键思想是使用自动增强创建一个增强版本的无标签图像。然后用同一模型对两幅图像的标签进行预测。这两个预测的 KL 散度被用作一致性损失。对于有标记的图像,我们只计算交叉熵损失,不计算一致性损失。最终的损失是这两个损失项的加权和。权重 w(t)用于决定稠度损失在总损失中所占的比重。

546c3565d30fa3b01f8fbc7f3fc11904.png

3、混合方法

这个范例结合了来自过去的工作的想法,例如自我训练和一致性正则化,以及用于提高性能的其他组件。

a. MixMatch

这种整体方法是由Berthelot 等[8]提出的。

为了理解这个方法,让我们看一看每个步骤。

i. 对于标记了的图像,我们创建一个增强图像。对于未标记的图像,我们创建 K 个增强图像,并对所有的 K 个图像进行模型预测。然后,对预测进行平均以及温度缩放得到最终的伪标签。这个伪标签将用于所有 k 个增强。

094eac22c9aebbe1f552b71e65764520.png

ii. 将增强的标记了的图像和未标记图像进行合并,并对整组图像进行打乱。然后取该组的前 N 幅图像为 W~L~,其余 M 幅图像为 W~U~。

bb18152ff75c260332b72359c544b6bb.png

iii. 现在,在增强了的有标签的 batch 和 W~L~之间进行 Mixup。同样,对 M 个增强过的未标记组和 W~U~中的图像和进行 mixup。因此,我们得到了最终的有标签组和无标签组。

5080dbda17dd497c650e13a76b20e00b.png

iv. 现在,对于有标签的组,我们使用 ground truth 混合标签进行模型预测并计算交叉熵损失。同样,对于没有标签的组,我们计算模型预测和计算混合伪标签的均方误差(MSE)损失。对这两项取加权和,用 λ 加权 MSE 损失。、

6f1b97b81ab81a8765d0566721ba5650.png

b. FixMatch

该方法由Sohn 等[9]提出,结合了伪标签和一致性正则化,极大地简化了整个方法。它在广泛的基准测试中得到了最先进的结果。

如我们所见,我们在有标签图像上使用交叉熵损失训练一个监督模型。对于每一幅未标记的图像,分别采用弱增强和强增强方法得到两幅图像。弱增强的图像被传递给我们的模型,我们得到预测。把置信度最大的类的概率与阈值进行比较。如果它高于阈值,那么我们将这个类作为标签,即伪标签。然后,将强增强后的图像通过模型进行分类预测。该预测方法与基于交叉熵损失的伪标签的方法进行了比较。把两种损失合并来优化模型。

5af424a8a645706393d07e2427a27713.png

不同方法的对比

下面是对上述所有方法之间差异的一个高层次的总结。

8b3e351cdc87cbb1018910e3e87b77a4.png

在数据集上的评估

为了评估这些半监督方法的性能,通常使用以下数据集。作者通过仅使用一小部分(例如:(40/250/4000/10000 个样本),其余的作为未标记的数据集。

f34f77fefa09cf94953896f84bf79121.png

结论

我们得到了计算机视觉半监督方法这些年是如何发展的概述。这是一个非常重要的研究方向,可以对该行业产生直接影响。

英文原文:https://amitness.com/2020/07/semi-supervised-learning/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/502259.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.net 启动mysql数据库连接_[ASP.net教程]mysql数据库连接方式(.net)

[ASP.net教程]mysql数据库连接方式(.net)0 2014-07-17 18:01:001.通过ado.net连接(数据库连接串中为中文貌似无法使用)需要添加MySql.Data.dll(可通过安装mysql-connector-net-6.8.3.mis获得)引用MySql.Data.dll调用方式string connectionString “serverlocalhost;port3306;da…

overflowhidden把内容遮住了怎么办_图片有水印怎么办?不用PS,有这4招就够了!...

图片是我们在做 PPT 时经常会使用到的高频元素。往往会在搜索引擎中搜到很多带有水印的图片,怎么办呢?固然 PS 等软件去水印很给力,但是对于连 PPT 都还没有用得很熟悉的同学,让他们再去下载安装 Photoshop 软件,仅仅只…

mysql开窗函数over_oracle分析函数技术详解(配上开窗函数over())

一、Oracle分析函数入门 分析函数是什么? 分析函数是Oracle专门用于 解决复杂报表统计需求 的功能强大的函数, 它可以在数据中进行分组然后计算基于组的某种统计 ,并且每一组的每一行都可以返回一个统计。 分析函数和聚合函数的不同之处是什么…

传递给系统调用的数据区域太小怎么解决_一口气说出“分布式追踪系统”原理!...

“ 在微服务架构中,一次请求往往涉及到多个模块,多个中间件,多台机器的相互协作才能完成。图片来自 Pexels这一系列调用请求中,有些是串行的,有些是并行的,那么如何确定这个请求背后调用了哪些应用&#xf…

语义分割和实例分割_一文读懂语义分割与实例分割

以人工智能为导向的现代计算机视觉技术,在过去的十年中发生了巨大的变化。今天,它被广泛用于图像分类、人脸识别、物体检测、视频分析以及机器人及自动驾驶汽车中的图像处理等领域。图像分割技术是目前预测图像领域最热门的一项技术,原因在于…

游戏自审自查报告_开发的射箭小游戏上线了,分享一下我在开发过程中遇到的问题...

利用业余时间开发的微信小游戏-射箭救人质上线了,主要玩法就是操作弓箭射断绳子把人救下来就可以了。图片资源是我找一个朋友做的。开发过程不算太顺利。磕磕绊绊做了12关。希望大家支持下。谢谢。分享一下我在开发中遇到的问题和部分解决方案、希望对大家有所帮助。…

java 抛出异常的目的_Java实验八,异常

一.实验目的1. 掌握自定义异常类的编写;2. 掌握使用try-catch语句来处理异常。二.实验内容及要求车站检查危险品的设备,如果发现危险品会发出警告。编程模拟设备发现危险品:1. 编写一个Exception的子类DangerException,该子类可以…

postmapping注解_Swagger常用注解

在使用swagger时候如果掌握一些注解的使用,则在开发过程中测试的时候可以事半功倍,尤其在与前端技术进行联调,前端技术在访问swagger中的每个api时,可以很清楚的知道每个url对应的请求类型、参数类型、参数是否非必输、参数个数等…

java map 多个值_java 一个函数EnumMap返回多个值

在开发过程中,经常会有这种情况,就是一个函数需要返回多个值,这是一个问题!!网上这个问题的解决方法:1、使用map返回值;这个方法问题是,你并不知道如何返回值的key是什么&#xff0c…

调用别的方法的返回值_Spring boot如何实现异步调用

Spring boot如何实现异步调用异步调用:一个可以无需等待被调用函数的返回值就让操作继续进行的方法举个例子异步调用就是你 喊 你朋友吃饭 ,你朋友说知道了 ,待会忙完去找你 ,你就去做别的了。同步调用就是你 喊 你朋友吃饭 ,你朋…

照片识别出错_AI跨年龄人脸识别技术在跨年龄寻亲的应用简析

9月3日,央视财经《经济半小时》栏目播出了一段有关失踪儿童找回的视频新闻。在这则新闻中,跨年龄人脸识别技术是最为核心的功臣,深圳警方利用跨年龄人脸识别技术,根据一张3岁孩童的儿童照片找回了失踪了十几年的孩子,让…

分段线性判别法 java_线性判别分析(Linear Discriminant Analysis)(二)

4. 实例将3维空间上的球体样本点投影到二维上,W1相比W2能够获得更好的分离效果。PCA与LDA的降维对比:PCA选择样本点投影具有最大方差的方向,LDA选择分类性能最好的方向。LDA既然叫做线性判别分析,应该具有一定的预测功能&#xff…

软件测试用例_大话软件测试用例要素

我们经常都知道一个测试用例里面包含以下几个要素:1,用例编号2,模块3,场景4,用例名称5,前置条件6,测试等级7,操作步骤8,预期结果(需求要求的结果)9,实际结果1…

java中this图解_JAVA-初步认识-第七章-this关键字的使用场景和原理图解

一.this有什么用?我们用例子的形式来体现一下。下面的截图说明,给人对象一初始化的时候,赋值个姓名。赋值姓名的时候,拿n赋值给name,DOS显示创建对象时,构造函数初始化成功。在例子中,我们将“旺…

python汉诺塔_汉诺塔递归算法/搬金盘的婆罗门 - Python实现

汉诺塔递归算法/搬金盘的婆罗门 - Python实现版权声明本文节选自作者本人的图书《Python编程基础及应用》,高等教育出版社。本文可以在互联网上自由转载,但必须:注明出处(作者:海洋饼干叔叔)并包含指向本页面的链接。本文不可以以…

reactor模型_Reactor模式以及Netty中的应用

思维导图一、Reactor模式介绍本文主要参考Doug Lea(大神)的《Scalable IO in Java》中讲述的Reactor模式。

sa是什么岗位_服务顾问SA在维修企业扮演的重要角色

前言:SA在维修企业中扮演什么样的角色,这就是我们今天的话题。作者 | 李连俊来源 | 汽车服务世界(ID:asworld168)客户的群体很多,不同的客户群体消费的能力不一样,SA简称【服务顾问】。SA要对客户的消费能力进行评估&a…

java cxf 不使用springmvc_使用cfx与springMVC集成发布与调用webservice

客户端调用代码 Client.java package com.quickmap.common;import javax.xml.namespace.QName;import javax.xml.ws.Service;import javax.xml.ws.soap.SOAPBinding;public final class Client {private static final QName SERVICE_NAME new QName("http://common.quickm…

基于hadoop的商品推荐系统_【论文笔记】基于矩阵分解的推荐系统

本文是对经典论文的阅读笔记,大部分为论文的中文翻译内容(笔者英语水平也就六级飘过的水准,不喜勿喷)论文标题:Matrix factorization techniques for recommender systems随着Netflix竞赛的结果所示,矩阵分…

php fpm在哪配置,php7的php-fpm.conf文件在哪里

php7下的php-fpm.conf文件一般是在php的安装目录下的etc目录中,文件路径为/usr/local/php-fpm/etc/php-fpm.conf。php-fpm.conf是php-fpm进程管理器的配置文件。php-fpm.conf是php-fpm进程管理器的配置文件。文件路径:/usr/local/php-fpm/etc/php-fpm.co…