Web教材一覧ハードウェアとソフトウェア人工知能(AI)

人工知能(AI)とニューロコンピュータ

キーワード

人工知能、AI、ニューロン、シナプス、ニューロンモデル、パーセプトロン、階層型ニューラルネットワーク、バックプロパゲーション、誤差逆伝播法、オートエンコーダ、ディープラーニング、エキスパートシステム、ニューロコンピュータ、シンギュラリティ

参照
機械学習一般(教師あり/なし学習など)
人工知能とニューロコンピュータの歴史


人工知能とは

脳には多数のニューロン(神経細胞)が存在し、ニューロン同士をシナプスを介して電気信号を送ることで、情報が伝達されたり、記憶が定着したりしています。
 人工知能(AI:Artificial Intelligence)とは、人間の脳の特徴である学習・推論・判断などの機能を、人工的に実現しようとする研究分野です。

人工知能研究には二つのアプローチがあります。その一つは、脳の模倣を目的にします。ニューロンやシナプスのしくみを論理的なモデルにして、学習や推論などの機能を数学的なプロセスで実現しようとするアプローチです。これをコンピュータに実装したものをニューロコンピュータといいます。
 他の一つは、脳のメカニズムではなく、実務面において脳の働きとされる業務をコンピュータにやらせようというアプローチです。その例として、1980年代に話題になったエキスパートシステムがあります。これは従来のノイマン型コンピュータでも実現できます。

(脳模倣型の)人工知能の概念

ニューロンモデル

脳内では、ニューロンという神経細胞が複数のシナプスという接合部を介して複数のニューロンとつながっていて、電子回路のようなネットワークを形成しています。
 入力ニューロンが興奮性ニューロンからの信号なら電位が上がり、抑制性からの信号なら電位が下がります。電位が閾値より高くなるとニューロンが興奮して、軸索やシナプスを伝わって他のニューロンに信号を伝えます(下左図)
 このようにして、多くのニューロンへ信号が伝播します。

  
出典:村上・泉田研究室「生体ニューロンについて」(2017) http://ipr20.cs.ehime-u.ac.jp/column/neural/chapter2.html

1943年に、マッカロックとピッツは、この仕組みをモデル化して(上右図)、下式のように定式化しました。これをニューロンモデル形式ニューロンパーセプトロンなどといいます。
  入力=w1x1 + w2x2 + … + wnxn
  出力=f(入力-θ)

階層型ニューラルネットワーク

複数のニューロン間の情報伝播を単純化したものが階層型ニューラルネットワークあるいは多層パーセプトロンといいます。
 これは脳のメカニズムを簡略化しています。入力層のニューロンでは信号処理を行わず、受け取った入力信号をそのまま中間層(隠れ層という)のニューロンへ伝えるとする。中間層と出力層は上式により入力→出力の処理をして、出力信号を他のニューロンへ伝える。
 ここでは中間層を一層としたが、通常は多層にしています。人間の脳はもっと複雑なメカニズムになっていますが、5層~10層程度で近似できるといわれています。


出典:村上・泉田研究室「生体ニューロンについて」(2017) http://ipr20.cs.ehime-u.ac.jp/column/neural/chapter2.html

バックプロパゲーション(誤差逆伝播法)

入力層に多様な信号を与えて出力層からの信号を得たとき、それが正しいか誤りであるかを人間が判定します(実際には、正解を付けた入力データを与える)。中間層での重み(w)を変更することにより、正しい結果を得る確率を大にすることができます。その代表的な方法にバックプロパゲーション(誤差逆伝播法)があります。

オートエンコーダ

2006年にジェフリー・ヒントンらは、オートエンコーダとディープ・ビリーフ・ネットワークを提唱しました。
 オートエンコーダとは、機械学習において、ニューラルネットワークを使用した次元圧縮のためのアルゴリズムです。
 右図において、xが動物の写真だとして、ニューラルネットワークが足の数、毛並み、鼻の位置などの特徴を分析して、新しい層zを作りだす。このときxの個数よりもzの個数のほうが小さい(次元圧縮)のが通常なので、xの代わりにzを使えば、処理量が少なくなります。それをエンコードといいます。逆に、zからx(x')に復元することをデコードといいます。
 オートエンコーダは、データを小さな情報量に圧縮する方法をニューラルネットワークに学習する方法です。

ディープ・ビリーフ・ネットワークとは、多層ニューラルネットワークで良い初期解を得る方法です。
 これらにより、4層以上のニューラルネットワークにおいて、単純なバックプロパゲーションよりも、効果的な学習ができるようになります。

ディープラーニング

オートエンコーダとディープ・ビリーフ・ネットワークにより、人工知能は急速に発展し、2010年代にはディープラーニングへといわれるようになりました。深層学習と訳されますが、この深層(ディープ)とは多層に近い意味です。

ディープラーニングでは、例えば画像のデータを与えた場合、コンピュータは与えられた画像のデータの一部を消して、「消えた部分を残った部分から推測せよ」という問題に変更して自分自身に質問するのです。これにより、画像を1つ与えるだけで、多数のの擬似的問題を作ることができます。また、推測の過程で特徴の分析など次元圧縮が行われます。

ディープラーニングでは、教師なし学習が取り入れられています。例えば、人の顔を識別するとき、識別の特徴を人間が指定すると、髪や眼の色、顔の輪郭など観念的な項目になりがちです。コンピュータが自動的に行うのであれば、大量データから統計的に人間が気づかない識別特徴を見つけることがあります。しかも、人間よりも細部にまで調べることができます。そのため、特定の人を探すポイントが多くなります。

CNN

CNN(convolutional neural network, 畳み込みニューラルネットワーク)は主に画像認識の分野で用いられるディープラーニングの方法です。

CNNの構造は、通常のディープラーニングと似ています。
  中間層(隠れ層)に相当するのが、畳み込み層とプーリング層のペアです。
  出力層は、全結合層と出力層になります。
 畳み込み層は、単純型細胞のような役割で、画像の1点の情報を持ちます。また、入力画像とは別にカーネルという重み行列を用意します。カーネルの移動間隔をストライドと呼びます。
 プーリング層は、複雑型細胞フィルタのような役割で、画像内のある領域毎に画像のサンプリング操作を行います。空間的な位置のずれを吸収し、同一の特徴であるとみなす。
 全領域でのプーリング層をまとめて全結合層にします。これで画像全体の特徴が得られることになります。

ハッシュ関数による効率化

ハッシュ関数とは、入力されたデータに一定の手順で計算を行い、入力値の長さによらずあらかじめ決められた固定長の出力データを得る関数のことで、配列の検索や暗号通信などに広く用いられてきました。近年ビッグデータや画像など超大規模データを対象とするディープラーニングの分野で、ハッシュ関数による効率化が注目されています。
 これらのデータは、元データが巨大であり、それらの要素の組合せの数も巨大になるが実際に起こる組合せは少ないという内在的希薄性があります。 それに着眼して、ハッシュ関数を用いることにより、計算量を劇的に小さくすることができるといわれています。


ニューロコンピュータ

ニューロコンピュータとは

ニューロコンピュータとは、ニューロンやシナプスの構造や情報処理メカニズムを基礎とし、脳を模倣した回路をもつチップから構成され、脳の持つ情報処理を人工的に実現させることを目的としたコンピュータです。通常は、多層ニューラルネットを持ち、バックプロパゲーションによる学習の仕組みを実装しています。
 エキスパートシステムなどの実装はノイマン型コンピュータで可能です。「ニューラルネットワーク」などもプログラムや学習システムの構造を意味する概念で、ハードウェアとしての回路などを示すものではなく、ノイマン型コンピュータでソフトウェアによりシミュレートすることができます。これはニューロコンピュータとはいいません。

ニューロコンピュータの実用化

ニューロコンピュータは、1990年頃までは、人工知能理論実証のために実験的なハードウェアが試作されたことはあるが、実務用途にはなりませんでした。1990年代には、産業用ロボットなどの機器の制御に小規模なニューロ的なチップが組み込まれるようになりましたが、特定用途に特化したものでした。実務的なニューロコンピュータが注目されるようになったのは2010年代に入ってからです。

ニューロコンピュータを構成しているのはニューロチップです。それをSyNAPSEチップということもあります。この分野ではIBMがリーダ的存在です。
 2011年に、IBMはコグニティブ・コンピューティング・チップを開発しました。コグニティブとは認知という意味。ニューロコンピューティングに特化したSyNAPSEチップです。2014年には、これを発展させてTrueNorthを開発しました。郵便切手サイズのチップ1個内に100万個相当のニューロン、2.56億個相当のシナプスをもっていました。
 人間の脳のニューロンは1000億個、シナプスは150兆個程度だとされているので、到底比較にはなりませんが、このチップ1個だけでもゴキブリ程度ですし、1000個並べれば猫程度になるのですから、特定の分野に限定すれば実用化の時代になったといえるでしょう。

IBMは、AIを「Artificial Intelligence(人工知能)」ではなく、「Augmented Intelligence (拡張知能)」として人間の知識を拡張し増強するものと定義しています。それにならったのか、ニューロコンピュータをブレインコンピュータということもあります。

ニューロコンピュータの特徴


人工知能に関するトピックス

これらの例のコンピュータは、すべてノイマン型コンピュータである多数のサーバで構築されています。ニューロコンピュータ利用の例は未だありません。


人工知能(AI)へ