コース: AI 入門

課題に適したAIシステムを構築する

コース: AI 入門

課題に適したAIシステムを構築する

AI システムを構築する プロセスを、犬を識別する問題で 振り返ってみましょう。 最初にすべきことは、データで 何がしたいのかを明確にすることです。 この例なら、データを AI システムが独自に グループ分けするクラスタリングではなく、 犬が写っている画像と、 犬が写っていない画像という、2つの カテゴリーにデータを分類する AI システムを作りたいということです。 この例などは、典型的な2項分類問題です。 AI システムにとって選択肢が 2つしかない分類問題には、 機械学習の教師あり学習を使います。 教師あり学習の訓練データには、 ラベリングが必要です。 確認されている犬の画像を システムにふんだんに学習させるためです。 もう1つ考えなければならないのは、 このシステムに通常の 機械学習アルゴリズムと 人工ニューラルネットワークの どちらを使うかということです。 ここで見ている例は分類問題なので、 通常の機械学習アルゴリズムにするなら、 k 近傍法かナイーブベイズを選ぶのが 一般的でしょう。 ただしこの例では、 画像に含まれるピクセルを1つずつ 分解してデータにするため おびただしい量のデータを複雑に 処理する必要があります。 それを考慮して、ここでは 人工ニューラルネットワークを 使うことにします。 人工ニューラルネットワークには、 入力層、隠れ層、出力層があります。 この例は2項分類なので、犬、または、 犬ではない、という2種類の 答えしかありません。 ですから、必要となる 出力層のノードも2つだけです。 用意したニューラルネットワークは、 まず初期化します。 システムは、すべての伝達路の重みを ランダムに決定し、 すべてのノードのバイアスを ゼロに設定します。 おもちゃのお絵描きボードを、 まっ白に戻すイメージです。 この状態から、訓練データを ネットワークに読ませていきます。 最初のうちは、でたらめな推測と ほとんど変わらない結果になるでしょう。 62%の確率で犬、とか、 55%の確率で犬ではない、といった 推測をネットワークが出していき、 それぞれの推測を、 訓練データのラベルと照合します。 誤った判定になった場合、 ネットワークは勾配降下法を使って、 重みづけとバイアスに 必要な調整の大きさを計算します。 このようにして、すべての訓練データを 使った細かい調整を重ねます。 すでに解説したように、誤りの程度に応じて ネットワークの重みづけとバイアスを 調整する過程を誤差逆伝播法といいます。 これは、ネットワークを遡って設定の ダイヤルを調整していくような プロセスです。 こうして、訓練データを使った 学習が完了した 人工ニューラルネットワークには、 テストデータを使った検証を行います。 テストデータには、 ラベリングしていない 多種多様な画像を使って、 そこから犬の画像をどれだけ 正確に識別できるか確認します。 訓練データで高まった精度が かなり低下するという場合は、 過学習の状態になっていることが 考えられます。 過学習とは、数が少ない訓練データの 識別に特化してモデルが 複雑になりすぎていて、 多様なテストデータに 対応できない状態です。 皆さんの仕事で、犬の画像を識別する 必要性はなくても、 ここで見てきた2項分類のシステムは、 さまざまな応用が可能で効果的な手法です。 顧客データ、営業データ、 IoT データを使った2項分類の活用法を、 いろいろ考えてみましょう。

目次