DUOLINGO 的人工智慧如何學習你需要學習的東西(譯文-來自:多鄰國)

閃念基因 發佈 2023-03-09T01:39:05.834064+00:00

餐時間到了,你的手機會用一隻綠色貓頭鷹提醒你「Keep Duo Happy!」 這是流行的語言學習應用程式Duolingo的推動,其算法知道您最有可能在一天中的這個時間進行 5 分鐘的西班牙語練習。



餐時間到了,你的手機會用一隻綠色貓頭鷹提醒你「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 世界中的每個角色創建自定義語音,並微調了我們的通知系統。



Birdbrain 至關重要,因為學習者參與度和課程難度相關。當給學生的材料太難時,他們通常會感到沮喪並放棄。感覺輕鬆的材料可能會讓他們保持參與,但不會對他們造成太大挑戰。Duolingo 使用 AI 將其學習者保持在他們保持參與但仍處於能力邊緣學習的區域。

我們中的一員 ( Settles ) 在公司成立僅六個月後就加入了公司,幫助建立了各種研究職能,然後領導 Duolingo 的人工智慧和機器學習工作,直到去年。早期,沒有多少組織在做大規模的在線互動學習。與 Duolingo 嘗試做的最接近的類比是採用「精通學習」的程序」的方法,尤其是數學輔導。這些程序圍繞相似的概念(通常稱為「知識組件」)提出問題,直到學習者在繼續學習下一個單元、部分或概念之前表現出足夠的掌握。但這種方法不一定最適合語言,在語言中,一次練習可能涉及許多不同的概念,這些概念以複雜的方式相互作用(例如詞彙、時態和語法性別),並且學習者可以通過不同的方式響應(例如翻譯句子、轉錄音頻片段和填寫缺失的單詞)。

Duolingo 早期的機器學習工作解決的是相當簡單的問題,比如多久返回一個特定的詞彙或概念(借鑑了間隔重複的教育研究)。我們還分析了學習者的錯誤,以確定課程中的難點,然後重新組織我們呈現材料的順序。

Duolingo 隨後加倍努力構建個性化系統。2017 年左右,該公司開始更加專注於機器學習的投資,合著者 Brust 和 Bicknell 也於那時加入了團隊。2020 年,我們推出了Birdbrain 的第一個版本。

我們如何構建 Birdbrain

在 Birdbrain 之前,Duolingo 已經進行了一些非 AI 嘗試來讓學習者保持在正確的水平上,包括根據啟發式方法(例如句子中的單詞或字符的數量)來估計練習的難度。但該公司經常發現,它需要在人們實際學習的程度和他們的參與程度之間進行權衡。Birdbrain 的目標是取得正確的平衡。

我們開始的問題是:對於任何學習者和任何給定的練習,我們能否預測學習者正確完成該練習的可能性有多大?做出這種預測需要 Birdbrain 估計練習的難度和學習者當前的熟練程度。每次學習者完成練習時,系統都會更新兩個估計值。Duolingo 在其會話生成器算法中使用生成的預測來動態選擇下一課的新練習。



當我們構建 Birdbrain 的第一個版本時,我們知道它需要簡單且可擴展,因為我們會將它應用於數億次練習。它需要快速並且需要很少的計算。我們決定使用一種邏輯回歸,其靈感來自心理測量學文獻中的項目反應理論。這種方法將一個人給出正確答案的概率建模為兩個變量的函數,這可以解釋為練習的難度和學習者的能力。我們通過總結每個練習的組成特徵(如練習類型、詞彙等)的難度來估計每個練習的難度。

原始版本 Birdbrain 的第二個要素是能夠對這些難度和能力參數執行簡單的計算更新。我們通過在學習者每次完成練習時對相關參數執行一步隨機梯度下降來實現這一點。結果證明這是Elo 評級系統的概括,用於在西洋棋和其他遊戲中對玩家進行排名。在西洋棋中,當一個棋手贏得一場比賽時,他們的能力估計會上升,而對手的能力估計會下降。在 Duolingo 中,當學習者做錯了一個練習時,該系統會降低對他們能力的估計,並提高對練習難度的估計。就像西洋棋一樣,這些變化的大小取決於配對:如果新手棋手戰勝專家棋手,專家的 Elo 分數將大幅降低,而對手的分數將大幅提高。類似地,在這裡,如果初學者學習者正確地進行了艱苦的練習,則能力和難度參數可能會發生巨大變化,但如果模型已經預期學習者是正確的,那麼這兩個參數都不會發生太大變化。

為了測試 Birdbrain 的性能,我們首先以「影子模式」運行它,這意味著它做出的預測只是為了分析而記錄下來,還沒有被 Session Generator 用於個性化課程。隨著時間的推移,當學習者完成練習並得到正確或錯誤的答案時,我們會看到 Birdbrain 對他們成功的預測是否與現實相符——如果不相符,我們就會做出改進。

每天處理大約十億次練習需要大量創造性工程。

一旦我們對 Birdbrain 的表現感到滿意,我們就開始運行受控測試:我們為一小部分學習者(實驗組)啟用基於 Birdbrain 的個性化,並將他們的學習結果與仍然使用舊啟發式系統的學習者(對照組)進行比較。我們想了解 Birdbrain 將如何影響學習者的參與度(以花在應用程式任務上的時間來衡量)以及學習(以學習者學習更難材料的速度來衡量)。我們想知道我們是否會看到權衡取捨,就像我們以前在嘗試使用更傳統的產品開發或軟體工程技術進行改進時經常遇到的那樣。令我們高興的是,Birdbrain 始終如一地提高了參與度和學習度。

擴展 Duolingo 的 AI 系統

從一開始,我們就面臨著需要處理的數據規模之大的挑戰。每天處理大約十億次練習需要大量創造性工程。

第一個版本的 Birdbrain 的一個早期問題是將模型擬合到內存中。在夜間訓練期間,我們需要訪問每個學習者的幾個變量,包括他們當前的能力估計。因為每天都有新的學習者註冊,並且因為我們不想在不活躍的學習者回來時丟掉估計值,所以內存量每晚都在增加。幾個月後,這種情況變得難以為繼:我們無法將所有變量都放入內存中。我們需要每晚更新參數,而不是立即將所有內容都放入內存。

我們的解決方案是改變我們存儲每天課程數據和模型的方式。最初,我們將給定課程模型的所有參數存儲在一個文件中,將該文件加載到內存中,然後按順序處理當天的數據以更新課程參數。我們的新策略是分解模型:一塊代表所有練習難度參數(不會增長很大),而幾塊代表學習者能力估計。我們還根據學習者的參與情況將當天的學習數據分塊到單獨的文件中,並且——批判性地——對課程模型和學習者數據使用跨學習者的相同分塊功能。這使我們能夠在處理有關這些學習者的相應數據時僅加載與給定學習者塊相關的課程參數。

第一版 Birdbrain 的一個弱點是,該應用程式會等到學習者完成一節課後,才會向我們的伺服器報告用戶做對了哪些練習以及他們犯了什麼錯誤。這種方法的問題在於,在 Duolingo 上開始的課程中大約有 20% 沒有完成,這可能是因為人們放下手機或切換到另一個應用程式。每次發生這種情況,Birdbrain 都會丟失相關數據,這可能是非常有趣的數據!我們非常確定人們不會隨意放棄——在許多情況下,他們很可能在遇到對他們來說特別具有挑戰性或令人生畏的材料時就放棄了。因此,當我們升級到 Birdbrain 版本 2 時,我們也開始在整個課程中以塊的形式流式傳輸數據。這為我們提供了有關哪些概念或練習類型存在問題的關鍵信息。




第一個 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

關鍵字: