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


由于 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. MySQL查询关键数据方法

    MySQL查询关键数据方法 操作表的SQL语句补充 1.修改表名 alter table 表名 reame 新表名: 2.新增字段名 alter table 表名 add 字段名 字段类型(数字) 约 ...

  2. C# Hashtable VS. Dictionary 性能对比

    Hashtable VS Dictionary 因为Hashtable的Key和Value都是object类型,所以在使用值类型的时候,必然会出现装箱和拆箱的操作,因此性能肯定是不如Dictionar ...

  3. 【设计模式】Java设计模式 - 反射机制

    [设计模式]Java设计模式 - 反射机制 不断学习才是王道 继续踏上学习之路,学之分享笔记 总有一天我也能像各位大佬一样 一个有梦有戏的人 @怒放吧德德 目录 [设计模式]Java设计模式 - 反射 ...

  4. Homework4

    书籍链接:https://www.ituring.com.cn/article/13466(why Software Development Methodologies Suck?) 问:读 why ...

  5. 【读书笔记】C#高级编程 第十四章 内存管理和指针

    (一)后台内存管理 1.值数据类型 Windows使用一个虚拟寻址系统,该系统把程序可用的内存地址映射到硬件内存中的实际地址,该任务由Windows在后台管理(32位每个进程可使用4GB虚拟内存,64 ...

  6. 在Ubuntu上安装Odoo时遇到的问题

    这两天开始看<Odoo快速入门与实践  Python开发ERP指南>(刘金亮 2019年5月第1版 机械工业出版社).试着在Ubuntu上安装Odoo,遇到很多问题,通过在网上查找,都已解 ...

  7. 如何通过Java应用程序创建Word表格

    表格,又称为表,既是一种可视化交流模式,又是一种组织整理数据的手段.人们在通讯交流.科学研究以及数据分析活动当中广泛采用着形形色色的表格.那么如何通过Java应用程序创建Word表格呢?别担心,本文将 ...

  8. Elasticsearch:正确使用regexp搜索

  9. 在Ubuntu 主机上使用 Cockpit 管理容器

    如果你管理着一台 Linux 服务器,那么你可能正在寻找一个可靠的管理工具.为了这个你可能已经看了 Webmin 和 cPanel 这类软件.但是,如果你正在寻找一种简单的方法来管理还包括了 Dock ...

  10. SQL通用语法和SQL分类

    SQL通用语法 1.SQL 语句可以单行或多行书写,以分号结尾 2.可使用空格和缩进来增强语句的可读性 3.MySQL 数据库的SQL语句不区分大小写,关键字建议使用大写 4.3种注释 单行注释: - ...