人工知能が目指す方向
システム化との違い
人工知能や機械学習について話をするとき、よく議論になるのが人工知能を作って「何を目指すのか」です。私たちが仕事でコンピュータを使う理由は、手作業で行っていた内容を自動化することです。これはシステム化と言い換えることもできます。
現在も多くのシステムが人の作業を楽にするために開発されています。システム化すれば、入力のチェック、繰り返し業務の効率化、不正な処理の排除などを実現できます。今後もこの流れが止まることはないでしょう。では、人工知能が目指す方向も同じでしょうか。
人に指示されて動くのか、人のまねをするのか、人を超えるのか
コンピュータの中だけで完結する情報システムの少し先を見てみると、自ら行動できるだけでなく、ほかのモノを動かすこともできる「ロボット」があります。
ロボットの分かりやすい例として「ドラえもん」と「鉄腕アトム」がありますが、いずれも人を助けるために使われるロボットです。ドラえもんは人(のび太君)の指示(依頼)によって行動しますが、鉄腕アトムは自分で善悪を考えて行動します。この意味では、アトムのほうがより「人工知能っぽい」ロボットと言えるでしょう。
ロボットも内部に使われているのはコンピュータであり、コンピュータが自分で考えて勝手に行動してくれると、人間が想像もしないことを実現できるかもしれません。ただ、人間が想像もしないことを実現できるようなコンピュータの開発は難しく、現時点では人がどのように考えて行動しているのか、社会がどのように変化しているのかを参考にして開発が進められています。
もちろん、計算に関する処理速度はコンピュータのほうが優れていることは明らかなので、特定の分野では、すでに人間よりも高度な技術を持つロボットや人工知能が開発されています。
ニューラルネットワークとは
人間の脳をまねる
ニューラルネットワークは、人間の脳をまねてコンピュータを作ろうという発想です。人間の脳はニューロンと呼ばれる神経細胞でできており、この神経細胞同士がつながって信号を伝えていくことで、人は学習できると考えられています。
これをコンピュータの世界で模倣したニューラルネットワークの手法には、「パーセプトロン」「ホップフィールドネットワーク」「ボルツマンマシン」「自己組織化マップ」「サポートベクターマシン」「バックプロバゲーション」など多くの研究があります。現在話題になっているディープラーニングもニューラルネットワークを発展させたものなので、人工知能を知りたければニューラルネットワークを学んでおくことは必須だといえます。
ニューラルネットワークの代表例
ニューラルネットワークの代表的なものとして、図1のような階層型ニューラルネットワークがあります。入力された信号に対して、重みを計算し、出力信号を算出します。最初はランダムに重みを設定し、出力信号と教師信号との誤差が小さくなるように重みを修正していきます。適切な回数繰り返し、許容できる誤差になれば学習を停止します。