オムライスの備忘録

数学・統計学・機械学習・プログラミングに関することを記す

【深層学習】ディープニューラルネットワーク



この記事では、ディープニューラルネットワーク (Deep Neural Network : DNN)の基礎概念のまとめを行います。
「これから、機械学習ディープラーニングの学習をしたいから、その基本となるディープニューラルネットワーク (Deep Neural Network : DNN)の理解を深めたい」という方に向けた記事になります。





この記事では、ディープニューラルネットワーク (Deep Neural Network : DNN) アーキテクチャレイヤ視点で考えていきます。

目次

一言でDNNとは

ニューラルネットワーク関数を複数連結させ、層を深くしたニューラルネットワーク多層ニューラルネットワークと同義。


構成要素

ディープラーニングには、様々なアーキテクチャがありますが、最も基本的なアーキテクチャを考えます。
以下レイヤ視点から見た基本的なアーキテクチャです。





アーキテクチャの構成要素は以下の3つです。

  • アフィン変換レイヤ (Affine Layer)
  • 活性化関数レイヤ (Activation Function Layer)
  • 誤差関数レイヤ (Loss Function Layer)


アフィン変換レイヤ (Affine Layer)

積と和の計算で線形変換を行います。



* 「全結合レイヤ (Fully Connected Layer)」とも呼び、
「全結合レイヤ (Fully Connected Layer)」 、「活性化関数レイヤ (Activation Function Layer)」、「誤差関数レイヤ」
のみで構成されたモデルを「全結合モデル」と呼びます。



活性化関数レイヤ (Activation Function Layer)

入力に対し、活性化するかどうかを決定します。
非線形関数を使用することが多いです。
予測を出力する最後の活性化関数は、タスクに応じで変更されます。



例 : シグモイド関数 / ステップ関数 / ReLu関数 / ect...



誤差関数レイヤ (Loss Function Layer)

予測と正解(ラベル)から誤差を計算します。 誤差の計算方法は、タスクやアーキテクチャなどにより異なります。



まとめ

この記事では、DNNの基本的なアーキテクチャをレイヤ視点での構成要素をまとめてみました。

また、関数の定式化は別の記事にまとめております。

yhayato1320.hatenablog.com

参考

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

  • 作者:斎藤 康毅
  • 発売日: 2016/09/24
  • メディア: 単行本(ソフトカバー)