orangeitems’s diary

クラウドで働くインフラエンジニアの日々の感想です(ほぼ毎日更新)。

ベテランがリストラされることと、過学習の関係性

f:id:orangeitems:20191004104110j:plain

 

機械学習における過学習と、人間の関係性

過学習という言葉はまだまだ世間には浸透していないと思います。

今や世間の最も重要な関心事であるAIの基礎となっている機械学習。その中で用いられている専門用語です。

機械学習については趣味でいろいろ試しているのですが、この過学習という現象はもしかして人間でも起きているこなのではないかと気づきました。学習し過ぎると何が人間に起こるのか。特に最近は45歳過ぎると大企業でも早期退職を促してくる企業があることが話題になっていますけれども、なぜそんなことが起こるのかということに関係がありそうだと思い話を進めます。

 

過学習とは何か

まず、過学習の定義です。

 

aizine.ai

過学習とは、「学習に使ったデータに対してはきちんと予測できるけど、知らないデータに対しては全然当たらない」という実用性を全く伴っていない状態のこと。

こんな状態を説明する用語として「過学習」の他、「過剰適合」、英語読みで「OverFitting(オーバーフィッティング)」などとよんだりする!!

 

上記引用だけではピンとこないかもしれません。元記事は丁寧に過学習のことを解説してくれていますので一読することとをお勧めします。

機械学習は、モデルという何かインプットしたら正解をアウトプットする箱を作るのが肝です。最近はAIが人間よりも素早くいろんなことを処理して教えてくれると話題ですが実際にはモデルが働いてくれています。しかしモデルは何もない状態だともちろん赤ちゃん同然で何も知りませんから、この場合はこれが正解だよと教えてあげる必要があります。これを学習(トレーニング)と言います。だからモデルにはたくさん学習することで賢くなっていきます。学習が進んで使い物になるモデルを、学習済みモデルと言います。

AIの世界で一番大変なのがこの学習済みモデルにデータを食べさせてあげる作業で、ゴミデータを学習させたらゴミモデルができてしまいます。人間も環境が大事とは言います。悪い環境にいたら周辺から自分にインプットされる情報も悪いものばかりになるので、いつしか悪に染まっていってしまう。関西電力の役員たちも原子力村に染まっていってしまったのかなあ、それは今日の本題ではありません。何しろモデルが学習するときのデータは整形する必要があり、最近はそれさえも自動化しようというサービスさえ出てきています。

 

www.nikkei.com

株式会社日立製作所(執行役社長兼 CEO:東原 敏昭/以下、日立)は、このたび、データの分析や利活用を行うための準備作業である「データ前処理」を、AIで効率化する「Data Preparation Service」(以下、本サービス)を新たに開発し、2019年10月2日から提供を開始します。

本サービスは、社内外から収集した多種多様なデータを解析して、仕様や傾向を把握するデータの理解から、クレンジング(*1)などの加工方法の検討・検証、実際の前処理の実行まで、従来は人手で膨大な工数を要していたデータの整形・加工作業を高度化するものです。具体的には、お客さまやプロジェクトごとに本サービス専用の環境を用意し、投入されたデータの項目名や欠損値、データ間の関連性などを提案する機能や、データサイエンティストなどの熟練者が有するデータ加工方法のノウハウを登録・共有できる機能などを提供します。

 

ということで、学習(トレーニング)することで賢くなるモデルなのですが、話は戻って過学習です。

学習させるデータに、現実全ての事象を読み込ませることは不可能で、ある程度サンプリングした数になるのは必然です。これを学習データと呼びます。

学習データを長い時間かけてトレーニングしていきますと、とても複雑なモデルが出来上がります。その投入した学習させるデータにはめっぽう強いのですが、いざそのモデルを使って新しいデータを入れてみると全く使い物にならない。

これが過学習なのですが、これって現実の人間でもそういうことが起きませんでしょうか・・。

 

過学習な人間とは

ある会社において、とてもまじめに働く。決められた業務知識に対してもう半自動的に正解がわかりその通りの結果が出せる。もし長年変化のない業務に就いてある程度結果を出してきたとすれば、もう新しいことをやる意味すらありません。

もし会社の主業が置かれた環境が変わらなければ、新人で入社して仕事をおぼえた後はそこまで新しい勉強をする必要もなくなるでしょう。あとは定年まで決められた仕事を正確にこなし続け、新しい世代が入社したら管理し育てていけばいい。これは終身雇用モデルそのものだと思います。

しかし、現在はどの企業も大きな変化をしないと生き残れない状況です。しかし過学習の状況に近いベテラン勢。例えば学習用データとして用いた20本のジャガイモについては、百発百中でジャガイモと返してくれます。しかし新しいジャガイモを投入すると、「こんなものはジャガイモではない!」と。もちろん過学習が起きたモデルにあたらしく学習を施せば改善はできるものの、それぐらいだったらまっさらのモデル。人間だったら新人や若い人を学習させたほうがいいよね、ということではないでしょうか。

 

過学習の対策については、元記事によると以下があるそうです。

 

続いてAI(機械学習)を実装する際によく問題となる過学習への対策を調べていくと・・・対策には大きく3つあることが判明!

気になる過学習への対策がこれです!!じゃじゃーーーん!!

<過学習への対策>

①学習(訓練)データの数を増やす
②ハイパーパラメーターを調整する(モデルを簡単なものにする)
③正則化を実施する

 

①については「もっと勉強すること」と読めます。さあ45歳過ぎて「もっと勉強すること」と言われたときにどう反応できるか、です。

②については、機械学習を実際にやってみないとピンとこないと思います。トレーニングするぞ!となったときに、スタートボタンが一つついているわけではなく、実際は事前にいろいろ値を入れて学習をカスタマイズすることができます。その中に、「バッチサイズ」という項目があり、その学習をする際にデータを学ぶ複雑さを指定することができます。このサイズを大きくすれば正確度は増すのですが、過学習のときはそれがアダになります。ある程度のベテランになると、新しい人の気づきを受け入れないガンコなオジサンになってしまう現象というのがまれに発生するのはご存知かと思います。あんな感じです。プライドが高すぎて新しいものを受け付けなくなるのです。

時代は変わったんだ、ってバッチサイズを小さなものにして、ある程度不正確に正解を受け入れていく。そのうち昔、ド正解だと思い込んでいたデータも薄まっていく・・と。なるほど。

③は大変難しいのですが、もし学習を阻害するような結果を出そうとするなら、「それはダメよ!」と言ってペナルティーをつけることです。人間にはこんなことできるのかな?と思いますが、どこかでこの手の社会人研修をやってそうな気がします。

「新しい時代に適合するためのマインドセットの作り方」みたいな(笑。

 

あながち、機械学習の現象を人間にあてはめるのはずれていないように思います。

 

変化の激しい時代にどうあるべきか

AI自体は人間の心を模しているわけですから、機械学習を突き詰めれば突き詰めるほど人間とは何かという哲学的な話に誘われます。この過学習と、最近起こっているベテラン勢のリストラ。特に東証一部上場企業のような教育環境が一流の会社では、一流のトレーニングをこれまで受けているはずなのに、「会社の若返りが必要」なんて経営者から判断される始末です。

この過学習の状況にベテランになって陥らないためには、「もう仕事をおぼえたから勉強しなくていいや」という姿勢は絶対に改めるべきです。新しいデータを投入しても何も正解を導くことができなくなるからです。だからと言って、異業種に飛び込むと給与水準も大幅に下がってしまいます。それは学習済みモデルを捨ててまっさらから始めることと大差ないからです。特に重要なのが、過学習時の対策②、大雑把に新しいデータを受け入れること。これが頭のやわらかさです。時代は変わったんだと。じゃあ今までのやり方から言って到底ありえないのだけれど、とりあえずやってみるか。この心のカスタマイズを自分自身でできるかどうか。これをやり続けている人こそ生き残るベテラン像なのではないかと思います。

 

ちなみに、私も仕事だクラウドだVRだ機械学習だと、いろいろ興味に任せて学習(トレーニング)しています。その源流はドスパラで買ったデスクトップパソコンです。

去年の5月に買ったんですが、まあこれだけ使っているので本当に買って良かったと。

あと、VR(Oculus Rift S)も。GPUも。過学習に陥らないように無意識に自己投資し続けているんだなと思った次第です。

 

ドスパラがキャンペーンやっているみたいなのでのぞいてみてください。

 

パソコンの選び方がわからなければこちらを。

www.orangeitems.com

 

会社の仕事だけ真面目にやっている人は、気づいたら過学習一直線なのかもしれません。ぜひ過学習防止に。