LeCun、田渊栋参与撰写,70页「自监督学习」大全

来源 | 机器之心  微信号:almosthuman2014

「关于自监督学习,你想知道但又不敢问的一切都在这里了。」图灵奖得主、Meta 人工智能首席科学家 Yann LeCun 刚刚发了这样一则推文。

在推文中,LeCun 介绍了他和 Meta 人工智能研究院研究员、研究经理田渊栋等人共同撰写的一份「Cookbook」(非常实用、可操作性强、就像一本菜谱一样的论文)。这本 Cookbook 总共 70 页,涵盖了自监督学习的定义、重要性、起源、家族、训练部署方法、扩展方法等方面知识,是一份不可多得的学习材料。「如果你想研究自监督学习,那最好看看这本书。」田渊栋补充说。

论文链接:https://arxiv.org/pdf/2304.12210v1.pdf

自监督学习可以被看作是机器学习的一种「理想状态」,模型直接从无标签数据中自行学习,无需标注数据。它主要是利用辅助任务(pretext task)从大规模的无监督数据中挖掘自身的监督信息,通过这种构造的监督信息对网络进行训练,从而可以学习到对下游任务有价值的表征。自监督学习的优势在于它能够利用大量的无标签数据进行训练,而不需要人工标注。这样可以节省大量的人力和时间成本,并且可以利用更多的数据进行训练,从而提高模型的性能。

众所周知,Yann LeCun 一直是自监督学习的积极支持者。近几年,Meta 发表了一系列关于自监督学习的论文。LeCun 坚定地认为,自监督学习是 AI 系统的必要前提,它可以帮助 AI 系统构建世界模型,以获得类似人类的能力,如理性、常识,以及将技能和知识从一个环境迁移到另一个环境的能力。GPT-4 的成功有力地证明了自监督学习的有效性。不过,Yann LeCun 并不看好 GPT 家族所采用的自回归方法(预测下一个词),而是更倾向于构建「世界模型」。

这份 Cookbook 在社交媒体上受到了广泛好评。

自监督学习是什么?为什么如此重要?

2021 年,Yann LeCun 等人发布了一篇题为「Self-supervised learning: The dark matter of intelligence」的博客。在博客中,他们把自监督学习(SSL)称为「智能的暗物质」,认为这是推进机器学习的一条有前途的道路。

自监督学习(SSL)是深度学习在自然语言处理领域取得成功的基础,它带来了从自动机器翻译到在网络规模的无标签文本语料库上训练的大型语言模型的进步。在计算机视觉方面,它推动了数据规模的新边界,如在 10 亿张图像上训练的 SEER 模型。用于计算机视觉的 SSL 方法已经能够媲美或在某些情况下超过在标记数据上训练的模型,甚至在 ImageNet 等竞争激烈的基准上也是如此。SSL 也被成功地应用于其他模态,如视频、音频和时间序列。

自监督学习定义了一个基于无标签输入的辅助任务,以产生描述性的、可理解的表示。在自然语言中,一个常见的 SSL 目标是掩盖文本中的一个词并预测周围的词。这种预测一个词周围的上下文的目标鼓励模型捕捉文本中的词之间的关系,而不需要任何标签。同样的 SSL 模型表示可用于一系列下游任务,如跨语言的文本翻译、总结,甚至是生成文本,以及其他许多任务。在计算机视觉中,类似的目标存在于 MAE 或 BYOL 学习等模型中,以预测图像或表征中被遮蔽的内容块。其他 SSL 目标鼓励同一图像的两个视图,例如通过添加颜色或裁剪形成,以映射到类似的表示。

在大量无标签数据上进行训练的能力带来了许多好处。传统的监督学习方法是在一个特定的任务上进行训练,而这个任务通常是基于可用的标记数据而预先知道的,SSL 则是在许多任务中学习有用的通用表征。SSL 在医学等领域特别有用,因为这些领域的标签成本很高,或者具体的任务不能事先知道。也有证据表明,SSL 模型可以学习到对对抗性例子、标签损坏和输入扰动更稳健的表征,而且与有监督的模型相比更公平。因此,SSL 是一个越来越受关注的领域。然而,就像烹饪一样,训练 SSL 的方法是一门精致的艺术,有很高的入门门槛。

为什么要编写自监督学习的 Cookbook

虽然研究人员熟悉 SSL 的许多组件,但成功训练 SSL 的方法涉及从辅助任务到训练超参数的一系列令人眼花缭乱的选择。SSL 研究具有很高的进入门槛,包括:

1、计算成本高;

2、缺乏完全透明的论文来详细说明充分实现 SSL 潜力所需的复杂实现;

3、缺乏统一 SSL 的专业词汇和理论观点。

由于 SSL 建立了与传统的基于重建的无监督学习方法 —— 如(去噪、变分)自编码器 —— 不同的范式,因此我们在统一框架下理解 SSL 的词汇量是有限的。事实上,在单一框架下统一 SSL 方法的尝试直到去年才开始出现 。因为没有一个共同的基础来描述 SSL 方法的不同组成部分,研究人员着手研究 SSL 方法变得更具挑战性。与此同时,SSL 研究迫切需要新的研究人员加入,以将其部署到现实世界中。然而,关于 SSL 泛化性的保证、公平性以及对对抗性攻击甚至自变体的稳健性,仍然存在许多未解之谜。这些问题对于 SSL 方法的可靠性至关重要。

此外,由经验驱动的 SSL 带有许多可变的部分(主要是超参数),它们是可能会影响最终表示的关键属性,而且在已发表的工作中不一定有详细的说明。也就是说,要开始研究 SSL 方法,首先必须详尽地对这些方法进行经验探究,以充分掌握所有这些部件的影响和行为。这种经验盲点有很大的局限性,因为它们需要大量的计算资源和预先存在的实践经验。总而言之,SOTA 的性能来自于看似不同但又重叠的方法,现有的理论研究很少,而这类模型在现实世界中的部署又很广泛。因此,我们需要一本统一这项技术及其有关方法的 cookbook。这对降低 SSL 的研究门槛至关重要。

研究人员的目标是以 cookbook 的形式奠定 SSL 研究的基础,并呈现与 SSL 有关的最新方法,从而降低 SSL 研究的门槛。

比如要成功烹饪,你必须首先学习基本技术:切碎、炒菜等。研究者从第 2 章开始使用通用词汇介绍自监督学习的基本技术。具体来说,他们描述了系统的方法以及理论线索,以统一的视角连接它们的目标。研究者们在概念框中突出显示出关键的概念,例如 loss terms 或 training objectives。

接下来,「厨师们」必须学会熟练地应用这些技术来形成「美味的菜肴」,这需要学习现有的食谱,组合食材并评估菜肴。在第 3 章中,研究人员介绍了成功实现 SSL 方法的实际注意事项,讨论了常见的训练方法,包括超参数选择、如何组装网络架构和优化器等组件,以及如何评估 SSL 的方法。

他们还分享了一些优秀的研究人员关于常见训练配置和躲避陷阱的实用技巧。希望这本 cookbook 能成为大家成功训练和探索自监督学习的实践基础。

更多细节请参见原论文。

参考链接:https://zhuanlan.zhihu.com/p/66063089

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

javaEE初阶 — 服务器版本的表白墙案例

文章目录 原来版本涉及的问题设计程序1 点击提交2 页面加载 实现后端代码1 新建一个 Maven 项目。2 按照之前第一个 Servlet 程序的步骤来进行设置3 新建一个 MessageServlet 类 实现前端代码1 点击提交的时给服务器发送一个 POST 请求2 在页面加载时发送一个 GET 请求3 将数据…

【2023 年第十三届 MathorCup 高校数学建模挑战赛】C 题 电商物流网络包裹应急调运与结构优化问题 赛后总结之31页论文及代码

相关信息 (1)建模思路 【2023 年第十三届 MathorCup 高校数学建模挑战赛】A 题 量子计算机在信用评分卡组合优化中的应用 详细建模过程解析及代码实现 【2023 年第十三届 MathorCup 高校数学建模挑战赛】 B 题 城市轨道交通列车时刻表优化问题 详细建…

2.3 定点乘法运算

学习目标: 如果我要学习定点乘法运算,我会按照以下步骤进行学习: 确定学习目标:明确学习定点乘法运算的目的和重点,以便有针对性地进行学习。 掌握基础知识:首先需要了解定点数和定点乘法的基础知识&…

PySide2 QWebEngine与Web js交互

文章目录 单向交互双向传值案例 单向交互 QWebEngineView加载web页面&#xff0c;web页面中点击按钮&#xff0c;执行js代码&#xff0c;js的返回值传给QWebEnginePage&#xff0c;使用python进行保存结果。 单向&#xff0c;js向python(PySide2)端传输数据。 前端实现 <…

力扣刷题day35|416分割等和子集

416. 分割等和子集 力扣题目链接 给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集&#xff0c;使得两个子集的元素和相等。 示例 1&#xff1a; 输入&#xff1a;nums [1,5,11,5] 输出&#xff1a;true 解释&#xff1a;数组可以分割…

智能网联汽车城市化的进程和思考

4月19日&#xff0c;工信部官网显示&#xff0c;支持湖北&#xff08;襄阳&#xff09;、浙江&#xff08;德清&#xff09;、广西&#xff08;柳州&#xff09;创建国家级车联网先导区。至此&#xff0c;车联网国家级先导区正式扩容&#xff0c;由4个增至7个。智能网联作为新生…

网络字节序和主机字节序详解(附代码)

一、网络字节序和主机字节序 网络字节序和主机字节序是计算机网络中常用的两种数据存储格式。 主机字节序&#xff1a; 指的是在计算机内部存储数据时采用的字节排序方式。对于一个长为4个字节的整数&#xff0c;若采用大端字节序&#xff0c;则该整数在内存中的存储顺序是&a…

前端面试题(持续更新中)

【1】null和undefined的区别 同&#xff1a; 1.都是js的基本类型&#xff0c;保存在栈中&#xff0c;表示“无、没有”的意思。 2.if语句中的null和undefined都是false。 var a undefined var b null if (!a) {console.log(undefined is false); } if (!b) {console.log(null…

手动搭建高可用的 kubernetes 集群(v1.16.6)

手动搭建高可用的 kubernetes 集群(v1.16.6) 目录 手动搭建高可用的 kubernetes 集群(v1.16.6) 1、组件版本和配置策略 1.1 主要组件版本1.2 主要配置策略2、初始化系统和全局变量 2.1 集群规划2.2 初始化系统环境 2.2.1 关闭防火墙2.2.2 关闭 swap 分区2.2.3 关闭 SELinux2.2.…

【MySQL自学之路】第5天——对数据表数据的增删改查1

目录 前言 使用的数据库 数据表 ​编辑 表结构 插入数据&#xff08;insert into&#xff09; 插入一条数据 插入多条数据 修改数据&#xff08;update set&#xff09; 修改一条数据的值 ​编辑 修改多条数据的值 删除数据&#xff08;delete from&#xff09;…

【云原生】Epinio--Kubernetes 的应用程序开发引擎

Kubernetes 已成为容器编排的事实标准&#xff0c;改变了我们的开发流程。十年前&#xff0c;我们只需要将代码打包成 war/jar 包&#xff0c;然后启动应用即可。然而&#xff0c;现在面向 Kubernetes 的开发&#xff0c;交付的产物有可能是 Helm Chart、Workload Yaml、Docker…

Postman测试实践笔记

Postman测试实践 文章目录 Postman测试实践一、Postman安装与使用1.1 Postman下载及安装1.1.2 Postman Mac版 1.2 Postman 更新1.2.1 mac 版更新 1.3 Postman 其他问题 二、网络相关知识2.1 接口2.1.1 软件为什么需要接口 2.2 接口测试2.2.1 什么是接口测试&#xff1a;2.2.2 为…

经典回归算法

回归的概念 回归方程&#xff1a; 写成矩阵&#xff1a; 核心问题&#xff0c;构建预测函数z来映射特征矩阵x和标签y的线性关系 预测的目标值&#xff0c;有连续值也有离散值 连续值&#xff0c;就直接预测输出就行离散值&#xff0c;需要在输出端加一个变换函数例如。Si…

C#,生信软件实践(02)——欧洲分子生物学实验室(EMBL格式文件)转为核酸序列或多肽序列(FASTA格式文件)的源代码

>生信老白写的基础代码.fasta MAYBENOANYUSAGE 1 EMBL 1.1 EMBL组织 欧洲分子生物学实验室EMBL&#xff08;European Molecular Biology Laboratory&#xff09;1974年由欧洲14个国家加上亚洲的以色列共同发起建立&#xff0c;现在由欧洲30个成员国政府支持组成&#xf…

Android 项目必备(四十五)-->2023 年如何构建 Android 应用程序

Android 是什么 Android 是一种基于 Linux 内核并由 Google 开发的开源操作系统。它用于各种设备包括智能手机、平板电脑、电视和智能手表。 目前&#xff0c;Android 是世界上移动设备使用最多的操作系统; 根据 statcounter 的一份最近 12 个月的样本报告;Android 的市场份额…

三、SpringMVC

三、SpringMVC 1、SpringMVC简介 1.1、什么是MVC MVC是一种软件架构的思想&#xff0c;将软件按照模型、视图、控制器来划分 M&#xff1a;Model&#xff0c;模型层&#xff0c;指工程中的JavaBean&#xff0c;作用是处理数据 JavaBean分为两类&#xff1a; 一类称为实体…

ApachePOI操作Excel快速入门使用

简介 Apache POI 是一个处理Miscrosoft Office各种文件格式的开源项目&#xff0c;主要任务是创建和维护Java API&#xff0c;以基于Office Open XML标准&#xff08;OOXML&#xff09;和Microsoft的OLE 2复合文档格式&#xff08;OLE2&#xff09;处理各种文件格式&#xff0…

【KVM虚拟化】· 命令行KVM安装linux

目录 &#x1f341;基础本环境配置 &#x1f341;添加lvm卷 &#x1f341;qemu-img创建磁盘文件 &#x1f342;创建raw格式 &#x1f342;创建虚拟机 &#x1f342;转换格式为qcow2 &#x1f341;virt-install命令参数 &#x1f341;案例操作 &#x1f990;博客主页&#xff1a…

论文笔记:Model-Contrastive Federated Learning

0 简介 论文&#xff1a;Model-Contrastive Federated Learning 代码&#xff1a;https://github.com/QinbinLi/MOON 相关链接&#xff1a;本文主要是将SimCLR对比学习的思想迁移到联邦学习中&#xff0c;关于SimCLR的介绍见https://blog.csdn.net/search_129_hr/article/deta…

Mysql 管理

目录 0 课程视频 1 系统数据库 -> 安装完mysql ->自带四个数据库 2 常用工具 -> 写脚本用 2.1 mysql 客户端工具 2.2 mysqladmin 2.3 mysqlbinlog -> 二进制日志 -> 运维讲解 2.4 mysqlshow 2.5 mysqldump 备份用 ->导出 2.6 mysqlimport/source -…