这位更是重量级。这篇论文对于概率论学的一塌糊涂的我简直是灾难。


由于 prompt 的分布与预训练的分布不匹配(预训练的语料是自然语言,而 prompt 是由人为挑选的几个样本拼接而成,是不自然的自然语言),作者设预训练的分布为 $p$ 而 prompt 的分布设为 $p_{prompt}$,因此作者认为这两种分布的不符可能是造成 inference 效果不佳的重要原因($S_n$ 为 context):

$$argmax_{y}\;p(y|S_n,\;x_{test})\;\neq argmax_{y}\;p_{prompt}(y|x_{test})$$

但是这种不匹配造成可以通过设置更好的 prompt 减弱,进而提出了 $singal$ 的概念,$singal$ 可以认为是一种任务的明确程度,$singal$ 越大代表任务越明确,得到的结果也准确,例如:一般情况下,One-shot 的效果要比 Few-shot 和 Zero-shot 都要差,例如下面的prompt :

> Albert Einstein was a German. Marie Curie was <token to infer>

这个 context 根本没有明确任务是什么!按照 prompt 的分布这里应该生成的是 Polish,但是按照预训练的分布这里完全可以填 brilliant 什么的,也就是两种分布不匹配的程度被大大放大了。但是如果换成 Few-shot 呢:

> Albert Einstein was German. Mahatma Gandhi was Indian. Karl Heinrich Marx was German. Marie Curie was <token to infer>

这个 context 就很好的描述了任务的目的:判断这些人所属的国家。因此,作为 context 的样本数量增加可以有效增加 $singal$,缩小两种分布的不匹配程度,进而改善效果。

作者进一步总结了几个对 $singal$ 有影响的因素

样本数量

如上文所述,样本越多任务描述越清晰,$singal$ 越大。

输入空间

x 随便选的话会使准确率大幅度降低。

输出空间

y 随便选的话也会使准确率大幅度降低。

输入输出的对应关系

输出的标签在输出空间里面随机选取,对准确率有影响但是没有想象中那么大,进而证明了对 in-context learning 更重要的因素是任务描述,而不是提供的 prompt 是否正确(因为答案错误并没有影响这个任务的目的:情感分类)。


为了使用数学工具进行分析,作者将前文中提到的任务描述定义为 $\theta$,一篇自然语言预料可能包含多个不同的 $\theta \in \Theta$,而一个 prompt 只包含一个 $\theta^*$(例如你考虑你正在写一篇任务传记,你的任务顺序可能是:名字 $\to$ 国籍 $\to$ 职业 $\to$ 成就等包含多个任务,但是在 prompt 中任务顺序是:名字 $\to$ 国籍 $\to$ 名字 $\to$ 国籍 $\to$ 名字 $\to$ 国籍...,只在重复进行一个任务)(国籍 $\to$ 名字这个就是前文提到的分布不匹配,因为自然语言不会出现这样的分布,这种不匹配可以被有利因素补偿),同时我们认为 $\theta^* \in \Theta$(我们认为 icl 要做的任务一定在预训练的语料中出现过了)。

$$p(y|S_n,x_{test})=\int_{\theta} p(y|S_n,\;x_{test},\;\theta)p(\theta | S_n,\;x_{test})\, \mathrm{d}x$$

$$\propto\;\int_{\theta} p(y|S_n,\;x_{test},\;\theta)p(S_n,\;x_{test} | \theta)p(\theta)\, \mathrm{d}x \;\;\;\;(Bayes'\;rule,\;drop\;the\;constant\;\frac{1}{p(S_n,\;x_{test})})$$

$$\propto\; \int_{\theta} p(y|S_n,\;x_{test},\;\theta)   \frac{p(S_n,\;x_{test} | \theta)}{p(S_n,\;x_{test} | \theta^*)}  p(\theta)\, \mathrm{d}x\;\;\;\;(divided\;by\;a\;constant)$$

待补充。。。

论文笔记 - An Explanation of In-context Learning as Implicit Bayesian Inference的更多相关文章

  1. Deep Learning论文笔记之(八)Deep Learning最新综述

    Deep Learning论文笔记之(八)Deep Learning最新综述 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些论文,但老感觉看完 ...

  2. 论文笔记《Spatial Memory for Context Reasoning in Object Detection》

    好久不写论文笔记了,不是没看,而是很少看到好的或者说值得记的了,今天被xinlei这篇paper炸了出来,这篇被据老大说xinlei自称idea of the year,所以看的时候还是很认真的,然后 ...

  3. 论文笔记:A Review on Deep Learning Techniques Applied to Semantic Segmentation

    A Review on Deep Learning Techniques Applied to Semantic Segmentation 2018-02-22  10:38:12   1. Intr ...

  4. 论文笔记 — MatchNet: Unifying Feature and Metric Learning for Patch-Based Matching

    论文:https://github.com/ei1994/my_reference_library/tree/master/papers 本文的贡献点如下: 1. 提出了一个新的利用深度网络架构基于p ...

  5. (论文笔记Arxiv2021)Walk in the Cloud: Learning Curves for Point Clouds Shape Analysis

    目录 摘要 1.引言 2.相关工作 3.方法 3.1局部特征聚合的再思考 3.2 曲线分组 3.3 曲线聚合和CurveNet 4.实验 4.1 应用细节 4.2 基准 4.3 消融研究 5.总结 W ...

  6. 论文笔记 Spatial contrasting for deep unsupervised learning

    在我们设计无监督学习模型时,应尽量做到 网络结构与有监督模型兼容 有效利用有监督模型的基本模块,如dropout.relu等 无监督学习的目标是为有监督模型提供初始化的参数,理想情况是"这些 ...

  7. 论文笔记之:DualGAN: Unsupervised Dual Learning for Image-to-Image Translation

    DualGAN: Unsupervised Dual Learning for Image-to-Image Translation 2017-06-12  21:29:06   引言部分: 本文提出 ...

  8. 【论文笔记】多任务学习(Multi-Task Learning)

    1. 前言 多任务学习(Multi-task learning)是和单任务学习(single-task learning)相对的一种机器学习方法.在机器学习领域,标准的算法理论是一次学习一个任务,也就 ...

  9. 论文笔记——NEURAL ARCHITECTURE SEARCH WITH REINFORCEMENT LEARNING

    论文地址:https://arxiv.org/abs/1611.01578 1. 论文思想 强化学习,用一个RNN学一个网络参数的序列,然后将其转换成网络,然后训练,得到一个反馈,这个反馈作用于RNN ...

随机推荐

  1. Spring 源码学习笔记10——Spring AOP

    Spring 源码学习笔记10--Spring AOP 参考书籍<Spring技术内幕>Spring AOP的实现章节 书有点老,但是里面一些概念还是总结比较到位 源码基于Spring-a ...

  2. dotnet 设计规范 · 数组定义

    ✓ 建议在公开的 API 使用集合而不是数组.集合可以提供更多的信息. X 不建议设置数组类型的字段为只读.虽然用户不能修改字段,但是可以修改字段里面的元素.如果需要一个只读的集合,建议定义为只读集合 ...

  3. C# using()的本质

    " 程序世界没有秘密,所有答案都在源码里 " 01.点明观点 C#中,非托管资源使用之后必须释放,而using()是使用非托管资源的最佳方式,可以确保资源在代码块结束之后被正确释放 ...

  4. vscode 快速注释和撤回快捷键

    好家伙,天天忘,建议先练个十遍上手 1.快捷行注释 Ctrl + / 2.快捷块注释 Alt + Shift + A 3.撤回 Ctrl + Z 4.恢复撤回(撤回你的撤回) Ctrl + Shift ...

  5. linux中awk命令详解(最全面秒懂)

    一:linux中awk命令 1.awk命令简介 AWK 是一种处理文本文件的语言,是一个强大的文本分析工具. 之所以叫 AWK 是因为其取了三位创始人 Alfred Aho,Peter Weinber ...

  6. KingbaseES 约束

    目录 什么是约束 如何定义约束 列约束 表约束 为约束创建名称 默认约束名称 自定义约束名称 KingbaseES 的可用约束列表 CHECK约束 非空约束 UNIQUE约束 PRIMARY KEY约 ...

  7. 引擎之旅 Chapter.1 高分辨率时钟

    目录 游戏中的时间线 真实时间线 游戏时间线 全局时钟的实现方式 我们如何理解时间.在现实生活中,时间就是一个有方向的直线.从一个无穷远到另一个无穷远.用数学去抽象地思考,它就是一个从无穷小到无穷大的 ...

  8. 升级Windows 2003域控制器到Windows 2012 R2

    由于Windows 2003包括R2的扩展支持在今年7月14日就会过期.如果在扩展周期结束之前没有和微软签订昂贵服务协议,那么系统将得不到任何补丁和技术支持. 我这里准备了两台测试用的机器做这个实验. ...

  9. Python-Django模板

    前面将hello world输出给浏览器,将数据与 视图 混合在一起,不符合 MVC思想. 模板就是一个文本,用来分离文档的表现形式和内容. 在templates目录下创建一个html模板 然后需要向 ...

  10. vscode调试thinkhphp

    第一步先安装xdebug扩展,我用宝塔环境,所以一键安装 第二步.在vscode中安装插件 我的php.ini是这样的 xdebug.remote_enable = 1 xdebug.remote_a ...