第42回はディープラーニングの基盤となっているニューラルネットワークについて解説しました。今回は、ディープラーニングの概要と活性化関数についてです。

ディープラーニング

ディープラーニングは、図1のように多数ニューロンを何層にも重ねたものです。ニューラルネットワークでは、出力層(n層)の出力と正解値を比較して、その誤差を出力層から入力層(0層)に向けて伝搬していくことで重みを更新します。この学習方法は「誤差逆伝搬法」と呼ばれています。例えば、0層目に顔画像を入力し、出力層で写っている人の年齢を推定するとします。出力値yiが20であったとすると、正解値の37歳との誤差は17となります。この誤差が小さくなるように誤差を伝搬して重みwを更新していきます。この誤差逆伝搬法による重みwの更新を繰り返すことで正解値に近い出力が得られるようになります。

図1 ディープラーニングと誤差逆伝搬法

活性化関数

第42回で解説したとおりニューラルネットワークは神経細胞を参考に考案された手法で、その概略図は図2の通りです。このニューロンを多数連結し、何層にも重ねたものが図1のディープラーニングです。

x1からx4 の入力に、重みw1からw4が掛け合わされ、入力信号の総和uが計算されます。そして、入力信号の総和uに基づいて出力信号zを出力します。総和uから出力zを求める関数は活性化関数f(u)と呼ばれています。数式で書くと、

u=w1x1 + w2x2 + w3x3 + w4x4+b
z=f(u)

です。この活性化関数f(u)は、生物の神経細胞が持つ性質と同様に、総和uが大きいときに大きな値を出力します。

図2 各ユニットの入出力

活性化関数には、「ロジスティックシグモイド関数」、「双曲線正接関数」、「正規化線形関数」があります(図3)。正規化線形関数が、計算量が小さく学習速度も早いということから近年良く使われています。

図3 代表的な活性化関数

また、前述の年齢推定のように連続値を求める場合は、1以上の連続値を出力する必要があるため、出力層の活性化関数に恒等写像z=uを用います。

著者プロフィール

樋口未来(ひぐち・みらい)
日立製作所 日立研究所に入社後、自動車向けステレオカメラ、監視カメラの研究開発に従事。2011年から1年間、米国カーネギーメロン大学にて客員研究員としてカメラキャリブレーション技術の研究に携わる。

日立製作所を退職後、2016年6月にグローバルウォーカーズ株式会社を設立し、CTOとして画像/映像コンテンツ×テクノロジーをテーマにコンピュータビジョン、機械学習の研究開発に従事している。また、東京大学大学院博士課程に在学し、一人称視点映像(First-person vision, Egocentric vision)の解析に関する研究を行っている。具体的には、頭部に装着したカメラで撮影した一人称視点映像を用いて、人と人のインタラクション時の非言語コミュニケーション(うなずき等)を観測し、機械学習の枠組みでカメラ装着者がどのような人物かを推定する技術の研究に取り組んでいる。

専門:コンピュータビジョン、機械学習