シンギュラリティは来るのか

シンギュラリティ(技術的特異点)というのが昨年あたりから騒がれ出しました.人間は将棋でコンピュータに負けても,囲碁はまだ負けないと思われていたのが,突然負けたりしたことが,大きく効いているみたいですね.文科省の学習指導要領のなかに「プログラミング」という言葉がここまではっきりと入ったのは,囲碁の事件が影響しているという話もあります.

最初は,人工知能のプログラムは人間が書いていました.人工知能が賢くなるとコンピュータがプログラムを作るようになり,それが進むと人工知能のプログラムは人工知能が作るようになります.最初はそうやってできた子の人工知能はそれほど賢くないかもしれませんが,そのうち親を超える賢さを持つようになるでしょう.作られる人工知能が親を超えた時,あとは人間の手を離れて,勝手にどんどん賢くなってゆきます.それがシンギュラリティです.

どんな技術があれば,そのような超賢い人工知能が作れるか見当もつきませんが,そこで使われるプログラミング言語は相当すごいものだろうな,ということは想像できます.コンピュータがプログラムを生成するだけじゃなく,プログラム同士を足したり引いたりといったいろんな演算ができるはずです.

今のプログラミング言語は,半導体で計算する機械と,記憶力の相当悪い人間の性質に影響を受けて作られていますが,それらから大きく離れて,計算とは何か,知識を表現するとはどういうことか,といった理想的を追求することになるでしょう.理想的な知識表現としてのプログラミング言語です.それが出来ないとシンギュラリティにはならないと思います.ましてや,深層学習でそんな表現方法をコンピュータが勝手に発明してくれるとはちょっと考えられません.

順番からいうと,シンギュラリティより前に理想的な知識表現としてのプログラミング言語ができます.それは突然できるのではなく,少しずつそういうものに近づいて行きます.その研究はどこかの研究所で秘密裏に行われるのではなく,常に広く一般市民へと提供するような体制で進めるべきです.そうして,少しずつ賢くなるプログラミング言語を市民が使いこなして行きます.市民がついてこれるようにするためには,賢い人工知能には不要ですが人間向けのインタフェースもしっかり作って行かなければなりません.

別の例で説明すると,自動運転の車は突然はできません.その前に歩行者や他の車の動きを認識して予測するプログラムが出来ます.その計算結果を人間にわかりやすく見せるプログラムを作るべきです.このプログラムは自動運転の車には不要ですが,人間を置いていってはいけません.運転手は,動き予測のプログラムの結果を常に見せられながら運転します.人間が見落とした危険をコンピュータは見落とさず教えてくれます.それによって事故は劇的に減るはずです.もちろん最初は,厳しい条件での危険はコンピュータが見落としてしまうミスがあるかもしれませんが,性能が向上して,下手に人間が運転するよりも安心,ということになったときに初めて,自動運転が世の中に認められるのだと思います.

ここで書いたことを整理すると.

  • コンピュータの中で起きていることを,人間に見せる.
  • コンピュータは情報提示だけして,判断は人間がする.
  • コンピュータを進化させる人は一般市民を置き去りにしない.

ということなのかなと.こうやって進めて行けば,シンギュラリティがもし来ても,それは人類として大歓迎で迎えられるんじゃないかと.

僕の個人の見方なので間違っているかもしれませんが,ここで書いているのも,一般の人が不安になったり安心したりする前に,ちょっと知っておいて欲しいと思っているからですし.そもそも,僕がビスケットをやっているのも,こういうことが根っこですから.

シェアする

  • このエントリーをはてなブックマークに追加

フォローする