人工知能が東大に入るときの難所。

 一部で話題になっている「ロボットは東大に入れるか」(国立情報学研究所「人工頭脳プロジェクト」)であるが、私の周りでは専門外の方々の反応の大多数は「当然入れる」というものだった。私の直感では「難しい」ということになっているので、ここでは何が難しいのかということを簡単に書く。具体的に書くつもりはない。

 おそらく「当然入れる」と思っている人は、無意識のうちに「コンピュータを使えば当然入れる」と思ってしまっているのだろうと思う。さらにいえば、「人間がコンピュータを使えば当然入れる」と思っているはずである。その上で、「人間がいてもいなくてもコンピュータなら当然入れる」と推論してしまって、結論として「コンピュータなら当然入れる」と思ってしまうのだろう。でも、人間がいるかいないかというのは非常に大きな問題であり、その部分こそがこのプロジェクトの肝である。

 仮に、人間がコンピュータを使って受験することを考えよう。このとき、人間はまず問題文を読む。そして、コンピュータに必要な情報を入力し、解答に関する出力を得る。この出力をもとに人間は解答を書く。このとき人間は、問題文をコンピュータに分かるかたちに直すという作業をしている。そして、コンピュータの出力を人間に分かるかたちに直すという作業もしている。この人間がやっている「問題文の読解」「解答文の作成」こそが機械にとって難しい部分である。今回のプロジェクトはほぼこの二点へのチャレンジだと思ってよい(と書くといろいろと文句をいわれそうだが、そこが最も難しいところである)。

 コンピュータは確かに掛け算も足し算も即座に計算する。難しい微分方程式を即座に解いてくれたりもする。チェスで人間のチャンピオンにも勝った。クイズでも人間に勝った。人間にとって難しいことをことごとく成功させてきた。一方で、人間にとって簡単なことの多くはまだできないのである。自動車は時速百キロで走ることができるが、ロボットの二足歩行はまだまだ不自然であるし、「けんけんぱ」(片足飛びの遊び)などに至ってはまだまだ無理である。同じように、東大の入試よりもむしろ小学校の理科の方が人工知能にとっては難しいはずだという話もキックオフシンポジウムでは出た。さらにいってしまえば、幼児はものすごく速く母語(母国語)を憶えていくが、人工知能はまだまだ憶えることができない。そう、機械にとっての難しさは、ほぼ人間の感覚とは逆なのである。

 今回のプロジェクトが成功したら、人工知能の研究者はさらに「(人間にとって)簡単な」問題に取り組むだろう。それを素晴らしいと思うか滑稽だと思うかはあなたの自由である。

音声認識の得意なことと苦手なこと。

 年に数回くらい「音声認識でこんなことはできますか」という趣旨のメールが来るので、やりやすいこととやりづらいことを書いておこうと思う。なお、これは現時点での技術状況であり、将来どうなっているかは分からない。

1.大量データは得意。
 やはり機械なので、大量のデータの処理には向いている。別に少量のデータでも精度が変わることはないが、少量のデータなら人間がやった方が精度がいいので音声認識の導入はあまり意味がない。

2.雑音に弱い。
 マイクと口の距離が近ければ周りの音はさほど問題にならないが(携帯電話など)、距離が離れると相対的に周りの音が大きくなるので精度が落ちる。ただし、雑音の種類が分かっている場合には(車の走行音など)、事前に準備ができるため、そこまでひどく精度が落ちることはない。

3.話し手が分かっていると助かる。
 機械にとって別の人の声は同じことを喋っていても別の音なので、人による声の違いに対応するということを今の音声認識はしている。この対応の戦略は大きく分けて二つあり、一つは音声認識使用者の声に合わせるというもの。もう一つは少々精度を犠牲にして多くの人の声に対応するというもの。もし、話し手があらかじめ分かっていたり(ニュース読み上げ時のニュースキャスターの声など)、事前にある程度の時間をかけて機械に声を憶えさせたりすることができれば、精度が上がる。

4.語彙が限られていると助かる。
 今の音声認識は「ひらがな→単語」ということをしておらず、最初から単語単位で認識している(10年以上前からそうしている)。理解しがたいと思うが、とにかく単語単位の認識である。逆に言えば、基本的には限られた数の単語しか正確に認識することはできない(いろいろと例外はある話だが)。認識対象の単語の数が少なければ少ないほど認識精度は上がる。つまり、話題が限られているときの方が精度が上がる。

5.構文が限られていると助かる。
 「4」の続き。その単語は基本的に自由な順番で喋って問題ないが、日常会話のようなくだけた語順よりは、ニュースのようなきちっとした語順の方が精度が上がる。これは、単語と単語のつながりを機械が考慮しているため。

6.誤りを許容することが重要。
 音声認識は人間よりも聞き誤りが多い。どうしても誤りが生じるので、誤りが生じて困るタスクには適さない。誤りが許容できるタスクや、誤りをあとから人間が逐一修正できるタスクに使うのが適切である。

 以上、6点書いた。これを読むと結局どうにも使えないような気分になるが、意外と需要があったりする。肝はやはり最初に書いた「大量データ」である。どういうときに表計算ソフト(エクセルなど)を使い、どういうときに手計算をするかということを考えると、使い道が分かる。

モンテカルロ5五将棋の試み、その2。

 本日の日記は現在作っている5五将棋棋譜である。技術的な説明はせず、単に棋譜を載せるだけである。メールやtwittergoogle+での反応や要望を見て今後どこまで技術的な説明をするかを考えるつもりである。反応が薄ければ説明はしない(前回のどうぶつしょうぎのやつとあまり変わっていないから)。なお、将棋のモンテカルロ法に手を出した最初の記事はこれ。

 先手が現在作っているモンテカルロ法のものであり、後手は評価関数が駒割のみの単純なmin-max4手読みである。モンテカルロ法の1局面のプレイアウト回数は1万回である。50回対局させてみたところ、先手の28勝だった。先手と後手はおよそ互角である。先手と後手を入れ替えての対局はしていない。

 以下、棋譜。空白などがずれる人は、エディタにコピーアンドペーストしてください。整形などはしていないので余計な文字列が入っていたりしますが気にしないでください。なお、この棋譜に関してはご自由にお使いください(使う人はいないと思いますが)。モンテカルロの指し手を見た感じ、プロ棋士の山崎七段みたいだなあと思った。思っただけ。私のモンテカルロの方が全然弱いけど。

続きを読む

倫理学の人と喋った。

 将棋関連の知り合いに若手倫理学者がいたので、なんとなくskypeで喋って録音してみました。いわゆるラジオです。

 聞き返してみて、私は話を聞くのが下手だなあと思いました。リアクションが単調。全くの専門外の分野の話だとやっぱり話の聞き方が浅くなりますね。あと、全部で50分あるのですが、さすがに長いなと思いました。




フォルマントの情報量と日本語五母音。

 本日の日記は音声の母音についてのどうでもいい話である。専門用語多め。

 しばしば母音を語るときに第一フォルマントと第二フォルマントの二つで表すことを前提として話が進められることがあるが、このところ母音をいろいろと触っていて日本語五母音をたった二つのパラメータで表すのは無理なんじゃないかという気がしてきた。フォルマントという概念が悪いとかいうことではなく、「たった二つのパラメータ」というところがポイントである。

 文系でも理系でも多くの研究で第一・第二フォルマント平面の図が使われており、物理モデルを考えてみても長さ20cm程度の管なら共振点の数はそれくらいでいいだろうということになっているが、私の感覚ではそれでは弁別のためのパラメータが足りない。

 このところスペクトルから日本語の母音を読み取る作業をしているのだが(その作業が目的ではなくほかの目的のためにしている)、「あ」と「お」は非常に区別がつきづらい。私がスペクトルから母音を読みとるときに見るポイントは二つあるのであるが(フォルマントではない。どこを見ているかは書かない)、スペクトルを見て「あ」だと思ったら耳では明らかに「お」だったこともあるし、その逆だったこともある。いっそのこと、日本語から「お」が消えてくれれば音声認識がしやすくなるのにと思ったりもする。または、「あ」が消えてくれてもいい。スペクトルから読み取れる情報量に対して日本語の母音数というのは多いんじゃないかという気になってくる。日本語「4」母音ならどれほど嬉しいことか。何か自分には見えないパラメータがどこかにひそんでいるんじゃないかという気になってくる。どこにひそんでいるのか。

 そういうことを考えていて、音声波形(時間軸に振幅が並んでいる最も基本的な波形)を見ていたら、「あ」と「お」の区別がつくことに気づいた。スペクトルは似ているのに「あ」と「お」の音声波形はかたちが全然違うのである。言葉では言いづらいのだが、「あ」と「お」は違う。強いていえば、「あ」の方がゼロ交差回数が多い(とも言い切れないが)。これだけ違うとスペクトルに現れてくれてもいいはずなのに、スペクトルからはほとんど読みとれない。

 波形からスペクトルにするときに意図せずパラメータが何か消えているんじゃないかという気がしている。