あなたが書いた数字を、人工知能は正しく認識できるか? – 第2回(全4回)

人工知能が画像を認識する方法

手書き数字の画像や、音声、小説、ツィートなど、コンピューターに理解させることを前提としていない情報をコンピューターに与えて、人間のような認識をさせたい場合、大別して2種類の実現方法があります。

1. 不要なデータを捨てる

これらの入力は、一部の情報が欠落しても認識結果に影響を及ぼしません。例えば、下図の中央の画像は、左の画像の4分の1の情報量しかありませんが、人間にはどちらも問題なく認識できます。左の画像の全ピクセルが、数字の認識に欠かせない訳ではないのです。

不要なデータを切り詰め

入力データから不要な情報を極限まで取り除くと、認識に欠かせない僅かなデータだけが残ります。(画像の縮小はほんの一例で、他にも様々なやり方があります)データ量が少なくなる事で、取り得るパターン数も劇的に少なくなる為、コンピューターが認識しやすくなるのです。

とはいえ、切り詰めすぎると、図の右端の画像のように必要な情報まで失ってしまい、認識できなくなります。このさじ加減は、解こうとしている問題の種類や入力データの形式などによって異なります。

2. 様々なデータを収集して「統計」を作る

28×28ピクセルの白黒画像を例にとると、ピクセル列の取りうるパターン数は”2の784乗”という途方もない数になります。しかしながら、もし仮に、世界中の人々から同じサイズの手書き数字を収集できたなら、ほとんどのパターンには該当する人がひとりもいないと予想できます。収集データの統計を取ると、以下の図のようになる筈です。
統計のイメージ
数字を書く人は誰でも、子供の頃に覚えたアラビア数字の字体をイメージしているので、これは当然の結果です。そして、この分布のバラつきは、数字を認識する上で大変役に立ちます。
”字体”の概念など知る由もないコンピューターであっても、様々な手書き数字を事前に収集して統計を作成しておけば、入力画像と統計のマッチングにより、その入力画像がなんの数字を表しているか判別できるようになるのです。
入力データと統計のマッチング
ここでは分かりやすさを優先して、縦横2軸で表現できるシンプルな統計で例えました。実際のAIは、これよりもっと多種多様で複雑な統計を使用していますが、認識方法の本質に変わりはありません。

 人工知能のシステム構造

実用的な人工知能は、大抵、1と2の両方を組み合わせて使っています。素の入力データから不要な情報を取り除いた後で、統計を作成するのです。こうすると、どちらか一方を用いるよりも高い精度で分類できます。

本記事のデモも同じアプローチを採用しています。いろいろな処理方式を試して、その認識精度を評価しました。次回は、その評価結果について説明したいと思います。

あなたが書いた数字を、人工知能は正しく認識できるか? – 第1回(全4回)


まずは体験!

早速ですが、手書き数字を人工知能で認識するデモ を試してみてください。(今回の記事の為に、私が作成しました)
おそらく、100%近い確率で、あなたの手書き数字を正しく認識できたのではないでしょうか?(わざと下手な字で書いてみるのも面白いです。人間みたいな間違え方をします)
 (※公開終了しました。下の画像はデモ画面のスナップショットです。マウスで描いた数字を認識します )
手書き数字を人工知能で認識するデモ(自作)

はじめに

このデモには、人工知能(AI)が使われています。近年巷を賑わせている、自動車の自動運転や囲碁ゲーム(Alpha Go)、スマホの音声アシスタントなどに搭載されているアレです。

ただ、私たちが普段目にする「人工知能」関連のニュースは、過剰なアピールや不安を煽る記事が多いので、人工知能の技術的本質への理解を妨げている気がします。

本記事では、非研究者・非エンジニアの方でも理解できるように気をつけながら、人工知能のカラクリを具体的に解説します。長文なので、全4回に分けて掲載する予定です。人間はAIとどう共存していくべきか・・みたいな、大袈裟で抽象的な話は一切しません。

 画像認識の難しさ

先ほどのデモの内側で、どんな処理が行われているか想像つきますか?コンピューターの目線に立つと、下記のような分類処理をしています。

コンピューターから見た画像の認識方法

理論的には、あらゆるピクセルの組み合わせを事前に用意しておけば、機械的なマッチングにより100%正確に分類できます。とはいえ、組み合わせパターンは無限にあるので、現実的ではありません。(28×28ピクセルの小さい白黒画像でさえ、パターン数は”2の784乗”という途方もない数になります)

手書き数字の場合、同じ数字であっても、ヒトによって書き方が違います。同一人物が同じ数字を書いた場合でさえ、1ピクセルのズレもなく同じ書き方になることはまずありません。従って、「33番目から48番目のピクセルが「白」だったら”5”」などといったルールを予め設定しておくこともできません。

ヒトとコンピューターの認識の違い
人工知能は、 このような”あいまい”な入力から、入力者の意図を汲み取る技術と言えます。
次回(第2回)は、この”あいまい”な入力を、コンピューターで処理する方法について説明します。

ドライブシミュレーターが臨場感ありすぎ

11月9日に、フロンティア21 エレクトロニクスショー 2016へ行ってきました。

主に制御系のいろいろな製品やサービスの紹介やプレゼン発表、講演会を行う
イベントなのですが、大学の研究室からの出展も幾つかあり、面白かったのでご紹介します。

実映像型運転評価シミュレーター

愛知県立大学 情報科学共同研究所 小栗河中研究室」から出展されていたのは、CGではなく、実際に撮影した映像を用いたドライブシミュレーターです。
ドライブシミュレータの仕組み
単純な仕組みでありながら、実際に運転している錯覚に陥るくらいリアルに感じられる事に驚きました。私が自動車教習所でCGのシミュレーターを使った時には、こんな感覚は得られませんでした。最近は写真並みの精細なCGが当たり前になってきましたが、実際に撮影した動画のリアリティには敵わないですね。
体験させて頂いたデモでは、左右10度くらいしか視点を変えられず、進路も決め打ちなので変更できませんでした。ブレーキをかけると、動画の一時停止と同じ状態になる為、周りの歩行者や車も全て止まります。でも、それらの課題はアプリの作り込みで十分解決出来ると思います。
自動車教習所への導入を目指しているそうですが、自動車教習所側に、現状のCGシミュレーターを置き換えたいニーズがあるのか個人的には疑問です。観光PRとかの方が需要ありそうな気がしました。
これだけの臨場感を出せるシミュレーターに、とても可能性を感じました。