テクノロジー

AI初心者向け!多層パーセプトロン(MLP)とは何かを説明してみた

AI初心者向け!多層パーセプトロン(MLP)とは何かを説明してみた

昨今、機械学習を用いた開発が非常に活発に行われていますよね。そんな機械学習を用いた開発を行ってみたい方もいるではないでしょうか。

機械学習のアルゴリズムの1つにニューラルネットワークがあります。このニューラルネットワークの基本になっているのが、人間の脳を模した構造を数理モデル化した「パーセプトロン」です。人間の神経細胞のように細胞と細胞を多層に組み合わせたモデルを多層パーセプトロン(MLP)と呼んでいます。とはいえ、多層パーセプトロンってどのような仕組みになっているか非常に理解しにくいですよね。

そこで今回は、ニューラルネットワークの考え方の基本になっている多層パーセプトロン(MLP)についてお伝えします。この記事で、多層パーセプトロン(MLP)の基礎を理解しましょう。

基本の基本AI(人工知能)とは何?

AIのイメージ
まずは、AI(人工知能)とは何かをご紹介します。AI(人工知能)は、Artificial Intelligenceの略で、一般的には、「コンピュータ上に人間のような知能を再現する技術」のことです。もともと1956年夏にアメリカのダートマス大学で開催されたダートマス会議において、初めて初めて人間のように考える機械のことを「AI(人工知能)」と呼ぶようになりました。

AI(人工知能)には、3回のブームがあります。第1次AIブームは、1950年代〜1960年代で、コンピュータに「探索・推論」させることによって、問題を解かせる研究が中心でした。第2次AIブームは、1980年代。コンピュータに「知識」を入れるアプローチでの研究が盛んに行われました。そして、現在、ブームの真っただ中である、第3次AIブームではデータからコンピュータが特徴量を抽出し、予測や回帰を行うディープラーニングがブームを牽引しています。

※詳しくはこちら

現在、AI(人工知能)を搭載した機能は身近に広まりました。例えば、Googleの検索エンジンや、AlexaやGoogle homeなどのスマートスピーカーなどがあります。

それではディープラーニングとは何だろう

ディープラーニングのイメージ
次にAI(人工知能)の第3次ブームを牽引している、ディープラーニングについてご紹介します

ディープラーニングは、ニューラルネットワークの一種です。ニューラルネットワークとは、脳機能に見られるいくつかの特性に類似した数理的モデルのことで、分類や回帰などで非常に高い精度で予測できることが期待されます。

人間の脳は、神経細胞(ニューロン)と神経回路網(シナプス)で構成されておいます。神経細胞(ニューロン)は電気信号として情報を伝達し、神経細胞(ニューロン)と神経細胞(ニューロン)をつなぐ神経回路網(シナプス)のつながりの強さによって、情報の伝わりやすさが変わります。この構造を模して、ニューラルネットワークでは、神経細胞(ニューロン)にあたるものを「ノード」、神経回路網(シナプス)にあたるものを「エッジ」として呼び、神経回路網(シナプス)のつながりの強さを「重み」として表現をしています。

ニューラルネットワークは、複数のノードとエッジが2層以上につながってネットワーク上の構造のことで、入力データと出力データの誤差が最も小さくなるように重みを調整して、学習を行います。

※詳しい説明はこちら

また複数のノードが多層につながっており、ネットワーク上になっているものをディープニューラルネットワークと呼びます。ディープニューラルネットワークによって、複雑な情報に対応できるようになりました。

そのため、現在のディープラーニングは、画像認識、音声認識、自然言語処理や異常検知など様々な分野に応用されています。

多層パーセプトロン(MLP)とは

MLPのイメージ

多層パーセプトロン(MLP)は、ニューラルネットワークの1つで少なくとも3つのノードの層から構成されます。多層パーセプトロンの特徴は、複雑な問題を解ける点です。

多層パーセプトロン(MLP)の学習では、バックプロパゲージョン(誤差逆伝播法)と呼ばれる学習方法を用いて行います。これは、入力データに対して、最初に重みを設定して、出力データを作ります。その出力データに対して、入力データを与え、入力データとの誤差が最小になるように各重みの値を少しだけ増減させ調整をします。それを繰り返すことによって、データをうまく分類できるようにします。これにより、あらゆるデータに対して機械学習を行えるようになりました。

多層パーセプトロン(MLP)では、層を重ねると複雑な処理ができる一方で、誤差伝播法においては、層を重ねすぎると誤差が入力層に伝えられるときには非常に小さくなってしまって、精度が逆に下がってしまうという勾配消失という欠点があります。誤差伝播法とは、出力と正解データとの誤差を入力とは逆方向にフィードバクをすることで、学習の訓練データに適合過ぎて汎用性が失われてしまう過学習という状態に陥りやすい傾向があります。

多層パーセプトロン(MLP)は単純パーセプトロンと何が違うのか

違いのイメージ
多層パーセプトロン(MLP)と単純パーセプトロンの違いとは、パーセプトロンが多層かどうかの差です。単純パーセプトロンは、複数の入力に対して出力は単一になるパーセプトロンのこと。つまり、多層パーセプトロン(MLP)にあった中間層がありません。そのため、単純パーセプトロンは0か1のどちらかの出力しか表現できません。

例えば分類問題を解くときは、線形の分類しか対応できません。一方多層パーセプトロン(MLP)は、多層な構造で出力も様々な形で表現ができるため非線形の分類問題にも対応できます。

そのため、例えば線形の分類のような単純な分類などは単純パーセプトロン、それ以外の非線形の分類のような複雑な事項の処理は多層パーセプトロンを使います。

ディープラーニングと多層パーセプトロン(MLP)の関係

関係のイメージ

ディープラーニングと多層パーセプトロン(MLP)の関係とは、多層パーセプトロン(MLP)の欠点を解決したものがディープラーニングです。

多層パーセプトロン(MLP)は、層が多層になればなるほど、誤差が入力層に伝わりにくく、精度が落ちてしまう欠点や学習データに適合しすぎて汎用性が失われてしまいます。しかし、ディープラーニングを行うためには、ニューラルネットワークを多層にする必要があります。そうすると、誤差が消失したり、過学習を起こしてしまいます。

そこで多層にしても学習がうまくいくようにブレイクスルーを起こしたのが、オートエンコーダ。オートエンコーダとは、入力データを中間層で次元を圧縮することです。オートエンコーダの登場により、多層パーセプトロン(MLP)の層を多層にした際も、誤差をうまく調整でき、過学習を防ぐということを実現できました。

※詳しくはこちら

つまり、オートエンコーダが登場して、多層パーセプトロンからさらに進化したディープラーニングが登場しました。

まとめ
さて今回では、多層パーセプトロン(MLP)についてお伝えしました。今回お伝えしたい内容は、以下のようになります。

  • AI(人工知能)は、一般的には、コンピュータ上に人間のような知能を再現する技術である
  • ディープラーニングとは、人間が行うタスクをコンピュータに学習させる機械学習の手法のひとつである
  • 多層パーセプトロン(MLP)は、機械学習の一種であるニューラルネットワークの1つである
  • 多層パーセプトロン(MLP)と単純パーセプトロンの違いは、複雑な出力が表現できるかどうかである
  • 多層パーセプトロン(MLP)とディープラーニングの関係性としては、多層パーセプトロンの欠点を解決したものがディープラーニングである

多層パーセプトロン(MLP)が使えると、ニューラルネットワークの基礎を習得できます。この記事で多層パーセプトロン(MLP)について理解して、ディープラーニングの実装に役立てましょう。

【お知らせ】

当メディア(AIZINE)を運営しているAI(人工知能)/DX(デジタルトランスフォーメーション)開発会社お多福ラボでは「福をふりまく」をミッションに、スピード、提案内容、価格、全てにおいて期待を上回り、徹底的な顧客志向で小規模から大規模ソリューションまで幅広く対応しています。

御社の悩みを強みに変える仕組みづくりのお手伝いを致しますので、ぜひご相談ください。

お多福ラボコーポレートサイトへのバナー

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