人工知能(AI)~ディープラーニング入門~
中学の数学で、次のような直線の方程式を習いました。
y = ax + b
変数xとyがあり、aは直線の傾きを表す定数で、bはy切片(y軸との交点)を表す定数です。
a = 2、b = 1とすると、
y = 2x + 1
となり、図1のように表されます。
図1.y = 2x + 1
そして、xとyを正の整数とした上で、yの値を不明とし、xに様々な値を代入することでyの値を当てるゲームを考えます。
すると、
x = 1のとき、y = 3
x = 2 のとき、y = 5
x = 3のとき、y = 7
and so on.
このようにして、正解となるyの値が得られるまで計算が繰り返されます。
このゲームで行われていることは、yの値が正解になるまでxの値を調整することです。
この変数の値の調整が、人工知能の学習に相当します。
以上のシンプルな考え方を脳の仕組みを模倣することで応用したものが、1943年にアメリカの神経生理学者Warren Sturgis McCullochと数学者Walter J. Pittsが提案したartificial neuronです。
artificial neuronは、図2に示されるように、n個の入力変数x(1),x(2),…,x(n)に対して、それぞれ重み付け変数w(1),w(2),…,w(n)を掛け、それらの和を計算し、閾値θを超えた場合に出力変数yが1となり、それ以外の場合にyは0となる関数です。
図2.Artificial Neuron
artificial neuronの学習では、各x(i)に対してw(i)とθを調整します。
例えば、画像が猫かどうかを判定する場合、各x(i)に画素(ピクセル)を代入します。
そして、画像が猫の時にy=1、猫ではない時にy=0となるように、各w(i)とθを調整します。
しかしながら、artificial neuronではyの値は閾値を超えるかどうかで決定される、つまり、直線を引いてそのどちら側に存在するかという線形分離可能な問題しか扱えないため、学習には適していません。
そこで、1958年にアメリカの心理学者・計算機科学者Frank Rosenblatがartificial neuronを組み合わせたperceptronを提案しました。
perceptronは、図3に示されるような入力層と中間層と出力層からなる3層構造のニューラルネットワークで、3階層以上のニューラルネットワークでは線形分離不可能な問題を解くことができます。
図3.Perceptron
人工知能の分野では長年の間、perceptronが主要な人工知能の中の一つと見なされてきました。
ところが、2012年に開催された画像認識コンテストILSVRC(Imagenet Large Scale Visual Recognition Competition)において、カナダのトロント大学のGeoffrey Everest Hinton教授らが開発したSuperVisionが他を引き離して勝利し、SuperVisionに採用されたディープラーニングが注目されるようになりました。
※Googleは2013年にGeoffrey Everest Hinton教授らが立ち上げたカナダの人工知能ベンチャー企業DNNresearchを買収し、翌年イギリスの人工知能ベンチャー企業DeepMind Technologiesを買収しました。
ディープラーニングは多階層のニューラルネットワークですが、従来のニューラルネットワークとは根本的に異なる構造となっています。
従来のニューラルネットワークでは、猫の画像の入力に対して、猫の画像であるという出力を返しますが、ディープラーニングでは猫の画像の入力に対して出力も猫の画像とした入力と出力が同一のオートエンコーダー(autoencoder; 自己符号化器)を用います。
オートエンコーダーでは、図4に示されるように、x(i) = y(i)となるようにw(i)とθを調整しますが、中間層のニューロンの個数を入力や出力のニューロンの個数よりも少なくすることでデータが圧縮され、データの特徴が中間層のw(i)やθによって表されるようになります。
図4.オートエンコーダー
従来のニューラルネットワークでは、猫の画像の入力に対して、猫であるという出力を与える、すなわち、入力画像の一つ一つに対して猫であるかどうかを教える必要があり、このような学習法を教師あり学習と言います。
一方、オートエンコーダーでは入力と出力が同一であるため、入力画像を与えさえすればよく、それがどのような画像であるかを教える必要がないため、これを教師なし学習と言います。
したがって、オートエンコーダーでは多くの画像を与えるだけで学習を進めていくことができます。
さて、ディープラーニングでは、データの特徴を表すオートエンコーダーの中間層を次の層の入力データとします。
つまり、図5に示されるように、1層目のオートエンコーダーの中間層を2層目のオートエンコーダーの入力とし、2層目のオートエンコーダーの中間層を3層目のオートエンコーダーの入力とする、といったように多段階にオートエンコーダーの中間層を接続し、データの特徴をより濃密にしていきます。
図5.オートエンコーダーの多層化
そして、図6に示すように深く何段にも重ねていくことでディープラーニングとなります。
図6.ディープラーニング
ディープラーニングを実際に用いる際には、まずオートエンコーダーによってデータの特徴の教師なし学習を行い、十分に学習が済んだ後で、学習したデータの特徴が何であるかを教師あり学習で記憶させます。
こうすることで、コンピュータがまるで人間のように自然に物事を覚えていくようになります。
人工知能(AI)~人工無能およびBing AI/Open AIのChatGPTに代表されるチャットボット~
人工知能とよく誤解されるものに、人工無能(あるいは、人工無脳)があります。
そして、人工無能の代表的なものが、チャットボット(会話ボット; おしゃべりボット; chatterbot; chatbot)です。
世界で最初に作られた会話ボットは、1966年に計算機科学者のMIT(Massachusetts Institute of Technology)教授Joseph Weizenbaumが作ったELIZA(イライザ)です。
ELIZAは単なる自然言語処理プログラムで、図7に示すように来談者中心療法におけるセラピストの対話のシミュレーションに用いられました。
図7.ELIZA
患者が入力するとELIZAは相槌を打ってアドバイスをしますが、それに人間性を感じて熱心に返事をする人が少なからずいました。
ELIZAは人工知能ではありませんが、人間のように振る舞うことで人工知能のように見えます。
人工知能と人工無能とでは、根本的に知能へのアプローチが異なります。
人工無能は入力されたキーワードにマッチするデータを手掛かりにしてデータベースから出力データを取り出す演繹的アプローチを取るため、成長する知能が存在しません。
この成長する知能を持たないことが、人工無能と呼ばれる所以です。
一方、人工知能では様々なデータを取得しながら学習する帰納的アプローチによって知能が成長します。
つまり、機械学習によって知能が成長するものを一般に、人工知能と呼びます。
もしシステムとして必要十分な機能を持つ人工無能であれば、それだけで人工知能の代替を果たすことができる場合があります。
それよりも増して高い要求水準を達成しなければならない場合であれば、人工知能を用いて機械学習を進めていく必要があります。
人工知能(AI)~哲学~
人工知能への批判で知られる哲学者のカリフォルニア大バークレー校教授John Rogers Searleは、強い人工知能(strong artificial intelligence)と弱い人工知能(weak artificial intelligence)という分類を提案しています。
弱い人工知能とは、人間が決めた枠内で思考する人工知能のことで、枠内に限れば既に人間を超えた能力を持つ人工知能は存在します。
一方、強い人工知能とは、人間と同様に考察し、認識や理解や推論および判断ができる人工知能のことを指し、まるで精神が宿ったかのように人間が与えた以上の事柄をこなすことのできる人工知能とされていますが、未だにそのような人工知能は存在しません。
強い人工知能や弱い人工知能というのは哲学者による分類であり、人工知能研究の分野においては一般に、専用人工知能(narrow artificial intelligence)と汎用人工知能(artificial general intelligence)に大別されます。
専用人工知能は特定の問題に特化した人工知能で、大抵は弱い人工知能に相当するような人間が決めた枠内でしか動作しないものであるため、それは人工知能というよりも単なるtoolではないかという批判があります。
しかしながら、囲碁で世界チャンピオンに勝利したAlphaGoに代表されるように、人智の枠を超えた結果をもたらす驚異的な専用人工知能も最近は増えてきました。
産業界では主に、専用人工知能の研究・開発が主流となっています。
汎用人工知能は人間のように振る舞う人工知能を指しますが、基礎研究分野において目標として掲げられるも未だ完成はしておらず、未来においても達成できる見込みは今のところありません。
仮に汎用人工知能の研究が進んでコンピュータに精神が宿れば、それは強い人工知能と呼ばれることになりますが、一般にはあまり現実的ではないと見なされています。
以上から、汎用人工知能に相当するような真の人工知能と呼べるものはこの世にはまだ存在しません。
つまり、人工知能研究者というのは、まだ見ぬ夢を追いかけている、あるいは達成不可能である可能性が極めて高いものを研究課題にしているということになります。
すると、産業界における人工知能を搭載したプロダクトやサービスというのは真か偽かと問われれば、厳密には偽となります。
しかしながら、そういった厳格さを適用することは社会の発展を著しく妨げるものとなります。
寛容さこそが視野狭窄に陥ることを防ぎ、人工知能という目標を通じた様々な関連研究や開発および現実社会での運用を推進するための基盤となります。
このことは、アメリカの代表的な哲学者で心理学者のハーバード大学教授William Jamesが提案したpragmatism philosophyが、アメリカの産業や科学・技術の大いなる発展と栄光を力強く下支えしたことからも明らかです。
人工知能(AI)~非ノイマン型コンピュータAIチップの開発~
ディープラーニングの成功によって、計算機パワーに頼った方法であっても革新的な成果が得られる人工知能の実用化が注目され、その結果、非ノイマン型コンピュータ(non-von Neumann Computer)の開発が意欲的に進められています。
ノイマン型コンピュータというのは、1945年にジョンフォンノイマンが提案したコンピュータアーキテクチャで、記憶装置に内蔵されたデータとプログラムが取り出されて演算装置でプログラムが実行される仕組みです。これをプログラム内蔵(stored program)方式と言います。
ノイマン型コンピュータは、現代社会において実際に利用されているコンピュータの基本的なアーキテクチャとなっています。
しかしながら、ノイマン型コンピュータには、記憶装置と演算装置の間の入出力バスでのデータ転送速度がコンピュータ全体の性能を抑えてしまうフォンノイマンボトルネックと呼ばれる欠点があります。
一般に半導体チップは、演算速度の向上については著しく発展してきましたが、データ転送速度を上げるのは容易ではありません。
この問題を解決するには、非ノイマン型コンピュータを採用する必要があります。
当然のことながら、非ノイマン型コンピュータはまだ一般社会では使われていません。
それでは、非ノイマン型コンピュータにはどのようなものがあるのでしょうか?
例えば、人間の脳は高性能かつ省エネルギーな並列コンピュータで、これを模したコンピュータは、ノイマン型コンピュータとはまったく異なるアーキテクチャであるため、非ノイマン型コンピュータと呼ばれます。
また、人工知能を実現するにあたっては、ノイマン型コンピュータ上でソフトウェアとしてニューラルネットワークを走らせるよりも、ハードウェアで直接ニューラルネットワークを構成した方が望ましいという考えがあります。
そこで、2014年8月にアメリカのコーネル大学とIBMが、脳神経細胞(neuron)の機能を模したデバイスであるニューロモーフィックチップ(neuromorphic chip)を発表しました。
このチップは、2億5600万個のシナプスによって100万個のニューロンを接続したニューラルネットワークの機能を持ちます。
これは、人間の脳に比べると1万分の一の規模で、おおよそ昆虫の脳に相当する大きさです。
IBMのニューロモーフィックチップ(neuromorphic chip)はTrueNorthチップと呼ばれますが、この名称は旅人の道標である北極星(True North)に由来しています。
ノイマン型コンピュータは、チップ全体にクロック信号が流れることで、すべての演算が同期して実行される同期型回路となっていますが、TrueNorthは信号の入力のあった回路のみが動作するため省電力化された非同期回路であり、人間の脳の動作原理に近いものとなっています。
ただし、TrueNorthそのものには学習する機能はありません。
そこで、学習済みのニューラルネットワークの変数の値をTrueNorthに与えることで、学習されたニューラルネットワークと同様の機能を高速かつ省電力で果たすことができるようになります。
IBMは、学習済みのTrueNorthにビルの上から撮影した映像を入力することで、人間を認識し、追跡することに成功しています。
この時の消費電力は63mWで、ディープラーニングによく用いられるGPU(Graphics Processing Unit)に比べて10分の1以下の省電力化を達成しています。
同様の研究プロジェクトは世界中で行われており、ドイツのハイデルベルク大学などのプロジェクトBrainScaleS、イギリスのマンチェスター大学などのプロジェクトSpiNNaker、ヨーロッパのプロジェクトHuman Brain Project、アメリカのスタンフォード大学のアナログデジタル混載ニューロモーフィックチップNeurocoreやチップを集積した基板Neurogridなどがあります。