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

自监督学习(一)自监督学习介绍自监督学习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预训练。但是自监督方法的潜力还是很大的,针对深度学习的下一阶段的研究,如何减少对于大量标注数据的依赖,是一个很重要的方向。这就需要网络能学习到通用的高层语义特征,但是目前来看,自监督学习方法还达不到这个目标,下一篇文章将对这一点进行介绍。

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • oracle创建用户和表空间[通俗易懂]

    oracle创建用户和表空间[通俗易懂]oracle新建数据库,表空间,用户,分配权限

    2022年5月12日
    40
  • 计算机二进制电路原理,二进制与计算机

    计算机二进制电路原理,二进制与计算机二进制二进制是计算技术中广泛采用的一种数制 二进制数据是用 0 和 1 两个数码来表示的数 它的基数为 2 进位规则是 逢二进一 借位规则是 借一当二 数字电子电路中 逻辑门的实现直接应用了二进制 因此现代的计算机和依赖计算机的设备里都用到二进制 晶体管晶体管 transistor 是一种固体半导体器件 晶体管是门电路的主要组成 晶体管电路有导通和截止两种状态 这两种状态就可以作为 二进制 的基础 im

    2025年10月17日
    4
  • 数据结构之哈希表(HASH)

    前言   当我们在编程过程中,往往需要对线性表进行查找操作。在顺序表中查找时,需要从表头开始,依次遍历比较a[i]与key的值是否相等,直到相等才返回索引i;在有序表中查找时,我们经常使用的是二分查找,通过比较key与a[i]的大小来折半查找,直到相等时才返回索引i。最终通过索引找到我们要找的元素。   但是,这两种方法的效率都依赖于查找中比较的次数。我们有一种想法,能不能不经过比较,而是

    2022年4月1日
    81
  • idea 2022.01激活(JetBrains全家桶)2022.01.28

    (idea 2022.01激活)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~GTRP…

    2022年3月31日
    55
  • 关于js基础easy忘记的那些事儿「建议收藏」

    关于js基础easy忘记的那些事儿

    2022年1月25日
    40
  • 所谓的代码段、数据段

    所谓的代码段、数据段

    2021年8月20日
    60

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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