Smile Engineering blog ( スマイルエンジニアリング・ブログ )

ジェイエスピーからTipsや技術特集、プロジェクト物語を発信します

ディープラーニング~Deep Learning(深層学習)【学習編】

2015-07-07 12:07:20 | 最新技術動向展開
人工知能の分野で非常に大きな注目を集めている技術です。
ディープラーニングとは、
“ニューラルネットワークを使ったパターン認識技術”です。
今年の5月末頃に発表された“Google Photos”の写真の自動分類を実現している技術です。

ではでは、少しずつ噛み砕いて理解していきましょう。
“ニューラルネットワーク”とは何でしょうか。

ニューラルネットワークとは、脳内の神経回路のネットワークモデルをコンピュータ内で実現しようとしたものです。
脳内には多数のニューロンと呼ばれる神経細胞が存在します。
ニューロンは信号の送受信を双方で行いあうことで、情報処理を行っています。
このモデルをコンピュータ内のネットワークに実現したものがニューラルネットワークです。
複数のニューロンがつながったメッシュの構造をイメージされたかもしれません。
イメージはあっています。特徴的なのが“3種類の層”です。
(そもそも私が図示すればわかりやすいのですよね・・・次回は図を描きますね。)

入力層、隠れ層、出力層の3種類の層(役割)が存在します。
入力に対して単純な変換処理を繰り返し、繰り返し、最後に出力する。
このような処理を3種類の層でこなします。
先に登場した“Google Photos”の写真の自動分類を例に説明します。
入力として画像(写真)が渡され、単純な変換処理を繰り返し繰り返し繰り返し、
最後に「この写真はXXで撮られた写真だ!」といった予測結果を出力する。
このような処理が入力層、隠れ層、出力層の3種類の層で行われます。

「繰り返し繰り返し繰り返し・・・」と記しましたが、この部分が隠れ層の役割になります。
隠れ層は1層ではなく、何層にも重なった構造になっており、この層の重なりが
ニューラルネットの処理精度の向上のポイントとなります。
何層も何層も、深い構造に。
“深い”というキーワードが登場しましたね。
これが、ディープラーニングという名前の由来でもあります。
ディープラーニングでは何層にも重なって構成されたニューラルネットワークが肝ということです。

何層にも重なったニューラルネットワークがあれば、写真の自動分類も簡単にできそうですね。
さて、このニューラルネットワークはどのように構築するのでしょうか。

そもそもニューラルネットワークは、“学習”と“利用”という概念があります。
先に登場した何層にも重なったニューラルネットワークは“学習済みニューラルネットワーク”とも呼ばれます。

このニューラルネットワークを構築(学習)する方法が大きく分けて2つあります。
この方法を簡単に説明しますと、学習する際に“講師”がいるかいないかの2通りです。

“講師”とは学習する際の見本のようなものです。
入力データを与えてニューラルネットワークを学習させますが、この入力データを与える際に、
「これはこのような分類のデータですよ」といったように教えながら学習させる方法が“講師付き学習”です。
「君たち、自分で学ぶんだぁ!」という方法が“講師なし学習”です。
「先生が教えてくれないと・・・」なんて私は思っていましたが、講師なし学習の手法として
“自己組織化マップ”というモデルも存在します。すごいですね。
自分で覚えられるのですね。「背中をみて育て!」といった職人さんの感覚ですね。
以上、ニューラルネットワークの“学習”についてでした。

次は“利用”について。
“利用”についてはディープラーニングの次回号で記載したいと思います。

monipet
  動物病院の犬猫の見守りをサポート
  病院を離れる夜間でも安心

ASSE/CORPA
  センサー、IoT、ビッグデータを活用して新たな価値を創造
  「できたらいいな」を「できる」に

OSGi対応 ECHONET Lite ミドルウェア
  短納期HEMS開発をサポート!

GuruPlug
  カードサイズ スマートサーバ

株式会社ジェイエスピー
  横浜に拠点を置くソフトウェア開発・システム開発・
  製品開発(monipet)、それに農業も手がけるIT企業