在构建深度学习神经网络结构的时候,由于网络的拓扑结构比较复杂,包括比较多的层次(hidden layer),以及每一层又有许多activation(neuron)单元组成,因此在计算forward以及backward propagation时,为了减少不必要的错误,最好对其中的每一层的input/output matrix的dimension有个底,也对每一层的input/output结构有更好的理解。
为了更好地表述,一般需要统一一下用到的一些符号,以及其代表的意义。下面以一个5层的神经网络结构为例子:
Denotation
- L :整个网络的层次,上图就是一个5层的神经网络,它包含4个hidden layers, 一个output layer,通常input 层不计算在L里面,当然也可以认为它是第0层。
- ℓ :(小写L),表示当前是第几层。
- m:有多少个training/test example
- nx :每一个training/test example有多少个feature, 上图 nx =2 ( x1,x2 )
- n[ℓ] :第 ℓ 层有多少个activation unit, 比如上图中 n[1] =3, n[2] =5, …, n[5] =1, 其中 n[0] = nx =2
- W[ℓ] : 第 ℓ 层的parameters, 用来计算第 ℓ 层的activation unit (Z=WX+b)
- b[ℓ] :第 ℓ 层的校正量(bias), 同上用于计算Z函数
- Z[ℓ] :Forward propagation的线性输出, Z[ℓ] = W[ℓ] A[ℓ−1] + b[ℓ] , 其中第一层 Z[1