■人工知能

人工知能の作り方【訓練誤差でAIを30%理解】

■人工知能

 こんにちは黒部です。
今回は人工知能開発における、訓練誤差というものについて現役の機械設計エンジニアが解説します。訓練誤差を学ぶことで人工知能についての理解が少し深まります。

本記事の目標とレベル

目標 :訓練誤差について理解する
レベル:★☆☆☆☆

人工知能の作り方【訓練誤差でAIを30%理解】

 タイトル通り「訓練誤差」を学べば人工知能の作り方の30%を理解できたと言えるでしょう。ではまず言葉のイメージを理解して準備を整えましょう。

『モデル』:入力に対して出力する人工知能の脳みそ
『学習データ』:モデルを作成する為の材料データ
『出力データ』:モデルが出力したデータ

 これで準備万端です。
 訓練誤差について解説していきます。

 訓練誤差とは、学習データと出力データの差のことです。人工知能のモデル作成は、通常この訓練誤差が小さくなるようにパラメータを更新して学習させていき、誤差が十分に小さくなったら学習を終了します。

 本記事ではモデル作成~学習終了までの流れとともに訓練誤差について理解していきましょう。

繰り返しの学習で訓練誤差が小さくなる

 教師あり学習でモデルを作成する流れに沿って訓練誤差について解説していきます。

 未来の気温を予測するモデルを作成したいとします。
『学習データ』=過去の気温データ
『出力データ』=未来の気温の予測値

【未来の気温を予測するモデルの作成手順】
①過去の気温データをインプット
②コンピュータが日付と気温データの関係式を導く
 →まだ予測精度は低い
③過去の気温データに近づくよう関係式を修正
 →予測精度が改善
④関係式の修正を繰り返す
⑤過去の気温データとの誤差が小さくなったら終了

 こうして作成された人工知能に未来の日付を入力すると、気温予測モデルに従って予測気温を出力します。これが人工知能が未来の気温を予測できる仕組みです。

 ③ように訓練誤差が小さくなるよう関係式を修正していくことを『学習』といいます。そして学習の繰り返しのことを『イテレーション』といいます。

 イテレーションの方法には主に『バッチ学習』『ミニバッチ学習』『オンライン学習』がありますが、こちらは別記事で解説します。

 以上のように、繰り返しの『学習』によって訓練誤差を小さくしていくことで人工知能の脳みそであるモデルが作成されます。訓練誤差の基本的な説明は以上となりますが、更に深堀して理解を深めていきます。

「良い人工知能」≠「訓練誤差が小さい」

 ここまで読んでくれた読者の方は、人工知能の予測精度を上げるためには訓練誤差をどんどん小さくしていけばよいと思った方もいると思います。しかし以下のように学習データが大きくバラついていたり、異常値が含まれていたらどうでしょう? 

ハイバリアンスとハイバイアス

 測定誤差や低気圧などによって昨年度の気温データが大きくバラついていたとします。学習を何度も繰り返していくと、訓練誤差が小さくなり学習データに対して人工知能のモデルがフィットしていきます。

 こうなると過去に異常な気温だった日は、来年も異常な気温になるという予測をします。訓練誤差を小さくしすぎた結果、予測精度が悪化することもあるわけです。
 つまり「良い人工知能」=「訓練誤差が小さい」とは限らないのです。この人工知能が学習データにフィットしすぎている状態を過学習といい、過去の記事で解説しています。

 このように訓練誤差が小さく複雑な関数で作られたモデルの状態をハイバリアンス(過学習)といいます。反対に訓練誤差が大きくシンプルなモデルの状態をハイバイアスといいます。

 極端に訓練誤差が小さかったり大きかったりすると、未来の天気の予測精度が悪くなります。丁度よい訓練誤差にすることで予測精度を高めることができるのです。

『良い人工知能』=『汎化性能が高い』

 このように、未知のデータに対する対応能力のことを『汎化性能』といい、『良い人工知能』=『汎化性能が高い』ということです。人工知能の作り方を学ぶ上で非常に大切なことなので、良く覚えておいてください。

 人工知能を作成したら必ずテストデータを用いて汎化性能をチェックします。このチェック方法も様々なので別記事で紹介していきます。

おわりに

 以上で、人工知能の作り方【訓練誤差でAIを30%理解】の解説を終わります。人工知能による予測精度100%が困難だということが分かりますね。訓練誤差と汎化性能は人工知能を学ぶ上で基礎であり大切な項目ですので、本記事が参考になりましたら幸いです。