【深度学习:Self-supervised learning (SSL) 】自我监督学习解释

在这里插入图片描述

【深度学习:SSL Self-supervised learning 】自我监督学习解释

    • 什么是自我监督学习?
      • 比较自我监督学习与监督学习和无监督学习
    • 为什么计算机视觉模型需要自监督学习?
      • 自我监督学习的好处
      • 自监督学习的局限性
    • 自我监督学习如何运作?
      • 对比学习
      • Non-Contrastive Learning (NC-SSL) 非对比学习
      • 对比预测编码 (CPC)
      • 实例判别方法
      • 基于能量的模型 (EBM SSL)
      • 对比群集分配
      • 联合嵌入架构
    • 计算机视觉自监督学习的用例
      • 医疗保健与医学成像 计算机视觉
      • 从 2D 图像进行 3D 旋转
      • 基于语义链接帧的视频运动预测
      • 机器人学:利用自我监督学习机制实现自主性
    • 要点总结

自监督学习(SSL)是一种利用原始、未标记数据来训练算法模型的人工智能(AI)方法。使用各种方法和学习技术,自监督模型在预训练阶段创建标签和注释,旨在迭代实现准确的地面实况,以便模型可以投入生产。

如果您难以找到时间和资源来注释和标记机器学习项目的数据集,SSL 可能是一个不错的选择。这种方法不同于无监督学习,且不需要耗费大量时间进行数据标记。

在本文中,我们将解释自监督学习,包括:

  • 什么是自我监督学习?
  • 它与监督学习和无监督学习有何不同?
  • 自监督学习的优势与局限性;
  • 自我监督学习是如何运作的?
  • 用例,特别是为什么计算机视觉项目需要自我监督学习?

让我们开始吧…

什么是自我监督学习?

自监督学习(SSL)是机器学习(ML)中的一种训练方式,它鼓励模型使用未标记的数据进行学习。

它不是依赖于大量标记和注释数据的模型(在监督学习的情况下),而是根据非结构化输入为数据生成标签。

在计算机视觉 (CV) 中,您可以使用灰度图像或半张图像来训练 ML 模型,以便它能够准确预测另一半或哪些颜色的去向。

在这里插入图片描述
自监督学习在计算机视觉和自然语言处理 (NLP) 中特别有用,在这些应用中,训练模型所需的标记数据量可能非常大。使用自监督方法在较少的数据上训练模型更具成本效益和时间效率,因为您不需要注释和标记那么多数据。

如果模型获得足够的数据并通过迭代过程生成准确结果,它可以更快地达到生产就绪状态。

在这里插入图片描述

比较自我监督学习与监督学习和无监督学习

在我们深入研究自我监督学习之前,将其与两种主要的替代方案进行比较是很有用的:监督学习和无监督学习。

监督学习 需要在高质量标记和注释数据上训练人工智能 (AI)、机器学习 (ML)、计算机视觉 (CV) 或其他算法生成的模型。这些标记数据以监督方式输入模型,人类机器学习工程师通过迭代反馈循环对其进行训练。

无监督学习 涉及在未标记的数据上训练模型,其中模型尝试查找数据中的模式和关系,而无需以标签形式给出明确的反馈。

自监督学习 是一种基于 ML 的训练格式和一系列鼓励模型从未标记数据进行训练的方法。基础模型和视觉基础模型 (VFM) 通常以这种方式训练,不依赖于标记数据。

无监督学习主要专注于分组、聚类和降维。在许多方面,这使得SSL成为无监督学习的一个子集。但是,这两种格式的输出存在差异。

另一方面,自监督学习用于执行分割、分类和回归任务,这与监督学习类似。

还有其他方法,例如半监督学习,它介于监督学习和无监督学习之间。但是,我们将把半监督学习作为另一篇关于模型训练和学习方法的文章的主题。

在这里插入图片描述
现在让我们看看为什么计算机视觉需要自我监督学习、SSL 的好处、它是如何工作的以及用例。

为什么计算机视觉模型需要自监督学习?

计算机视觉模型需要自监督学习,因为它们通常需要大量标记数据才能有效训练。获取、注释和标记这些数据可能既困难又昂贵。

特别是在高度专业化的领域,例如医疗保健,需要医疗专业人员来准确地注释和标记数据。

自监督学习可以提供标记大量数据的替代方案 - 这是一项昂贵且耗时的任务,即使您使用的是自动数据标记系统也是如此。相反,这允许模型从数据本身中学习并提高其准确性,而无需大量的标签和注释。

在这里插入图片描述
当每类标记数据具有相同数量的样本时,计算机视觉和其他算法生成的模型也表现更好。否则,偏差会潜入模型的性能。

不幸的是,如果一类图像或视频很难获得(除非您在合成数据创建或数据增强方面进行投资),则很难获得足够的数据来提高性能。

自监督学习减少或消除了为计算机视觉模型标记和注释数据的需要。同时减少了在计算机视觉情况下对增强和合成图像或视频创建的需求。

自我监督学习的好处

自监督学习对计算机视觉和其他基于 ML 和 AI 的项目、用例和模型有很多好处。

更具可扩展性: 对于较大的数据集,自监督学习更具可扩展性和管理性,因为这种方法不需要高质量的标记数据。即使图像或视频中的对象类别不像其他对象那样频繁,也不会影响结果,因为 SSL 可以处理大量非结构化数据。

改进模型结果: 自监督学习可以更好地表示数据的特征,从而提高计算机视觉模型的性能。不仅如此,SSL 方法还增强了模型的学习能力,而无需标记数据创建的结构。

增强的 AI 功能: 引入自监督学习来训练自然语言处理 (NLP) 模型。现在,它被用于基础模型,例如生成对抗网络 (GAN)、变分自编码器 (VAE)、基于转换器的大型语言模型 (LLM)、神经网络、多模态模型等。

在计算机视觉中,使用自监督学习方法可以更有效地执行图像分类、视频帧预测和其他任务。

在这里插入图片描述

自监督学习的局限性

同时,我们需要承认自监督学习存在一些局限性,例如:

需要大量的计算能力: 自监督学习需要强大的计算能力才能在大型数据集上训练模型。计算能力通常与神经网络或小型基础模型的规模相同。特别是因为模型在没有人工输入的情况下获取原始数据并对其进行标记。

准确性低: 人们很自然地期望自我监督学习不会像监督或其他方法那样产生准确的结果。如果没有以标签、注释和地面实况训练数据的形式为模型提供人工输入,初始准确率得分将很低。但是,有一些方法可以解决这个问题,我们将在下面探讨。

自我监督学习如何运作?

从基本层面上说,自监督学习是一种训练基于AI的模型的算法范式。当模型获得大量原始、几乎完全或完全未标记的数据,然后自行生成标签时,它就会起作用。

然而,这种说法有所简化,因为在这种训练方式下,可以应用多种SSL框架。让我们来看看其中最流行的七个,包括对比式和非对比式学习。

对比学习

对比学习 SSL 涉及训练模型以区分两个对比数据点或输入。这些对比点称为“锚点”,以正负格式提供。

正样本是与锚点属于同一分布的数据输入。相反,负样本与锚点的分布不同。

正样本是与锚点属于同一分布的数据输入。而负样本与锚点的分布不同。

Non-Contrastive Learning (NC-SSL) 非对比学习

另一方面,非对比自监督学习 (NC-SSL) 涉及仅使用非对比对(也称为正样本对)训练模型。而不是像对比学习那样的正面和负面样本。

对比预测编码 (CPC)

对比预测编码 (CPC) 最初是由 Google Deep Mind 的三位 AI 工程师向世界推出的,这是他们在 2019 年发布的论文。

CPC 是自然语言处理、计算机视觉和深度学习中一种流行的自监督学习方法。

CPC 也可用于计算机视觉,使用它来将预测编码与概率对比损失相结合。目的是训练一个模型来理解数据不同部分之间的表示。同时,CPC 可以更轻松地丢弃数据集中的低级噪声。

实例判别方法

实例判别方法将对比学习(例如 CPC、Contrastive 和 NC-SSL)应用于整个数据实例,例如数据集中的图像或一系列图像。

图像应随机选择。使用这种方法,一个图像以某种方式翻转(旋转、制作灰度等),作为正锚对,而一个完全不同的图像是负样本。目的是确保模型仍然理解,即使图像被翻转,它看到的是同一件事。

使用实例区分 SSL,应训练模型将马的灰度图像解释为正锚对的一部分,与牛的黑白图像不同。

在这里插入图片描述

基于能量的模型 (EBM SSL)

对于基于能量的模型 (EBM),这是一个使用数学模型计算两个输入之间的兼容性的问题。低能量输出表示高兼容性。虽然高能量输出表明,兼容性水平较低。

在计算机视觉中,使用 EBM SSL,向模型显示两张汽车图像应该会产生低能量输出。相比之下,将汽车与飞机进行比较应该会产生高能量输出。

对比群集分配

对比集群分配是实现自我监督学习的另一种方式。2020 年的一篇论文中发表了一种更具创新性的方法,介绍了一种称为 SwAV(在多个视图之间交换分配)的 ML 概念。

传统的对比集群作业涉及离线学习。模型需要在聚类分配和训练步骤之间交替,以便 ML 或 CV 模型学习理解不同的图像视图。

而使用 SwAV SSL 学习方法可以在线完成,从而更容易扩展到大量数据,同时受益于对比方法。

联合嵌入架构

自监督模型的另一种学习技术是联合嵌入架构。

联合嵌入架构涉及一个结构相同的双分支网络,其中为每个分支提供两个输入以计算单独的嵌入向量。

当两个源输入之间的“距离”很小时(例如,一个模型显示两个非常相似但略有不同的鸟在飞行中的图像)。然后可以调整潜在空间中的神经网络参数,以确保输入之间的空间缩小

在这里插入图片描述

计算机视觉自监督学习的用例

现在,让我们快速浏览一下自监督学习在计算机视觉中的许多实际应用中的四个。

医疗保健与医学成像 计算机视觉

在现实世界的用例中,自我监督学习的众多应用之一是在医疗保健领域。医学成像和注释是一个专业领域。准确性至关重要,尤其是当计算机视觉模型用于检测危及生命或限制生命的疾病时。

在计算机视觉中,DICOM、NIfTI 文件、X 射线、MRI 和 CT 扫描是用于训练算法模型的原材料。

在医疗领域,很难大规模获得准确标记的专有数据,部分原因是数据隐私和医疗保健法律(例如 HIPPA),还因为通常需要多名医生来注释这些数据。专业的医疗时间既宝贵又昂贵。很少有人有空闲时间对数据集中的大量图像或视频进行注释。

在这里插入图片描述
同时,计算机视觉在医疗保健领域非常有用,具有许多实际应用和用例。

应对上述挑战的一种解决方案是将自监督学习方法应用于医学成像数据集。举个例子:用于癌症检测的自监督学习。

Encord 与医疗专业人员和医疗保健数据科学家密切合作开发了我们的医学成像注释套件,为您提供强大的自动化图像注释套件,内置精确的 3D 注释、完全可审计的图像和无与伦比的效率。

从 2D 图像进行 3D 旋转

自监督计算机视觉学习的另一个实际应用是训练工厂中的机器人机器正确定位 3D 对象。自主和半自主机器人必须知道如何做到这一点,训练它们的一种方法是使用自监督计算机视觉模型使用图像和视频。

基于语义链接帧的视频运动预测

视频是序列中语义链接的帧序列。使用自监督学习模型更容易实现更高的准确性,因为对象通常从一个帧继续到下一个帧,至少在一系列帧上。

在预训练阶段可以应用各种参数,如特定物体运动的流畅性和重力的应用、距离、速度和时间。

在这里插入图片描述

机器人学:利用自我监督学习机制实现自主性

机器人不可能把可能遇到的所有情况都上传到硬件和软件中。要考虑的因素实在太多了。

一定程度的自主性是必不可少的,尤其是当机器人的运行地点距离控制中心太远时,例如美国宇航局休斯顿航天中心与火星车之间的通信。

即使在陆地环境中,机器人如果不具备实时、有时是即时决策的能力,充其量也是无效的,更糟糕的是会带来危险。因此,应用自我监督学习技术来确保机器人能够自主决策就显得尤为重要。

要点总结

自监督学习是在大量原始、未标记数据上训练 CV、AI、ML 或其他算法模型的有用方法。这为工程师、数据科学家和数据运营团队节省了大量的时间、金钱和资源。

另一方面,准备在预训练阶段使用我们在本文中概述的几种方法之一(例如,对比、非对比、CPC、EBL 等),以便基于 SSL 的模型可以产生更准确的结果。

否则,如果没有有助于训练模型的数据标记和注释的支持,您可能会面临准确性降低和训练过程花费更多时间的风险。

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

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

相关文章

使用Redhat操作系统下载MySQL

一、本地下载安装 方法一 ①在虚拟机火狐浏览器中搜索MySQL官网(选择第一个下载) ②下载完毕使用xshell远程连接解压及安装 [rootlocalhost ~]# cd /Downloads/ [rootlocalhost Downloads]# mkdir /mysql/ [rootlocalhost Downloads]# mv mysql-8.0.3…

HIS医院信息化、数字医学影像、DICOM、PACS源码

PACS系统适合卫生院、民营医院、二甲或以下公立医院的放射科、超声科使用。功能强大且简洁,性能优异,具备MPR(三维重建)、VR(容积重建)、胶片打印功能,能够快速部署。 支持DR、CT、磁共振提供D…

可移动的div

一、实验题目 做一个可移动的div 二、实验代码 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title><style>*{margin: 0;padding: 0;}div{width: 100px;height: 100px;background-color: rebeccapurple…

【操作系统】BIOS与MBR之间的过渡实践

一&#xff0e;概述 根据以前写的一篇文章&#xff1a;【操作系统】MBR主引导目录结构以及作用&#xff0c;我们了解到BIOS在检测完内存、显卡&#xff0c;把硬盘等一系列外设简单检测之后&#xff0c;下一步将和主引导程序MBR进行交接&#xff0c;将主控权交付给下一位嘉宾&am…

js viewer 图片浏览器

示例1 <!DOCTYPE html> <html><head><meta charset"utf-8" /><title></title></head><script src"js/viewer.min.js"></script><link rel"stylesheet" href"css/viewer.min.css…

计算机网络 - 路由器查表过程模拟 C++(2024)

1.题目描述 参考计算机网络教材 140 页 4.3 节内容&#xff0c;编程模拟路由器查找路由表的过程&#xff0c;用&#xff08;目的地址 掩码 下一跳&#xff09; 的 IP 路由表以及目的地址作为输入&#xff0c;为目的地址查找路由表&#xff0c;找出正确的下一跳并输出结果。 1.…

[C#]C# OpenVINO部署yolov8-pose姿态估计模型

【源码地址】 github地址&#xff1a;https://github.com/ultralytics/ultralytics 【算法介绍】 Yolov8-Pose算法是一种基于深度神经网络的目标检测算法&#xff0c;用于对人体姿势进行准确检测。该算法在Yolov8的基础上引入了姿势估计模块&#xff0c;通过联合检测和姿势…

UE5 C++(十三)— 创建Character,添加增强输入

文章目录 创建Character第三人称模板添加增强输入引用在脚本中实现移动、旋转 创建Character第三人称模板 创建MyCharacter C类 添加增强输入引用 在DEMO.Build.cs 脚本中添加增强输入模块 有个容易出错的点&#xff0c;这里的设置一定要正确 然后添加引用到C头文件中 …

面向设计师的11个必备AI工具

在当今快速发展的设计领域&#xff0c;人工智能&#xff08;AI&#xff09;工具已成为不可或缺的创新催化剂。这些工具专门用于提高效率和创造力&#xff0c;从而重新定义传统的设计方法。AI正在彻底改变设计师的工作方式&#xff0c;从自动处理任务到发掘新的创造力机会&#…

HTAP(Hybrid Transactional/Analytical Processing)系统之统一存储的实时之道

文章目录 HTAP与时俱进LASER中的存储关键知识LSM&#xff08;Log-Structured Merge Tree&#xff09;SkipList&#xff08;跳表&#xff09;CDC&#xff08;Changed Data Capture&#xff09;SST&#xff08;Sorted Sequence Table&#xff09; 特性列组&#xff08;Column Gro…

Arthas,你真是Java程序员的大力丸

您好&#xff0c;我是码农飞哥&#xff08;wei158556&#xff09;&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f4aa;&#x1f3fb; 1. Python基础专栏&#xff0c;基础知识一网打尽&#xff0c;9.9元买不了吃亏&#xff0c;买不了上当。 Python从入门到精…

印章管理详解|契约锁帮助提前预防99%的印章风险

传统实体印章不仅存在私刻私盖、盗用乱用、易伪造等安全隐患&#xff0c;此外&#xff0c;线下面签的方式也不便于异地、非工作时间用印&#xff0c;分公司用印常常两地来回跑。组织的印章到底怎么“管”才能保障安全和使用效率&#xff1f; 一、 印章管理风险有哪些&#xff…

系统概要设计说明书

系统概要设计说明书 1.整体架构 2.功能架构 3.技术架构 4.运行环境设计 5.设计目标 6.接口设计 7.性能设计 8.运行设计 9.出错设计 全文档获取进主页

面试算法107:矩阵中的距离

题目 输入一个由0、1组成的矩阵M&#xff0c;请输出一个大小相同的矩阵D&#xff0c;矩阵D中的每个格子是矩阵M中对应格子离最近的0的距离。水平或竖直方向相邻的两个格子的距离为1。假设矩阵M中至少有一个0。 例如&#xff0c;图&#xff08;a&#xff09;是一个只包含0、1的…

Docker安装Jenkins,配置Maven和Java

前言 这是一个java的springboot项目&#xff0c;使用maven构建 安装准备 需要将maven和jdk安装在服务器上&#xff0c;Jenkins需要用到&#xff0c;还有创建一个jenkins的目录&#xff0c;安装命令如下&#xff1a; docker run -d -uroot -p 9095:8080 -p 50000:50000 --n…

时间序列数据库选型: influxdb; netdiscover列出docker实例们的ip

influxdb influxdb: 有收费版本、有开源版本 docker run -itd --name influxdb-dev -p 8086:8086 influxdb #influxdb的web客户端(端口8003)被去掉了 #8006是web-service端口docker pull chronograf docker run -d -p 8888:8888 --name chronograf-dev chronografsudo netst…

对比fwrite、mmap、DirectIO 的内存、性能开销,剖析 Page Cache

背景 如上图所示&#xff1a;应用程序写文件有三种形式。 fwrite : 应用程序 -> fwrite(Buffered IO) -> File System -> Page Cache -> Block IO Layer -> Device & Disk etc.mmap : 应用程序 -> mmap -> Page Cache -> Block IO Layer -> De…

【LLM】vLLM部署与int8量化

Acceleration & Quantization vLLM vLLM是一个开源的大型语言模型&#xff08;LLM&#xff09;推理和服务库&#xff0c;它通过一个名为PagedAttention的新型注意力算法来解决传统LLM在生产环境中部署时所遇到的高内存消耗和计算成本的挑战。PagedAttention算法能有效管理…

虾皮商品标题:如何创建有效的虾皮商品标题

虾皮&#xff08;Shopee&#xff09;平台是一个非常受欢迎的电商平台&#xff0c;为卖家提供了一个广阔的销售渠道。在虾皮上&#xff0c;一个有效的商品标题是吸引潜在买家注意力的关键元素之一。一个好的商品标题能够吸引更多的点击和浏览量&#xff0c;从而提高销售机会。下…

什么是API网关代理?

带有API网关的代理服务显着增强了用户体验和性能。特别是对于那些使用需要频繁创建和轮换代理的工具的人来说&#xff0c;使用 API 可以节省大量时间并提高效率。 了解API API&#xff08;即应用程序编程接口&#xff09;充当服务提供商和用户之间的连接网关。通过 API 连接&a…