Statistical AI
統計的AIは、手書きのルールに従うのではなく、データからパターンや確率を学習するシステムを構築します。歴史、手法、コードについて解説します。
統計的AIは、手書きのルールを組み込むのではなく、データからパターンや確率を推定してシステムを構築する人工知能のアプローチです。統計的システムは不確実性を明示的に表現し、サンプルに基づいてパラメータを調整し、未学習データでの性能によって評価されます。スパムフィルターや音声認識から物体検出器、あらゆる次のトークンに確率を割り当てる大規模言語モデル(LLM)まで、現代のAIのほぼすべてがこの方法を採用しています。この用語は主に、分野の初期数十年間を支配した、ルールと論理に基づく伝統である記号的AIとの対比で使われます。
ルールから確率へ#
1950年代から1980年代にかけて、AI研究の大半は記号的手法、つまり論理、探索、そして知識エンジニアがif-thenルールを書き下すエキスパートシステムに取り組んでいました。これらのシステムは限定された明確な領域では機能しましたが、ノイズや曖昧さを含む入力には対応できず、新しい状況が生じるたびにルールを追加する必要がありました。1980年代から1990年代にかけて、確率的手法が次々と主流になりました。隠れマルコフモデルが音声認識の基盤となり、Judea Pearlの1988年のベイジアンネットワークに関する著書が確率的推論を実用化しました。この業績は後に2011年のチューリング賞で評価されました。IBMの研究者は1990年に機械翻訳への統計的アプローチを発表し、1995年にはサポートベクターマシンが登場しました。2012年以降、ディープラーニングは同じアプローチを、手作業で設計した特徴量から生の画素、音声、テキストへと拡大しました。
基本的な考え方#
- 確率モデル:信念は確率分布で表され、ベイズの定理は新しい証拠の尤度を使って事前の信念を更新し、事後分布を求めます。同じ更新方法がスパムフィルター、診断モデル、物体トラッカーを支えています。
- 推定としての学習:学習では、観測データの確率を最大化するパラメータを選びます。多くのモデルでは、通常勾配降下法を使って損失関数を最小化することと同じです。
- 汎化:柔軟なモデルはトレーニングセット内のノイズに適合する可能性があるため、性能はホールドアウトデータで測定します。バイアスとバリアンスのトレードオフは、データに対して単純すぎるモデルと柔軟すぎるモデルのバランスを説明します。
- 段階的な信頼度:予測には確率が付与され、後続システムはしきい値の適用、順位付け、ほかの証拠との組み合わせに利用できます。
ナイーブベイズスパムフィルターを使うと、これらの考え方を数行で確認できます。各単語がスパムと通常のメールにどれだけの頻度で出現するかを推定し、その推定値をベイズの定理と組み合わせて、新しいメッセージを評価します。
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB
# Labeled examples replace hand-written rules: 1 = spam, 0 = not spam
messages = ["win a free prize now", "claim your free cash reward", "limited offer, click now to win"]
messages += ["meeting moved to monday", "can you review my draft today", "lunch with the team on friday"]
labels = [1, 1, 1, 0, 0, 0]
# Count words, then estimate each word's probability under each class
vectorizer = CountVectorizer()
model = MultinomialNB()
model.fit(vectorizer.fit_transform(messages), labels)
for text in ["free prize inside", "draft for monday", "free lunch on friday"]:
spam_probability = model.predict_proba(vectorizer.transform([text]))[0, 1]
print(f"{text!r}: P(spam) = {spam_probability:.2f}")「free prize inside」のスパム確率は0.86、「draft for monday」は0.21です。一方、両方のクラスの単語が混在する「free lunch on friday」は0.29になります。このモデルは、ラベル付きメッセージ6件だけから、「free」がスパムを示すことを学習しました。
統計的手法の種類#
統計的AIには、小規模な確率モデルから数十億のパラメータを持つディープネットワークまで含まれ、各手法は組み込みの構造とデータ量のバランスが異なります。グラフィカルモデルは依存関係を明示的に符号化し、少ないデータで機能します。k近傍法や、XGBoostおよびLightGBMなどの勾配ブースティング木といった従来型の手法は、特徴量の表から学習します。ディープネットワークは生の入力から独自の特徴量を学習します。
統計的AIと関連用語の比較#
- 記号的AI:エキスパートシステムのif-then文のように、知識を明示的な記号やルールで表現し、論理的推論によって結論を導きます。推論過程を一つずつ追跡でき、学習データも必要ありませんが、ルールで網羅されていない入力には対応できません。
- 機械学習:統計的AIの主要な実践分野です。2つの用語の意味はほぼ完全に重なっており、「統計的AI」は主にデータ駆動型の手法を記号的手法と対比する場合に使われます。
- ニューロシンボリックAI:学習済みモデルと記号推論を組み合わせます。たとえば、計算機、データベースクエリ、定理証明器を呼び出すLLMがあります。
- ファジーロジック:「部屋が暖かい」のような曖昧な文に対して0から1までの真理値を割り当てます。これは曖昧さの度合いを測るものであり、事象の確率とは異なります。
実際のアプリケーション#
- スパムフィルタリング:Paul Grahamの2002年のエッセイA Plan for Spamは、各ユーザーのメールから単語の確率を学習するベイズフィルターを広く知らしめました。現在のフィルターは、同じ考え方をさらに多くのシグナルに適用しています。
- 機械翻訳:Google翻訳は2006年に、対訳テキストから句の翻訳確率を学習する統計的機械翻訳を採用してサービスを開始し、2016年にニューラル機械翻訳へ移行しました。
- テキスト生成:LLMは各ステップで語彙に対する確率分布からサンプリングしてテキストを生成します。温度設定によって、サンプリング前にその分布を鋭くしたり平坦にしたりします。
- 視覚認識:物体検出器は、エンドツーエンドの統計モデルです。Ultralytics YOLO26はラベル付き画像に対する損失を最小化して重みを学習し、各ボックスに信頼度スコアを付けて出力します。また、predictモードでは
confしきい値を下回るボックスを破棄します。デフォルト値は0.25です。










