画像認識の仕組みとは
天馬「では、ディープラーニングがどのようにして画像認識をしているかの説明をしよう。だがその前に、ディープラーニングが登場する前まで、どのような手法で画像認識をしようとしてきたかを説明した方が、理解が早いはずだ」
天馬「上の図を見てくれ。画像を認識させるとは、入力された画像を分類してラベルを付与することだ。つまり、リンゴの画像をコンピューターに入力して、リンゴに分類できたらコンピューターはリンゴを認識したことになる。ディープラーニングが登場するまでは、人が設計した画像の特徴を、入力画像から抽出して分類するしかなかった。
この画像認識の代表的手法がBag-of-featuresと呼ばれている手法だ。教師ありの機械学習アルゴリズムの一種で、画像特徴量を利用している。
同じ種類の画像なら、似たようなパーツを多く持っているはずだろう。そこで画像を細かく切り出し、似たパーツが多ければ同じ種類と考えたのだ。同じ種類の画像の、個々のパーツを集約して、ベクトル化したものが特徴ベクトルとなる。この特徴ベクトルを用いて機械学習させ、学習済みモデルすなわち画像識別器にしたのだ」
伴くん「天馬先生、画像を細かく切り出した後に、個々のパーツ同士を比較するのですね。そしたら全体像はまったく違っていても、個々のパーツが同じだと、同じ画像だと判定しそうな気がしますよ」
天馬「鋭いな。その通りだ。だから画像認識率は、この手法ではそれほど良くなかった」
猿田くん「しかしBag-of-featuresという名称は面白いですね」
天馬「これはBagつまり袋だな、この一つの袋に個々のパーツをバラバラと入れるからこのような名前になっている。このBag-of-featuresは、自然言語処理で定番の手法Bag-of-Wordsが名前の由来になっている。自然言語処理の分野では、その当時Bag-of-Wordsという語順を無視して言葉をバラバラにしてまとめた手法が、従来手法より精度がよく成功を収めていた。その考え方を画像認識に応用したのが、このBag-of-featuresだ。
では、この機械学習での手法と対比させて、ディープラーニングの画像認識方法を説明する」
天馬「先ほどの図と同じような構造にしているが、すでに説明したように、ディープラーニングの特徴は人手が不要の自己学習だ。機械学習では、画像特徴量の抽出方法を人が考える必要がある。しかしディープラーニングは、これを自動化できるのだ。ラベルの付いた教師データを、大量に入力すれば学習済みモデルが自動的に完成してしまうのだ」
愛さん「それはすごいことですね。でも精度の方は、どうなのでしょうか?」
天馬「世界的な画像認識コンテストだと、ディープラーニングが登場するまでは、エラー率が最高でも25%程度だった。ところがディープラーニングが登場すると、いきなり10%以上改善し、わずか数年で人間の認識率5%を凌駕してしまったのだ」
伴くん「そうですか、人間の眼よりいつのまにか良くなったのですね」