写在前面
最近准备使用深度神经网络来训练棋类模型,所以准备好好学习一下神经网络各种参数结构;重在使用,所以不会按照顺序详细讲解神经网络过程,本篇博客属于小白个人总结,大佬请直接忽视。
神经网络结构
DNN主要由很多层的神经网络,每一层中有很多个神经元组成;每个神经元 是神经网络最小组成单位,每个神经元由权重 W
和偏置 b
组成,W
为 [n, 1] 的向量,b为常数;每个神经元可以独自完成对输入数据 X
进行 XW+b
运算。如图是一层网络中一个神经元的结构:
矩阵表达
在每层神经网络中矩阵的表达方式为:Z = XW+b
参数 | 矩阵形状 | 矩阵向量注释 | 备注 |
---|---|---|---|
X | [n_batch, n_inputs] | n_batch:表示每次输入数据的条数;n_inputs:表示每条数据包含的特征数(Xi 的个数) | X数据每一行是一条数据,每一列是数据的一个属性 |
W | [n_inputs,n_neurons] | n_inputs:同上 ;n_neurons:表示该层网络的神经元数量 | W的每一列是每个神经元对应的w向量,每一行应该没有意义 |
b | [1,n_neurons] | n_neurons:同上 | 该层神经网络的每个神经元有一个偏置b |
Z | [n_batch,n_neurons] | 均同上 | 这里的Z为每一层神经网络的输出,每行为一条数据的n_neurons个神经元的不同输出,每一列为每个神经元对不同数据的计算输出 |
总结
每层神经网络中每个神经元都是对每条输入数据在不同属性上(Xi)采取不同的权重计算得到的结果。