CTC 教育サービス
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes
機械学習の手法の1つであるディープラーニング、これはいったい何がスゴイのでしょうか?
従来からある機械学習と比較して、ディープラーニングでは極めて高い処理精度を出すことが可能です。近年、画像認識や機械翻訳の精度が格段に向上している要因のひとつが、ディープラーニングの発展です。
ディープラーニングのベースはニューラルネットワークという機械学習です。ニューラルネットワークの基本的な処理は、「入力された値に重みをかけて、足し合わせていく」というシンプルなものです。中間層で加える処理により、求めたい結果を導き出すことが出来ます。
中間層の数を多く(処理を深く)させた機械学習が、ディープラーニングです。具体的に「中間層が何層以上でディープラーニングか?」という定義は有りませんが、少なくとも4~5層はあることが多いです。中間層を増やすことで、より高い精度を実現することが出来ました。
ディープラーニングは「中間層でどんな計算を加えればいいか」を自動で調整してくれる点がポイントです。具体的には、掛け合わせる重みの値を自動で導き出してくれます。
例えば画像識別のモデルを作りたいとしましょう。まずやることは、正解情報付きの大量の画像による「学習」です。ネコの写真を入力層に流し、中間層の処理を通します。正解はネコなので、出力層の結果は「ネコ」となるべきですが、学習開始直後は「ネコ」とならない場合が多いです。そこで、「どのパラメーターを調整すれば正解になるのか」を、大量の学習データを使いながら自動調整していくのです。
この「モデルの調整を自動で行ってくれる」という点も、ディープラーニングのスゴイ所です!
ディープラーニングで気を付けなければいけない事の1つに、過学習があります。
例えばとあるお店の売上予測モデルを考えてみましょう。青い点が実際の売上で、オレンジの線で売上予測を描きたいとします。人間が売上予測をするなら、左のような滑らかな線を描くでしょう。しかしディープラーニングにこれをやらせた場合、正解値に限りなく近づきすぎようとして、右のような線を描いてしまうのです。
過学習は他の機械学習手法でも起こり得ます。しかしディープラーニングは精度が高い分、過学習の発生確率がより高まってしまうのです。過学習が起きないような手法は様々あり、これらを上手く使用して過学習の発生を抑えていく必要があります。
次回のコラムは、画像識別に関するお話です。
ディープラーニングの仕組みを使って、どのように画像識別をしていくのでしょうか?
もっと学習したい方は、CTCTオリジナルコース「ゼロから始めるAI/機械学習/ディープラーニング ~G検定対応講座~」(https://www.school.ctc-g.co.jp/course/DIL002.html)の受講がおすすめです。
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes