
人工知能はさまざまな分野で活躍している、次世代のテクノロジーですが、そんな多面的な活躍を支えているのが機械学習です。機械学習のモデルには、その目的に合わせてさまざまな種類が存在しますが、その種類や良し悪しはどのように判別されているのでしょうか。
今回はディープラーニングにも深く関係する、機械学習モデルの概要について紹介します。
機械学習モデルとは
機械学習モデルとは、AI(人工知能)の機能を支える基本的なシステムのことを指しています。
人工知能は、与えられた入力データから、期待されている出力値をアウトプットするよう設計されています。この、データの入力を受けて出力するという一連のルーティーンを、機械学習モデルと称しています。
機械学習モデルには、さまざまな種類が存在します。人間の音声を入力して音声を分析し、そのリクエストの通りに操作を実行するモデルや、異物の混入や不良品の有無を確認し異常を知らせてくれるモデル、映像をリアルタイムで検知し安全な運転を実現する自動運転のモデルなど、多様なバリエーションを持っています。
人工知能は、必ずしも一つのアルゴリズムや機械学習モデルをすべての役割に当てはめているとは限りません。ニーズに応じて、さまざまな機械学習モデルを使い分けることで、短期間で優れたパフォーマンスの人工知能開発と運用を目指せるというわけです。
また、機械学習モデルを支えているのがデータの存在です。どれだけ優れた機械学習モデルを構築することができても、解析に必要なデータの質と量を確保できなければ、AIを活用することは難しくなります。人工知能は入れ物だけを作っても、肝心の中身であるデータを用意できなければ意味がないというわけです。
そのため、すぐれたAI活用を実現するためには、機械学習モデルとデータの確保の両方を実現しなければならないのです。
機械学習モデルに使用されるアルゴリズム
機械学習モデルを構築する上で、現在ではいくつかの主要なアルゴリズムがあらゆる現場で活用されています。ここでは、4つのポピュラーな学習アルゴリズムについて学び、その仕組みを理解しましょう。
教師あり学習
教師あり学習とは、あらかじめインプットするデータに答えを付与し、学習を進めていく方法です。AIが自ら成否を判定でいなくとも、あらかじめデータに付与されているラベルが正誤を確認してくれる仕組みです。
あらかじめ正解が用意されている学習モデル、例えば文字認識のAIや、生産ラインの異常検知など、簡単な正誤判定が必要な現場において活躍する人工知能は、教師あり学習のアルゴリズムを採用した機械学習モデルが採用されています。
機械学習を採用しているAIの多くは教師あり学習を実施しており、最もスタンダードなアルゴリズムと言えます。
教師なし学習
教師あり学習とは対照的に、答えを持たないデータの学習を行うためのアルゴリズムを教師なし学習と呼びます。
教師なし学習とは、入力データに正誤判定のラベルが付与されておらず、AIが自ら出力すべきデータを見出さなければならない目的に活用される学習方法です。膨大なデータの中からそれぞれの特徴量を検出し、その類似性を検証しながら、正しいデータの処理が行えるよう育てることができます。
教師あり学習よりも負荷の大きな作業が必要となる教師なし学習ですが、ディープラーニングはこのような学習アルゴリズムの運用において活躍します。
通常の機械学習に比べ、ディープラーニングはデータの特徴量を検出する能力に秀でており、高い精度で出力が可能です。迷惑メールの分類など、これといった正誤判定の基準を定義づけづらい課題を解決するため、教師なし学習は機械学習モデルに採用されています。
強化学習
強化学習は、機械学習モデル自らデータの良し悪しをコントロールし、さらなる制度の強化を目指して学習を続けられるアルゴリズムです。
強化学習を実行する際、機械学習モデルには特定のスコアの最大化が命令として送られます。例えば、「少しでも長い距離を走行する」「最短の手数で将棋に勝つ」など、目的は決まっているけれど、その達成プロセスには無数の改善の余地が存在する命令です。
人工知能にこれらの課題に向けてゼロから物事を学ばせる場合、全く何もできないところから始まります。歩行数を増やすにしても、一歩目を踏み出すことすらままならず、将棋においては無茶苦茶な手を指してしまいます。
しかし、これらのプロセスを何度も、そして無数に繰り返すうちに、少しずつ形になっていきます。気がつけば10歩以上歩けるようになっており、将棋も小学生相手であれば勝てるほどの実力を身につけます。
このように、強化学習のアルゴリズムを活用することで、AIの能力を指数関数的に強化していくことができます。
データさえあれば、いつしかAIはただ歩けるようになるだけでなく、障害物を避けたり、ダッシュで何時間でも走れるように進化したりします。あるいは、人間を超越した世界最強の将棋棋士となることも可能です。
データをインプットして、アウトプットするという機械学習モデルに強化学習のアルゴリズムを組み込めば、こういった超人的なAIを構築することが実現します。
転移学習
転移学習とは、特定領域の経験や知識を、別の領域の機械学習モデルに転移して学習を進めるアルゴリズムです。
従来の機械学習のアルゴリズムは、特定の目的に特化して学習を行うことが一般的であるため、一つの機械学習モデルにつき一つの目的の達成というのが常識でした。りんごの良し悪しを見分けられるAIに、オレンジの良し悪しを把握することはできないというルールです。
しかし、転移学習を実行することによって、りんごの良し悪しを判別するAIに、オレンジのAIの知識を転移させることで、より優れたセンシング技術を前者のAIは身につけられます。与えられた画像データがりんごかどうかを判断する際、オレンジのAIが培った学習データを与えられているため、より高い精度でりんごか否かを見分けられるという仕組みです。
りんごとオレンジでは明らかな違いがありますが、例えば人の顔のデータだとどうでしょうか?人間の顔を自動生成するAIに対して、税関で導入している顔認証システムのAIのデータを転移させることができれば、膨大な人の数のデータを前者は獲得できます。すると、前者のAIはますます人の顔に対する見識が高まり、より高い精度と個性を持って、人間の顔のデータを生成できるようになります。
昨今ではさまざまな機械学習モデルが登場しているため、これらのAIを有効活用する手段として注目が集まっています。
モデルの良し悪しはどのように判断する?
このように、機械学習モデルはさまざまなアルゴリズムによって形成されています。では、これらの技術によって生み出されたモデルの数々は、どのようにその良し悪しを判断するのでしょうか?
機械学習モデルのクオリティについては、次の4つのポイントから把握することが可能です。
精度
一つ目のポイントは、モデルの精度です。AIのパフォーマンスの良し悪しは、どれくらい正確にアウトプットができるかどうかで決まると言っても過言ではありません。
検知率99%の点検システム、スムーズな翻訳が可能な自然言語翻訳AIなど、精度の高さはそれだけAIの評価に結びつきます。
問題となるのは、どれくらいの精度の高さを目標値として設定するかです。
当たり前ですが、100%何かを言い当てるということは不可能ですし、多少のミスも起こりうることは想定しなければなりません。また、何らかの予測値を算出する機械学習モデルにおいても、未来の数値を小数点単位まで正確に言い当てる、ということは難しいものです。
そのため、精度の良し悪しを把握する際には、どれくらいの精度があれば実践的な運用ができるか、ということを基準に定めることが大切です。
処理速度
二つ目のポイントが、処理速度です。どれだけ正確な出力が可能なモデルであっても、処理に時間がかかっているようでは実用性に問題があります。
毎日数千人〜数万人の人間を扱う税関システムが、一人の旅行者のIDを確認するのに数十分もかかっていては、とてもこの人数を捌き切ることはできません。そのため、精度を多少犠牲にしてでも、処理速度をある程度高めるという判断は、実用性の観点から重要な決断でもあります。
精度とスピードの両立を、どのようにバランシングするかという判断が、AIを生み出す側に求められる判断力でもあります。
汎用性
機械学習モデルは、ある程度汎用性を確保できていることも評価の対象となります。日本国内の人口動態を調査・分析するためのAIを、中国やアメリカなどの他の国でも使えるかどうかといった議論が、その例に当てはまります。
機械学習モデルは、あまりに先鋭化して制作してしまうと運用範囲が限定的になりすぎてしまい、採算の合わないモデルとなってしまう可能性があります。AIに解決させたい、新しい課題が出てくるたびにモデルを一から開発するというのは、時間も費用もかかってしまうためです。
そのため、他のタスクにもある程度応用が効くAIというのが、現代のAIに求められている要件でもあります。
説明可能性(説明可能なAI)
近年注目を集めているもう一つの指標が、説明可能なAIかどうかです。説明可能なAIとは、AIが処理を行うプロセスの可視性が確保されているかどうかを見極める指標です。
AIは確かに便利な技術ですが、入力から出力に至るまでのプロセスは、実は明らかになっていないケースがほとんどです。これをAIのブラックボックス化と表現します。
例えば、AI搭載の自動運転車が交通事故を起こした際、どういった判断ミスが事故につながったのかという事後評価が、これでは行えないのです。AIにより適切な判断を促すためにも、AIの説明可能性を確保することは重要なポイントです。
注目の集まるモデル圧縮
機械学習モデルの利便性をさらに高めるための方法として、多くの組織で行われているのがモデル圧縮です。
モデル圧縮とは
モデル圧縮とは、機械学習モデルの運用に必要な計算処理の負荷を軽減し、コンパクトなAIとして機動性を確保するための手法です。
通常の機械学習モデルは、膨大なリソースとデータをもとに計算処理を行い、高いパフォーマンスを発揮します。モデル圧縮を行うことで、このようなリソースやデータを用意しなくとも、もう少し縮小したスケールでも同等の働きができるようになるという仕組みです。
モデル圧縮が重要な理由
近年、クラウドなどのネット経由ではなく、単体のハードでAIを活用できるエッジAIという技術に注目が集まっています。エッジAIは、膨大なデータベースに接続せずとも単体で機能できるため、スマホや自動車、PCなど、さまざまな場面で活躍します。
しかし、こういった現場にAIを導入するためには、クラウドベースでは計算量が大きすぎ、取り回しも悪いことから、コンパクトなAIである必要があります。ポータブルデバイスでも計算ができるほど負荷が小さく、それでいてパフォーマンスはハイエンドというモデルが、エッジAIに求められる機械学習モデルというわけです。
モデル圧縮の方法
モデル圧縮の方法には、いくつかのアプローチがあります。それぞれの方法について、確認しておきましょう。
枝刈り
枝刈りは、ディープラーニングを用いたモデルの圧縮に活用されます。
ディープラーニングはニューラルネットワークという、複数の層がお互いに接続しあって形成されているのですが、これらのつながりが比較的小さいとされるネットワークを削除することで、軽量化を試みるものです。
小さなつながりを削除することで、計算に必要な負荷は小さくなり、結果的に圧縮に成功するというのがこの方法の仕組みです。
量子化
量子化は、使用するビットの数を制限し、より簡単な数に置き換えることで、メモリの使用量を制限する方法です。
使用するビットを小さくするほど精度面での不安が出てきてしまいますが、負荷を大きく軽減できることから、モデル圧縮を実施する際には検討されることが多い手法となっています。
蒸留
蒸留は、既存の大きなモデルを教師モデルとし、小さなモデルを作成する際の参考にして、規模をスケールダウンさせる方法です。
一から小さなモデルを生成するのではなく、すでに存在するモデルのノウハウを小さなモデルに当てはめることで、同等のパフォーマンスを短期間で得ることが可能です。
まとめ
機械学習モデルは、現在のAI活用において欠かせない、基本的な役割を果たす存在です。モデルには多様な種類があり、さまざまな学習アプローチで優れたAIへと成長させています。
また、モデルの実用性は精度や処理速度などで評価されるだけでなく、近年はエッジAIの台頭により、より小型で活躍できるモデルの需要も高まっています。モデル圧縮を通じて小型のモデルを生み出し、スマホや自動車など、汎用性の高いシーンでAIが活躍しています。