Reward Modeling
機械学習における報酬モデリングについて解説します。人間のフィードバックを使用してAIエージェントとUltralytics YOLO26モデルを適合させ、より安全で正確なパフォーマンスを実現する方法を学びましょう。
報酬モデリングは、人間が好む基準に基づいて、AIシステムに自身の行動を評価および優先順位付けする方法を学習させる機械学習技術です。従来の強化学習環境では、AIエージェントはビデオゲームのスコアのように、数学的に厳密で事前定義された報酬関数を最大化することで学習します。しかし、丁寧なメールを書いたり、交差点を安全に通行したりといった、「良い」行動が主観的または微妙なニュアンスを含む複雑な現実世界のタスクにおいては、完璧な報酬関数を手作業で作成することはほぼ不可能です。報酬モデリングは、二次的なニューラルネットワーク(報酬モデル)を訓練して人間の判断の代理として機能させることで、この問題を解決します。このモデルは主要なAIの出力を評価し、スカラー値を割り当てることで、メインモデルを安全で有用、かつ正確な行動へと動的に導きます。
Link to this section報酬モデリングの仕組み#
報酬モデルを構築するためのパイプラインは、高品質な人間のフィードバックを収集することに大きく依存しています。
- データラベリングと選好: 人間の評価者にプロンプトとAIモデルによって生成された複数の回答を提示します。評価者は、有用性、無害性、正確性などの基準に基づいて、これらの回答を最高から最低までランク付けします。これらの大規模なアノテーションワークフローの管理は、Ultralytics Platformを使用して円滑に行うことができます。
- プロキシネットワークのトレーニング: 特化したニューラルネットワークが、この人間による比較データセットでトレーニングされます。最適化プロセスを通じて、人間がどちらの出力を好むかを予測することを学習し、アクションやテキスト回答の埋め込みを単一のスカラー報酬値にマッピングします。ニューラルネットワークアーキテクチャの構築に関する詳細は、PyTorch APIドキュメントで確認できます。
- ポリシー最適化: 主要モデルは、報酬モデルからの継続的なフィードバックを使用して自身の行動を洗練させます。これには通常、近接ポリシー最適化 (PPO)のようなアルゴリズムが利用されます。このステップにより、モデルのポリシーが学習された人間の意図と反復的に調整されます。
Link to this section報酬モデリングとRLHFの比較#
報酬モデリングを人間からのフィードバックによる強化学習 (RLHF)と区別することは重要です。これら2つの用語は頻繁に一緒に議論されますが、同義ではありません。RLHFはモデルを調整するための包括的なエンドツーエンドのパイプラインであり、教師ありファインチューニング、データ収集、ポリシーの更新を網羅しています。報酬モデリングは、RLHFパイプライン内における特定の重要なコンポーネントです。これは、個別の人間によるランキングを、強化学習アルゴリズムが最適化できる連続的な数学的信号へと変換する架け橋として機能します。
Link to this section実社会での応用#
報酬モデリングは、人間や物理世界と直接相互作用する現代のAIシステムを開発する上で不可欠です。
- 大規模言語モデル (LLM): 会話型AIアシスタントは、回答が事実として正しいだけでなく、丁寧で適切であり、有害な言語が含まれていないことを保証するために報酬モデルに依存しています。AIの安全性を探求する組織は、有用で無害なAIアライメントを反映するシステムを構築するために、報酬モデリングを継続的に進歩させています。
- 自動運転車とロボット工学: 物理的な自動化において、報酬モデルはロボットが複雑な運転エチケットや物体操作戦略を理解するのを助けます。Ultralytics YOLO26を搭載した知覚システムは歩行者や道路標識を検出し、報酬モデルは車両の計画された軌道を評価することで、AIが単なる攻撃的な地点間ナビゲーションよりも乗客の快適さと安全を優先するように保証します。
Link to this section基本的な報酬モデルのコンセプトの実装#
以下のPythonの例では、torchを使用して報酬モデルの基礎的な構造を示しています。実際には、このネットワークは人間の選好に合致する出力に対して、より高いスカラー値を割り当てることを学習します。
import torch
import torch.nn as nn
# Define a simplified reward model architecture
class SimpleRewardModel(nn.Module):
def __init__(self):
super().__init__()
# Maps the AI's output embedding to a single reward score
self.fc = nn.Linear(768, 1)
def forward(self, embeddings):
return self.fc(embeddings)
# Initialize the model
reward_model = SimpleRewardModel()
# Simulated embeddings for a human-preferred action and a rejected action
chosen_action = torch.randn(1, 768)
rejected_action = torch.randn(1, 768)
# The model predicts scalar scores to guide the primary agent
print(f"Chosen Action Reward: {reward_model(chosen_action).item():.4f}")
print(f"Rejected Action Reward: {reward_model(rejected_action).item():.4f}")アライメントがオープンソースの基盤モデルにどのように影響を与えるかについてのより深い洞察を得るには、言語モデルを人間の意図に合わせるための基盤研究を探索し、コンピュータビジョン (CV)システムが高度なフィードバックループを活用して動的な環境と安全に相互作用する方法を学習してください。






