近年、急激な発達を見せているAI(人工知能)やディープラーニングですが、調べていくうちに「よくわからない」「理解するのに時間がかかる」「イメージしづらい」と感じる用語が登場してとまどうことも少なくないですよね。AI(人工知能)やディープラーニングに関連する用語の中でも「パーセプトロン」も、ぱっと読んだ時にどんな意味なかわかりづらい用語のひとつでしょう。「パーセプトロンのことがよくわからないけど、まあいいや」とわからないまま放置している人もいるかもしれません。
実は、パーセプトロンについて学ぶことは、AI(人工知能)やディープラーニングを理解するうえで避けて通れないほど大切です。ぜひ、この記事を通して見て見ぬふりせずきちんと落ち着いて理解することが今後のためになるに違いありません。
そこで今回は、入門者向けにパーセプトロンについて優しく解説します。まずは、パーセプトロンの概要について解説しましょう。
パーセプトロンとは
パーセプトロンとは簡単にいうと、人工的に数理モデルで表した人工的な神経細胞(人工ニューロン)の一種です。このパーセプトロンを基本単位として人間の脳の神経細胞(ニューロン)の回路に近づけた数理モデルのひとつをニューラルネットワークと呼びます。ざっくりといってしまうと、ニューラルネットワークは人間でいうところの脳、パーセプトロンは人間でいうところの神経細胞に当たるでしょう。
これだけだと単純な役割しかやっていないように見えますよね。しかしパーセプトロンのすごい点は、これが複雑に組み合わさることで、目の前のものが食べ物かどうか判断したり、聞こえてきたものが危険を知らせるものであるかどうか判断したりと、複雑な情報処理を可能とする脳ができるところです。
このように神経細胞の働きを模したパーセプトロンも単体では単純な処理しかできませんが、複雑になればなるほど高度な処理が可能となり、あたかも「脳」に近づくという寸法です。では、なぜパーセプトロンを学ぶことが重要なのか解説していきます。
パーセプトロンを学ぶことがなぜ重要なのか
結論からいうとパーセプトロンを学ぶことが重要な理由はニューラルネットワークがディープラーニングの基礎になっているから、です。というのも、ディープラーニングやニューラルネットワークはとても複雑なモデルですが、パーセプトロンもディープラーニングもニューラルネットワークも、ほとんど同じような仕組みになっています。
つまりパーセプトロンの単純なモデルや理論を最初に学ぶことでディープラーニングについての理解も進みやすくなり、また正確に理解することができるようになるでしょう。
ディープラーニングの理解に重要なパーセプトロンですが、次にパーセプトロンがどういう仕組みをしているのか解説します。
パーセプトロンの仕組み
パーセプトロンが人間(動物)の神経細胞を数理的に模したもので、神経細胞がどのような仕組みで情報伝達するのかすでに確認しましたが、具体的にどういうことなのか、説明が欲しいですよね。まずは、単一のニューロンのように、ひとつの入力層とひとつの出力層だけから成る単純な仕組みをしている単純パーセプトロンについて解説していきます。
単純パーセプトロンの仕組みは神経細胞同様、単体では非常にシンプルな仕組みをしていて、簡単にいえば入力された1か0か(入力されたか、されてないか)の値をもとに1か0か(出力されたか、されてないか)を出力するものです。入力の際には「重み付け」という処理がおこなわれ、入力される値が重要度に応じて「重み」と呼ばれる値でそれぞれ調節されます。さらに「バイアス」という数値が存在し、その役割は出力時の信号の発しやすさを変化させることです。
単純パーセプトロンの場合、1か0のどちらを出力するのかは、重み付けがなされた各入力値とバイアスの総和で決まるようになっており、そのため重みとバイアスがパーセプトロンという数理的モデルの要となります。出力の形式ですが、例えば入力層に2つの入力値がある単純パーセプトロンはバイアスと重み付けで次の3種類の動作を持つことができるでしょう。
いずれかの入力が1であれば1を出力し、それ以外は0を出力するもの(論理和)
すべての入力が1であれば0を出力し、それ以外は1を出力するもの(否定論理積)
さて、この単純パーセプトロンがたくさん組み合わさることで、外部からの入力層と外部への出力層の間に更なる層(隠れ層)ができます。このように、隠れ層を持つパーセプトロンを多層パーセプトロンと呼び、より複雑な処理をすることが可能です。
さて、このような仕組みを持つパーセプトロンはディープラーニングとどのように関係するのか気になりますよね。続いて、パーセプトロンとディープラーニングの関係について解説します。
パーセプトロンとディープラーニング(Deep Learning)の関係
パーセプトロンがたくさん組み合わさることで隠れ層を持つ多層パーセプトロンができ、さらに人間の脳内のようにネットワーク化してつなげ、処理をおこなうものをニューラルネットワークと呼びます。そしてニューラルネットワークのなかでも、隠れ層が多層であるニューラルネットワークのことがディープラーニングです。
※詳しくはこちらの記事でも解説しています
パーセプトロン自体は単純なのにディープラーニングにまでつながるのはすごいですよね。もっとパーセプトロンについて学びたい!という人のために、最後に書籍・本の紹介をします。
パーセプトロンを書籍・本でも学びたい方へ
パーセプトロンを学ぶにあたっておすすめの書籍・本は次の通りで、いずれもPythonによるプログラミングを前提としているため少々ハードルが高いですが、一度手に取ってみる価値があるに違いありません。
夢見る機械学習 回帰・パーセプトロン[Python実装]入門(秀和システム)
パーセプトロンをはじめとして、回帰、二値分類といった機械学習(コンピュータの学習方法の一種)の基礎を学ぶ一冊です。Pythonでの実装まで案内する機械学習の入門書になります。パーセプトロンでひとつのチャプター(Chapter5)を取っており、パーセプトロンの説明からPythonでどのように実装するのかまで詳しく記載されているため、理解の一助を担うでしょう。
ゼロから作るDeep Learning――Pythonで学ぶディープラーニングの理論と実装(オライリージャパン)
いわずと知れたディープラーニングの入門書で、ディープラーニングの原理をPythonと共に学ぶ一冊です。こちらもひとつの章(第2章)を丸々パーセプトロンに充てており、単純な論理回路から始め、多層パーセプトロンまで詳細な解説がなされています。ゆくゆくはディープラーニングを勉強したい人にうってつけです。
さて、今回は入門者向けにパーセプトロンについて優しく解説しました。
パーセプトロンを単純に説明すると、人工的に数理モデルで表した人工的なニューロンの一種。さらにパーセプトロンを人間の脳のように複雑なネットワークで結び合わせた数理モデルのひとつをニューラルネットワークと呼びます。パーセプトロンは、ニューロンのように外部の刺激や他のパーセプトロンから入力値を受け取り、一定の入力を受けたら外部や下流のパーセプトロンに対して特定の出力値を出すことで情報処理をおこなう仕組みです。
パーセプトロンが複数つながると、入力層と出力層の間に隠れ層という層ができて、ここで複雑な処理をおこなうことが可能になります。この隠れ層が多層であるものがディープラーニングであり、パーセプトロンの理解がディープラーニングの理解に必要な理由は、ディープラーニングの基本単位がパーセプトロンだからといえるでしょう。
パーセプトロンに関する書籍・本はいずれもPythonでの実装を前提にしているため、とくに非エンジニアにとって少々難易度が高いですが、一度は目を通すと良いかもしれません。
- 夢見る機械学習 回帰・パーセプトロン[Python実装]入門(秀和システム)
- ゼロから作るDeep Learning――Pythonで学ぶディープラーニングの理論と実装(オライリージャパン)
パーセプトロンはディープラーニングの基礎となる大切なモデルなので、きちんと理解しましょう!
【お知らせ】
当メディア(AIZINE)を運営しているAI(人工知能)/DX(デジタルトランスフォーメーション)開発会社お多福ラボでは「福をふりまく」をミッションに、スピード、提案内容、価格、全てにおいて期待を上回り、徹底的な顧客志向で小規模から大規模ソリューションまで幅広く対応しています。
御社の悩みを強みに変える仕組みづくりのお手伝いを致しますので、ぜひご相談ください。