DUOLINGO 的人工智能如何学习你需要学习的东西(译文-来自:多邻国)

DUOLINGO的人工智能如何学习你需要学习的东西,译文-来自:多邻国

餐时间到了,你的手机会用一只绿色猫头鹰提醒你“Keep Duo Happy!” 这是流行的语言学习应用程序Duolingo的推动,其算法知道您最有可能在一天中的这个时间进行 5 分钟的西班牙语练习。该应用程序根据过去对您有用的内容和您最近取得的成就的具体情况来选择其通知词,从而增加了一些引人注目的新颖性。当您打开该应用程序时,排队的课程会根据您的技能水平进行校准,其中包括对您在上一节课中弄错的一些单词和概念的复习。

Duolingo 以其游戏化的方法和明亮的卡通人物形象,提供了一个简单的用户界面来指导学习者完成课程,从而提高语言能力,甚至流利程度。但在幕后,复杂的人工智能 (AI) 系统正在发挥作用。特别是一个名为 Birdbrain 的系统,基于数十年的教育心理学研究,并结合机器学习的最新进展,不断改进学习者的算法体验。但从学习者的角度来看,这只绿猫头鹰似乎越来越擅长个性化课程。

我们三人密切参与了 Birdbrain 的创建和改进,Duolingo 最近推出了第二个版本。我们将在 Duolingo 的工作视为推动公司“发展世界上最好的教育并使之普及”的总体使命。我们不断完善的 AI 系统对于扩展学习体验是必要的,以超越目前每天在平台上完成约 10 亿次练习的超过 5000 万活跃学习者。

尽管 Duolingo 被称为语言学习应用程序,但该公司的野心不止于此。我们最近推出了涵盖儿童识字和三年级数学的应用程序,而这些扩展仅仅是个开始。我们希望任何在学术学习方面需要帮助的人有一天能够求助于口袋里友好的绿色猫头鹰,它会冲他们鸣叫:“准备好你的日常课程了吗?”

多邻国的起源

早在 1984 年,教育心理学家本杰明·布鲁姆就发现了所谓的布鲁姆 2-sigma 问题。布卢姆发现,接受单独辅导的学生的平均成绩比在课堂上要好两个标准差。这足以将一个人的考试成绩从第 50 个百分点提高到第 98 个百分点。

当Luis von Ahn和Severin Hacker在卡内基梅隆大学的一个研究项目中 于 2012 年推出 Duolingo 时,其目标是制作一个易于使用的在线语言导师,可以接近这种增压效果。创始人并没有试图取代伟大的老师。但作为移民本身(分别来自危地马拉和瑞士),他们认识到并不是每个人都能接触到优秀的老师。在接下来的几年里,不断壮大的 Duolingo 团队继续思考如何将优秀导师的三个关键属性自动化:他们对材料了如指掌,让学生保持参与,并跟踪每个学生目前知道的内容,因此他们可以提供既不熟悉的材料太容易也太难了。

Duolingo 使用机器学习和其他尖端技术来模仿优秀导师的这三种品质。首先,为确保专业知识,我们采用自然语言处理工具来协助我们的内容开发人员审核和改进我们使用 40 多种不同语言编写的 100 多门课程。这些工具分析课程的词汇和语法内容,并帮助创建一系列可能的翻译(因此当有多种正确的表达方式时,该应用程序将接受学习者的回答)。其次,为了让学习者保持参与,我们通过积分和关卡将体验游戏化,使用文本到语音技术为 Duolingo 世界中的每个角色创建自定义语音,并微调了我们的通知系统。

DUOLINGO的人工智能如何学习你需要学习的东西,译文-来自:多邻国

Birdbrain 至关重要,因为学习者参与度和课程难度相关。当给学生的材料太难时,他们通常会感到沮丧并放弃。感觉轻松的材料可能会让他们保持参与,但不会对他们造成太大挑战。Duolingo 使用 AI 将其学习者保持在他们保持参与但仍处于能力边缘学习的区域。

我们中的一员 ( Settles ) 在公司成立仅六个月后就加入了公司,帮助建立了各种研究职能,然后领导 Duolingo 的人工智能和机器学习工作,直到去年。早期,没有多少组织在做大规模的在线互动学习。与 Duolingo 尝试做的最接近的类比是采用“精通学习”的程序”的方法,尤其是数学辅导。这些程序围绕相似的概念(通常称为“知识组件”)提出问题,直到学习者在继续学习下一个单元、部分或概念之前表现出足够的掌握。但这种方法不一定最适合语言,在语言中,一次练习可能涉及许多不同的概念,这些概念以复杂的方式相互作用(例如词汇、时态和语法性别),并且学习者可以通过不同的方式响应(例如翻译句子、转录音频片段和填写缺失的单词)。

Duolingo 早期的机器学习工作解决的是相当简单的问题,比如多久返回一个特定的词汇或概念(借鉴了间隔重复的教育研究)。我们还分析了学习者的错误,以确定课程中的难点,然后重新组织我们呈现材料的顺序。

Duolingo 随后加倍努力构建个性化系统。2017 年左右,该公司开始更加专注于机器学习的投资,合著者 Brust 和 Bicknell 也于那时加入了团队。2020 年,我们推出了Birdbrain 的第一个版本。

我们如何构建 Birdbrain

在 Birdbrain 之前,Duolingo 已经进行了一些非 AI 尝试来让学习者保持在正确的水平上,包括根据启发式方法(例如句子中的单词或字符的数量)来估计练习的难度。但该公司经常发现,它需要在人们实际学习的程度和他们的参与程度之间进行权衡。Birdbrain 的目标是取得正确的平衡。

我们开始的问题是:对于任何学习者和任何给定的练习,我们能否预测学习者正确完成该练习的可能性有多大?做出这种预测需要 Birdbrain 估计练习的难度和学习者当前的熟练程度。每次学习者完成练习时,系统都会更新两个估计值。Duolingo 在其会话生成器算法中使用生成的预测来动态选择下一课的新练习。

DUOLINGO的人工智能如何学习你需要学习的东西,译文-来自:多邻国

埃迪盖伊

当我们构建 Birdbrain 的第一个版本时,我们知道它需要简单且可扩展,因为我们会将它应用于数亿次练习。它需要快速并且需要很少的计算。我们决定使用一种逻辑回归,其灵感来自心理测量学文献中的项目反应理论。这种方法将一个人给出正确答案的概率建模为两个变量的函数,这可以解释为练习的难度和学习者的能力。我们通过总结每个练习的组成特征(如练习类型、词汇等)的难度来估计每个练习的难度。

原始版本 Birdbrain 的第二个要素是能够对这些难度和能力参数执行简单的计算更新。我们通过在学习者每次完成练习时对相关参数执行一步随机梯度下降来实现这一点。结果证明这是Elo 评级系统的概括,用于在国际象棋和其他游戏中对玩家进行排名。在国际象棋中,当一个棋手赢得一场比赛时,他们的能力估计会上升,而对手的能力估计会下降。在 Duolingo 中,当学习者做错了一个练习时,该系统会降低对他们能力的估计,并提高对练习难度的估计。就像国际象棋一样,这些变化的大小取决于配对:如果新手棋手战胜专家棋手,专家的 Elo 分数将大幅降低,而对手的分数将大幅提高。类似地,在这里,如果初学者学习者正确地进行了艰苦的练习,则能力和难度参数可能会发生巨大变化,但如果模型已经预期学习者是正确的,那么这两个参数都不会发生太大变化。

为了测试 Birdbrain 的性能,我们首先以“影子模式”运行它,这意味着它做出的预测只是为了分析而记录下来,还没有被 Session Generator 用于个性化课程。随着时间的推移,当学习者完成练习并得到正确或错误的答案时,我们会看到 Birdbrain 对他们成功的预测是否与现实相符——如果不相符,我们就会做出改进。

每天处理大约十亿次练习需要大量创造性工程。

一旦我们对 Birdbrain 的表现感到满意,我们就开始运行受控测试:我们为一小部分学习者(实验组)启用基于 Birdbrain 的个性化,并将他们的学习结果与仍然使用旧启发式系统的学习者(对照组)进行比较。我们想了解 Birdbrain 将如何影响学习者的参与度(以花在应用程序任务上的时间来衡量)以及学习(以学习者学习更难材料的速度来衡量)。我们想知道我们是否会看到权衡取舍,就像我们以前在尝试使用更传统的产品开发或软件工程技术进行改进时经常遇到的那样。令我们高兴的是,Birdbrain 始终如一地提高了参与度和学习度。

扩展 Duolingo 的 AI 系统

从一开始,我们就面临着需要处理的数据规模之大的挑战。每天处理大约十亿次练习需要大量创造性工程。

第一个版本的 Birdbrain 的一个早期问题是将模型拟合到内存中。在夜间训练期间,我们需要访问每个学习者的几个变量,包括他们当前的能力估计。因为每天都有新的学习者注册,并且因为我们不想在不活跃的学习者回来时丢掉估计值,所以内存量每晚都在增加。几个月后,这种情况变得难以为继:我们无法将所有变量都放入内存中。我们需要每晚更新参数,而不是立即将所有内容都放入内存。

我们的解决方案是改变我们存储每天课程数据和模型的方式。最初,我们将给定课程模型的所有参数存储在一个文件中,将该文件加载到内存中,然后按顺序处理当天的数据以更新课程参数。我们的新策略是分解模型:一块代表所有练习难度参数(不会增长很大),而几块代表学习者能力估计。我们还根据学习者的参与情况将当天的学习数据分块到单独的文件中,并且——批判性地——对课程模型和学习者数据使用跨学习者的相同分块功能。这使我们能够在处理有关这些学习者的相应数据时仅加载与给定学习者块相关的课程参数。

第一版 Birdbrain 的一个弱点是,该应用程序会等到学习者完成一节课后,才会向我们的服务器报告用户做对了哪些练习以及他们犯了什么错误。这种方法的问题在于,在 Duolingo 上开始的课程中大约有 20% 没有完成,这可能是因为人们放下手机或切换到另一个应用程序。每次发生这种情况,Birdbrain 都会丢失相关数据,这可能是非常有趣的数据!我们非常确定人们不会随意放弃——在许多情况下,他们很可能在遇到对他们来说特别具有挑战性或令人生畏的材料时就放弃了。因此,当我们升级到 Birdbrain 版本 2 时,我们也开始在整个课程中以块的形式流式传输数据。这为我们提供了有关哪些概念或练习类型存在问题的关键信息。

DUOLINGO的人工智能如何学习你需要学习的东西,译文-来自:多邻国

第一个 Birdbrain 的另一个问题是它每 24 小时只更新一次模型(在全球应用程序使用率低的时候,这是匹兹堡 Duolingo 总部的夜间活动)。使用 Birdbrain V2,我们希望实时处理所有练习。这种变化是可取的,因为学习在短期和长期范围内运作;如果你现在学习某个概念,你可能会在 5 分钟后记住它,运气好的话,下周你也会记住其中的一些内容。为了个性化体验,我们需要非常快速地为每个学习者更新我们的模型。因此,在学习者完成练习的几分钟内,Birdbrain V2 将更新其知识状态的“心智模型”。

除了近乎实时发生之外,这些更新的工作方式也不同,因为 Birdbrain V2 具有不同的架构,并且以不同的方式表示学习者的知识状态。以前,该属性只是简单地表示为一个标量数,因为我们需要使 Birdbrain 的第一个版本尽可能简单。

借助 Birdbrain V2,我们得到了公司的支持,可以使用更多的计算资源,这意味着我们可以为每个学习者的知识构建一个更丰富的模型。特别是,Birdbrain V2 由递归神经网络模型(特别是长短期记忆模型或 LSTM模型),它学习将学习者与 Duolingo 练习互动的历史压缩为一组 40 个数字——或者用数学家的术语来说,一个 40-维度向量。每次学习者完成另一项练习时,Birdbrain 都会根据其先前状态、学习者已完成的练习以及他们是否做对了来更新此向量。正是这个向量,而不是一个单一的值,现在代表了学习者的能力,模型使用它来预测他们在未来练习中的表现。

这种表示的丰富性使系统能够捕捉到,例如,给定的学习者擅长过去时练习,但在将来时练习中遇到困难。V2 可以开始辨别每个人的学习轨迹,这可能与典型轨迹有很大差异,从而允许 Duolingo 为该个人准备的课程更加个性化。

一旦我们确信 Birdbrain V2 是准确和稳定的,我们就进行了对照测试,将其个性化学习体验与原始 Birdbrain 进行比较。我们希望确保我们不仅拥有更好的机器学习模型,而且我们的软件还提供更好的用户体验。令人高兴的是,这些测试表明 Birdbrain V2 始终如一地导致参与和学习措施进一步增加。2022 年 5 月,我们关闭了 Birdbrain 的第一个版本,并完全切换到经过改进的新系统。

Duolingo 的 AI 下一步是什么

我们使用 Birdbrain 和相关技术所做的大部分工作都适用于语言学习之外的领域。原则上,该模型的核心非常通用,也可以应用于我们公司的新数学和识字应用程序——或者 Duolingo 接下来推出的任何应用程序。

Birdbrain 在优化学习和使课程更具适应性和效率方面为我们提供了一个良好的开端。我们可以在个性化方面走多远是一个悬而未决的问题。我们希望创建适应性系统,不仅根据学习者的知识,还根据最适合他们的教学方法来响应学习者。学习者真正关注哪些类型的练习?哪些练习似乎能让概念变得生动有趣?

这些是伟大的老师在考虑课堂上各种挣扎的学生时可能会遇到的问题。我们不相信您可以用应用程序取代一位优秀的老师,但我们确实希望更好地模仿他们的某些品质,并通过技术接触到世界各地更多的潜在学习者。

作者:KLINTON BICKNELLCLAIRE BRUSTBURR SETTLES

出处:https://spectrum.ieee.org/duolingo