banner
ホームページ / ニュース / Duolingo の AI が学習する必要があることを学習する方法
ニュース

Duolingo の AI が学習する必要があることを学習する方法

Jan 16, 2024Jan 16, 2024

現在、言語学習アプリを動かしている AI は、明日の教育を破壊する可能性があります

ランチタイムです電話で緑色のフクロウが鳴って、「Duo を幸せにしてね!」と元気よく思い出させてくれます。 これは、人気の言語学習アプリである Duolingo からの一押しです。Duolingo のアルゴリズムは、この時間帯に 5 分間のスペイン語の練習をする可能性が最も高いことを認識しています。 アプリは、過去に効果があったことや最近の成果の詳細に基づいて通知文言を選択し、注目を集める目新しさを加えます。 アプリを開くと、待機中のレッスンがあなたのスキル レベルに合わせて調整され、前回のセッションでつまずいたいくつかの単語や概念の復習が含まれます。

Duolingo は、ゲームのようなアプローチと明るい漫画のキャラクターを備えたシンプルなユーザー インターフェイスを提供し、言語の熟練度、さらには流暢さにつながるカリキュラムを通じて学習者をガイドします。 しかし舞台裏では、高度な人工知能 (AI) システムが働いています。 特に、Birdbrain と呼ばれるシステムは、教育心理学の数十年にわたる研究に基づくアルゴリズムと、最近の機械学習の進歩を組み合わせて、学習者のエクスペリエンスを継続的に向上させています。 しかし、学習者の観点から見ると、単に緑のフクロウがレッスンを個人に合わせてカスタマイズするのがますます上手になっているように感じられます。

私たち 3 人は Birdbrain の作成と改善に密接に関わっており、Duolingo はその 2 番目のバージョンを最近リリースしました。 Duolingo での取り組みは、「世界で最高の教育を開発し、それを世界中で利用できるようにする」という会社の全体的な使命を推進するものであると私たちは考えています。 現在プラットフォーム上で 1 日あたり約 10 億回の演習を完了している 5,000 万人を超えるアクティブラーナーを超えて学習体験を拡張するには、私たちが磨き続ける AI システムが必要です。

Duolingo は言語学習アプリとして知られていますが、同社の野心はさらに先にあります。 最近、幼児の読み書き能力と小学 3 年生の数学をカバーするアプリをリリースしましたが、これらの拡張はほんの始まりにすぎません。 私たちは、学術学習の助けを必要とする人が、いつの日か、ポケットの中にいて「毎日の授業の準備はできた?」と声を掛けてくれるフレンドリーな緑のフクロウに頼れるようになることを願っています。

1984 年に教育心理学者のベンジャミン ブルームは、ブルームの 2 シグマ問題と呼ばれるようになった問題を特定しました。 ブルーム氏は、個別指導を受けた平均的な生徒の成績が、教室での生徒よりも 2 標準偏差優れていることを発見しました。 これは、人のテストのスコアを 50 パーセンタイルから 98 パーセンタイルまで引き上げるには十分です。

Duolingo が 2012 年にカーネギー メロン大学の研究プロジェクトからルイス フォン アーン氏とセヴェリン ハッカー氏によって立ち上げられたとき、その目標は、そのスーパーチャージ効果に近い、使いやすいオンライン語学教師を作成することでした。 創設者たちは偉大な教師を置き換えようとしたわけではありません。 しかし、彼ら自身も移民(それぞれグアテマラとスイスから)として、誰もが優れた教師にアクセスできるわけではないことを認識していました。 その後数年にわたり、成長を続ける Duolingo チームは、優れた講師の 3 つの重要な特性を自動化する方法について考え続けました。講師は教材をよく知っている、生徒の関心を維持し続ける、各生徒が現在知っている内容を追跡することで、どちらでもない教材を提示できるようにします。簡単すぎず、難しすぎず。

Duolingo は、機械学習やその他の最先端のテクノロジーを使用して、優れた家庭教師のこれら 3 つの資質を模倣します。 まず、専門知識を確保するために、自然言語処理ツールを採用して、コンテンツ開発者が 40 以上の異なる言語で作成された 100 を超えるコースを監査および改善できるようにしています。 これらのツールは、レッスンの語彙と文法内容を分析し、さまざまな翻訳の候補を作成するのに役立ちます (そのため、何かを言う正しい言い方が複数ある場合、アプリは学習者の応答を受け入れます)。 次に、学習者の関心を維持するために、ポイントとレベルで体験をゲーム化し、テキスト読み上げ技術を使用して Duolingo の世界に存在する各キャラクターのカスタム音声を作成し、通知システムを微調整しました。 学習者の頭の中に入り込み、適切なレッスンを提供するという点では、Birdbrain の出番です。

学習者のエンゲージメントとレッスンの難易度は関連しているため、バードブレインは非常に重要です。 生徒に難しすぎる教材を与えると、イライラしてやめてしまうことがよくあります。 簡単に感じる教材は、子どもたちの興味を引きつけるかもしれませんが、それほど挑戦的なものではありません。 Duolingo は AI を使用して、学習者を常に集中させ、能力の限界まで学習を継続させます。

私たちの一人 (Settles) は、設立からわずか 6 か月後に同社に入社し、さまざまな研究機能の確立を支援し、その後昨年まで Duolingo の AI と機械学習の取り組みを率いてきました。 初期の段階では、大規模なオンライン対話型学習を行っている組織はあまりありませんでした。 Duolingo がやろうとしていたことに最も近いのは、「習得学習」アプローチをとったプログラム、特に数学の個別指導です。 これらのプログラムでは、学習者が十分な習熟を示すまで、次の単元、セクション、または概念に進む前に、同様の概念 (多くの場合「知識コンポーネント」と呼ばれます) に関する問題が提示されました。 しかし、このアプローチは、言語には必ずしも最適ではありませんでした。言語では、1 つの演習に、複雑な方法で相互作用する多くの異なる概念 (語彙、時制、文法の性別など) が含まれる可能性があり、学習者が学習できるさまざまな方法が存在します。応答する(文の翻訳、音声スニペットの転写、不足している単語の補充など)。

Duolingo での初期の機械学習の取り組みは、特定の語彙や概念にどのくらいの頻度で戻るか (間隔をあけた繰り返しに関する教育研究に基づいた) など、かなり単純な問題に取り組みました。 また、学習者の間違いを分析してカリキュラムの問題点を特定し、教材を提示する順序を再編成しました。

その後、Duolingo はパーソナライズされたシステムの構築に力を入れました。 2017 年頃、同社は機械学習により集中的に投資を開始し、共著者の Brust 氏と Bicknell 氏がチームに加わったのはその時でした。 2020 年に、Birdbrain の最初のバージョンをリリースしました。

Birdbrain が登場する前、Duolingo は、文中の単語や文字の数などのヒューリスティックに基づいて演習の難易度を推定するなど、学習者を適切なレベルに維持するための非 AI の試みをいくつか行っていました。 しかし同社は、人々が実際にどれだけ学んでいるのか、どれだけ熱心に取り組んでいるのかというトレードオフに対処していることにしばしば気づいた。 Birdbrain の目標は、適切なバランスをとることでした。

私たちが始めた質問は次のようなものでした。あらゆる学習者および特定の演習について、学習者がその演習を正解する可能性がどのくらいかを予測できますか? その予測を行うには、Birdbrain が演習の難易度と学習者の現在の習熟度の両方を推定する必要があります。 学習者が演習を完了するたびに、システムは両方の推定値を更新します。 そして、Duolingo はセッション生成アルゴリズムで結果の予測を使用して、次のレッスン用の新しい演習を動的に選択します。

エディ・ガイ

Birdbrain の最初のバージョンを構築していたとき、何億もの演習に適用することになるため、それがシンプルでスケーラブルである必要があることを認識していました。 高速であり、必要な計算量が少ない必要がありました。 私たちは、心理測定学の文献からの項目反応理論に触発されたロジスティック回帰の風味を使用することにしました。 このアプローチは、人が正しい応答をする確率を 2 つの変数の関数としてモデル化します。この変数は、演習の難しさと学習者の能力として解釈できます。 演習の種類や語彙など、構成要素の難易度を合計することで、各演習の難易度を推定します。

Birdbrain のオリジナル バージョンの 2 番目の要素は、これらの難易度および能力パラメーターに対して計算的に単純な更新を実行する機能でした。 学習者が演習を完了するたびに、関連するパラメーターに対して確率的勾配降下法の 1 ステップを実行することで、これを実装します。 これは、チェスやその他のゲームでプレイヤーをランク付けするために使用される Elo レーティング システムを一般化したものであることが判明しました。 チェスでは、プレイヤーがゲームに勝つと、そのプレイヤーの能力の推定値が上がり、対戦相手の能力の推定値が下がります。 Duolingo では、学習者が演習を間違えると、このシステムにより能力の推定値が低くなり、演習の難易度の推定値が引き上げられます。 チェスの場合と同様に、これらの変化の大きさは組み合わせによって異なります。初心者チェスのプレイヤーが熟練プレイヤーに勝った場合、熟練プレイヤーの Elo スコアは大幅に低下し、対戦相手のスコアは大幅に上昇します。 同様に、ここでは、初心者の学習者が難しい演習を正解すると、能力と難易度のパラメーターが劇的に変化する可能性がありますが、モデルがすでに学習者が正解することを期待している場合、どちらのパラメーターもあまり変化しません。

Birdbrain のパフォーマンスをテストするために、まず「シャドウ モード」で実行しました。これは、分析のためにログに記録されただけで、レッスンをパーソナライズするためにセッション ジェネレーターによってまだ使用されていない予測を作成することを意味します。 時間が経つにつれて、学習者が演習を完了し、正解または不正解の答えが得られるにつれて、Birdbrain の成功予測が現実と一致するかどうかを確認し、一致しない場合は改善を加えました。

毎日約 10 億件の演習に対処するには、多くの独創的なエンジニアリングが必要でした。

Birdbrain のパフォーマンスに満足したら、対照テストの実行を開始しました。一部の学習者 (実験グループ) に対して Birdbrain ベースのパーソナライゼーションを有効にし、古いヒューリスティック システムをまだ使用している学習者 (対照グループ) と学習成果を比較しました。 私たちは、Birdbrain が学習者のエンゲージメント (アプリ内のタスクに費やした時間で測定) と、学習者がより難しい教材にどれだけ早く進むかで測定される学習にどのような影響を与えるかを確認したかったのです。 従来の製品開発やソフトウェア エンジニアリングの手法を使用して改善を試みたときに、以前によくあったように、トレードオフが発生するのではないかと私たちは考えていました。 嬉しいことに、Birdbrain のおかげで、エンゲージメントと学習の両方の指標が一貫して増加しました。

私たちは最初から、処理する必要があるデータの膨大な量に直面しました。 毎日約 10 億件の演習に対処するには、多くの独創的なエンジニアリングが必要でした。

Birdbrain の最初のバージョンに関する初期の問題の 1 つは、モデルをメモリに適合させることでした。 夜間のトレーニング中、学習者ごとに現在の能力の推定値など、いくつかの変数にアクセスする必要がありました。 新しい学習者が毎日登録していたため、また、非アクティブな学習者が戻ってきた場合に備えて見積もりを破棄したくなかったため、メモリ量は毎晩増加しました。 数か月後、この状況は持続不可能になりました。すべての変数をメモリに収めることができなくなりました。 すべてを一度にメモリに格納することなく、毎晩パラメータを更新する必要がありました。

私たちの解決策は、毎日のレッスン データとモデルの両方を保存する方法を変更することでした。 当初は、特定のコースのモデルのすべてのパラメーターを 1 つのファイルに保存し、そのファイルをメモリにロードし、その日のデータを順次処理してコース パラメーターを更新していました。 私たちの新しい戦略は、モデルを分割することでした。1 つの部分がすべての演習難易度パラメーター (あまり大きくなりませんでした) を表し、いくつかの塊が学習者の能力の推定値を表しました。 また、参加した学習者に応じてその日の学習データを個別のファイルにチャンク化し、重要なことに、コース モデルと学習者データの両方で学習者間で同じチャンク関数を使用しました。 これにより、特定の学習者に関連するコース パラメーターのみをロードしながら、それらの学習者に関する対応するデータを処理できるようになりました。

Birdbrain のこの最初のバージョンの弱点の 1 つは、アプリが学習者がレッスンを終了するまで待機してから、ユーザーがどの演習を正解し、どのような間違いを犯したかをサーバーに報告することでした。 このアプローチの問題は、おそらくその人が携帯電話を置いたか、別のアプリに切り替えたために、Duolingo で開始されたレッスンの約 20% が完了していないことです。 それが起こるたびに、Birdbrain は、潜在的に非常に興味深いデータである関連データを失いました。 私たちは、人々がランダムに辞めるのではないことを確信していました。多くの場合、彼らは特に挑戦的または困難な内容に遭遇すると辞める可能性があります。 そのため、Birdbrain バージョン 2 にアップグレードしたときに、レッスン全体を通してデータをチャンクでストリーミングすることも開始しました。 これにより、どの概念や演習の種類に問題があるかについての重要な情報が得られました。

最初の Birdbrain のもう 1 つの問題は、モデルが 24 時間に 1 回しか更新されなかったことです (世界的なアプリの使用量が最も少ない時期、つまりピッツバーグの 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 の最初のバージョンを停止し、新しく改良されたシステムに完全に切り替えました。

Birdbrain と関連テクノロジーで私たちが行っていることの多くは、言語学習以外にも当てはまります。 原則として、モデルの中核は非常に一般的であり、当社の新しい数学および読み書きアプリ、または Duolingo が次に開発するあらゆるアプリにも適用できます。

Birdbrain のおかげで、学習を最適化し、カリキュラムをより適応的かつ効率的にする上で素晴らしいスタートを切ることができました。 パーソナライゼーションをどこまで実現できるかは未解決の問題です。 私たちは、学習者の知識だけでなく、学習者にとって最適な指導アプローチにも基づいて対応する適応型システムを作成したいと考えています。 学習者はどのような種類の演習に実際に注意を払っていますか? どのような演習を行うとコンセプトがピンとくると思いますか?

これらは、優れた教師がクラスで苦労しているさまざまな生徒を考慮するときに取り組む可能性のある種類の質問です。 私たちは、優れた教師をアプリで置き換えることができるとは信じていませんが、教師の資質の一部をよりよく模倣し、テクノロジーを通じて世界中のより多くの潜在的な学習者にリーチしたいと考えています。

ランチタイムです