【2021】機械学習の精度の評価指標は?向上させるためには?

  • このエントリーをはてなブックマークに追加
機械学習の精度

機械学習を実践していく上で、注目すべきがAIの精度についてです。AIは「一度プログラムを組み上げてしまえば完成」というわけではなく、効果的な学習を重ね、確かなパフォーマンスを実現できるよう試行錯誤を重ねる必要があります。

では、機械学習の精度を改善していく上ではどのような目標や指標を設定して目指すべきなのでしょうか?今回は、機械学習で目指すべき精度や活用したい精度指標について紹介します。

機械学習で目指すべき精度と対応すべき問題

機械学習で目指すべき精度と対応すべき問題

機械学習を採用したプログラムに求められるのは、人間よりもはるかに早いスピードで業務を処理し、なおかつ高い精度で業務を遂行できる能力です。

一般的に、処理速度は早ければ早いほど良いとされていますが、精度については高ければ高いほど良いとは限らず、「ジャストフィット」と呼ばれる状態がベストとされています。

実践運用に足る十分な精度と言われるのは90%以上の精度で、このレベルをコンスタントに維持できるのであれば実践環境に場を移してみても良いでしょう。

ただし、学習の段階とテストの段階の精度で高い数値が出ない場合や、学習段階とテストの段階の精度に大きな開きがある場合には、何らかの問題が考えられます。これらの症状はそれぞれ「アンダーフィッティング」「オーバーフィッティング」と呼ばれ、何らかの見直しが求められます。

アンダーフィッティングの場合

精度が基準値に満たない、アンダーフィッティングの場合は、そもそも学習がうまく行われていないという問題を抱えています。具体的な原因についてはさまざまな要因が考えられ、学習モデルの選択を誤っていたり、データセットの選び方が間違っていたり、データの母数が少なかったりすることが挙げられます。

精度を高めるためには、さまざまな試行錯誤を繰り返すことで改善効果が得られるため、有効とされる手法を色々と試してみることをおすすめします。

オーバーフィッティングの場合

精度が低いことはAIにとっては致命的な問題ですが、一方で学習段階において異常に精度が高いというのも、見直すべき指標であると言えます。学習段階においては精度が100%近い数値を叩き出す一方、テスト段階で導入すると、精度が一気に落ちてしまうという場合、オーバーフィッティングの状況に陥っていると考えられます。

オーバーフィッティングは、学習モデルに対してAIが過剰にフィットしてしまい、同じタスクであっても読み込むデータセットが別のセットになった途端、期待するパフォーマンスを発揮できない状況です。汎用性のあるデータ活用が可能なAI開発において、特定のデータに精度が偏っている状況は実践レベルであるとは言えず、何らかの対処が求められます。

学習データを異なるものに置き換えたり、データの母数を増やしたり、検証方法を変えてみたりすることで、オーバーフィッティングの問題を解消することは可能です。ただ、オーバーフィッティングが起こっている原因もアンダーフィッティング同様、ケースバイケースであるため、「こうすれば直る」というベストアンサーがない点には注意しましょう。

機械学習の分類における精度指標

機械学習の精度を細かくみていく場合、分類の問題を回答する際には次のような精度指標が設けられているため、これらを参考にすることができます。それぞれの値を検証し、現状確認に役立ててみましょう。

正答率(Accuracy)

正答率は、全データの中で正解している割合を示す値です。精度指標としては最もわかりやすい値で、正解・不正解のそれぞれの割合から算出されます。

正答率が高いかどうかで、どれくらい分類タスクをうまくこなせているかがわかります。

誤答率(Error Rate)

誤答率は正答率とは対となる関係の値で、正答率とは逆にどれだけ回答が誤っていたかを数値化したものです。具体的なパーセンテージに表す場合、1から正答率を引いた数字が誤答率となります。

適合率(Precision)

適合率は、混同行列において陽性と判断されたもののうち、本当に陽性であったものの割合です。混同行列は二者択一の分類を行列の形でまとめたもので、陽性か陰性かにそれぞれのデータは分類されます。

たとえば、写真に写っている果物がりんごの場合は陽性、みかんの場合は陰性と定義づけることで、陽性に分類されたものをりんご、陰性のものをみかんとAIが分類するようになります。これらの分類は必ずしも正しいとは限らず、適合率が高くなればなるほど、陽性と陰性の仕分けの精度が高まったということができます。

再現率(Recall)

再現率は感度とも呼ばれ、実際に陽性であるもののうち、正しくAIが陽性と分類したものの割合です。適合率と似たような指標ですが、適合率は陽性と判断したデータを分母とした割合、再現率は実際に陽性であるデータの数を分母とした割合です。

たどり着く答えこそ同じですが、異なるアプローチで数字を検証することで、精度向上に向けた新しい視点を得られるようになります。

F値(F-Measure)

F値は、適合率と再現率の調和平均を求めたものです。F値は0~1の間の数字に収まり、その数字が高ければ高いほど、優れた学習モデルであると言えます。

F値が低いほど、誤った陰性・陽性の判断が多かったということになるので、この数字が大きくなることも優れたAIを目指す上での重要なパラメータとなります。

機械学習の精度向上のために試すべきこと

機械学習の精度向上のために試すべきこと

機械学習は幾度となくトライアンドエラーを重ねることで、実践にも耐えられる精度のAIを獲得できます。機械学習の最中に満足のいく結果が得られない場合には、次のような精度向上手段が考えられます。

データセットを見直す

一つ目の方法は、データセットの見直しです。そもそもデータはタスクに最適化されているデータなのかどうかは、初めに検討しておくべき事項でしょう。

また、データの母数が少ないと、簡単にオーバーフィッティングが生まれてしまいます。限られたデータで成果が出るようパラメータを設定すると、限定的なパターンでのみ効果が現れる使い所の難しいAIとなり得ます。

データセットに含まれるトレーニングデータの数は十分と言えるか、今一度確認する必要があるでしょう。最先端のAI開発においては常にリアルタイムで新しいデータを取り入れる必要もあるため、力を入れておきたいポイントの一つと言えます。

アルゴリズムを再検討する

学習に伴うアルゴリズムを再検討することも、精度向上においてはベターな選択肢です。今導入しているアルゴリズムでは成果が上がらない、改善の余地が見つからないという場合には、アルゴリズムの見直しを検討してみましょう。

一度検証したデータがすぐに失われるということはないため、ときには思い切って振り出しに戻ってしまうことも大切です。

アンサンブル学習の実践

アンサンブル学習は、学習器を複数使用することで高い精度を目指そうという学習手法です。一機では心もとないパフォーマンスしか得られない学習器も、一つの目標に向かって同時に運用することで、ハイエンドなパフォーマンスを発揮できるようになります。

特定の問いに対して複数の学習器へ解答させ、その解における多数派を採用することで、最適解の実施へと結び付けられ合うことが特徴です。どんな結果が多いのか、何を優先するかはAIを使う人間の側に任されることも多いのですが、アンサンブル学習ではAI同士の助け合いによって、誤回答のリスクを減少させます。

データを水増しして読み込む

医療分野におけるAI開発など、まだまだAIの導入が学習データの不足から遅れており、それによって適切な学習を阻まれている場合には、水増しが有効です。

元あるデータの形状を変えたり、サイズを変えたりすることによって、コンピュータはそれぞれを別個の写真であるとして認識してもらうことができます。学習に必要な特徴量はオリジナルと同じように残せるため、迅速に精度を改善したり、AI開発を促進したりしたい場合には活用すべき手段です。

転移学習を実践する

転移学習は、すでにある程度学習が進んでいるAIを活用して、新たなタスクに向けて学習を再度行っていく手法です。こちらもデータの水増し同様、既存データを活用するための方法ですが、こちらは既存の学習内容が生きる領域において、新しいタスクをこなせるよう学習を行うための方法です。

犬の品種の違いについて、ある程度の分類ができるほどデータの学習が進んでいるAIであれば、犬と猫を判別するためのAI開発にもそのデータが役に立ちます。たとえ元データが少なくとも、既存の学習内容を有意義に活かせるため、時間がなくとも効率の良い学び直しを実現可能です。

新しいGPUを導入する

AIの精度向上が進まない理由の一つに、マシンスペックが不足している、という可能性もあります。特にGPUの性能は十分な学習を行うためには必須のスペックとなるため、古いモデルだと人工知能開発に対応できない場合もあります。

どうにも計算が遅いということで悩んでいる場合には、マシンの買い替えが有効です。最新のGPUを導入したマシンを設置し、スピーディに計算を行えます。ただ、新型のGPUは非常に効果であるため、予算を大きくオーバーしてしまうこともあります。運用の際には、予算面の問題もクリアにできるよう備えておきましょう。

機械学習の精度向上にクラウドGPUが貢献できること

機械学習の精度向上にクラウドGPUが貢献できること

上記のような精度向上に向けたアプローチの中でも、特にハードウェア面での改善は比較的取り組みやすく、結果にもつながりやすいのが特徴です。GPUのリニューアルは確かにマシン性能に大きな違いをもたらしてくれますが、一方で導入コストが大きいのがネックです。

GPU運用の負担を最小限に抑える上で、役に立つの「がクラウドGPUの運用」です。最後に、クラウドGPUの導入が機械学習の精度向上にどのような影響を与えてくれるのか確認しておきましょう。

GPU運用のコスト削減でデータ確保に注力できる

クラウドGPU導入の一つのメリットが、GPU運用のコストパフォーマンスを高められるという点です。

通常、GPUは効果なユニットであるため、買い替えには相応の予算を確保する必要があります。一方で、クラウドGPUは使用量に応じたライセンス料金を支払うことで利用ができ、その初期費用はGPUを購入するのに比べて遥かに安く抑えられます。

GPU導入にかかる予算を小さくまとめることで、機械学習に必要なデータの拡充へリソースを回すことができるようになります。運用コストを抑え、より優れたデータ活用の環境作りを実現可能です。

処理速度の向上で効果測定のサイクルを改善できる

ハイパフォーマンスなGPUを確保することで、基本的な演算能力の底上げができます。処理速度が高まると、それだけ短時間で多くの計算ができるため、必然的にAIの学習効率は高まります。

演算処理能力が改善されることで、以前よりも短い時間でトライアンドエラーを実施することができます。実際の精度確認から向上に必要な改善点の検証、そして改善結果の検証に至るまで、スピーディにこなせるようになります。

計算スピードが高まれば、それだけ必要なステップを素早くこなせるため、精度向上へ結果的に役立つというわけです。

まとめ

今回は、機械学習の結果として求めるべき精度や、どのようにして精度改善を進めていくべきかについて解説しました。機械学習には多様なアプローチが存在するため、タスクに応じて最適な手法を試行錯誤しながら、見つけ出す必要があります。

このような地道な検証を支えられるクラウドGPUが、当社モルゲンロットが提供する「M:CPP」です。

MCPP

大手クラウドに比べて最大で半分のコストでリソースを提供できるコストパフォーマンスに加え、AMD製のハイエンドなベアメタルGPUを提供しているため、質の高さにおいても強みを発揮しています。GPUリソースの確保をご検討の際には、お気軽にご相談ください。

  • このエントリーをはてなブックマークに追加