ディープラーニング 機械学習(その4)

【機械学習とは 連載目次】

 

 前回のその3に続いて解説を続けます。

1. ディープラーニング

 ディープラーニング(深層学習)の名前が知られるようになってきたのは2000年代と記憶しています。大元になっているのはニューラルネットワークであり、実は日本人の福島さんという方が1980年代に考案したネオコグニトロンが発祥といわれています。

 現在では、この中間ノード層(隠れ層)のノード数、階層の数も多くなってきました。2012年に googleの猫で話題になったときの構造 GoogleNetは次のようなもので、バックプロパゲーションでの勾配消失を防ぎ、特徴を検出するために1レイヤ中でいくつかのフィルタリングを並行的に行なっているなどの工夫がなされているのが分かります。

2. 基本的処理は四則演算

 ディープラーニングは一体何をしているのでしょう。これを理解するために今、次のような簡単なニューラルネットワークがあるとします。

 ここで計算がどのように行われてゆくかを下記に示します。

 最後の出力層では次のようになります。

 隠れ層のノードに対して左から右に向かって計算をしますが、基本的に掛け算と足し算というような単純な計算の繰り返しになります。左側からデータを入れて出力計算をしますが、教師あり学習の場合、出力結果、つまり答えがどれになるのかが分かっていますから、その答えになるようにw11などの重み係数を調整し...

てゆくわけです。

 上図の場合、例えば答えが y1が正解で y2は不正解とすると、最終的に得られる y1=1、y2=0になるように、w11、w21など途中段階の係数を微調整してゆくというイメージです。その微調整をどう行うのかというところが、ディープラーニング発展の歴史の中で考え出されてきた様々な工夫ということになります。バックプロパゲーションがその代表です。

↓ 続きを読むには・・・

新規会員登録


この記事の著者