# 神经网络

## 第五章 神经网络

* Page97: M-P神经元模型

  神经元接收来自n个其他神经元传递过来的输入信号，这些输入信号通过带权重的连接进行传递，神经元接收到的总输入值将与神经元的阈值进行比较，然后通过激活函数处理以产生神经元的输出。
* Page97: 人工神经网络

  非生物学意义的神经网络。
* Page97: 神经网络（neural networks）

  神经网络是由具有适应性的简单单元组成的广泛并行互联的网络，它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应。
* Page97: 神经元（neuron）

  神经网络中具有适应新的简单单元，与其他神经元相连。
* Page97: 阈值(104)（bias/threshold）

  临界值。
* Page98: 感知机（perceptron）

  由两层神经元组成，输入层接收外界输入信号后传递给输出层，输出层是M-P神经元，亦称“阈值逻辑单元”。
* Page98: 激活函数（activation function）

  将输入值映射为输出值0或1，理想的激活函数是阶跃函数，实际常用Sigmoid函数作为激活函数。
* Page98: 挤压函数（squashing function）

  Sigmoid函数把可能在较大范围内变化的输入值挤压到(0,1)输出值范围内，因此有时也称为“挤压函数”。
* Page98: 阈值逻辑单元(threshold logic unit)

  经激活函数处理以产生输出的神经元。
* Page99: 非线性可分（linearly unseparable）

  用线性超平面无法划分
* Page99: 功能神经元（functional neuron）

  进行运算或其他处理的神经元。
* Page99: 收敛(converge)

  感知机的学习过程使得权重向量趋于稳定。
* Page99: 线性超平面(linear meta-surface)

  在空间内可以用线性模型表达的平面。
* Page99: 线性可分(126)(linearly seprarable)

  存在一个线性超平面可以划分两种模式，则认为这两种模式线性可分，比如与、或、非问题。
* Page99: 学习率（learning rate）

  对权重每次的调整量。
* Page99: 哑结点(dummy node)

  输入固定的结点，不对输入做出响应，但会影响输出。
* Page99: 振荡（fluctuation）

  权重持续往不同方向波动。
* Page100: 多层前馈神经网络(multi-layer feedforward neural network)

  多个感知机相连，每层神经元与下一层神经元全互联，神经元之间不存在同层连接，也不存在跨层连接，这样的神经网络结构被称为“多层前馈神经网络”。
* Page101: BP算法(BackPropagation algorithm)

  神经网络学习过程就是根据训练数据来调整神经元之间的连接权以及每个功能神经元的阈值。 （误差）逆向传播，从最后一层开始，利用广义的感知机学习规则，基于梯度下降策略，以目标的负梯度方向对参数进行调整，

  * 对每个训练样例，先将输入示例提供给输入层神经元，
  * 然后逐层将信号前传
  * 知道产生输出层结果
  * 计算输出层误差
  * 将误差逆向传播至隐层
  * 根据隐层神经元的误差来对连接权和阈值进行调整
  * 迭代循环进行，直到某些条件（如训练误差已经很小）停止。
* Page101: BP网络

  利用BP算法训练的神经网络
* Page101: 单隐层网络

  输入层神经元仅接受输入，不进行函数处理，隐层与输出层包含功能神经元，只包含一个隐层的神经网络称为“单隐层网络”，也称为两层网络（虽然有点歧义，实际上有输入，隐，输出三层）。
* Page101: 反向传播算法

  同BP算法。
* Page101: 连接权(104)（connection weight）

  神经元之间的联系的权重。
* Page101: 误差逆传播（error BackPropagaton）

  见BP算法。
* Page102: 梯度下降（254，389，407）

  以目标的负梯度方向对参数进行调整。
* Page103: 链式法则(402)

  计算梯度时，按影响顺序依次计算导数然后相乘。
* Page105: 累积误差逆传播（accumulated eror backpropagation）

  针对多个训练样例进行误差逆传播计算。直接针对累积误差（同时考虑多个训练样例的误差）最小化，参数更新频率比标准误差逆传播低很多，但训练到一定程度下降会非常缓慢，这时标准BP往往会更快获得较好的解。
* Page105: 早停(early stopping)

  将数据分成训练集和验证集，训练集计算梯度，更新连接权和阈值，验证集用来估计误差，若训练集误差降低但验证集误差升高，则停止训练，同时返回具有最小验证集误差的连接权和阈值。以此防止过拟合。
* Page106: 正则化(regularization)

  在误差目标函数中增加一个用于描述网络复杂度的部分，例如连接权与阈值的平方和，并对这个部分加一个λ做折中。以此防止过拟合。
* Page106: 参数空间（parameter space）

  参数为坐标轴的空间，在这个空间中可以画出误差函数组成的屏幕。
* Page106: 局部极小

  在该点导数为0
* Page106: 全局最小

  最小的极小值。
* Page107: 模拟退火（simulated annealing）

  模拟退火在每一步都以一定概率接受比当前解更差的结果，从而有助于跳出局部极小，在每部迭代过程中，接受次优解的概率随着时间的推移而逐渐降低，从而保证算法稳定。
* Page107: 遗传算法(genetic algorithms)

  多个极小值竞争。
* Page108: ART网络（Adaptive Resonance Theory network）

  自适应谐振理论网络，竞争型无监督学习，由比较层接收输入，识别层进行距离度量学习，对一个输入距离近的识别层神经元抑制其他神经元的激活，距离大于识别阈值则将输入归入识别层神经元的模式，同时更新网络连接权。识别过程中动态调整神经元个数以适应输入模式的变化。
* Page108: RBF网络(Radial Basis Function network)

  径向基函数网络，是一种单隐层前馈神经网络，使用径向基函数作为激活函数，输出是对隐层神经元输出的线性组合。分两步，确定神经元中心（聚类，随机采样），BP确定参数w和β。
* Page108: 径向基函数(Radial Basis Function)

  $$\rho(x, c\_i) = e^{-β\_i|x-c\_i|^2}$$

  样本与样本中心的欧氏距离的单调函数。
* Page108: 竞争型学习（competitive learning）

  网络中的输出神经元相互竞争，每一时刻仅有一个竞争获胜的神经元被激活，其他神经元的状态被抑制，这种机制亦称胜者通吃。
* Page108: 胜者通吃(winner-take-all)

  见竞争型学习。
* Page108: 自适应谐振理论（Adaptive Resonance Theory）

  见ART网络。
* Page109: Kohonen网络

  同SOM网络
* Page109: SOM网络（Self-Organizing Map network）

  自组织映射网络，将高维输入数据映射到低维空间（通常为二维），同时保持输入数据在高维空间的拓扑结构，即将高位空间中相似的样本点映射到网络输出层的临近神经元。训练时，接收一个训练样本，每个输出层神经元计算该样本与自身携带的权向量之间的距离，距离最近的神经元成为竞争获胜者，称为最佳匹配单元，
* Page109: 可塑性-稳定性窘境(stability-plasticity dilemma)

  可塑性是指神经网络要有学习新知识的能力，而稳定性则是指神经网络在学习新知识时要保持对旧知识的记忆。往往两者不可兼得。
* Page109: 在线学习(241,393)(online learning)

  ART网络具有兼顾可塑性和稳定性的优点，适合在线学习。
* Page109: 自组织映射（Self-Organizing Map）

  将高维输入数据映射到低维空间，同时保持输入数据在高维空间的拓扑结构，即将高维空间中的相似的样本点映射到网络输出层中的邻近神经元。
* Page110: 级联相关(Cascade-Correlation)

  级联相关网络有两个主要成分：级联和相关，级联是指建立层次连接的层级结构，在开始训练时，网络只有输入层和输出层，处于最小拓扑结构，随着训练的进行，新的因曾神经元逐渐加入，从而创建起层级结构，当新的隐层神经元加入时，其输入端连接权值是冻结固定的。相关是指通过最大化新神经元的输出和网络误差之间的相关性来训练相关的参数，训练速度较快，但容易过拟合。
* Page111: Boltzmann分布(Boltzmann distribution)

  若网络中的神经元以任意不依赖于输入值的顺序进行更新，则网络最终将达到Boltzmann分布，此时状态向量出现的概率将仅由其能量与所有可能状态向量的能量确定：$$P(s) = \frac{e^{-E(s)}}{\sum e^{-E(t)}}$$
* Page111: Boltzmann机(Boltzmann machine)

  通常分两层：显层与隐层，显层用于表示数据的输入与输出，隐层则被理解为数据的内在表达，神经元是布尔型的，只能取0、1两种状态，状态1表示激活，状态0表示抑制，状态向量出现的概率将仅由其能量与所有可能状态向量的能量确定。训练过程就是将每个训练样本视为一个状态向量，使其出现的概率尽可能大。
* Page111: Elman网络(Elman Network)

  最常用的递归神经网络之一，结构与多层前馈网络相似，但隐层神经元的输出被反馈回来，与下一时刻输入层神经元提供的信号一起作为隐层神经元在下一时刻的输入。
* Page111: 递归神经网络(Recurrent neural networks)

  允许网络中出现环形结构，从而可让一些神经元的输出反馈回来作为输入信号，这样的结构与信息反馈过程，是的网络在t时刻的输出状态不仅与t时刻的输入有关，还与t-1时刻的网络状态有关，从而能处理与实际有关的动态变化。
* Page111: 基于能量的模型(energy-based model)

  为网络状态定义一个能量，能量最小化时网络达到理想状态，而网络的训练就是在最小化这个能量函数。
* Page112: 对比散度(Constrastive Divergence)

  假定网络中有d个显层神经元和q个隐层神经元，令v和h分别表示显层与隐层的状态向量，同一层内不存在连接，采用对比散度算法对网络进行训练，计算隐层神经元状态的概率分布，然后根据这个概率分布采样得到h，并更新连接权w。
* Page112: 受限Boltzmann机(Restricted Boltzmann Machine, RBM)

  标准Boltzmann机是一个全连接图，训练网络的复杂度很高，这使其难以用于解决现实任务，现实中常用受限Boltzmann机仅保留显层与隐层之间的连接，从而将Boltzmann机结构由完全图简化为二部图。
* Page113: 发散(diverge)

  不能达到稳定（收敛）状态
* Page113: 卷积神经网络(Convoutional Neural Network，CNN)

  用权共享来节省训练开销，通常包含多个“卷积层”和“采样层(pooling)”对输入信号进行加工，然后在连接层实现与输出目标之间的映射，每个卷积层包含多个特征映射(feature map)，每个特征映射是一个特征。详细内容可以参考这个[教程](https://github.com/ahangchen/GDLnotes/blob/master/note/lesson-3/README.md)
* Page113: 权共享(weight sharing)

  让一组神经元使用相同的连接权。
* Page113: 深度学习(deep learning)

  很多层的神经网络，可以增加隐层数目或增加隐层神经元数目来实现。
* Page113: 无监督逐层训练(unsupervised layer-wise training)

  多隐层网络训练的手段，基本思想是每次训练一层隐节点，训练时将上一层隐节点的输出做为输入，本层隐节点的输出作为下一层隐节点的输入，这称为“预训练”，预训练完成后，对整个网络做“微调(fine-tuning)”训练，如在DBN中，每层都是一个RBM，整个网络可视为若干个RBM堆叠而得，可按标准的RBM训练；然后将第一层训练好的隐节点视为第二层的输入结点，对第二层进行预训练，各层预训练完成后，再利用BP算法等对整个网络进行训练。，预训练+微调可视为将大量参数分组，对每组先找到局部看来比较好的设置，然后基于这些局部较优的结果联合起来进行全局寻优，利用了模型大量参数所提供的自由度的同时，有效地节省了训练开销。
* Page114: ReLU(Rectified Linear Unit)

  将Sigmoid激活函数替换为修正线性函数$$\begin{eqnarray}f(x)= \begin{cases} 0, \&x<0\cr x, \&otherwise \end{cases} \end{eqnarray}$$ ，这样的神经元被称为RELU。
* Page114: 表示学习(Representation learning)

  对输入信号进行逐层加工，从而把初始的、与输出目标之间的联系不太密切的输入表示，转化成与输出目标联系更加密切的表示，换言之，通过多层处理，逐渐将初始的“低层”特征表示成“高层”特征表示后，用“简单模型”即可完成复杂的分类等学习任务。
* Page114: 汇合(pooling)

  基于局部相关性原理进行亚采样，从而在减少数据量的同时保留有用信息。
* Page114: 特征学习(feature learning)

  同表示学习。
* Page115: 广义δ规则

  最小化网络均方误差，BP算法亦称广义δ规则。
* Page115: 可解释性(191)

  神经网络是一种难解释的“黑箱模型”，难以解释其工作机理。
