ディープラーニングなど

コンピュータに「これは猫です」という絵を1000枚見せて
1001枚めの絵は何かを聞いて、猫ですと答えればいいというのだが。

人間の子供が育つ様子を考えれば、
猫と言われるものを時間的に継続して生活の中で観察して
「親から教えられて」、猫を理解すると思う。
もちろん、子供が寝ている間にも、時間を通じて猫の同一性は保持されているとか
そういう、先験的な部分がある

しかし多分、親は、生き物とものの違いをなんとなく伝えたり、
猫がどういうカテゴリーに属するものなのかを理解させたりするだろう。

しかし、親からの学習のない、「狼に育てられた子供」の場合には、
言語が発達せず、概念的思考が発達せず、
したがって、猫という集合を理解できないのではないかと思う。

というようなことを考え、
ディープラーニングのプログラムを用意するとして、
仮説を用意して、それを検証し、より劣った仮説を棄却して、より優れた仮説をさらに用意する、
それを繰り返すのではないか。
だとすれば、最初の仮説はどのようにして形成されるのか、
そして、仮説のバリエーションはどのようにして用意するのか、
全くランダムというわけでもないはずで、人間がどこまで用意するのだろうか、などと思っていたところに、
専門の先生と会う機会があったので聞いてみた。

そうじゃないんです。
まあ、そういう、仮説が形成されて、捨てられて、というようなプロセスは、実際に起こっているかもしれないんですが、それは、まだわからない。
少なくとも、そういう原理で動いているわけではない。
しかし、最後に、正確に、人間が持っている猫という概念と同じものが獲得された時には、
一般言語で言う猫の概念規定と、内容としては同等のことを考えているのかもしれない。

つまり、実際にやっていることは、
まず、まっさらなニューロンネットワークを用意するんです、
そして、入力があったら、ニューロンネットワークを通って、出力として何かが出るようにする
ここから学習開始で、猫の写真を入力したら「cat」という言葉を出力するように、
犬の写真を入力したら「dog」という言葉を出力するように、
各ニューロンの興奮の度合いを調整する
ニューロンは何層かから成り立っていて、
全体で100億個とかというスケールで、
だいたい人間の脳に似たものを作りたいと思っている
人間の脳と同程度の複雑さがあれば、同じような程度の思考ができるだろうということになる

もちろん、入力部分は可視光線をデジタル信号化するもので、それは人間の視覚を参考にしている
また、出力部分は、猫という概念を「cat」という文字で出力するような装置にしていて、
そこはコンピュータの学習以前の問題である

「猫の写真」→ニューロンネットワーク →「cat」 という具合になるように
ニューロンネットワークは自分の各ニューロンの興奮の程度を自分で調整する

人間の場合には、事物から学習するというよりも、親から学習する部分が大きいので、
多分、学習の中身は、初期の時点ではかなり異なる

しかし、ある程度成長したコンピュータを、別のコンピュータが、まるごと学習して、
そこから学び始めるということもできるので、人間よりはかなり効率がいい
そしてなにより、疲れを知らず、早く、間違いが少ない

というような話で
相手の先生が酔っていたこともあり、当方の理解も怪しいのだが、
でも、
まだ食い下がると、
出力がずれているから変えようということは分かるが、どのニューロンの興奮の度合いを
どのように変えればいいのかなんて、わかりようもないし、
ランダムに試していくのでは無駄が大きすぎないか
というような疑問はあるが
実際に
囲碁で勝っているのだから、うまく動いているのだろう

現状で、そこいらにあるフリーソフトをダウンロードして、
犬の種類を見分けて、これはシェパードとかコーギーとか答えることはできているのだという。
もうすでに人間より賢いくらいではないか

では、
二台のコンピュータで独立に学習させた場合、
ニューロンネットワークは同じになるとは限らないんですねと聞くと、
そうです、内部のプロセスは、現状ではブラックボックスなんです、という

また、
そのディープラーニングに、最初に、人間の思考を規定しているカテゴリーや
言語自体を学習させてしまえば、人間の子供の学習と近いものになるのではないか、
人間の子供は、1000枚の猫の写真を見て、猫という概念を学習したりししないでしょうと聞くと、
まあ、そうでしょうね、それも誰かやっているでしょうねとのこと

ーーーー
ついでなので量子コンピュータについても聞いた
原子のパリティを0か1か知るときにはどうするんですか?
それで計算するというイメージがつかめないんです

たとえば教科書にあるように、スリットを通過させて、性質を測定する、それで0か1か分かる
でも、量子コンピュータのいいところは、パリティが確率的に存在しているというところなんです
それが、並列コンピュータに似ていると考えればどうでしょう
100台のコンピュータを並列に走らせて、結果を出して、その分布と、バリティの確率分布が対応すると考えるんです
すると超高速でしょう

なるほど、にんにくのしそ漬けが美味しかった