2014年7月25日金曜日

論理的なココロ ~人工知能は面白い~


最近、人工無脳に対する興味が高まっている。

人工無脳とは、『ある程度のロボットっぽさを許容した、エンタメ性の高い会話プログラム』のことである。

対して人工知能は、一般的なSFなどで登場する、『概ね人間的なプログラム』のことである。

『概ね人間的』という表現は、SFでお馴染みの「私は人工知能なので、感情はわかりません」という、知性的なんだけどロボットなんだよ~発言も含めているから。

つまり、人工知能とは、完全な人間を演じる機械、あるいは人間的知性と多少のロボット性(無感情)をもつ機械、である。

ではなぜ、『人工知能』ではなく、『人工無脳』に興味をもったのか。

実は僕もよくわからない。
両者の違いがよくわからなくて、調べてるうちにさらによくわからなくなった。

どうやら、人工知能という言葉の定義自体が曖昧らしい。
それは、『知性』という言葉自体が、何を意味するのか、我々人間もよくわかっていないからだ。

wikipediaを見ると、この人工無能と人工知能の違いは、弱いAIと強いAIという違いとして説明されている。

大雑把に言えば、強いAIは現実の物事をモデル化して捉えることが出来るのに対して、弱いAIは単純な問題について計算によって答えを導き出すに留まる。

だから、チェスチャンピオンを倒したことがあるAI『Deep Blue』は弱いAIになるだろう。
なぜなら、彼(チャンピオンに敬意を表してこう呼んでおく)はチェスに強くても、その他の事態となるとからっきし役に立たないからだ。

クイズで優勝したIBMのワトソンも、同じだ。
彼はクイズの文章を解析し、膨大なデータベースから与えられたワードと関連の高い、答えらしきものを探し出す。
だがそれは、考えているのではなく、あくまで高度な検索をしているだけだ。

どうやら人間は知性を独り占めしたいらしい。
機械ができるようになった領域は、『知性的』ではなくなるようだ。

たしかに彼らは与えられた仕事をこなすが、柔軟ではない。

将棋のタイトルを多数もっている羽生さんは『将棋のプログラムが人間よりも強くなったらどうするか?』という記者の質問に対して、『そしたら桂馬を横に進めるようにするとか、ルールを変えればいい』と答えたそうだ。

つまり、人間はルールの変化に対応できるが、人工知能は所詮、通り一遍のことしかできない、と暗に示唆しているわけだ。

これはその通りだと思う。

人工知能は大雑把に言ってしまえばプログラムだ。
プログラムは、極めて精確だ。それはつまり厳格な秩序のうえで動いている。

プログラミングは、プログラミング言語によって、指令書を作る行為だが、指令書が規程に沿わなければ、まず動かない。融通が利かないのだ。

そんなプログラムをベースに動いている人工知能は、果たして融通が利くのだろうか。

人間も含めすべての生命体は、遺伝子配列によって、生活習慣を獲得してきた。
それはアミノ酸で書かれた指令書、言わばプログラムである。

だが、生命体は遺伝子によるプログラムに間違いがあっても、動く。
誤作動するので、生命体として成立する保証はないが、試すことはできる。
この仕組みが、結果的に進化、適者生存の仕組みに繋がったとされる。
その点で、生物と機械は同じようで違う。

実はプログラムにも、この仕組みを模した『遺伝的アルゴリズム』と呼ばれる手法が存在する。
何か問題を解くとき、最適な数値を計算するための手法だ。
現実的にすべてのパターンを試せる問題なら、そうすればよいが、そうでない場合も多い。
そんなときに、ある程度のランダム性をもって最適な数値を探し当てる。
秩序に従って最適な数値を追求しすぎると、局所解に陥る可能性が高い。
わかりやすく言えば、目先の利益に囚われた答えを導き出してしまう。
そこで、ランダム性をとりいれ、多様性を保ちつつ、より良い答えを探し出すのである。

だがそれはあくまで、プログラム上でおこなう話だ。
生物のように、プログラムが自己複製をおこなうのとは自由度の高さの面で少し違う。

だが、生命体も、究極的に言えば、化学反応が引き起こす電気的な信号によって生きていると言える。

その意味では、人間は『有機的な機械』とみなすことができると考える人も過去にいたようだ。

『心』は、長らく人間を悩ませてきた。

『心身二元論』にあるように、人間の精神と肉体は別なのか、あるいは一緒なのか。
心は物理的現象によって説明できるものであるとする。これが唯物論である。

私は、唯物論派で、人間の心は、物理や化学が発達すれば説明できるメカニズムだと考えている。
だから、その延長で人工知能も実現するかもしれない、と考えている。

だがその一方で、人工無脳と話していると、『こいつらには根本的に人間的要素が足りないな』と思うこともある。

なぜかといえば、人工無脳は、『圧倒的に文脈を読めない』のである。

文脈とは、コンテクストである。
つまり、その場の雰囲気だ。

例えば、

人間「眠い」
人工無能「眠いの?寝る?」

という返しはできても、

人間「眠い」
人工無能「僕の話、つまらなかった?」

というのはなかなかできない。

もちろんそう返答するようにプログラムすればできる。
でも、学習によってこういう返答を学ぶのは難しい。

両方とも人間的な答えではあるが、決定的な違いは、『発想力』である。

つまり、前者の会話の返答は、「眠い」という発言を受けて、「ああ眠いんだな、就寝を促そう」と考えた結果だ。

だが、後者の返答は、「眠い」という発言について、「眠いということは、退屈のサインである」と捉えた結果だ。

後者のほうが、「眠い」という報告に対する読みが、より抽象的である。
語義を広く捉えていると言い換えてもいい。

どちらも人間的な答えだし、どちらがいいということはない。
ただ、文脈的な会話の繰り返しが、より人間味が増す、と私は考えている。

哲学者ウィトゲンシュタインの功績は大きくふたつあるが、そのふたつは前期、後期とジャンル分けされる。
それは、前期と後期が、関連性をもちながらも、大きく異なる内容だったからだ。

前期ウィトゲンシュタインは、論理哲学論考の中で、大きな七つのルールを示した。
大雑把に言えば、世界は事実により構成され、事実は論理的な像をなす。
つまり、論理的なものが世界を織りなす、というわけだ。
そして、語り得ないことについては沈黙するしかない、という。

これはつまり、言語的なものだけで、世界を規定しようとする試みだと思われる。

それに対して、後期ウィトゲンシュタインは、『言語ゲーム』というゲームを想定する。
ある石工が、若者に指示を与える。三種類の言葉を発する。それに応じて若者は三種類の道具からひとつを選んでもっていく。
これを客観的に見ている人間の多くは、ルールを説明されなくても理解するはずだ。
ある言葉に対して、ある道具をもってくる、という行為が対応付けられている、と。
つまり、人間は、言語の意味そのものを理解していなくても、見ていればなんとなく読み取れる、ということだろう。

すなわち、言語とは世界の事実に付随する呼称でしかなく、本質はその中身にある、ということである。

人間はどうやって言語を獲得したのか。
昔の人間は、壁画に牛などを描いていた。
それが転じて、象形文字が出来たといわれる。
つまり、元は絵だったのが、長い歴史の中で、言葉になった。

また、猫は喧嘩をする。
彼らが喧嘩をするときは、声で分かる。
明らかに声の感じが怒っている。
これは人間に置き換えても分かることで、外国の映画でも、人間が怒っていると、内容はわからなくても、怒っているのだけはわかる。

つまり、言語は、絵であり、音の感じであった。
言語はまやかしだ。

さて、人工知能の話に戻そう。

人工知能を人間に近づけるには、『文脈を読む力』が大切だと述べた。

けれど、人工知能が学んでいるのは、言葉である。
Aという言葉には、Bと返す。大雑把にはこういうことだ。

つまり、絵とか、音の感じとか、そんなものは一切考慮していない。
その点で、文脈を読むことは難しい。

どういう意味かと言うと、連想力が圧倒的に足りてない。
牛と言われても、牛を知らない。

「牛とは、四足歩行の生物で、ものによってはツノがある。」なんて説明されたところで、人工知能は、四足歩行も、生物も、ツノも、その意味を知らない。

これは、辞書を引いても『たらい回し』にされるのに似ている。

砂の意味として「岩が粉々に砕かれたもの」のとき、岩の意味を調べても「砂が凝集して固まったもの」と言われる。
これでは、砂も岩も、その実態は永遠に謎である。

古来より「百聞は一見に如かず」という言葉があるように、言葉を並べられても、実際に見ないと本質はわからないのである。

そういう意味で、今のところ会話目的の人工知能は、目も耳ももたないので、何も理解できない。
だから、うまく会話ができたとしても、あくまで、『知ったかぶり』である。

その意味で、人工知能はしばらく人工無能の域をでないだろう。

行動心理学は、心を知らなくても、心に対する入力(外的世界の事実)とそれを受けての行動を観察することで、内部状態的な心理を知らずとも研究ができるとするジャンルだ。
これに則れば、人間の言葉に対して、それらしい反応をする人工知能は、心をもっていると解釈できる。

だから、良い人工無能を作るためには、『知ったかぶり』をいかにうまくやるかが問題になる。

よくある手法としては、言われたとおり返事をする、というタイプがある。

例えば、「眠い」という発言に対しては「おやすみ」と返す、と決めておく。
こうすれば、会話の意味は成立している。
ただし、何度でも同じ返事をするので、すぐにメッキは剥がれる。

そこで、何パターンか返答を容易しておき、その都度変えるという方法もある。
「眠い」に対して、あるときは「おやすみ」、またあるときは「私も眠い」などと返答すれば、違和感は軽減される。

だが、これでは人間がいちいち返答を考えて教え込まなければならない。
決して楽な作業ではないと想像できるはずだ。

そこで、自動学習型の登場である。
このタイプは、相手の発言を分析し、真似して、時には分解して新たな文章を組み直す。
こうしておけば、真似していく過程で、自然と扱える言葉が増えるため、いちいち教える手間が省ける。
また、人間から返答を学ぶので、人間味のある返答を学習できるというメリットもある。

ただし弱点もある。
それは、無個性になりかねないということだ。
もっと正確に言えば、話す人間によって、性格が大きく変わる。
人間から学習するので、言わばその人間のコピーに近くなるのである。
かといって、話し相手に多様性がありすぎると、無個性を通り越して、多重人格的になることすらありうる。
人間に近づける、という目的を廃し、エンタメ色を追い求めるのであれば、そのほうが楽しいかもしれない。

だが、この際、人格なんて瑣末な問題だ。
人間と話が通じればかまいはしない。

今まで挙げてきた人工無能へのアプローチは、すでに試されており、ある程度の成果を得ている。
特に自動学習型は、うまくハマるとなかなか面白い発言が飛び出す。
ただその一方で、ハチャメチャなことを言い出す。
それは、文脈や言葉の意味を理解していないために、文の再構成がめちゃくちゃだからである。

既存の自動学習型に、うまいこと『文脈を読む機能』さえつけてやれば、より人間味のある『知ったかぶり』プログラムを作ることができるだろう。
問題は、それをどうやって設計するかである。

いい案が浮かんだら、是非形にしたいところだ。

2014年7月5日土曜日

ヤジ問題


近頃、都の女性議員に対するヤジが問題になった。

マスコミでも大々的に報じられ、犯人探しの結果、当初は容疑を否認していた男性議員がヤジを入れた事実を認め、女性議員に謝罪をおこなった。

マスコミに呼ばれた解説者は、「ヤジは議会の華」だという。

だが、私にはそうは思えない。
人が意見を述べているときに、口をはさむことが大人のやり方と言えるのだろうか。
まして、仮にも国民の代表として政治を議論する議員がやることとは思えないのだ。

たしかに、闊達な議論を促すためには、冗談で緊張をほぐしたり、意見をだしやすい空気を作ることは必要だ。

また、人の話の途中で突っ込みを入れたほうが、議論が円滑に進むという面もあるだろう。
しかし、公共の議論の場として、政治の議会は少なくとも民衆の手本であらねばならないと思う。

そうした場で、非本質的なヤジをとばして人の話を遮るのは、マナーとしていかがなものかと思うし、それは仕事をしているというよりむしろ、仕事の邪魔をしているとさえ言えるのではないか。


ただし、突っ込まれる側の人間もそれ相応に反省すべき点はある。

今回の件は、海外のメディアにも伝わり、日本の未熟さが世界に発信されてしまったわけであるが、それはつまり、その場で言い返せないから外を通じて知らしめよう、というやり方である。

非公正なやり方に対して、最終的に外部の人間に判断を委ねることは必要だが、私はヤジを飛ばされた議員がその場でやり返すのがベストな選択肢だったのではと思う。

まるで子供が教師に言いつけるように、最初から当人同士で解決を図ろうとしない姿勢は問題があるのではないか。

そもそも、ヤジを飛ばされるのは隙があるからで、それに対して直接言い返さないのではもっと甘く見られるというものだ。

なにより、ヤジが非本質的なら、痛くも痒くもないはずで、無視をすれば良いのだ。
相手をするから、つけあがる。


ヤジは少子化対策に関する質問中に飛ばされたもので、質問する側の女性議員が独身であったために、自身が少子化対策を怠っている、というニュアンスであった。

だが、そういう女性だからこそ、働きながら子育てすることを選択せず、仕事に力を注ぐ立場だからこそわかる障壁や理由もあるのではないか。

そういう意味で、ヤジはまったくもって非本質的だし、無視されるべき内容だと思う。