딥러닝에서 레이어란?
定義
ディープラーニングにおいて、線形変換 $L^{mn} : \mathbb{R}^{n} \to \mathbb{R}^{m}$はレイヤーlayer, 層と呼ばれる。
一般化
ディープラーニングにおいて、固定された $\mathbf{b} \in \mathbb{R}^{m}$に対して、アフィン変換 $\mathbf{x} \mapsto L^{mn}(\mathbf{x}) + \mathbf{b}$をレイヤーと呼ぶ。
説明
つまり、レイヤーというものは線形なベクトル関数を意味する。一方で、非線形なスカラー関数は活性化関数と呼ばれる。
これを層と呼ぶ理由は、何度も合成したものを視覚化したとき、層を重ねたように見えるためである。
$$ L^{n_{m}n_{m-1}} \circ \cdots \circ L^{n_{2}n_{1}} : \begin{bmatrix} x_{1} \\ \vdots \\ x_{n_{1}}\end{bmatrix} \mapsto \begin{bmatrix} y_{1} \\ \vdots \\ \vdots \\ y_{n_{2}}\end{bmatrix} \mapsto \begin{bmatrix} z_{1} \\ \vdots \\ \vdots \\ \vdots \\ z_{n_{3}}\end{bmatrix} \mapsto \cdots \mapsto \begin{bmatrix} v_{1} \\ \vdots \\ \vdots \\ v_{n_{m-1}}\end{bmatrix} \mapsto \begin{bmatrix} w_{1} \\ \vdots \\ w_{n_{m}}\end{bmatrix} $$
レイヤーと活性化関数を合成したものを人工ニューラルネットワークと呼ぶ。特に線形関数とステップ関数を合成したものを(単層)パーセプトロンと呼ぶ。レイヤーと活性化関数を「多く」合成したものを深層ニューラルネットワークdeep neural networkと呼び、深層ニューラルネットワークを利用して関数を近似することをディープラーニングdeep learning, 深層学習と呼ぶ。
種類
- 線形層
- 畳み込み層
- プーリング層