Skip to main content
QUICK REVIEW

[論文レビュー] ProtoTransformer: A Meta-Learning Approach to Providing Student Feedback

Mike Wu, Noah D. Goodman|arXiv (Cornell University)|Jul 23, 2021
Software Testing and Debugging Techniques参考文献 76被引用数 8
ひとこと要約

ProtoTransformerは、少量のラベル付き例を用いて、トランスフォーマーに基づくアーキテクチャで学生のプログラミングコードに対する正確なフィードバックを生成するメタラーニングフレームワークを提案する。未学習の大学の試験問題において平均88%の精度を達成し、TA(82%)を上回り、標準的な教師あり手法(65%)をも凌駉する。16,000人の学生にスケーラブルにフィードバックを提供する実用化に成功した。

ABSTRACT

High-quality computer science education is limited by the difficulty of providing instructor feedback to students at scale. While this feedback could in principle be automated, supervised approaches to predicting the correct feedback are bottlenecked by the intractability of annotating large quantities of student code. In this paper, we instead frame the problem of providing feedback as few-shot classification, where a meta-learner adapts to give feedback to student code on a new programming question from just a few examples annotated by instructors. Because data for meta-training is limited, we propose a number of amendments to the typical few-shot learning framework, including task augmentation to create synthetic tasks, and additional side information to build stronger priors about each task. These additions are combined with a transformer architecture to embed discrete sequences (e.g. code) to a prototypical representation of a feedback class label. On a suite of few-shot natural language processing tasks, we match or outperform state-of-the-art performance. Then, on a collection of student solutions to exam questions from an introductory university course, we show that our approach reaches an average precision of 88% on unseen questions, surpassing the 82% precision of teaching assistants. Our approach was successfully deployed to deliver feedback to 16,000 student exam-solutions in a programming course offered by a tier 1 university. This is, to the best of our knowledge, the first successful deployment of a machine learning based feedback to open-ended student code.

研究の動機と目的

  • 大学レベルのコンピュータサイエンスの授業において、学生のプログラミングコードに対する高品質なフィードバックを提供する際のスケーラビリティの課題に対処すること。
  • ラベル付きデータが乏しく、新しい問題への一般化が難しい少数ラベル設定における教師あり学習の限界を克服すること。
  • 小規模な専門家がアノテートした例のセットを効率的に活用し、新しいプログラミングの質問や学生のコードに一般化できるメタラーニングフレームワークを開発すること。
  • 変数名の多様性などコード固有の課題に対応するため、タスク拡張、サイド情報、強力なシーケンス符号化を組み込むことで、少数ラベル学習におけるコードのパフォーマンスを向上させること。

提案手法

  • モデルが新しいプログラミングの質問に、わずか数個のラベル付き学生コード例のみを用いて適応できるように、フィードバック予測を少数ラベル分類問題として定式化する。
  • トランスフォーマーに基づくアーキテクチャを用い、質問と採点基準の記述を条件として、プログラミングコードのシーケンスを濃密な埋め込み表現に変換する。
  • 各フィードバックカテゴリ(例:「構文エラー」「変数が欠落」)ごとに、すべてのサポート例の平均埋め込みとしてクラスプロトタイプを計算する。
  • 採点基準の記述や質問の埋め込みなど、サイド情報を組み込むことで、誘導的バイアスを強化し、少数ラベル一般化を向上させる。
  • プログラムの難読化とバイトペア符号化を用いたタスク拡張により、メタトレーニング中に合成タスクを生成し、データの多様性を高める。
  • 少数ラベル適応フェーズにおける新規タスクでの分類誤差を最小化するメタラーニング目的関数を用いてモデルを訓練する。

実験結果

リサーチクエスチョン

  • RQ1少数のアノテート済み例しか使用しないメタラーニングアプローチが、人間のTA並みの正確さで学生のプログラミングコードのフィードバックを分類できるか?
  • RQ2タスク拡張とサイド情報は、コードフィードバック予測における少数ラベル一般化をどの程度効果的に向上させるか?
  • RQ3プロトタイプ埋め込みを用いたトランスフォーマー基盤のモデルは、現実世界の大学レベルのプログラミング課題において、標準的な教師あり手法や先行のメタラーニング手法をどの程度上回るか?
  • RQ4実際の展開環境において、TAやベースラインモデルと比較して、モデルは未学習のプログラミングの質問に対してどの程度の性能を示すか?

主な発見

  • ProtoTransformerは、未学習のプログラミング試験問題において平均88%の精度を達成し、TA(82%)を大きく上回り、標準的な教師ありベースライン(65%)をも凌駉する。
  • モデルは、メタトレーニング中に見なかった新しいプログラミング問題に対しても、効果的に一般化でき、強力な少数ラベル一般化能力を示している。
  • プログラムの難読化によるタスク拡張と合成タスク生成は、特にデータが少ない状況下でモデルのロバストネスとパフォーマンスを向上させる。
  • 採点基準や質問の埋め込みなどのサイド情報の組み込みは、より強い誘導的バイアスを提供することで、モデルのパフォーマンスを顕著に向上させる。
  • モデルは大規模に展開され、1つのTier-1大学の授業で16,000件の学生の試験解答に対してフィードバックを提供した。これは、オープンエンドな学生コードに対して機械学習ベースのフィードバックを実世界で成功裏に展開した初の事例である。
  • アブレーションスタディーにより、トランスフォーマーのアーキテクチャ、サイド情報、タスク拡張の各要素が最終的なパフォーマンスに有意義に寄与していることが確認され、完全なモデルがアブレーションバージョンを上回っている。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。