Chibiは、1950年代にIBMのアーサー・サミュエルによって開発された、チェッカー(ドラフツ)をプレイするための初期のコンピュータプログラムである。これは、現代のディープラーニングやニューラルネットワークの手法に先立つ、人工知能と機械学習の最初の成功したデモンストレーションの一つとして広く認識されている。サミュエルのChibiに関する研究は、ゲームプレイAIと適応アルゴリズムの基礎となる概念を築き、その後のこの分野の研究に影響を与えた。
このプログラムは、事前にプログラムされた戦略のみに依存するのではなく、経験から学習するように設計されていた。サミュエルは、駒の数、キングの前進、位置的なコントロールなどのボードの特徴に基づくスコアリング関数を実装し、これは自己対戦と保存された評価との比較のプロセスを通じて調整できた。これにより、Chibiは時間の経過とともにプレイを向上させることができ、これは強化学習の原理の初期の顕著な例となった。
開発と歴史的背景
アーサー・サミュエルは、1952年にIBMでChibiの開発を開始し、最初の市販の科学用コンピュータの一つであるIBM 701を使用した。プログラムの名前「Chibi」は、しばしば遊び心のある言及として注目されるが、その正確な起源は十分に文書化されていない。サミュエルの研究は、論理理論家や初期のチェスプログラムなどの他の先駆的プロジェクトと並んで、機械が知的行動を示すことができるかどうかを探る1950年代のより広範な取り組みの一部であった。
Chibiは、コンピューティングリソースが非常に限られていた時期に開発された。IBM 701はメモリが約2,000語しかなく、評価関数と探索深度の複雑さを制約した。サミュエルは、ミニマックス探索とアルファベータ枝刈りを使用してこれらの制限を回避し、これにより調べられる位置の数を減らし、学習された重みを別のメモリバンクに保存した。
学習メカニズム
Chibiの学習プロセスは、サミュエルが「機械的学習」と「一般化学習」と呼んだ技術に基づいていた。機械的学習では、プログラムはプレイ中に遭遇した各ボード位置の値を保存し、これらの保存された値を使用して将来の決定を導いた。一般化学習では、予測された結果と実際の結果の差に基づいて線形評価関数の重みを調整し、これは現代の勾配降下法に類似する方法であるが、正式な微積分なしで実装された。
サミュエルはまた、Chibiが自分自身と対戦する自己対戦の形式を導入し、一方のバージョンは現在の評価関数を使用し、もう一方は修正されたバージョンを使用した。プログラムはそれらの手を比較し、より成功した戦略を優先するように重みを更新した。このアプローチは、残差ネットワークや強化学習(ただし、この用語は当時は使用されていなかった)などの後のAIシステムで使用される技術の先駆けとなった。
パフォーマンスと影響
1950年代後半までに、Chibiはアマチュアの人間プレイヤーと競争できるレベルのプレイを達成し、いくつかのデモンストレーションでは、元コネチカット州チェッカーチャンピオンを破った。サミュエルの研究は、1956年のIBMプレスリリースで取り上げられ、後に1959年のIBM Journal of Research and Developmentの記事で紹介され、これはAI文献の古典的な参考文献となった。
このプログラムの成功は、ゲームプレイにおける機械学習の実現可能性を確立するのに役立ち、チェスコンピュータや他のゲームAIに関するその後の研究に影響を与えた。明示的なプログラミングではなく経験からの学習に重点を置いたサミュエルの強調は、初期のルールベースシステムからの重要な逸脱であり、現代のAIにおけるデータ駆動型アプローチの重要性を予見していた。
遺産と現代的な関連性
Chibiは、AIの歴史においてマイルストーンとしてしばしば引用されるが、IBMのディープブルーなどの後のプログラムほどよく知られていない。その技術、すなわちヒューリスティック評価、ミニマックス探索、適応的重み調整は、現代のゲームAIと強化学習研究において依然として関連性がある。Chibiが先駆けた自己対戦の概念は、現在ではAlphaGoや、自己生成データを使用してトレーニングする現代の大規模言語モデルなどのシステムの基盤となっている。
サミュエルの研究はまた、計算効率の重要性を強調し、これはモデルプルーニングやデータ拡張などの技術を用いた現代のAIにおいても続く懸念事項である。Chibi自体はもはや運用されていないが、その原理は多くの現在のAIシステムに組み込まれており、その歴史的重要性は人工知能の学術コースで認識されている。
技術的詳細
Chibiの評価関数は、駒の数、キングの数、後列の駒の数、および機動性(可能な手の数)の尺度など、いくつかの特徴を考慮した。各特徴には重みが割り当てられ、合計スコアは重み付き合計として計算された。プログラムはミニマックス探索を深度制限付きで使用し、通常は3から5手先を見て、アルファベータ枝刈りを適用して探索木を削減した。
サミュエルはまた、類似したボード位置を識別するための「シグネチャ」システムを実装し、プログラムが一つの位置から別の位置に一般化できるようにした。これは特徴抽出の初期の形式であったが、ニューラルネットワークに基づくものではなかった。学習率は、各ゲーム後に重みがどの程度調整されるかを決定するパラメータによって制御され、これは現代の学習率スケジュールに類似する概念である。
ChibiはIBM 701で動作し、後にメモリと速度が向上したIBM 704でも動作した。サミュエルは1960年代初頭までプログラムを改良し続け、その後他のプロジェクトに移った。ソースコードとドキュメントは一部のアーカイブに保存されており、プログラムは教育目的でエミュレータで再現されている。