Web教材一覧アルゴリズムハードウェアとソフトウェア

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

キーワード

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

歴史に関しては、「人工知能とニューロコンピュータの歴史」を参照してください。


人工知能とは

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

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

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

ニューロンモデル

入力側のニューロンから、シナプスを介して樹状突起へ信号が入力されます。入力ニューロンが興奮性ニューロンからの信号なら電位が上がり、抑制性からの信号なら電位が下がります。電位が閾値より高くなるとニューロンが興奮して、軸索やシナプスを伝わって他のニューロンに信号を伝えます(下左図)
 このようにして、多くのニューロンへ信号が伝播します。

  
出典:村上・泉田研究室「生体ニューロンについて」(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つ与えるだけで、多数のの擬似的問題を作ることができます。また、推測の過程で特徴の分析など次元圧縮が行われます。

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


エキスパートシステム

人工知能の研究分野では、頭脳のメカニズムを模倣する分野以外に、実務として頭脳が行うことをコンピュータで実現させようという分野があります。エキスパートシステムは後者の一つで、専門家が持っている知識をコンピュータに記録して、素人でも専門家に準じた知識を得られるようにしようというシステムです。

このような機能ですから、特別な方式のコンピュータではなく、ノイマン型の高速コンピュータで実現できます。言語はLispやPrologが用いられます。

そもそも推論とは、人間固有の知的活動です。それを数学的論理に限定されるにせよ、システム化できることは重要です。知識ベースのルールは多数の専門家により追加、修正できるので、一人の専門家より、優れた判断ができるようになります。また、既知の問題を解かせて解を検討することにより、ルールの不足やルール間の矛盾を発見して修正することができます。

エキスパートシステムは、1980年代に実務者の間にも、技術継承や設備運転マニュアルなどの用途で関心が広まりました。当時は次のような適用が期待されました。

知識ベースの獲得や整理に専門的な技術が要求されることから、限られた分野以外にはあまり普及しませんでした。むしろ、検索エンジン技術や多変量解析などと組み合わせたシステムとして個別用途で活用されています。


ニューロコンピュータ

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

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

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

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

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

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

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


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

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


アルゴリズムへ