Critical Learning:パターン認識を超えてAIに批判的思考を教える#

Xie, X., Zhang, J., & Voas, J. (2025). Beyond Pattern Recognition: Teaching AI to Think Critically Before It Learns. Computer, 58(11), 127-132.

Keywords: Data Quality, Adversarial Perturbations, Noisy Data, Training Data, Supervised Learning, Robust System

概要#

従来のAI/MLは与えられたデータからパターンを認識することに特化しており、データそのものの品質や信頼性を評価する仕組みを持たない。本論文は教師あり学習および強化学習向けに「Critical Learning(批判的学習)」というアプローチを提案し、AIが学習する前にデータ品質を能動的に評価する検証フレームワークを導入する。

核となるアイデアは、入力データを信頼できる知識(trusted knowledge)と照合し、信頼性の低いパターンを特定・排除したうえで学習を行うことで、より堅牢で適応可能なシステムを構築するというものである。

データ#

データには、そのレコードの信頼性の情報を含める。
例えば教師あり学習の場合、次のようなデータセットを使用する

\[ \mathcal{D}^*=\left\{\left\langle x_i, y_i, z_i\right\rangle\right\} \]

ここで\(x_i\)は特徴量、\(y_i\)は目的変数で、\(z_i\)はデータの信頼性を表す。 信頼できるデータ(golden standard data)は専門家の評価や社会規範に基づくアルゴリズムにより中立的な評価がされ、未評価データ(unscored data)は一様なデフォルトのスコアをもつ。

学習方法#

ステージ#

人間が教科書で基本を学んでから応用的なことを学ぶように、AIも段階を踏ませる。

  1. 基礎訓練(base training):正しさを検証済みのデータ(golden standard)を使った訓練

  2. 継続訓練(continual training / fine-tuning):未検証のデータを自身で検証しながら訓練

学習方法#

いくつかアプローチが考えられる。

方法1:alignment problemとして解く#

生の訓練データ \(\langle x, y \rangle\) に対して、\(y\) を修正した \(\hat{y}\)で置き換える変換を加え、\(\langle x, \hat{y} \rangle\) で訓練する。

方法2:目的関数を変える#

訓練データへの適合と信頼性の評価をバランスさせるよう目的関数を書き換える。

\[ \theta \leftarrow \theta-\alpha \nabla_\theta \mathcal{L}_{\text {fit }}-\beta \nabla_\theta \mathcal{L}_{\text {rel }} \]

ここで \(\beta\) は検証済み(golden standard)データに近づけるための学習率

\({\mathcal{L}}_{rel} = {h}{(}\hat{\mathcal{D}}{)}\) は信頼性に関する損失(reliability loss)で、

  • base trainingのときは \(\hat{\mathcal{D}} = {\mathcal{D}}^{\ast}\)

  • continual trainingでは \(\hat{\mathcal{D}} = {\mathcal{D}}^{\ast}\cup{\mathcal{D}}^{{+}}\)\({\mathcal{D}}^{{+}}\)は新規に得た未検証のデータ)

方法3:信頼性に応じて学習率を変える#
\[ \theta \leftarrow \theta-e(\hat{\mathcal{D}}) \nabla_\theta \mathcal{L}_{\text {fit }} \]

ここで \(e(\hat{\mathcal{D}})\) が学習率で、信頼性損失(reliability loss)\({\mathcal{L}}_{rel}\)を説明するように調整する。事前に訓練によるリスクの評価を行い、明らかに信頼性が低く潜在的な損失をもつレコードに対しては訓練が遅くなるようにする。

方法4:(強化学習の場合のみ)#

RLはさらに一歩踏み込んだ精緻化を提供する。それは生の報酬ではなく評価済み報酬の累積値を最大化することであり、最適化の前に各報酬の妥当性を厳密に評価する。

\[ \max _\pi \mathbb{E}_\pi\left[\sum_{t=0}^{\infty} \gamma^t r_t\right]=\max _\pi \mathbb{E}_\pi\left[\sum_{t=0}^{\infty} \gamma^t \varepsilon\left(s_t, a_t, r_t\right)\right] \]

ここで、\(\varepsilon(\cdot)\) は、状態 \(s_t\) のもとで行動 \(a_t\) をとることに対する報酬付与の信頼性を評価する評価関数である。過去の経験に基づくデータ来歴(データの出所)や評価は、この修正された目的関数を達成するための有効な手段となり得る。

CLの例#

次の図はCLアーキテクチャの一つの例を表す。

次のように学習される

  1. 評価者(Evaluator)がデータセット\(\mathcal{D}\)を処理し、検証済み(golden standard)データ\(\mathcal{D}^*\)を作る。

  2. baseline model \(f\) と judge model \(g\)\(\mathcal{D}^*\)で訓練する

  3. 次の学習サイクルを繰り返す:

    1. judge model \(g\) が新たなデータ\(\mathcal{D}^+\)を評価する

    2. dynamic model \(f^+\) が検証済みデータとのalignmentを保ちつつ、選別済みの更新と統合する

    3. baseline model \(f\)が検証済みの改善を学習する

    4. 検証済みの知識で\(\mathcal{D}^*\)を拡張する

この例ではcontinual trainingの過程において、各データ点 \(\langle x_i^{+}, y_i^{+} \rangle \in D^{+}\) に対する整合済み出力信号を、次に示す方法で決定する。

\[\begin{split} y_i^*= \begin{cases}f\left(x_i^{+}\right), & \max _{\langle x, y, z\rangle \in \mathcal{D}^*} v\left(x_i^{+}, x\right) \geq \tau \text { and } g\left(x_i^{+}, f\left(x_i^{+}\right)\right) \geq \lambda \\ y^*, & \max _{\langle x, y, z\rangle \in \mathcal{D}^*} v\left(x_i^{+}, x\right) \geq \tau \text { and } g\left(x_i^{+}, f\left(x_i^{+}\right)\right)<\lambda \\ y_i^{+}, & \text {otherwise }\end{cases} \end{split}\]

ここで、

  • \(v(x_i^{+}, x)\)\(x_i^{+}\) が同一の表現空間内で \(x\) に変換可能である可能性を示すスカラー値を返す

    • 具体的には、 \(x_i^{+}\)\(x\) の類似度を変換可能性の指標として用いている。

  • \(\tau \in [0,1]\) :変換しきい値に関するハイパーパラメータ

  • \(\lambda \in [0,1]\) はモデルの新規データへの適応性とゴールドスタンダードへの信頼性との間のトレードオフを調整するハイパーパラメータ

実験#

上の例を使って、データの一部を汚染させたMNISTデータセットで実験を行う。使用したデータは次の通り:

  1. クリーンな訓練サンプル50,000件

  2. テストサンプル10,000件

  3. 汚染サンプル10,000件

クリーンデータによる初期学習の後、汚染バッチを段階的に(10%刻みで)導入し、テスト性能をモニタリングした。その結果が次の図である。

with CLのほうが汚染に対してロバストなモデルになっていることがわかる

参考文献#