Googleは今、厄介な問題を抱えている。同社が作った画像認識アルゴリズムはStreet Viewの画像から街区番号(番地など)を相当正確に読み取るので、ユーザにとってはたいへん便利だ。しかしこのアルゴリズムは、CAPTCHAの99%を解読してしまうのだ。ご存知のように、CAPTCHAはボット対策として、コンピュータには読めず、人間にしか読めない(はずの)ところにセキュリティ対策としての意味がある。
Googleのアルゴリズムは、Street Viewに写っている読みづらい街区番号(たとえば下図)を、90%の正答率で読む。そのことをGoogleは今日(米国時間4/16)公表した。GoogleのStreet ViewとreCAPTCHAのチームが発表した共同声明[PDF]によると、自然で不作為な写真の中にこの種のデータを認識することは、(ソフトウェア開発にとって)相当な難問だ。光も角度も焦点も多様で、真っ正面からきれいに撮れた写真はほとんどないからだ。でもGoogle Mapsの開発課題の一つとしては、街区番号を正確に読み取ることが重要だ。
画像認識の標準的な方法では、場所同定と分割と認識の三ステップが別々に行われるが、Googleはこれらのステップをすべて一体化して、”deep convolutional neural network“(DCNN) を用いる。DCNNは画像認識にとってとくに有効、とされているニューラルネットワークの方式だ。Googleが一般公開しているStreet View House Numbers(家屋番地)データセットを用いると、そのアルゴリズムの正答率は約96%になる。個々の文字のレベルでは97.84%の正答率だ。通常のStreet Viewの画像はもっと難しいから、90%の正答率にしかならない、とGoogleは説明している。
Googleによると、これまで世界中の1億近い街区番号の取り出しをこのアルゴリズムが可能にした。
Googleは、このアルゴリズムをテストするための独自のreCAPTCHAパズルを発表している。結果は、その相当難問のreCAPTCHAパズルに対して正答率は99.8%だった。CAPTCHAはコンピュータには読めないことを前提とするセキュリティ対策だから、この結果は驚きであるばかりでなく、人間の能力を超えているとも言えるだろう。ぼく自身も、CAPTCHAの解読能力はとても99.8%まではいかないだろう。
将来、DCNNのコードが誰でも簡単に入手利用できるようになれば、ブログのコメント欄をボットで荒らす連中が出てくるかもしれない。でもGoogleに言わせると、今のCAPTCHAは歪(ゆが)んだ文字を人間が単純に認識するだけでなく、特定のテキストを入力する、文字位置を指定するなど、より高度になりつつある。未来のCAPTCHAは、“人間とボットを区別できるための有効で多様な方法を用いるエンゲージメントのためのメディアに進化する”、とGoogleは言っている。
[原文へ]
(翻訳:iwatani(a.k.a. hiwa))