メインコンテンツへ移動

研究

適応型ロボット教育とデジタルツインの研究

HCRは、Blocklyプログラミング評価、適応学習、デジタルツインを用いたロボット教育のための学術研究ツールです。プレイヤーやセッションを作成する前に参加者が参加の可否を選びます。

研究への参加

研究を始める前に参加するか選んでください

参加者が学術研究への参加を選ぶまで、クライアントはシミュレーターのセッションやプレイヤーIDを作成しません。

研究に必要なデータ

再生、採点、分析に必要なBlocklyプログラムIR、課題のバージョン、得点、技術的なセッションIDまたは提出ID。

任意の背景情報

主要言語はzhやenなどの大まかなコード、UTCオフセットは現在の分数だけを記録します。「学術研究に参加」では両方が有効になり、「詳細設定」で個別に無効にできます。

意図的に収集しない情報

ブラウザー指紋、正確なIANAタイムゾーン名、推定位置、広告ID、サイト横断の追跡プロファイルは収集しません。

データの位置づけ

このデータを完全匿名とは呼びません。研究記録にセッション識別子が残る場合があり、サーバーも通常のセキュリティログを保存するため、非識別化データと説明します。

問題設定

2つの課題、1つのシステム

教育

クラス全員が同じペースで進む

機材費と監督の負担がロボット教育を制約するため、授業は一律の進度になりがちです。しかし学習速度は一人ひとり異なり、そのずれは速い学習者にも遅い学習者にも影響します。

測定

プログラミング能力の採点は難しい

プログラムは選択式回答と異なり、回答空間が開かれており、結果も連続値です。標準的な適応型テストはどちらも前提としていないため、プログラミング能力の測定には調整が必要です。

研究上の貢献

本研究の新規性

  1. 01

    生成型アイテムバンクからの適応的選択

    課題は固定リストから選びません。アイテムファミリーが候補を生成・校正し、Fisher情報量により現在の能力推定に近い課題を選びます。全レベルを手作業で作らずにバンクを拡張できます。

  2. 02

    解けることを保証した生成課題

    手続き的生成と到達可能性は両立しない場合があります。見た目が妥当でも届かない目標があるため、出題前に各候補を解き、解けることを前提条件にします。

  3. 03

    二値推定器で連続スコアを扱う

    プログラミング成績は連続値ですが、利用する推定器は二値です。課題ごとの習熟閾値を基準に順序を保って再写像し、分析用の生スコアも残します。

  4. 04

    公平性を支える決定性

    サーバーが各プログラムを再実行し、関節移動量から時間を推定します。競技や診断に使うスコアをクライアント端末の性能が変えることはありません。

方法

適応層の仕組み

試行のたびに学習状況を推定し直し、次の課題を選びます。余裕をもって解ければ難しくし、苦戦すれば一段戻します。

モデル

2パラメータ・ロジスティックモデル

モデルはロジット尺度の能力θ、項目難易度b、識別力aを用います。回答は選択肢ではなくプログラムなので、当てずっぽうで正解する余地はなく、推測パラメータは0に固定します。第3パラメータを推定してもノイズを拾うだけです。

応答

プログラムそのものが回答

学習者のProgram IRをサーバー側で再生し、採点します。正規化得点は項目の習得閾値τを中心に写像し直し、「τを上回る」と「習得済み」が一致する形で推定器に渡します。素点は別に保存します。

選択

情報量で選び、出題頻度を制御

候補項目を現在のθでの情報量順に並べ、その後に出題回数を制限します。同じ水準の学習者に同じ項目ばかりが出ることを防ぎ、問題バンクの消耗も抑えます。

生成

難易度を結果ではなく目標にする

項目群では、余裕、到達の難しさ、予算制約、ループ構造など、難易度を予測する特徴を使います。各候補は目標難易度bに合わせて解かれ、参照ソルバーが解を見つけられなければ生成時に棄却します。

校正

根拠が集まるまでは暫定

新しい項目はまず仮運用となり、出題回数を制限し、正式な能力更新から除外します。回答が集まった後、θを事後平均に固定し、周辺尤度のニュートン反復で難易度を再推定します。

この版では能力を1つの合成θとして扱い、報告用に各回答へ次元タグを記録します。真の多次元モデルは今後の課題であり、この版で実現したとは主張しません。

妥当性

誰にも完了できない課題では何も測れない

先に目標の髪型を描き、アームが届くことを期待する方式では機能しません。初期の課題には、アームが20個にしか届かないのに91個の髪を切るよう求めるものがありました。達成不可能でしたが、画面には警告がありませんでした。

現在はソルバーを先に実行します。候補目標を衝突のない関節空間で走査してから参照ソルバーに渡し、完了できないものは生成時に棄却して出題しません。得られた解を、そのレベルの基準コストと基準時間にします。

到達可能集合は、衝突のない関節空間を走査したときに工具が触れられる全ボクセルの和集合です。計算量が大きいため一度だけ計算し、テスト用フィクスチャとしてキャッシュします。テストでは参照解を再生できることと、到達不能領域に目標がないことを確認します。

設計のきっかけになった失敗

91手描き課題が指定した対象ボクセル
20頭部との間隔制約下でアームが到達可能

学習者は、構造上不可能な課題を自分の失敗だと思いかねません。能力推定は、その失敗を判断材料にしてしまいます。

再現性

結果を左右する要素

決定的生成

髪型生成は課題設定だけで決まる純粋関数です。同じ設定からは常に同じ順序のボクセル集合が得られ、処理に乱数は入りません。

サーバー側リプレイ

競技スコアは提出プログラムをサービス側で再生して算出し、ブラウザーが報告した数値は使いません。

実測ではなく推定時間

実行時間は関節移動量と設定速度から算出するため、実行端末ではなくプログラムそのものの性質です。

固定された通信契約

アプリとサービスは同じ採点型とプログラム型を共有します。プロトコル変更は追加のみなので、旧クライアントも引き続き動作します。

関連サイト

論文とチーム