_3分で理解_AIの3つの応用領域と領域と機械学習種類をまとめてみた__2_

【3分で理解】ニューラルネットワークを解説!後編「多層パーセプトロン」とは?

こんにちは、村田泰祐です。サイバーエージェントのAI事業本部というところで働いています。「AIをビジネスに応用できるプロダクトマネージャー」を目指しています。

9月付でアドテク本部からAI事業本部へと組織が変わりました。

https://www.cyberagent.co.jp/news/detail/id=23601

今回の記事はニューラルネットワークの解説記事の後編で、多層パーセプトロンを取り上げます。

前編の【3分で理解】ニューラルネットワークを解説!前編「パーセプトロン」とは?では単純パーセプトロンの構造と数式、出来ること、問題点を解説しました。前編を読んでない方は、是非こちらの記事から読んでいただけると分かりやすいかと思います。

前編と、今回の後編を読んでいただけるとニューラルネットワーク、ディープラーニングの前段階の技術が分かる内容になっています!

ディープラーニングの前身・多層パーセプトロンとは

単純パーセプトロンは以下の図のように、入力層と出力層の2つで構成されています。

一方で、多層パーセプトロンはその名の通り層が増えて、入力層と出力層の間に層を追加したものです。この追加した層を中間層もしくは隠れ層と呼びます。

下が多層パーセプトロンの図です。

出典:【ニューラルネット】多層パーセプトロン(MLP)の原理・計算式

この中間層が追加されることで、ネットワーク全体の表現量を増やす技術的な試みがされてきました。図の中間層は1つだけですが、この層は増やすことができます。

多層パーセプトロンの学習法:誤差逆伝播法

1969年に単純パーセプトロンによる限界が指摘され、1970年代以降はAI研究に冬の時代が訪れます。

そして、1986年にアメリカの認知心理学者のデビッド・ラメルハートが誤差逆伝播法(または、バックプロパゲーションと呼ぶ)を考案。多層パーセプトロンでは、単純パーセプトロンのように誤差を直接計算することは出来ませんでした。

しかし、この誤差逆伝播法を使うことにより多層パーセプトロンでも重みを学習することが可能になりました。答えを合わせをして、間違えるたびに重みづけの調整を繰り返して精度を上げていく学習方法です。

誤差逆伝播法の図

具体的に重みづけの調整とは、全体の誤差(間違う確率)が少なくなるように微分していきます。

誤差逆伝播法では、入力した値を伝播するのに活性化関数を用います。入力信号をどのように活性化するか決めるので活性化関数と呼びます。

そして、活性化関数でいくつか種類がある中でシグモイド関数を使います。0から1までの連続値で表したい際によくシグモイド関数が選ばれます。

ちなみに、単純パーセプトロンでは活性化関数の1つであるステップ関数(文字通りグラフが階段状になる)を使用します。

シグモイド関数は下のように表現できます。

引用:シグモイド関数

基本的には0.5が閾値(境目の値)。ギリシャ文字のς(シグマ)と形が似ていることに由来して、シグモイドという名前がついています。

多層パーセプトロンの2つの課題

多層にすれば表現の幅が広がっていきますが、2つの問題があるため、なかなか実際の応用には使われませんでした。

1つ目の課題が、勾配消失問題です。これは、誤差が入力層までに正しく伝播されずに消失してしまうものです。

引用:G検定の過去問解説【ディープラーニングの概要】ディープラーニングとニュートラルネットワーク

誤差逆伝播法では、誤差が少なくなるように微分していくと紹介しましたが、とても小さな値でしか更新できないのです。微分すると値は最大でも0.25となります。

中間層をどんどん逆伝播していくうちに、誤差の数字がどんどん小さくなりフィードバックするべきだった誤差は消失してしまいます。

もうひとつの課題が、多層のニューラルネットワークの表現力が高すぎる問題です。つまり、訓練データに過学習してしまい、訓練データでは正しく答えを推論できても、他に対しては間違った答えを出力してしまうのです。

ディープラーニングによるブレイクスルー

ここまで、多層パーセプトロン、多層パーセプトロンにおける重みの学習方法である誤差逆伝播法多層パーセプトロンの問題点について紹介してきました。

その後、研究が進み2012年にある革命が起きます。IRSVRCという画像認識の精度を競う大会で、ヒントン教授が率いるトロント大学がエラー率15%という驚異の数字をたたき出したのです。

それまではエラー率が26%台での戦いでした。1年かけて1%改善するような世界です。そんな中、トロント大学は初参加にして抜群の成績を出したのです。

なぜ、173%も精度が向上したのか?それが新しい機械学習の方法・ディープラーニングによるものだったのです。

次回は、AIの歴史を大きくかえたディープラーニングについて説明していきます。

いただいたサポートは書籍購入費に充てます!