换个方式训练AI:我们需要基于人类反馈的强化学习(RLHF)吗?
本月,深度学习与人工智能领域的研究工作高度聚焦于Transformer的新型或差异化训练范式。
本期通讯的第一部分将深入探讨如何将人类反馈整合到大语言模型中,以及其他聚焦于优化训练流程的研究论文。
接下来,我们将回顾本月的重大新闻头条,然后介绍值得关注的开源库与相关发布。
最后,我会分享我个人研读科研论文的方法,同时分析一篇探讨视觉Transformer扩展至百亿参数规模的论文。
附言:如果您看到的通讯内容有截断,那是因为部分邮件服务商可能会对较长的邮件进行删减。遇到这种情况,您可以访问 https://magazine.sebastianraschka.com/ 查看全文。
论文与行业趋势
在我们深入探讨最新发表的几篇论文之前,先来明确近期研究领域的核心背景与问题:如何利用人类反馈提升大语言模型(LLM)的输出效果。目前,强化学习是将人类偏好或反馈融入预训练大语言模型、实现模型进一步优化的最主流范式。
强化学习是机器学习的一个子领域,核心是训练智能体根据从环境中获得的奖励来做决策。在强化学习中,我们有一个策略(P),它将状态(S)映射为智能体采取的动作(A),并据此计算奖励(R)。目标是找到最优策略P*,以最大化累积奖励。在语言模型的场景下,我们可以把智能体看作大语言模型,包含输入词元与指令的集合构成状态空间S;所有可能的输出词元构成动作空间A;奖励则是来自人类反馈的对齐评分。最终,策略(P)本质上就是智能体针对给定状态决定采取何种动作的一套规则。
抛开上面这些强化学习的专业术语,我们可以将基于人类反馈的强化学习的大语言模型微调过程总结为下图所示的流程。

基于人类反馈的强化学习微调大语言模型的通用流程
在这里,人类反馈用于训练奖励模型(奖励模型本身的训练过程未在图中示出,它通常基于人类标注的标签,以常规监督学习的方式训练)。奖励模型通常是另一个语言模型,输出偏好标签、排序或分数。库尔贝克-莱布勒散度损失(KL损失)用于保证微调后的模型不会与原始预训练模型偏离过大。奖励模型对人类偏好进行编码,并为模型输出打上“内容质量”标签。最终,近端策略优化(PPO算法)根据奖励信号更新预训练大语言模型。
更多关于基于人类反馈的强化学习(RLHF)的学习资源
尽管基于人类反馈的强化学习(RLHF)或许无法彻底解决当前大语言模型存在的问题,但它仍是目前公认的最优方案之一。这一结论的依据是,ChatGPT等当前一代大语言模型的输出质量,相较于其底层基础模型(如GPT-3)有显著提升。未来我们很可能也会看到RLHF在大语言模型之外的更多领域得到更具创新性的应用。
鉴于RLHF至少在近期内都会是极具影响力的方法,在我们深入本月最新研究进展之前,我在下方分享五篇额外的科研论文,供想要进一步了解RLHF的读者参考。
(1) https://arxiv.org/abs/1602.01783 https://arxiv.org/abs/1602.01783 介绍了策略梯度方法,可作为深度强化学习中Q学习的替代方案。
(2) (
(3) https://arxiv.org/abs/1909.08593 https://arxiv.org/abs/1909.08593 阐述了将PPO与奖励学习应用于预训练语言模型的思路,其中加入了KL正则化,避免策略与自然语言偏离过远。
(4) https://arxiv.org/abs/2009.01325 https://arxiv.org/abs/2009.01325 介绍了广为流行的RLHF三步流程:
- 对GPT-3进行预训练
- 以监督学习方式对其进行微调
- 同样以监督学习方式训练奖励模型
随后,微调后的模型会借助该奖励模型,通过近端策略优化进行训练。
论文同时表明,相比单纯使用常规监督学习,结合近端策略优化的强化学习能得到效果更优的模型。
(5) (file:///Users/sebastian/Developer/github_rasbt/ahead-of-ai/issues_drafts/newsletter-6/)(https://arxiv.org/abs/2203.02155)( file:///Users/sebastian/Developer/github_rasbt/ahead-of-ai/issues_drafts/newsletter-6/)(https://arxiv.org/abs/2203.02155)(即知名的InstructGPT论文)采用了与上述类似的RLHF三步流程,但它的研究重点不是文本摘要,而是根据人类指令生成文本。此外,该研究使用标注者将输出从优到劣进行排序(而非仅对人类生成文本与AI生成文本做二元对比)。
RLHF的实践应用
如果你想动手实践RLHF,目前基于PyTorch的https://github.com/CarperAI/trlx 代码库似乎是最便捷的方案之一。
我们应该更早引入人类反馈吗?
尽管https://arxiv.org/abs/2203.02155 这篇论文(以及ChatGPT模型)去年已经证明,通过奖励模型利用人类反馈微调预训练大语言模型可以提升模型效果,但一个有趣的问题是:如果在预训练过程中(而非预训练之后)就引入奖励模型,是否能带来更大的收益?
答案是肯定的,确实可以!在2023年2月发表的https://arxiv.org/abs/2302.08582 中,研究人员发现,在预训练阶段就通过奖励模型融入人类偏好,最终得到的大语言模型生成的文本更符合人类偏好,即便遭受对抗性攻击时也是如此。

来源:https://arxiv.org/abs/2302.08582
我们真的需要RLHF吗?
但为什么最新的语言Transformer模型(比如ChatGPT等大语言模型)会选择用强化学习(RL)做微调,而不是常规的监督学习(SL)呢?
这个问题的产生很自然,因为RL范式(即RLHF,带人类反馈的强化学习)也需要标签来训练奖励模型。那为什么不直接用这些标签通过监督学习来微调模型呢?
(1) 在监督学习中,我们通常最小化真实标签与模型输出之间的差异。而这里的标签是特定提示对应回复的排序分数。因此,常规监督学习会让模型去预测排名,而不是生成针对查询的文本回复。实际上,InstructGPT中的奖励模型就是这样训练的,如下图所示。

InstructGPT论文中的奖励模型训练,来源:https://arxiv.org/abs/2203.02155
(2) 好吧,那我们为什么不把任务重新定义为一个约束优化问题,构造一个包含“输出文本损失”和“奖励分数”项的组合损失,再用监督学习联合优化呢?毕竟我和同事之前在提出https://arxiv.org/abs/1712.00321 和 https://arxiv.org/abs/2001.00561 等研究时,就用过类似的方案。

通过反向传播,以监督学习方式用不同损失分量训练或微调模型
当然,如果我们只需要模型生成正确的问答对,这种方法是可行的。但ChatGPT需要实现连贯的对话,因此我们更需要累积奖励。
(3) 回到第一点提到的监督学习的词元级损失:在监督学习中,我们通过交叉熵优化损失。根据求和规则,修改单个单词(词元)对整段文本的整体损失影响微乎其微。但否定一个词却可能彻底改变文本的含义,因此交叉熵并不是这类问题的最优损失函数。
(4) 当然,用监督学习训练模型并非不可能,https://arxiv.org/abs/2009.01325 这篇论文就做过相关尝试。但从目前的结果来看,其效果不如带人类反馈的强化学习。换句话说,从经验上看,RLHF的表现通常优于监督学习。这是因为监督学习使用的是词元级损失(可以对整段文本求和或取平均),而强化学习会将整段文本作为一个整体来考量。
(5) 这并非非此即彼的选择:InstructGPT和ChatGPT两者都用了。二者的结合似乎才是关键。ChatGPT(对应论文https://arxiv.org/abs/2203.02155)首先通过监督学习微调模型,再通过强化学习做进一步更新。

来源:https://arxiv.org/abs/2009.01325
如今,得益于ChatGPT的成功,RLHF成为了微调最新大语言模型的主流方式,但它显然不是未来唯一有前景的方案,正如我们刚才讨论的,监督学习也始终是可选方案之一。
用监督学习微调大语言模型
2023年2月发表的https://arxiv.org/abs/2302.05206 表明,监督学习方法用于大语言模型微调同样可以取得很好的效果。该研究提出了一种基于重标记的监督微调方法,在12项BIG-bench任务(https://github.com/google/BIG-bench)上的表现超过了RLHF。
该研究提出的HIR(事后指令标注,Hindsight Instruction Labeling)是如何运作的?简而言之,HIR方法包含采样和训练两个步骤。在采样阶段,向大语言模型输入提示与指令,收集模型的回复。在训练阶段,根据对齐评分,在合适的情况下对指令进行重标记。随后,使用重标记后的指令与原始提示来微调大语言模型。通过这种重标记方法,研究人员有效地将失败案例(即大语言模型生成的输出不符合原始指令的情况)转化为监督学习的有用训练数据。

来源:https://arxiv.org/abs/2302.05206
需要注意的是,这项研究无法与InstructGPT中的RLHF研究直接对比,因为它似乎使用了启发式方法(“但由于大多数人类反馈数据难以收集,我们采用了脚本化反馈函数……”)。不过HIR事后方法的结果依然十分有吸引力。
“小尺寸”大语言模型
尽管Meta的这些新模型是https://arxiv.org/abs/2005.14165 这类不使用RLHF的“原生”竞品,但仍值得一提:Meta在2023年2月的https://arxiv.org/abs/2302.13971 中发布了全新的LLaMA模型。由于其推理代码是开源的,且模型权重可申请用于研究目的,它们非常适合作为RLHF实验的预训练基线模型。以下是我研读LLaMA论文的几点心得。
受https://arxiv.org/abs/2203.15556 的启发,LLaMA论文提出了一组“小尺寸”大语言模型:仅用130亿参数(不到GPT-3 1750亿参数的十分之一),性能就超过了GPT-3;而更大的650亿参数版本性能超过了PaLM-540B。
总而言之,该论文提出了一系列基于公开数据训练的更小的开源模型,性能超过了近年来部分闭源大语言模型。

来源:https://arxiv.org/abs/2302.13971
性能超越GPT-3的LLaMA模型,为之前的开源模型(如https://arxiv.org/abs/2205.01068 和 https://arxiv.org/abs/2211.05100,据称性能不及GPT-3)提供了一个不错的替代选择。它们实现这种性能提升用到了哪些方法?论文提到了三点:(1)预归一化;(2)SwiGLU激活函数;(3)旋转位置编码。由于这些是研究模型,我本希望能看到消融实验,分析这些修改分别带来了多少性能提升,这似乎是一个遗憾的缺失。
此外,训练损失随训练词元数量变化的曲线呈现出陡峭的负斜率。如果将模型训练超过1-2个轮次,结果会如何?

该模型的代码仓库以GNU GPL v3.0许可证发布在GitHub上:https://github.com/facebookresearch/llama。仓库中仅包含推理代码,模型权重需提交申请后方可用于研究目的。
图像模型方面呢?
由于这一部分都在讲语言模型,我想至少补充一个图像模型相关的内容(另一篇会在下文“研读科研论文”部分介绍)。在2023年2月的https://arxiv.org/abs/2302.12192 中,研究人员提出了一种微调方法,利用(没错,又是)人类反馈来对齐生成模型。
整体而言,该方法与https://arxiv.org/abs/2203.02155 有几分相似,只不过这是文本生成图像的模型,生成的是图像而非文本。
如下图总结的那样,研究人员收集人类反馈,评估模型输出与各类文本提示的对齐程度。随后,他们利用人类标注的图文数据集训练奖励模型,再用该奖励模型微调文生图模型。

来源:https://arxiv.org/abs/2302.12192
行业头条
学术与研究领域
https://cvpr2023.thecvf.com/ 录用结果已公布。今年CVPR共收到9155份投稿(较2022年增长12%),录用率约为25%。录用论文名单可能会在未来几周内公布在https://openreview.net/group?id=thecvf.com/CVPR/2023/Conference。
https://neurips.cc/ 2023年的论文投稿截止日期为2023年5月17日。
https://www.zeta-alpha.com/post/must-read-the-100-most-cited-ai-papers-in-2022 盘点2022年引用量最高的100篇AI论文
ChatGPT相关
谷歌发布Bard相关更新(https://blog.google/technology/ai/bard-google-ai-search-updates/),其技术基于LaMDA(https://ai.googleblog.com/2022/01/lamda-towards-safe-grounded-and-high.html)。去年夏天,一名谷歌软件工程师声称该AI聊天机器人具有自我意识,引发了巨大争议(相关报道:https://www.theguardian.com/technology/2022/jul/23/google-fires-software-engineer-who-claims-ai-chatbot-is-sentient)。
百度股价大涨,此前有消息称百度将于3月推出类ChatGPT产品文心一言(https://www.bloomberg.com/news/articles/2023-02-07/baidu-surges-after-prepping-chatgpt-style-ernie-bot-for-march)。
微软宣布将AI技术融入必应搜索引擎(https://blogs.microsoft.com/blog/2023/02/07/reinventing-search-with-a-new-ai-powered-microsoft-bing-and-edge-your-copilot-for-the-web/)
据CNBC报道(https://www.cnbc.com/2023/02/07/microsoft-will-offer-chatgpt-tech-for-companies-to-customize-source.html),微软将允许企业基于自身数据训练并创建定制版ChatGPT。
AI生成短篇小说泛滥,导致知名科幻杂志《克拉克世界》(Clarkesworld)暂停征稿(相关报道:https://www.pcmag.com/news/sci-fi-mag-pauses-submissions-amid-flood-of-ai-generated-short-stories)。
OpenAI推出ChatGPT与Whisper API(https://openai.com/blog/introducing-chatgpt-and-whisper-apis),定价为每千词元0.002美元,据称成本比此前同类服务的首个版本降低了90%。
开源亮点
Pandas 2.0候选版发布!
我超爱Pandas!十多年前我刚开始做机器学习时就一直在用它。本月,全新的Pandas 2.0版本发布(文档:https://pandas.pydata.org/pandas-docs/version/2.0/index.html)。根据更新说明(https://pandas.pydata.org/pandas-docs/version/2.0/whatsnew/v2.0.0.html),好消息是本次更新以修复bug为主,没有重大API变更,因此Pandas 2.0基本可以兼容我们现有的代码库。
不过除了bug修复之外,本次更新也有几个令人兴奋的新特性。比如全新的Arrow后端。(Arrow是一种开源、跨语言的列式数据格式,用于在内存中表示数据,支持进程间零拷贝数据共享。)
我试用了一下Arrow后端,相比Pandas原本的NumPy后端,性能提升非常显著!事实上,它现在的性能已经非常接近https://www.pola.rs/ ——这款近期大热的、基于Rust开发的Python DataFrame替代方案。

基准测试对比:Pandas全新PyArrow后端、传统Pandas NumPy后端,以及Rust编写的Polars DataFrame库。我的基准测试代码可在GitHub查看:https://github.com/rasbt/machine-learning-notes/blob/main/benchmark/pandas-pyarrow/pandas2-pyarrow.ipynb
你可以通过以下命令安装Pandas 2.0候选版:
conda install -c conda-forge/label/pandas_rc pandas==2.0.0rc0
pip install --upgrade --pre pandas==2.0.0rc0
如果你想体验全新的Arrow后端,可以按每个DataFrame为单位,通过dtype属性启用,示例如下:
import numpy as np
import pandas as pd
import pyarrow as pa
numbers = np.random.rand(1_000_000, 100)
df = pd.DataFrame(numbers, dtype="float64[pyarrow]")
或者,如果你想默认使用Arrow作为后端,可以在Python会话或脚本中执行以下命令:
pd.options.mode.dtype_backend = "pyarrow"
PicoGPT——用NumPy实现的极简GPT
https://github.com/jaymody/picoGPT 是用NumPy编写的极简GPT实现,仅60行代码——当然这是用于教学目的的项目。此外,该仓库还包含加载GPT-2权重并实际运行的代码。

运行picoGPT的截图(来源:https://github.com/jaymody/picoGPT)
基于LLaMA的ChatGPT训练开源实现
如前所述,Meta近期发布了LLaMA——一系列“小尺寸”大语言模型(最高650亿参数),性能超越GPT-3。https://github.com/nebuly-ai/nebullvm/tree/main/apps/accelerate/chatllama 基于预训练LLaMA模型,为其添加了基于人类反馈的强化学习(RLHF)组件。
JupyterLab 3.6发布
JupyterLab 3.6正式发布(公告:https://discourse.jupyter.org/t/jupyterlab-3-6-0-is-released/17808),本次更新优化了渲染速度与标签页切换性能,还新增了通知弹窗,用于提示未来的JupyterLab更新。本次版本的最大亮点是重构了实时协作功能(文档:https://jupyterlab.readthedocs.io/en/stable/user/rtc.html)。
Lazy Predict
这不是一个新库,但我本月发现的一个很有意思的工具:https://github.com/shankarpandala/lazypredict 只需两行代码,就能在给定数据集上运行scikit-learn中所有主流的分类(或回归)模型。当你处理表格数据集,想要快速得到预测性能基线时,这个工具非常实用。

使用lazypredict库的截图(来源:https://github.com/shankarpandala/lazypredict)
精彩语录
“先选定评估指标,再做建模选择。不要使用AIC、BIC这类基于模型假设的指标。”
—— 克里斯托夫·莫尔纳(Christoph Molnar)
我很喜欢这句话,因为评估指标不需要,也不应该等同于优化指标。此外,我们可以把机器学习算法和模型看作(机器学习)系统中可替换的组件。因此,以模型无关的方式定义评估指标是合理的,这样便于模型之间的对比与升级。
赤池信息量准则(AIC,https://en.wikipedia.org/wiki/Akaike_information_criterion)和贝叶斯信息量准则(BIC,https://en.wikipedia.org/wiki/Bayesian_information_criterion)适用于参数数量可数、且具有似然函数的模型。因此,如果我们使用XGBoost分类器,情况就会有点棘手。XGBoost的参数数量是多少?更何况,使用XGBoost时,我们的主要目标可能是最大化新数据上的预测准确率,而非得到一个能精确表征底层数据生成过程的统计模型。
学习与效率技巧:如何研读科研论文
自从我创办《Ahead of AI》以来,不少人问我研读科研论文的技巧。既然问的人足够多了,我想分享一下我的方法应该会对大家有帮助。
但首先要说明几点:没有放之四海而皆准的论文阅读方法。这完全取决于我们在对应领域的知识水平、专业程度,以及我们想从论文中获得什么。比如,评审论文和只是快速浏览论文获取超参数设置建议,对应的阅读方式完全不同。
另一个重要技巧:不要追求“读完所有内容”!我通常先读摘要,因为一篇写得好的摘要会简洁概括论文的主题、解决的问题以及核心结论。如果摘要看起来没什么价值,说明这篇文章不值得花时间读,跳过它去读别的就好,完全没问题。
我的方法简述
首先,正如刚才所说,我会先读摘要。
然后,浏览所有图表——看图,同时读图注。
接着,用同样的方式看表格。
快速浏览完这些之后,我会略读结论部分。
以上四个步骤能帮我了解论文的范围、结构、主要内容和核心结论。这个阶段可能只有部分图表能看懂,但我已经在脑子里建立了一个大致的框架,知道接下来深入阅读时要重点关注什么。
熟悉了论文的大致结构后,我会开始从头到尾通读全文。我会标注和划出重点内容,但会强迫自己先读完论文,不要中途被参考文献或者查资料分散注意力。
第一遍读完之后,我通常会根据划出的重点和笔记总结论文内容。如果想从中学到更多,我会去查那些没弄懂的地方,跟进或收藏感兴趣的重要参考文献,还会通读附录。
具体示例
本期通讯已经讲了太多大语言模型的内容,那我们就选一篇计算机视觉的论文,用具体例子来演示我上面说的方法:https://arxiv.org/abs/2302.05442。

论文《将视觉Transformer扩展至220亿参数》的截图,来源:https://arxiv.org/abs/2302.05442
1. 摘要
从摘要中我们可以了解到,这篇论文研究的是一个220亿参数的视觉Transformer(ViT)——此前用于密集预测任务的ViT最多只有40亿参数。(“密集”是什么意思?我们可以标注下来,之后再研究。)此外,除了提出新架构,这篇论文的一大核心结论是:扩大ViT的模型规模可以提升预测性能(即便我们只在输出嵌入之上训练一个线性模型),同时也能提升与人类感知的对齐程度和公平性。
2. 图表
接下来,我们来看图表。

论文《将视觉Transformer扩展至220亿参数》的所有图表汇总,来源:https://arxiv.org/abs/2302.05442
图1显示,研究人员用了一个“技巧”来优化训练,即对键和查询进行归一化。
如果我们熟悉常规的ViT,从图2可以发现,研究人员提出了一种略有不同的架构设计:注意力层和多层感知机(MLP)层似乎被融合了——这是另一个提升预测性能或计算效率的技巧吗?
图3显示,他们使用了张量分片来提升计算性能,避免内存瓶颈。如果你感兴趣,我在《Machine Learning Q and AI》一书(https://leanpub.com/machine-learning-q-and-ai/)的“多GPU训练范式”相关问题中讲过这个知识点,免费试读部分就有。
图4提到了线性探测,意思大概是在输出嵌入之上训练一个线性层。我们能再次看到,ViT的性能随着模型规模增大而提升。有意思的是,这种提升在小尺寸图像(224×224像素)上比大尺寸图像(384×384像素)上更明显——这是为什么呢?
图5显示,更大的ViT在图像分类和目标检测任务上表现更好,同时微调也能给这些模型带来性能提升。
图6提到了“密集预测”——还记得摘要里的这个词吗?根据图中的示例,我们可以知道密集预测指的是逐像素的预测任务,比如语义分割和深度估计。
图7讨论了不同DP水平下的“去偏”效果。我们暂时还不知道DP水平是什么,但从图中可以看出,所有ViT在分析的两个性别(男性和女性)上的表现都存在不公平性。不过,更大的220亿参数ViT相比小模型,不公平程度更低。
图8显示,在所有分析的ViT中,220亿参数版本的形状偏差最高。不过研究人员也提到,这种形状偏差最接近人类的偏差,因此我们可以认为高形状偏差是件好事。
最后,图9是不同ViT的准确率与校准误差(ECE)关系图,从中可以看出220亿参数ViT在不需要温度重缩放的情况下,提升了帕累托前沿。帕累托前沿和ECE这些概念可以之后再去深入了解。
可以看到,仅仅浏览一遍图表,我们就已经能了解到很多关于论文提出的方法、实验和核心结论的信息了。
3. 表格
接下来,我会用同样的方式看表格:从头到尾快速浏览表格和表注。在这篇论文中,表1提供了更多关于所提出和对比的不同模型的超参数、具体规模的信息。
表2带来了一些有意思的发现:在预训练模型的嵌入上训练线性层,收益会呈现递减趋势。但线性层的性能几乎和其他微调后的模型差不多(要知道,在冻结的预训练模型上用线性层,成本通常比微调整个模型低得多)。

论文《将视觉Transformer扩展至220亿参数》中的标注表格,来源:https://arxiv.org/abs/2302.05442
从表3可知,该模型在零样本迁移场景下表现也很出色。表4和表5显示,220亿参数ViT在少样本语义分割和单目深度估计任务上也优于其他方法。表6说明该模型在视频分类上表现更佳,表7显示该ViT在可靠性基准测试中得分最高。最后,表8表明我们还可以将220亿参数模型蒸馏成更小的模型,且性能依然优于其他蒸馏参考模型(后面正文会提到,这里的小模型是略小一点的160亿参数版本)。
这些表格基本展示了所提出的220亿参数ViT能胜任的所有任务,并且该模型在各项基准测试中都优于更小的ViT。因此,到目前为止,这篇论文的一个核心结论是:ViT越大,性能越好。
4. 结论
熟悉了论文的主要结构后,我会读一下结论部分,这部分通常都不长。这篇论文的结论总结了我们刚才从图表中得到的信息:即更大的ViT在各类任务上都比之前的小模型表现更好,同时研究人员也用了一些技巧来提升计算性能。
5. 全文通读
现在可以通读全文了。我通常会从头到尾读一遍论文,了解模型实现和实验设计的细节。比如,我们会知道他们采用了三种技术来提升训练效率和稳定性:(1)并行层;(2)查询/键归一化;(3)移除偏置向量。举个例子,在并行层的设计中,他们将注意力头中的矩阵乘法与多层感知机部分的线性层融合,在不影响建模性能的前提下,将训练时的计算性能提升了15%,等等。(限于篇幅,我就不对论文做详细讨论了。)
6. 总结与拓展
详细读完论文后,我会整理笔记和划出的重点,写一篇简短的论文总结,收在我的笔记库里。我其实很少回头看这些笔记,但写总结是很好的脑力锻炼,能提升长期记忆效果。另外,我有时候会把想记住的通用知识点做成Anki卡片。

把想记住的有趣知识点录入Anki
这个阶段也非常适合去弄懂那些困惑或不清楚的点。比如,我们可能想查一下研究人员说的“形状偏差”到底是什么。随便搜一下就会知道:“形状偏差是指基于物体形状做出正确决策的比例。”也就是说,形状偏差是模型仅依靠物体形状进行预测的能力。而要测试形状偏差,我们需要设计实验,小心地去除图像中的其他信息,比如颜色和纹理。
最后,如果我们真的想搞懂论文的方方面面,解答脑子里的各种疑问,那现在就该读附录了。(我通常至少会略读一下附录,但这篇的附录差不多有20页,为了简洁起见这里就不展开了。)
偏好的论文阅读形式
当我需要非常仔细地读论文、吃透所有细节时,我通常会把论文打印出来,离开电脑阅读,这样能更专注。我只会对大约5%的论文这么做。70%的论文,我会把PDF导出到我的电子阅读器上读——我超爱用电子阅读器,不过可惜它是黑白的,有时候看特定的图表会有点麻烦(但这种情况很少)。剩下25%的情况,也就是快速浏览论文的时候,我就在电脑上直接看PDF。
希望这些内容对你有帮助,欢迎在评论区提问!
这本杂志是我个人的兴趣项目,没有直接的盈利。如果您愿意支持我,可以考虑购买我的书(https://sebastianraschka.com/books)。如果您觉得这些书有见解、有帮助,也欢迎推荐给您的朋友和同事。

https://www.amazon.com/Machine-Learning-PyTorch-Scikit-Learn-scikit-learn-ebook-dp-B09NW48MR1/dp/B09NW48MR1/ , https://nostarch.com/machine-learning-and-ai-beyond-basics , 以及 http://mng.bz/M96o
非常感谢您的支持!