目次
AI学習はどのようなプロジェクトにおいても必要不可欠なステップです。そのため、モデル開発に関わる人達が、その仕組みについて理解していることが極めて重要です。それにもかかわらず、多くの人がこのプロセスを理解不能と考えていることは驚くばかりです。全ての用語が完全に理解されている場合でも、データを直接扱っていない人には学習がかなり抽象的な概念だと思われているかもしれません。このような一般的な理解不足が、貴社の事業の進展にとって大きな障害になることがあります。
AIに関して言えば、事例を利用することにより、理解が大きく深まります。ということで、一つ事例を用いて、AIの学習の仕組みについて詳しく見てみましょう。
AIに学習させる前に
この記事の例では、英語とドイツ語の様々な曲を含む大規模なデータセットがあると仮定し、それらの曲を言語に応じてモデルが分類できるようにしたいと考えます。しかし、学習に取り掛かる前にいくつか確認しなければならない事項があります。
まず、高品質なデータが必要となります。機械学習においては、データは重複や無関係なサンプルを含まない、クリーンで組織化されたものでなければなりません。品質の悪いサンプルや無秩序な構造によってプロジェクト全体が失敗してしまうこともあるので、データを確認しておくことが重要です。また、有益なタグやアノテーションが付与されていないプロジェクトでAIに学習させるのは、多くの場合、非常に困難です。音楽データセットの例では、それぞれの曲にアーティスト名やレコードレーベルなどの有益なタグを与えます。AIが学習データを利用して予測する際、これらがいくつかの役立つ手がかりを提供します。
データの用意ができたら、それを学習データ、検証データ、試験データの3つのカテゴリーにランダムに分類します。こうすることで、選択バイアスが学習過程に影響を与えるのを避けることができます。学習データ、検証データ、試験データの違いについてまだ理解が十分でない場合は、以前の記事をご覧いただくと、簡単に記憶を新たにすることができます。これで、AI学習を開始する準備が整いました。
AI・機械学習の仕組み
① AI学習
まず、データで利用可能なランダム変数を用いて、その曲が英語なのかドイツ語なのかをモデルに予測させます。結果を確認すると、当然のことながら、めちゃくちゃです。最初は、どの変数がどのようにターゲットに関連しているのか、AIはほとんど理解していないので、この結果も驚くには当たりません。
AIに予測させたい答えとこれら変数の関連性について我々にはある程度考えがあるので、一旦、モデルが学習データを予測し終えると、AIのパフォーマンスを向上させるため、これら変数のパラメータを調整し始めることができます。例えば、英語のみあるいはドイツ語のみに現れる音をアルゴリズムが認識できるようにモデルを調整することができるでしょう。学習データを利用して再度学習を行うまで、これら変数の調整に少し時間をかけます。
学習データを利用して再度モデルに予測させると、わずかに精度が向上しています。この段階ではこのプロセスを繰り返すだけですが、曲の言語を予測しようとするたびに少しずつアルゴリズムが改善されていきます。これらのサイクルの一つ一つが学習ステップと呼ばれます。最初の数回の試行ではパフォーマンスが良くありませんが、しばらくするとアルゴリズムは、バリデーションに移行する準備が整ったと考えられる状態になります。
② バリデーション
これは、いくつかの新しいデータに対してモデルをバリデーション(検証)する段階です。インプットとターゲットを持つ検証データを利用して、プログラムを実行します。アルゴリズムは最初に学習データに遭遇した時よりパフォーマンスが向上しているはずですが、決して優れたパフォーマンスが保証されているわけではありません。正しく判別できる曲もありますが、まだ見当違いの答えもあるでしょう。
そこで、これらの結果を見て評価します。学習データの例だけを認識できるようにモデルが少し入念に学習しすぎてしまった場合に生じるオーバーフィッティング(過学習)の兆候が見られるかもしれません。あるいは、我々が考えつかなかった新しい変数が関係していることがわかり、調整の必要があるかもしれません。例えば、アルゴリズムはmusic(英語)とmusik(ドイツ語)のように同じように聞こえる単語の識別に苦心しているのかもしれません。次の学習ステップでこれらを考慮する必要があります。
新しい変数を考慮して学習に戻り、アルゴリズムの調整と改善を行います。ハイパーパラメータの調整も少し必要かもしれません。例えば、英語とドイツ語の両方で別々の曲を持つアーティストが常にドイツ語として認識されていることがバリデーションで判明した場合、モデルを調整して、予測過程でのアーティスト名の重要性を低減する必要があります。
一方、非常にうまく曲の予測を行うことができた場合は、直接、テスト段階に進みます。
③ テスト段階
バリデーションを完了したら、タグやターゲットの付いていないデータを使ってモデルを試験する準備ができています。これは、現実の世界で取り扱うことが予想されるデータの状態のシミュレーションです。これがうまくいけば、アルゴリズムはその設計目標を達成するために利用する準備ができたということになります。この段階になると、アルゴリズムが高い精度で英語とドイツ語の曲を分類できると確信することができます。そうでなければ、満足するまで学習に戻ります。
機械学習モデルの精度とは
機械学習やディープラーニングモデルの精度とは、テスト段階の正解率のことを言います。つまり、機械学習モデルがはじめて扱うインプットデータに対して、どれくらいの割合で求められる「正解」のアウトプットを出せるかを表します。
高品質な教師データで機械学習の精度を向上
学習過程全体を通して見ると、関連性のあるタグを持つ高品質なデータが不可欠であることが容易にわかります。データが乱雑であったり、不正確にラベル付けされていたりすると、モデルは正しく学習できず、プロジェクト全体の成功が脅かされる可能性もあります。上記の例では、学習データにイタリア語の曲をいくつか含めると、マシンのドイツ語認識力が著しく損なわれます。さらに、ドイツ語の知識が定かでない人や自動プログラムによってタグが追加されると、もはやタグがモデルに必要な黄金律を提供することを当てにすることはできません。広範なデータセットの一つ一つ全てが重要であり、優れたAIと高価なガラクタを分ける決め手になるとも言えます。現在のところ、手動ラベリングを伴わない高品質データにアノテーションを付ける方法はありません。
AIの精度につきましては、こちらの動画もご参照ください。