自监督学习(一)自监督学习介绍

自监督学习(一)自监督学习介绍自监督学习OverviewWhatisSelf-SupervisedLearning?WhyisSelf-SupervisedLearning?SomeExamplesUnsupervisedVisualRepresentationLearningbyContextPredictionUnsupervisedRepresentationLearningbyPred…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

Overview

这篇博客主要介绍自监督学习的基本概念、意义以及几个比较经典的例子。

What is Self-Supervised Learning?

自监督学习本质上是一种无监督学习的方法,通常会设置一个“Pretext tasks”,根据数据的一些特点,构造Pesdeo Labels来训练网络模型。通过自监督得到的模型,可以作为其他学习任务的预训练模型,为其提供更好的训练初始区域。因此,自监督学习也可以看作是为了学习图像的通用视觉表示。

Why is Self-Supervised Learning?

之所以自监督学习在近几年成为研究的热点,主要是数据标注的成本太高,而且深度学习的迁移性能很差。虽然现在也有很多的域适应方法,但是在实际的应用中,最好的方法还是不停的增加标注数据。因此,自监督学习的兴起可以说是必然的。

Some Examples

以下介绍几篇经典的自监督论文作为例子:

Unsupervised Visual Representation Learning by Context Prediction

该文章发表在ICCV 2015,思路比较简单。将图像分为3×3的patch并为每一个patch编号,网络接收任意两个位置的patch,预测两个patch的相对位置。通过构建这样一个Pretext task,可以对网络进行训练,训练得到的网络可以作为预训练模型应用到其他的任务中。
论文方法示意图

Unsupervised Representation Learning by Predicting Image Rotations

该方法发表在ICLR 2018上。通过预测输入图像的旋转角度训练网络,将输入图像随机旋转 0,90,180,270度,输入分类网络中,网络预测输入图像的旋转角度是0, 1,2,3。
在这里插入图片描述

Exemplar Networks

这类方法的共同做法是对输入数据进行增广变换,然后强制让网络学习到特性尽可能接近,从而学习到图像的高层语义特征。

Summary

目前来看,自监督学习的理论性不强,很多方法都是纯粹的实验结果,而且性能的提升有限,作为预训练模型,目前还无法超越ImageNet预训练。但是自监督方法的潜力还是很大的,针对深度学习的下一阶段的研究,如何减少对于大量标注数据的依赖,是一个很重要的方向。这就需要网络能学习到通用的高层语义特征,但是目前来看,自监督学习方法还达不到这个目标,下一篇文章将对这一点进行介绍。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/193891.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • js如何创建数组

    js如何创建数组如何创建数组使用数组之前首先要创建,而且需要把数组本身赋至一个变量。好比我们出游,要组团,并给团定个名字“云南之旅”。创建数组语法:varmyarray=newArray();        我们创建数组的同时,还可以为数组指定长度,长度可任意指定。varmyarray=newArray(8);//创建数组,存储8个数据。 注意:1.创

  • “交通·未来”第19期:面向事件的人流预测以及基于人流的救护车需求预测

    “交通·未来”第19期:面向事件的人流预测以及基于人流的救护车需求预测2020年6月份,公众号正式推出了“交通·未来”系列线上公益学术活动等你来~,2021年,新起航新征程,我们继续前行~3月13日晚上19:00,我们将迎来活动的第19期。1、讲座主题…

  • MFC 进度条使用方法[通俗易懂]

    MFC 进度条使用方法[通俗易懂]目的:学习MFC进度条控件的用法;步骤:新建一个对话框项目。添加控件“progress”“static”è改名了“进度”,添加两个BUTTON名字分别为“后退”“前进”,如下图:为static控件添加CString类型的数据变量m_present;为progress添加control类型的数据变量m_pro初始化进度条:右键classwinzerd,选中如下项目

  • pycharm是java开发的吗_pycharmjupyter

    pycharm是java开发的吗_pycharmjupyterPycharm—编译器使用:虚拟环境与系统环境:就是包的区别。虚拟环境需要重新下包,但包不互相影响系统环境就是有下载过的所有包—通过切换本地—虚拟编译器即可切换环境本地:即python所在目录的python.exe程序–python最主要就是lib(第三方库群),python.exe编译器,pythonshell自带的IDLE,再加上个集成开发环境(pycharm)就齐了虚拟:v…

  • 一些常用单位之间的换算

    一些常用单位之间的换算一些常用单位之间的换算单位表格汇总单位表格汇总请注意下方的表格:目前只对链接(也就是文字颜色有变换的那个)产生了单位的换算,其他的没有做换算,如果有清楚的可以在本篇博文下留言,正确的留言单位换算就打算加上链接,错误的就请大家帮忙纠正一下,感谢各位配合!!!常用物理量的名称、符号和单位名称…

  • python中yield的用法详解——最简单,最清晰的解释

    python中yield的用法详解——最简单,最清晰的解释首先我要吐槽一下,看程序的过程中遇见了yield这个关键字,然后百度的时候,发现没有一个能简单的让我懂的,讲起来真TM的都是头头是道,什么参数,什么传递的,还口口声声说自己的教程是最简单的,最浅显易懂的,我就想问没有有考虑过读者的感受。接下来是正题:首先,如果你还没有对yield有个初步分认识,那么你先把yield看做“return”,这个是直观的,它首先是个return,普通的retur…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号