fbpx
  1. HOME
  2. ブログ
  3. IT技術
  4. 【人工知能】ニューラルネットワークとは?

【人工知能】ニューラルネットワークとは?

人工知能とニューラルネットワークの違い

近年、至る分野で注目を浴びている「人工知能」ですが、そもそもどういった仕組みなのでしょうか?

この記事では、人工知能の基盤ともいえる『ニューラルネットワーク』について一から解説していきます。

人工知能とは?

『人工知能(AI: Artificial Inteligence)』という単語は聴いたことがあるけど、『ニューラルネットワーク(NN: Neural Networks)』という単語は聞き馴染みのない、という方は多いかと思います。

前者の『人工知能』はいわゆる研究分野を指し、広い意味を持っています。

一方で『ニューラルネットワーク』とは人工知能技術の1つです。

ニューラルネットワークとは?

ではそもそも『ニューラルネットワーク』とは何でしょうか?

ニューラルネットワークを日本語に訳すと、『神経回路網』となりますが、その名の通り「生物の脳における神経回路」を指します。

人工知能の研究は優れた生物の脳の構造を模倣したところから始まったのです。

したがって、ニューラルネットワークの仕組みを知るには、まずは生物の神経細胞の仕組みを少しだけ知る必要があります。

生物が苦手な方もいらっしゃるかもしれませんが、ここでは頭の片隅に入れておく程度で構いません。

生物の神経細胞のしくみ

わたしたち生物の脳には、何十億個もの神経細胞がネットワーク上に接続されています。

その神経細胞一つ一つは、大きく分けて『細胞体(さいぼうたい)』『軸索(じくさく)』『樹状突起(じゅじょうとっき)』と呼ばれる3つのパーツから成り立っています。

また、軸索と樹状突起が接触している部分を「シナプス」と言います。

神経細胞は、他の複数の神経細胞の「軸索」から発信した信号を、シナプスを介して「樹上突起」で受け取り、細胞体で入力が加算され、ある閾(しきい)値を超えたときに軸索を通じて他の神経細胞へ信号を送る、といった作業を僅か数ミリ秒で行っています。

つまり神経細胞では、樹状突起が入力部、軸索が出力部、細胞体が処理部と言えます。

伝達効率

また、シナプスでは各細胞によって、信号の伝達効率が変化していきます。

ここでいう伝達効率とは、こういった具合です。

  1. 『神経細胞A』から受け取る信号は30%くらいに減衰させる
  2. 『神経細胞B』から受け取る信号は90%くらい受け取る
  3. 『神経細胞C』からは-20%くらいにして抑制する作用とする

このシナプスの伝達効率(「シナプス結合荷重」や単に「重み」とも言う)の変化が記憶の素過程と言われています。

またこの性質を「可塑性(かそせい)」とも言います。

※今回解説した神経細胞のはたらきはかなり簡易化したものになります。本来はもう少し複雑ですが、今回は知識として頭に入れておいてほしいことを最低限ピックアップしました。

神経細胞のモデル化

さて、神経細胞の仕組みを解説しましたが、この働きを実際にモデル化(数式化)していきます。

ここで重要なのは以下の通りです。

  1. 入力は加算される
  2. 閾値がある
  3. シナプス結合には可塑性がある

形式ニューロンモデル

これらの特徴を最低限モデル化したものが「形式ニューロンモデル」です。

形式ニューロンモデルは上のような図で表され、各変数は以下のような計算式のような関係があります。

式の内容は簡単で、入力xとシナプス結合荷重wを掛け合わせたものを、前ニューロン分総和をとり、閾値を超えていれば1を出力しそうでなければ0を出力する、という具合です。

ここでf(u)は活性化関数や入出力関数と呼ばれ、ここでは割愛しますが上にあげたステップ関数以外にも様々な関数が用いられます。

この形式ニューロンモデルはシンプルながらいまだに、今日のニューラルネットワークの基本モデルとして使われています。

そして、ニューロンモデルをネットワーク上に接続したものが「ニューラルネットワーク」というわけです。

ニューラルネットワークの学習

ニューラルネットワークは人工知能研究の基礎の基礎ともいえる技術です。

この記事では大きく取り上げませんが、ニューラルネットワークはただ作るだけでは何の役にも立ちません。

画像認識させたり、言語処理をさせるにもネットワークの学習が必要です。

では、ニューラルネットワークにおける学習とは何でしょうか?

答えは「シナプスの可塑性」にあります。

先程の形式ニューロンモデルでいうと、「重みw」がそれにあたります。

ニューラルネットワークでは、重みを望ましい出力が出るまで修正していくことが「学習」になるのです。

最近では『Tensor Flow』『Chainer』などの便利なフレームワークの登場によって、あまり詳しく仕組みを知らずとも人工知能技術を扱えることもできます。

しかし、やはり扱うのならばそれなりに基礎知識を勉強しなければうまく扱うことはできません。

人工知能の知識があることによって、柔軟な発想や人工知能の使い方ができるようになるのです。

一緒に働いてくれる仲間を募集しております!

ライトコードでは、仲間を募集しております!

当社のモットーは「好きなことを仕事にするエンジニア集団」「エンジニアによるエンジニアのための会社」。エンジニアであるあなたの「やってみたいこと」を全力で応援する会社です。

また、ライトコードは現在、急成長中!だからこそ、あなたにお任せしたいやりがいのあるお仕事は沢山あります。「コアメンバー」として活躍してくれる、あなたからのご応募をお待ちしております!

なお、ご応募の前に、「話しだけ聞いてみたい」「社内の雰囲気を知りたい」という方はこちらをご覧ください。

ライトコードでは一緒に働いていただける方を募集しております!

採用情報はこちら

関連記事