Ch 08.多层神经网络 1
什么是神经网络? 神经网络(Neural Network, NN) 又称人工神经网络(artificial neural network) “neural networks are massively parallel interconnected networks of simple (usually adaptive) elements and their hierarchical organizations which are intended to interact with the objects of the real world in the same way as biological nervous systems do” [T. Kohonen, NN88]
什么是神经网络? 一个神经网络的基本组成包括神经元(neuron)和权值(weight) 神经元M-P模型 输入: 权值(weight): 偏置(bias): 激活函数(activation function): 输出: 神经元有时亦称“单元”(unit)
什么是神经网络? 一个神经网络的基本组成包括神经元(neuron)和权值(weight) 神经元之间通过权值相连 神经网络学习得到的知识通过权值和神经元中的偏置编码,即神经网络训练过程为通过训练数据确定所有的权值和偏置 偏置有时用一个特殊神经元表示:偏置单元
前馈神经网络 前馈神经网络(feedforward neural network) 一般来讲,前馈神经网络指每个神经元仅与下一层神经元相连的神经网络 输出层 隐含层 输入层 三层前馈神经网络
简单感知器 简单感知器(simple perceptron)指仅包含输入层和输出层的两层前馈神经网络 假设 输入单元的激活函数为y=x 输出单元的激活函数为符号函数 输入层 输出层 x y
简单感知器 带类别标记的训练样本 增广特征向量和权值空间 t(p)是当输入为x(p)时希望的输出(+1或-1) 设原d维空间中 相当于增加一个特殊的偏置单元
简单感知器 感知器学习过程 Without loss of generality
简单感知器 例子 训练集 输入层 输出层 x y
简单感知器 例子 w初始值为
简单感知器 例子 w的收敛解
简单感知器 感知器的不足 仅能处理线性可分情况 即使在线性可分情况下,也可能无法给出最优解 感知器解 最优解
多层前馈神经网络 包含至少一个隐含层的前馈神经网络 输出层 隐含层 输入层 三层前馈神经网络
一般的前馈计算 d个输入单元(一般对应特征维数d) nH个隐单元( nH由设计者根据具体问题确定) c个输出单元(一般对应c个类别) 每个输出单元产生的信号即对应类别的判别函数
多层网络的表达能力 S形函数(sigmoid function) 一般逼近(universal approximation)理论[Cybenko 1989; Hornik et al. 1989] 双曲正切 One layer of hidden units with sigmoid activation function is sufficient for approximating any function with finitely many discontinuities to arbitrary precision.
多层网络的表达能力 任何判别函数都能由一个三层神经网络实现! 但是…… 这只具有理论上的意义,即多层网络能实现任意决策 该理论告诉我们“Can”,但没告诉我们“How” 网络的结构设计和训练方法需要具体问题具体分析
神经网络学习 神经网络学习算法 反向传播算法(backpropagation algorithm) [Rumelhart et al. 1985] 类似解决方案也曾被其他人独立提出 [Werbos 1974; Parker 1985; Le Cun 1985] 可以学习得到复杂的决策面 不能保证最优解,但是能得到较好的解
神经网络学习 三层神经网络
反向传播算法 准则函数:输出值z和真实值t的差的平方和 梯度下降算法
反向传播算法 隐含层到输出层的权值更新 敏感度(sensitivity) 链式微分法则
反向传播算法 输入层到隐含层的权值更新
反向传播算法 输入层到隐含层的权值更新 输出单元的敏感度反向传播到隐单元
反向传播算法 敏感度的反向传播
反向传播算法 训练协议 神经网络训练过程中如何根据训练样本调整权值 随机训练(stochastic training) 模式随机从训练集中选取,每输入一个模式,权值就更新一次 成批训练(batch training) 所有模式一次全部送入网络,然后才进行一次权值更新 在线训练(online training) 每种模式只提供一次,每提供一种模式,权值更新一次
反向传播算法 随机反向传播
反向传播算法 成批反向传播 回合(epoch):所有模式都提供一次称为一个回合
反向传播算法 在线反向传播 sequential selection of training patterns