誤差逆伝播法

AIを導入・運用・実装するときの3段階のうち、PaaS(Software as a Service)を導入する場合について、一般に9つのサブプロセス(❶データの取得→❷データの蓄積→❸データの確認→❹教師データの作成→❺モデルの設計→❻学習→❼デプロイ→❽推論→❾再学習)があります。そのうちで、❻学習について解説します。この❻学習はそれまでに取得したデータをコンピュータにまさに「学習」させるというプロセスです。このとき、100のデータをすべて「学習用」に入れてしまうことはありません。たとえば100の「犬・猫」の教師データをすべて使い、「これは猫」「これは犬」 と覚え込ませても、そのモデルを実際の場で使ったとき、どの程度の精度が出るかわかりません。そこで、溜めたデータのうちの70~80%くらいのデータを使って学習させます。この学習段階では「これは猫」のように教えますが、間違って「犬」に流れた場合は、誤差逆伝播法(パックプロパゲーション)などの手法を使い、どんどんその誤差をもとに特徴量で、自動修正をしていきます。なお、100のデータをほとんど学習用ばかりに使ってしまうと、その100のデータに特化しすぎた(合わせすぎた)モデルになる傾向があります。これを「過学習」と呼んでいます。データが限られている場合には、どの程度を学習用に、どの程度のデータを検証用に残すかを決めておく必要があります。ただ、データ数が少ないと過学習の疑いが高まります。そして、学習プロセスを終えたら、先ほど残しておいた20~30%ほどのデータを使い、つくったディープラーニングのモデルをテス卜します。「犬」の写真を入力して正しく「犬」と判定するかどうか、「猫」の写真を入力して「猫」と答えてくれるかどうか。その結果、たとえば97.83%くらいの精度(正解)が出たというときに、「このモデルなら実用レベルで使える」ということになるのです。どれくらいの精度が出れば使いものになるのかをあらかじめ確認しておくことが重要です。