テクノロジー

機械学習では必須のロバストネスとは!その応用方法も合わせて解説

機械学習では必須のロバストネスとは!その応用方法も合わせて解説

機械学習を学び始めつつ、いざ機械学習モデルを構築するとなると、いろいろなことに気をつけて構築するでしょう。例えば推定精度や結果の解釈性、計算量の最小化など、機械学習モデルの優秀さを示す要素にはいろいろなものがありますよね。

その中でも今回お伝えしたいのは、機械学習におけるロバストネスの大切さです。ロバストネスも他の要素と同じように機械学習の優秀さを示す非常に重要な要素です。特に機械学習を教育目的ではなく、実利用する場合の優先度はトップレベルです。

そこで今回は、機械学習におけるロバストネスとは何なのか、ロバストネスがないとどうなってしまうのかといった概要から注意点までを解説します。最後まで読めば、ロバストネスの概念について理解し、機械学習のモデル構築に活かせるでしょう。

そもそもロバストネス(頑健性・robustness・ロバスト性)とは)

頑丈なイメージ
ロバストネスを日本語にすると「頑健性・堅牢性」という意味で、ロバストネスは制御工学や情報工学といった分野でよく耳にする言葉です。

ロバストネスを学術的に使用する際には「変化や外乱の影響の受けにくさ」という意味で使用されます。少しわかりにくいので、具体例を挙げましょう。

例えば、机の上に2つのコップが置いてあるとします。一方は紙コップで、もう一方は陶器のマグカップです。ここに風という外からの影響が発生したとき、紙コップはすぐに倒れてしまいますが、マグカップはビクともしませんよね。ここから、風という外からの影響に対してマグカップは紙コップよりもロバストネスが高いと言えます。

このように、予想外の自体でも難なく対応できることをロバストネスが高いと表現しています。機械学習に限らず、ロバストネスが低い設計をすると、壊れたり、誤動作するといった不具合が生じてしまうのです。そんな予想外のことにに対応できる能力が、設計における基本となるでしょう。

※参考までに、こちらの記事でも説明しています

なぜ機械学習でロバストネスが必要なのか

確率のイメージ
それでは、機械学習の分野で発生する予想外のこととは、具体的にどんなことでしょうか。それは、入力値が外れ値である場合や入力値にノイズが乗っているなど予想外のことが発生している場合です。

つまりロバストネスが高い機械学習とは、予想外のことが起こっている汚いデータからでも精度よく推定が行えるということです。ロバストネスが高い機械学習は、多様な入力データに対応できるとも言えるでしょう。

それについて、具体例を用いて説明しましょう。ある写真に写った動物が犬か猫かを判定する機械学習があったとします。中央に顔がある写真しか対応できない機械学習はロバストネスが低いと言えます。逆に、顔が写っていなくても体から判別できたり、逆光や解像度が極端に低いなど何が写っているかはっきりわからない画像であっても犬か猫かを判別できる機械学習はロバストネスが高いと言えます。

この例の中でも紹介しましたが、機械学習は画像認識で利用されることが多く、逆光などの光の当たり具合の違いによる誤推定は非常に頻繁に発生します。ロバストネスが低い機械学習では推定結果がこのような光の加減に左右されてしまい、場合によっては照明の設備投資が必要になるかもしれません。

つまりロバストネスが高い機械学習を行えば、このような無駄な投資を避けることができるので、費用の面からもロバストネスは重要だと言えます。

また、そもそも機械学習を利用する目的は、入力データを精度よく分類したり、入力データから予測値を精度よく推定したりすることです。予想外の入力データでは全然まともに分類や推定が行えない機械学習より、どんな入力データであっても精度よく分類・推定できる機械学習の方が良いですよね。

ロバストネスがない場合に起こる問題

危険のイメージ
機械学習において、作成した機械学習モデルにロバストネスがないという状態は非常によく発生します。

まずは過学習によってロバストネスがなくなってしまった場合です。過学習とは教師あり学習に分類される機械学習で発生する現象で、作成した機械学習モデルが教師データに極端に適合した結果、教師データに対しては非常に精度よく推定できるものの、それ以外のデータでの予測精度が低いこと。

つまり、機械学習の学習過程で過学習が発生した場合、教師データ以外の入力データに対してはまともに推定できないという問題を抱えた極端にロバストネスが低い機械学習モデルが完成します。

また、教師データが極端に少なく、十分な学習が行われなかった場合にも過学習と同じようにロバストネスがない機械学習モデルが発生します。例えば、製造業で製品の品質をOKかNGかを判定する際の教師データのほとんどがOKデータで、NGがあまりないという状況はよくありますよね。

この例の場合、ロバストネスがない機械学習モデルは「教師データとは少し違うがNGのデータ」であってもOKだと判定してしまい、市場に不良品が流れてしまうという問題が発生します。

機械学習は未知の入力データを使って分類や推定を精度よく行いたいのに、教師データを使用した場合しか精度が良くない機械学習など何の意味もありません。言い換えると、ロバストネスがない機械学習には全く価値がないということになります。

ロバストネスに関連して知っておきたいこと

整列するイメージ
機械学習のロバストネスを確保するために重要なことは、過学習を抑えること。そこで、過学習の対策方法について紹介しましょう。

過学習の対策として最も良い方法は、教師データを増やすことです。そもそも過学習とは機械学習モデルが教師データに極端に適合してしまうことです。教師データが増えれば増えるほど、学習結果は広い範囲のデータに対応できるようになるため、過学習を防ぐことができます。

※過学習の対策についてはこちらの記事でも触れています

また、機械学習の前処理の段階でデータの正則化を行うことも過学習の対策として優秀な方法です。正則化とは、正則でないデータを正則にすることです。線形代数という数学分野では、逆行列を持つ行列のことを正則であると言います。

正則でないデータ、つまり逆行列を持たない教師データというのは、似たようなデータがたくさん含まれたデータなのです。つまり、データ量の割には似たようなデータばかりの中身が薄いデータと言えます。つまり、正則化という数学手法によって、中身が薄いデータを濃くすることができるのです。

※正則化についてもこの記事で詳しく解説しています。

ただし、正則化の具体的な方法は非常に高度な内容になります。興味のある方はLasso回帰やRidge回帰について調べましょう。

※そんなLasso回帰やリッジ回帰についての記事はこちら

まとめ

さて、今回は機械学習におけるロバストネスの概要や、ロバストネスがない場合に発生する問題、対策方法について解説しました。ここまでの内容をまとめると、下記のようになります。

  • ロバストネスとは「変化や外乱による影響の受けにくさ」のこと
  • 機械学習におけるロバストネスとは、予想外の入力データでも精度よく分類・推定できること
  • 学習過程で過学習が発生するとロバストネスが低い機械学習モデルになる
  • ロバストネスが低い機械学習モデルの推定精度は低くなる
  • ロバストネスを引き起こす過学習の対策には教師データを増やすことと正則化が有効

ここまで読めば、機械学習におけるロバストネスに関する知識は十分でしょう。ロバストネスは、機械学習において必要どころか、欠かすことのできないレベルにとても大切なことです。これからは機械学習を行う方は、ロバストネスをしっかりと考慮しましょう!

トップへ戻る
タイトルとURLをコピーしました