1.神经元与矩阵
神经元类似人的大脑神经,对于一个事件人会从不同角度分析,并且每个角度都有各自的权重。深度神经网络中的神经元也是类似wij代表xj在第i个神经元上的权重,b表示该神经元的偏置值。
根据上述公式,不难得出:
而r1, r2, r3又是新一的全连接层,重复上述做法可得:
其中,b为本层偏置值,ci(i=1, 2, 3)为ri(i=1, 2, 3)对应的权重。
仔细观察不难发现,推导公式可由矩阵乘法表示:
2.激活函数
上述运算结果可以得出:无论有多少层全连接层,神经网络有多深,单纯的线性关系都可以使得最终的写成若干向量的和。显然这样形成的y=f(x)都是线性函数无法解决大多数问题。因此我们需要引入激活函数。
激活函数一般为非线性,因此最终的神经网络也可以逼近非线性函数。常见的激活函数有:
a.sigmoid函数:
b.relu函数:
例如sigmoid函数,含有,故可以无限阶求导,这是一个十分重要的特性。
3.神经网络
1>参数
b为一个数,记录了当前层神经元的偏置,为记录了本全连接网络层与上一层每个神经元之间的权重的行向量。为激活函数,函数内是一个列向量。b是表示上一层全部神经元偏置列向量,W是记录了上一层与上上层之间神经元的权重的矩阵,x是上上层神经元的列向量。
2>模型架构
3>深度学习训练过程
事实上,神经网络架构应有若干层上述模型。这里对一层内容进行分析。
a.xi根据 1 中算法得出ri。
b.在此基础上将结果放入激活函数运算得到ai。
c.重复a中算法与本层权重求内积,加上最后的偏置得到。
一个简单的两层神经网络计算公式如下:
i代表上图中a的下标范围[1, 3],j代表r的下标范围[1, 3]。
上述过程中,由x1, x2, x3计算得到称为前向过程,而经过前向过程后,需要使用第0节中涉及到的梯度下降算法(Gradient Descent)进行梯度回传,也叫反向传播过程。
对每一个公式中的参数分别求偏导,以w为例,w不断减去学习率与偏导数的积使其尽可能达到取得梯度的点。不断调整学习率,使得目标函数尽可能契合
4.名词
a.神经元:神经网络中的节点(Neuron)。
b:fc:Fully Connected Network全连接网络,全连接网络由若干个全连接层构成。
c.过拟合和欠拟合:
过拟合(Overfit):在训练过程中,训练函数将每一个点尽数包含。斗折蛇行,适得其反,难以对新数据准确预测,即界外预测能力差。一般模型太深就会造成过拟合。
欠拟合(Underfit):达不到较为精准的预测,一般归因于模型太浅。