Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

そもそもAI(人工知能)って何!

この記事の趣旨

 AIという言葉、技術が盛んになったのは、歴史上近年で三度目だという。そんな情報技術ブームの中、AIってそもそも何なのか、これを使えば何でもできるのか、人間の仕事が減っていくのか、などといったような疑問を持っている方は多いように思える。
 ここでは、そんな疑問を持った人々に向けて、「そもそもAIってなんなの?」ということを、筆者の考えを踏まえながら、くだいて紹介していきたいと思う。

 また、これからAIの技術を学んでいく人でも、まだ専門的な話は難しいと思っていれば、この記事を出発点にしてもよいと思う。

そもそもAIって何??

 AI(Artificial Intelligence)は、日本語で訳すと人工知能であるが(そのまま)、ざっくり言えば、我々人間が持つ「知能」というものを、機械(プログラム)に与えてしまおうというものである。

(一応示しておくと、プログラムとは機械を動かすための動作マニュアルみたいなものであり、機械は与えられたプログラムの通りにしか動けない。

では、具体的に掘り下げていく。まず、知能を与えるわけであるから、我々の知能とは何なのか、ということを理解しなければならない。

僕らが持つ「知能」とは

知能は、論理的に考える、計画を立てる、問題解決する、抽象的に考える、考えを把握する、言語機能、学習機能などさまざまな知的活動を含む心の特性のこと

 wikipediaで検索すると、冒頭にこう書いてある。これをザックリ解釈すると、「学習すること」ととらえることができる。
 どういうことか。
 論理的に考えるのも、計画を立てるのも、問題解決するのも、抽象的に考えるのも、考えを把握するのも、言語すらも、われわれ人間は、はじめからできるのもではない。生まれた瞬間からしゃべれるわけでもないし、生後1日の赤ん坊が、これからの人生について計画を立てだしたら驚きだ。
 どれも、少しずつ「学習」することで、できるようになる。
 赤ん坊は、周囲の人々の口から出る言葉と、行動を何度も観察し、結び付け、そのようにして言語を学習していく。
 「これが鉛筆だ、鉛筆には黒鉛がついているのだ、黒鉛はこすると紙につくから、鉛筆を使えば書き物ができるのだ」というように、個々の知識と概念を結びつけることで、論理的な考えができるようになる。(この例では、鉛筆、黒鉛、こする、紙、書く、という五つの概念、知識を結びつけることで、「鉛筆を使うと書ける」ということを学習している。)(ほかのとらえ方として、鉛筆、黒鉛、こする、紙、という四つの知識、概念から、書くという概念を理解、学習していると考えることもできる。)
 
 このように、あらゆる知的行動は、「学習」によって獲得することができる。
 そして上記の例から、「学習とは、知識、概念を結びつけることで行われる」ということも考えられるだろう。

 これが重要なのであり、知能とは何なのか、を解決する一つの答えである。

「知能」を作るということ

 さあ、知能というものがどういうものかだいたいわかったところで、それを作る、機械に与えるとはどいうことなのか、何をしているのかというのを見ていこう。
 
 上記で、学習というものが知能の本質であることがわかったから、機械にも学習させてしまえば良い。
 具体的に何をするのだろう。

 例えば、僕らが猫の写真を見たときに、どうやって、写真の猫が猫であると理解、学習しているのかを考える。
 写真をみて、まず体の形、顔の輪郭、目、鼻、口の位置、その大きさ、色、形、ひげがある、、、など、様々な情報を僕らは把握する。で、これは何だろうと思ったときに、それは「猫」だよ、と教えられたら、その写真の情報の度合い、組み合わせは「猫」なんだなという風に、学習するのだ。
 同じことを機械にさせればよい。つまり、まだ学習していない機械に、ある猫の写真を見せて、さらにそれが猫である、という情報を与える。そして、機械に、写真から獲得できる様々な情報例えば上のような、体の形、顔の輪郭、目、鼻、口の位置、その大きさ、色、形、ひげがある、、、など)を読み込ませて、猫である、ということと結び付けさせるのだ。そうすれば、その写真をまた見せられた時、その機械は「猫である」と断言してくれるだろう。
 
 

数値で判断する

 機械は、すべて数値で表現されている。機械が扱うすべてのことは、数値で表現されるため、知能(学習)というのも、数値で表現しなければならない。
 
 上の猫の写真の例を考えてみる。
 機械は、写真から、体の形、顔の輪郭、目、鼻、口の位置、その大きさ、色、形、ひげがある、、、などの情報を、数値で理解する。例えば、目と目の間は3cmなど。これで、一つの画像を、数値の集合と置ける。(まあ、目が目であると機械がわかるかどうかはさておいて、とりあえず写真から得られる情報はすべて数値であるということだ)
 次に、「猫である」、という判断はどのようにして数値で表そうか。これはさまざまな表現方法があって、機械がそれらの情報を処理した結果、ある値よりも大きい値であれば猫である、という考え方もあれば、これは87%猫!というように、あいまいさを持たせて考える場合などがある(ちなみに後者のいい例は、ニューラルネットワーク)。

 次は、どのようにして、情報(変数)を結びつけて、判断するための値を持ってくるか、ということを考えよう。

機械における学習(猫の写真を例として)

判断

 ここで、説明をわかりやすくするために、用語を持ってきたい。
 上の「猫の写真の例」のように、写真から得られる情報(複数の数値の集まり)をそれぞれ説明変数、変数から得られる結果(猫なのかどうかを決める値)を目的変数と呼ぶことにする。

 さて、では初めて猫の写真を見せられた機械は、いくつかの説明変数を獲得することになる。実際には、機械に写真を見せる、という行動は、機械には目がないので最初から変数を与えることになるわけだが、(カメラを使えば別)それらから、どのように目的変数をゲットしようか。

 一番簡単なのは、線形結合である。(解説しよう)

 線形結合とは、いくつかある変数をそれぞれ何倍かして、全部足したものである。
 式で表すと、以下のようになる。

           $\begin{aligned}f=a_{1}x_{1}+a_{2}x_{2}\ldots \ a_{n}x_{n}\end{aligned}$

 (x : 説明変数、f : 目的変数)

 これで、いくつかの説明変数xから、ただ一つの目的変数fを計算できる。
 ここで、目的変数fは0~1になるようにして(acrtanなどを使えばできる)、1に近いほど猫であるということにしよう(つまり、目的変数が0.8とかだったら、80%猫であるといえる)

学習

 初めて猫の写真を見せられた機械は、このようにして目的変数を算出するわけだが、どのような値になるだろう。それはランダムだ。なぜなら、はじめは、上の式のaが全部テキトーに決められるからである。つまり、本当は1が出なければいけないのに、0.1とか0.4とかが出てくるわけである。すると、機械は馬鹿なのか?ということになるが、そうじゃない。なぜならまだ一度も学習していないから!

 上で、説明変数から目的変数の求め方を理解したから、次はここに「学習」を取り入れる。
 例えば、機械が目的変数を0.1と出したとしよう。実際は猫の画像なんだから、1でなければいけない。つまり、0.9の誤差が生まれたわけである。ここで、どのようにすれば誤差が減るかを考える。

 式では、は説明変数であるから、変えられない。問題なのはaの値である。これはテキトーに決められていたので、目的変数が1に近づくように、aを調節するのである。(調節の仕方はたくさんあるが、偏微分などが絡むので、ここでは避けよう)すると、調節した新たなaで計算すると、例えば0.2のように、少しは1に近づく。そうして何度も繰り返していくと、「最適なaの値の組み合わせ」に調整されて、その写真を見せられた時、その値を用いて計算すれば、99%猫であると判断できるようになるかもしれない。

 これは、、、学習している!

 機械は、何度も計算し、本当の値との誤差を用いて係数aを調整することで、学習したのだ。

 さらに、上の式のように、情報を組み合わせているということは、先に述べた学習の本質にしっかりと添っている。この機械は、その写真の情報を、うまいこと組み合わせる方法を見つけて、それが猫であると学習したのだ。
 

 以上が、学習の流れである。とりあえずテキトーに目的変数を計算して、答えと見比べて、調節して、、、というのが、機械における学習なわけだが、本当に、われわれ人間が行っていることと酷似しているだろう。

本当に学習しているのか?

 さあ、では上記で学習させた機械に、別の猫の写真を見せてみる。するとどうだろう。ちゃんと猫であると判断してくれるだろうか。
 今回の例では「猫なのかどうか」の判断は割合で表しているので、90%以上猫であると判断できるなら(目的変数が0.9以上になればいい)、その機械は学習できているとしよう。

 で、別の猫の写真を見せる。一枚目と似ていれば0.9以上の目的変数を算出してくれそうだが、例えば全然違う種の猫だったらどうだろう。一枚目で学習したくせに、二枚目では「50%猫!」と判断される場合が出てくるわけだ。

 これでは猫について学習したとは言えない。単に、「その一枚の写真が猫である」と学習したに過ぎない。

 何が起きているのか。それは、調節された係数aが、猫に特化したものではなく、その写真のみに特化しているということである。これを解決するには、また2枚目の写真を用いて、aを調節するのだ。ここで気を付けないといけないのは、2枚目だけですると、また2枚目のみに特化した係数aが埋めれるから、一枚目と二枚目の両方を用いて係数aを調節する。

 さあ、これで二枚目も大丈夫。では三枚目は、、、?

 同じだ。三枚目も含めて学習させればよい。

疑問

 「ん?それでは、世界中の猫の写真を見せなければ、世界中の猫の写真を判断することはできないのか?」

 そのような疑問が出てくるだろう。しかしそんなことはない。この例で行くと、結局何がしたいのかといえば、数枚では98%を示すが、他では70%などの偏りが出た結果になるのではなく、すべての写真において90%を示すように、ある程度結果が均されるような係数aが欲しいわけだ。そのような係数aを獲得するには、学習させる枚数が多いほど良いが、ある枚数以上になると、結果が収束するので、限られた枚数で、そのようなaを獲得することができる。

 なのでそんなことはないのである。

とりあえず

 とりあえず、なんとかAIというものがどういったものなのか理解できただろう。結局のところ、説明変数と目的変数をつなぐ最適解、準最適解を探して、それを搭載したものが、AIと呼ばれるものなのだ。指紋認証も、その他の例も、同様である。
 ここで、上の例では線形結合によって説明変数を結びつけて、目的変数を%として考えたが、その方法は他にもたくさんある。説明変数を結び付ける枠組みを、モデルといい、例えば、決定木、ニューラルネットワーク、線形回帰、ロジスティック回帰、、、などがある。

 また、例では目的変数を数値としているが、ラベル(分類番号)とすることもできる。目的変数を数値にしたければ回帰モデルを、ラベルにしたければ分類器というものを用いて学習しなければならない。

少し深く考えたい

さて、AIがだいたいどんなのかわかったところで、もう少し深堀してみようと思う。また、AIが抱える課題についても見ていこう。

機械はプログラムの通りにしか動けない

 
 上記でも述べた通り、機械はプログラムされたとおりにしか動けないのである。つまり、上の考えを用いれば、これについて学習しろとプログラムに書けばそれについて学習するが、それ以外のことは学習しないのである。

 つまり、自主的には学習しないのである
 これはつまり、人間のような、汎用的な知能を持つことはできないということではないのか。

 さて、これを解決したAIを作りたいとする。つまり、自ら考えて学習する、好奇心を持ったものを考えるのだ。
 ここについての深い議論は、また別の機会にしようと思うが、僕が思うに、「知能」とは別の心理学的、行動学的な要素を加えていかなければならないと思う。好奇心というものは心理学的要因であるからだ。そして、「自ら学修するプロセスを組む」ということだから、それはおそらく、形でいえば、「自ら自分のプログラムを設計するプログラム」であるような気がする。さらに、行動学、心理学、その他の加えるべきと考えられる要因は人を対象に研究されたものがほとんどであろうから、そのような要素を加えれば加えるほど、そのAIは人間らしくなっていき、最終的には、完全な模倣になっていくだろう。

人間の意識を機械の中で

 
 とある大学院研究室で、人間の意識を機械の中で動かそうという試みが行われているそうだ。
筆者はこれに大変興味をそそられている。
 
 研究で完成させようとしているものは、「器」だそうだ。意識を動かすための器。つまり、これだけでは意識が芽生えるわけではなく、人間が持っている、もしくは他の生物が持ち合わせている「意識」をそれに移すことで、初めて機能するものである。そこで、ある疑問が生じる。
 「移す」というのは、人間の体から機械の器に意識が移動すると考えられるが、つまり、投射された体の方には意識がなくなっていると推測されるが、、、本当にそうだろうか。
 コンピュータでも、情報を内部の保存するときは、それを読み込んで、同じものを生成(コピー)しているのだ。つまり、生物の意識を機械に移す時も、機械はそれを読み込んで、同じものを複製して、保存するのではないのか?じゃあ別に、実際の体の方にも意識は残したままでも移すことはできる。(「写す」になる。)
 これは本当に面白い。まさに同じ人格が同時に存在することが可能なわけであり、さらに言えば、赤子の意識をコピーさせて、成長させることで、まさしく機械の中での人類を育てることができるようにもなる。そうなると、彼らが生きる世界は一体どうなっているのだろう、、、

 この技術を用いれば、ボトムアップ型のAIを誕生させられるかもしれない。が、このことについて推論を重ねすぎると、倫理的にどうなんですかといわれそうなので、ここで止めておく。ちなみに筆者は倫理的に中立であるが、単純に、この研究にはものすごく興味をそそられて、面白いと感じている。

 まあ、ボトムアップ型のAIをAIと呼べるのならば、その時は、人間とは何なのか、真に問われる時が来るのではないだろうか。

『ゲーデル・エッシャー・バッハ』(著者:ダグラス・ホフスタッター)に、このような一説がある。

人間の精神活動で行われることを行えるようなプログラムが出来るたびに、人々はそれが「真の知能ではない」ことを見いだすことを繰り返してきた。人工知能とは、その時点で未だなされていないもののことである。

これは、人工知能という技術が発達するほど、我々人間が、人間の固有特性である「知能」を守るために、「それは知能ではなく、ただのプログラムである」といって、AIと人間を区別しようとすることを指している。これは、AI効果ともいわれる。

だから、本当に脳を丸々コピーしないと、人類はAIを永遠にただのプログラムという風に認識し続けるのだろう。

フレーム問題

 AIには課題がいくつかある。その一つに、フレーム問題というものがある。
 これは、機械そのものに処理限界が存在するため、ある行動によって引き起こされる副次結果を把握しようとすると、起こりうるすべてのこと(普通に考えて起こりえないことも含む)を無限に処理し、機能を停止する、というものである。
 
 例えば、荷物を運ぶことに特化した(学習させた)機械に、ある荷物を持って来いと命令したとする。しかしその荷物の上には爆弾があり、そのまま荷物を動かすと爆発して、機械は壊れる。さっきの、「荷物を運ぶことに特化した機械」では、そのまま爆破させてしまうのがおちだ。
 では、その機械に、荷物を動かすことで起こりうる副次的な作用を考えさせるように、学習させたとしよう。すると、その機械は、荷物の前で立ち尽くし、そして機能を停止するのだ。何が起きているかというと、起こりうるすべての事象(例えば、荷物を動かしたら、「爆発するか?しないか?」に加えて、普通はありえないような、「地面は崩れないか?」といったことから、「壁の色は変わらないか?」「ブラックホールは発生しないか?」「この世の人間が絶滅しないか?」、、、など)をすべて計算し、計算能力をオーバーしたのだ。

 つまり、その副次的効果が、起きうるかどうかというのを線引きできないのである。

 これを解決しない限りは、汎用型AI(なんでもできる人間みたいなやつ)はできないと考えられている。

 
 フレームというのは、つまり自分が学習した範囲、対処可能な範囲のことであり、この例では「荷物を運ぶ」ということになるだろう。そしてこのフレーム外のことを考えようとすると、無限の思考(試行)に陥るというのだ。

 では、人間はどのようにしてこれを解決しているのだろう、、、??
 これについても、また別の機会に考えたいと思う。
 

まとめ

 どうだろうか。少しでもAIというものがわかってくれればうれしい。

 職業にどう影響していくか、についてだが、例えばレジなどはすでに自動で行われているところもあるし、ある程度専門性が低ければ、機械で補っていくのは技術的には可能だ。そして、それは実はAIではないことが多い。AIがよく用いられるのはもう少し次元が上の場所で、例えば自動運転などが当てはまる。自動運転もまた、将来可能になっている可能性が高い。さらにもっと言えば、AIが書いた小説、AIが描いた絵などもあるそうで、技術的には、その領域にも入ってくるだろう。

 ここからは筆者の考えに過ぎないが、しかし、大事なのは技術的に可能なだけということである。そして、そのようなAIは能力に制限がかかっていることが多いように思われる。例えば、芸術家として育てられたAIも、作品を作ることはできるだろうが、それだけにすぎない。そのほかの、例えばどのような題材にするか、だとか、自分に求められているのは何なのか、とか、そういった判断、決定はできないだろう。これはフレーム問題に起因する。題材を決めようとすると、それが社会にどう影響するか、だとか、結局無限の思考を重ねるのだ。やはり、フレームから外に出ることはできない。ではランダムで題材を決める?無限個の中から?(こんなふうに考えるのも、AI効果なんだろう)

 まあいずれにせよ、AIができることもたくさんあるだろうが、だからと言ってすべてAIがやってくれるかというとそれは違うということだ。必ずどこかに人間が干渉している。そしてまた、人間が人間を人間として特別扱いし、人間を求める限り(AI効果がある限り)、人間が居場所を失うことはない。

 生物の脳は、宇宙と並んでこの世のブラックボックスだ。個人的には、今後どのような未来が来ても、完全には解明されてほしくないと思っている。人類が何年もかけて、全力で知恵を絞ってもなお全く分からないというのが、研究したくなる動機であり、その魅力だと筆者は感じている。ブラックボックスの大きさは小さくなっても、完全にはなくならないことを願いたい。

 

 

 

以下、参考文献

wikipedia[知能]
フレーム問題
意識を機械へ

nima_h
京都の学生です。 独学でプログラミングを学習しています。 習得言語はpython、java、C、Rで、画像処理、通信処理、遺伝的アルゴリズム、AIなどに手を出してきました。 基本的に、自分が興味を持ったところ、まとめておきたいことを載せていく予定です。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away