神经网络基础概念
神经网络基本结构
神经元模拟
模拟人脑神经元(Neuron)的工作,定义逻辑上的「神经单元」(Unit),基本作用是:
- 接收输入
- 传给激活函数
组成网络
全连接网络工作示例
输入层
输入层的神经单元与位图的像素完全一一对应,而且输入与输出完全相等。 可以省略激活函数或者直接把恒等式作为激活函数:
\[ \begin{equation} a(z) = z \end{equation} \label{fc_raw} \]隐藏层
隐藏层负责特征提取(feature extraction)。例如对于下面的样本:
我们可以先人工归纳出三个特征:
然后对应三种特征定义三个神经单元。每个中间层的神经单元会对特征范围内的输入层 信号给予高权重:
-
\(m_1\)对
pix[3]
、pix_[6]
给予高权重。 -
\(m_2\)对
pix[4]
、pix_[7]
给予高权重。 -
\(m_3\)对
pix[5]
、pix_[8]
给予高权重。
输出层
两个神经元\(o_1\)和\(o_2\)分别代表\(0\)和\(1\)。比如以Sigmoid函数作为激活函数的情况下, \(o_1\)个值大代表识别结果是\(0\),反之则为\(1\)。
- \(o_1\)对\(m_1\)和\(m_3\)给予高权重。
- \(o_2\)对\(m_2\)给予高权重。
如果输出层仅使用一个神经单元也是行的,但经验上用两个更加简单。
用阈值去除杂音
对于输入可能有的杂音,通过指定阈值来排除干扰。称为「偏置」。
有监督学习
准备好样本与正确的解:
通过测试不同的权重与偏置,确定误差最小的方案(在数学上称为模型的最优化)。