RN 010070

【ロボットの目】画像認識とディープラーニング

2020.07.01  | 
WRITER:
haruka
 

これまで画像認識の仕組みや、機械学習が画像認識でどのように行われているのかについて解説しました。

この記事ではディープラーニングに注目し、その仕組みや手法、近年の画像認識に与えた出来事について解説していきます!

画像認識とは

画像認識は画像/動画の中に何が映っているのか識別する技術であり、人間の「成長とともに自然と学習し、目に映ったものが何なのかわかるようになる」という能力をコンピューターで実現したものです。

その際、何が映っているのか識別できるよう学習していく=機械学習を行います。画像データを学習していくことで、新たな画像データを与えられたときに何が映っているのか識別できるようになります。

 

関連記事:【ロボットの目】画像認識とは―仕組み・流れを解説

AI/人工知能がもつ技術のひとつに機械学習があり、機械学習の手法のひとつにディープラーニングがあるというように、これらは包含関係にあります。機械学習には、大きく分けて教師あり学習・教師なし学習・強化学習という3つの学習方法があります。

 

関連記事:【ロボットの目】画像認識における機械学習

 

これを踏まえ、ディープラーニングがどのようなものなのか見ていきましょう!

画像認識とディープラーニング

機械学習の手法のひとつである「ディープラーニング(深層学習)」は、人間の脳の神経細胞の構造をコンピューターで模倣したニューラルネットワークをベースにしたもので、コンピューター自身が与えられたデータから自動で特徴を見つけ出すことができます。

 

機械学習では対象の特徴を定義してコンピューターに学習させていきますが、ディープラーニングでは必要ありません。そのためディープラーニングは″特徴を定義するのが難しいもの″を学習させるのに向いています。

ニューラルネットワークとは

人間の脳で行われる情報伝達の構造を模倣したものがニューラルネットワークです。人工ニューラルネットワークと呼ばれることもあります。

 

人間の脳には、電気信号で情報を伝える神経細胞=ニューロンと、ニューロン同士をつなぐ接合部分=シナプスがあります。ニューロンとシナプスにより情報伝達が行われることで、人間は見たものを認識することができます。

たとえば、「木を認識する」という行為を考えた場合、まず、木から反射された光が人間の目の網膜に到達し、そこで光が電気信号に変換される。この電気信号は、網膜の背後にある視神経に伝達され、そこから脳の視覚野にある神経細胞まで大量のニューロンが電気信号のリレーをすることによって初めて木の認識が可能となる。

 

(出典:ニューラルネットワークの「基礎の基礎」を理解する ~ディープラーニング入門|第1回

こうした構造を模倣したニューラルネットワークでは、ニューロンを「ノード(○)」、シナプスを「エッジ(―)」と呼びます。

ニューラルネットワークは入力層→隠れ層→出力層という流れで情報伝達が行われます。画像認識に当てはめると、入力層に画像データが入り、隠れ層で特徴の抽出が行われ、出力層に答えが出されます。

 

この隠れ層が多層であると″層ごとに別の特徴に注目″できるため、より複雑な学習ができるようになります。多層(※4層以上と言われている)になったニューラルネットワークのことを「ディープニューラルネットワーク」と呼び、こうした構造を持つ学習方法をディープラーニング(深層学習)と呼びます。

 

 

ディープニューラルネットワークの代表的な手法に、畳み込みニューラルネットワーク再帰型ニューラルネットワークがあります。

畳み込みニューラルネットワーク

畳み込みニューラルネットワーク(DNN:Convolutional Neural Network)は視覚をモデルに作られており、画像認識分類を得意とします。

CNNは畳み込み層プーリング層が繰り返している構造を持ち、そのあと全結合層に送られ、答え(出力)を出すという仕組みがあります。その仕組みを順を追って解説します。

 

 

1.入力層に画像が読み込まれ、「畳み込み層」で画像の特徴を抽出する処理を行う

畳み込み層には画像から特徴を抽出する役割があります。

入力層で読み込んだ画像はスキャン(※画像内の枠部分・ここでは3×3のピクセル)されます。これを1ピクセルずつずらして画像全体のスキャンを行うことで、画像の中でどこに注目すべきか=特徴の抽出が行われます。

また、各ピクセルには隣り合うピクセルとの関係が強いほど大きい数値が与えられます。

 

2.処理された情報を「プーリング層」に取り込み、さらに特徴を抽出する

プーリング層は、畳み込み層で画像全体から抽出した特徴から″最大値を抽出″したり″平均値を抽出″して、さらに特徴を抽出する役割や、対象の位置がずれていても認識できるようにする役割があります。

 

【最大プーリング】

上記の画像で、猫の目にあたるピクセルが最も大きい数値を持っていたとしましょう。この場合、3×3のピクセルからさらに抽出されるのは猫の目部分のピクセルということになります。

【平均プーリング】

3×3でスキャンしたそれぞれのピクセルが持つ数値を平均にします。

 

こうして「最大プーリング」あるいは「平均プーリング」して出された特徴は、元の画像データよりも小さな画像データとしてまとめられます。

畳み込み層・プーリング層を何度か繰り返すことで特徴を細かく捉えることができます。

 

 

3.集めた特徴を全結合層へ送り、出力する

元の画像から畳み込み層→プーリング層へと特徴の抽出を重ねてきました。全結合層はこれまで抽出した特徴を1つのノードに結合する役割があり、これにより何が映っているのか分類=精度の高い画像認識ができるようになります。

再帰型ニューラルネットワーク

再帰型ニューラルネットワーク(RNN:Recurrent Neural Network)は時系列データを扱うことが得意です。例えば文章、音声、売上の推移など、連続していくものを予測するのに向いています。

時系列(じけいれつ、英: time series)とは、ある現象の時間的な変化を、連続的に(または一定間隔をおいて不連続に)観測して得られた値の系列(一連の値)のこと。

 

時系列解析や時系列分析はそのような時系列を解釈するための手法であり、データ列の背後にある理論(なぜそのような時系列になったのか?)を見出すか、予測を行うためのものである。時系列予測は、既知の過去の事象に基づいて将来のモデルを構築し、将来ありうべきデータポイントを測定前に予測することである。例えば、株式の過去の価格推移から将来の価格を予測することなどが挙げられる。

 

(出典:Wikipedia|時系列

RNNもニューラルネットワークの基本である入力層→隠れ層→出力層という構造ですが、このうち隠れ層の部分で、後に続く層にデータを渡す際だけでなくもう一度同じ層でデータを処理するという特徴があります。

深層学習×強化学習=深層強化学習

「深層学習」は特徴を見つけ出すことができ、「強化学習」は試行錯誤して将来的な価値を最大化することができる学習方法でした。さらに、これらを組み合わせた深層強化学習があります。

深層強化学習は、正解を人が明示しにくいものを学習するのが得意です。その仕組みを車の運転を例に解説します。

 

人間が車を運転するときには、メータを確認したり人が飛び出してこないかなど周辺の状況を見る「認知」、車間距離が短いなどと感じる「判断」、状況に応じてスピードを落とすなどの「行動」があります。

これを強化学習に当てはめると、認知・判断・行動で起こった結果=報酬の良し悪しをもとに正しい運転を学習していくことになります。

車間距離が短いからと急ブレーキを踏めば、後ろの車が追突してくるかもしれませんよね。かといって、そのままのスピードで走り続ければ前の車にぶつかるかもしれません。どのように運転すればよいかということを報酬から学び、学習を重ねてより良い運転に近づけていくとイメージするとわかりやすいかと思います。

 

そして、この「行動」に深層学習が持つニューラルネットワークを応用したものが深層強化学習です。

自動運転では、周辺の状況などを把握するのにカメラ画像から特徴量を抽出する作業が必要です。これには画像認識が得意な畳み込みニューラルネットワークを応用します。また、画像の特徴などから適切な操作を予測する必要もあり、これには時系列データを扱うのが得意な再帰型ニューラルネットワークを応用します。

ここまで、ディープラーニングの仕組みや手法について解説しました。人間は顔やモノを覚えるときにその特徴を見つけますが、画像認識が得意なCNNも同じように特徴を捉えることで識別しています。人間っぽい処理が行われていて面白いですよね。

 

さて、近年の画像認識の急速な精度向上や、ディープラーニングがこれほど注目される背景には何があったのでしょうか。それは、2012年に起きたある出来事が大きな影響を与えています。

「Googleの猫」と「ILSVRC」

2012年6月、Google X Labs(現在:X)は、YouTubeから無作為に選んだ猫の画像を学習させた結果、コンピューターが「猫」を認識する能力を自ら身につけたと発表しました。1,000万枚にも及ぶ猫の画像を1万台のコンピューターで3日間学習させたといいます。

 

当時はまだ特徴量を定義する「教師あり学習」が一般的だったため、人の手で″これは猫だよ″と定義しない=教師なし学習で認識できるようになったということは衝撃的でした。

(出典:Google Official Blog|Using large-scale brain simulations for machine learning and A.I.

 

同じく2012年に行われたコンテスト「ILSVRC 2012」も、ディープラーニングの研究が盛んになった出来事のひとつです。

『ILSVRC(ImageNet Large Scale Visual Recognition Challenge)』は、物体認識の精度を競うコンテストです。大量のカラー画像を提供するサイト「ImageNet」は画像ごとに特定のカテゴリーに分類されているのですが、『ILSVRC』では同サイトのカラー画像をどのくらい高精度にカテゴリー分けできるかを競います。

 

2012年に行われたコンテストでは、カナダ・トロント大学のチームが発表したディープラーニングが1位を獲得しました。注目したいのはエラー率(誤認)の低さで、従来の方法ではエラー率が26%だったのに対し、トロント大学のチームはエラー率17%という結果に!これ以降のコンテストではディープラーニングを使うチームが増えるほど影響力のあるものでした。

 

 

 

画像認識の仕組み機械学習、そして今回のディープラーニングと3つに分けて解説してきました。画像認識がどのように行われているのか知るきっかけになれたら嬉しいです。

今後もロボットやAIなどワクワクするテーマをお届けしていきます!

thank you

この記事に関連するタグ

広告主募集
TARA
上に戻る