【徹底解説】ニューラルネットワークって一体なに?【人工知能】
IT技術
人工知能とニューラルネットワークの違い
近年、至る分野で注目を浴びている「人工知能」ですが、そもそもどういった仕組みなのでしょうか?
この記事では、人工知能の基盤ともいえる『ニューラルネットワーク』について一から解説していきます。
人工知能とは?
- 人工知能は、「研究分野」
- ニューラルネットワークは、「人工知能技術の1つ」
人工知能(AI: Artificial Inteligence)という単語は聞いたことあるけど、ニューラルネットワーク(NN: Neural Networks)という単語は聞き馴染みのない、という方は多いかと思います。
前者の『人工知能』はいわゆる研究分野を指し、広い意味を持っています。
一方でニューラルネットワークとは、「人工知能技術の1つ」です。
ニューラルネットワークとは?
では、『ニューラルネットワーク』とは何でしょうか?
ニューラルネットワークを日本語に訳すと、『神経回路網』となりますが、その名の通り「生物の脳における神経回路」を指します。
人工知能の研究は優れた生物の脳の構造を模倣したところから始まったのです。
したがって、ニューラルネットワークの仕組みを知るには、まずは生物の神経細胞の仕組みを少しだけ知る必要があります。
生物が苦手な方もいらっしゃるかもしれませんが、ここでは頭の片隅に入れておく程度で構いません。
生物の神経細胞のしくみ
わたしたち生物の脳には、何十億個もの神経細胞がネットワーク上に接続されています。
その神経細胞一つ一つは、大きく分けて「細胞体(さいぼうたい)」「軸索(じくさく)」「樹状突起(じゅじょうとっき)」と呼ばれる3つのパーツから成り立っています。
また、軸索と樹状突起が接触している部分を「シナプス」と言います。
神経細胞は、他の複数の神経細胞の「軸索」から発信した信号を、シナプスを介して「樹上突起」で受け取ります。
そして、細胞体で入力が加算され、ある閾(しきい)値を超えたときに軸索を通じて他の神経細胞へ信号を送ります。
こういった作業を僅か数ミリ秒で行っています。
つまり神経細胞では、樹状突起が「入力部」、軸索が「出力部」、細胞体が「処理部」と言うことができます。
伝達効率
また、シナプスでは各細胞によって、信号の伝達効率が変化していきます。
ここでいう伝達効率とは、こういった具合です。
- 『神経細胞A』から受け取る信号は30%くらいに減衰させる
- 『神経細胞B』から受け取る信号は90%くらい受け取る
- 『神経細胞C』からは-20%くらいにして抑制する作用とする
このシナプスの伝達効率の変化が「記憶の素過程」と言われています。
(シナプスの伝達効率は、「シナプス結合荷重」や単に「重み」とも言う)
またこの性質を「可塑性(かそせい)」とも言います。
※今回解説した神経細胞のはたらきはかなり簡易化したものになります。本来はもう少し複雑ですが、今回は知識として頭に入れておいてほしいことを最低限ピックアップしました。
神経細胞のモデル化
さて、神経細胞の仕組みを解説しましたが、この働きを実際にモデル化(数式化)していきます。
ここで重要なのは以下の通りです。
- 入力は加算される
- 閾値がある
- シナプス結合には可塑性がある
形式ニューロンモデル
これらの特徴を最低限モデル化したものが「形式ニューロンモデル」です。
形式ニューロンモデルは上のような図で表され、各変数は以下のような計算式のような関係があります。
式の内容は簡単で、入力「x」とシナプス結合荷重「w」を掛け合わせたものを、前ニューロン分総和をとり、閾値を超えていれば「1」を出力しそうでなければ「0」を出力する、という具合です。
f(u) は、活性化関数や入出力関数と呼ばれ、ここでは割愛しますが上にあげたステップ関数以外にも様々な関数が用いられます。
この形式ニューロンモデルはシンプルながらいまだに、今日のニューラルネットワークの基本モデルとして使われています。
そして、ニューロンモデルをネットワーク上に接続したものが「ニューラルネットワーク」というわけです。
ニューラルネットワークの学習
ニューラルネットワークは人工知能研究の基礎の基礎ともいえる技術です。
この記事では大きく取り上げませんが、ニューラルネットワークはただ作るだけでは何の役にも立ちません。
画像認識させたり、言語処理をさせるにもネットワークの学習が必要です。
では、ニューラルネットワークにおける学習とは何でしょうか?
答えは「シナプスの可塑性」にあります。
先程の形式ニューロンモデルでいうと、「重みw」がそれにあたります。
ニューラルネットワークでは、重みを望ましい出力が出るまで修正していくことが「学習」になるのです。
最近では『Tensor Flow』や『Chainer』などの便利なフレームワークの登場によって、あまり詳しく仕組みを知らずとも人工知能技術を扱えることもできます。
しかし、やはり扱うのならばそれなりに基礎知識を勉強しなければうまく扱うことはできません。
人工知能の知識があることによって、柔軟な発想や人工知能の使い方ができるようになるのです。
こちらの記事もオススメ!
2020.07.28機械学習 特集知識編人工知能・機械学習でよく使われるワード徹底まとめ!機械学習の元祖「パーセプトロン」とは?【人工知能】ニューラルネ...
2020.07.17ライトコード的「やってみた!」シリーズ「やってみた!」を集めました!(株)ライトコードが今まで作ってきた「やってみた!」記事を集めてみました!※作成日が新し...
ライトコードでは、エンジニアを積極採用中!
ライトコードでは、エンジニアを積極採用しています!社長と一杯しながらお話しする機会もご用意しております。そのほかカジュアル面談等もございますので、くわしくは採用情報をご確認ください。
採用情報へ
「好きを仕事にするエンジニア集団」の(株)ライトコードです! ライトコードは、福岡、東京、大阪、名古屋の4拠点で事業展開するIT企業です。 現在は、国内を代表する大手IT企業を取引先にもち、ITシステムの受託事業が中心。 いずれも直取引で、月間PV数1億を超えるWebサービスのシステム開発・運営、インフラの構築・運用に携わっています。 システム開発依頼・お見積もり大歓迎! また、現在「WEBエンジニア」「モバイルエンジニア」「営業」「WEBデザイナー」を積極採用中です! インターンや新卒採用も行っております。 以下よりご応募をお待ちしております! https://rightcode.co.jp/recruit