一文读懂神经网络
更新连接权值。如果胜出神经元和预先指定的分类一致,称为正确分类, 权值的调整按更新;如果胜出神经元和预先指定的分类不一致,称为不正确分类,权值的调整按x0a更新.其中t为迭代次数, 为学习步长。...
来源:人机与认知实验室
0 概要
- 简介————神经网络是什么?
- 用途————神经网络是干什么的?
- 特点————神经网络有哪些特点?
- 适用情况——什么时候使用神经网络?
- 术语————神经网络有哪些基本概念?5.1 神经元5.2 学习5.3 学习算法5.4 有监督学习5.5 无监督学习5.6 输入层5.7 隐层5.8 输出层5.9 训练集5.10验证集5.11测试集5.12过拟合5.13欠拟合5.14准确率5.15召回率5.16F1值
- 学习算法——神经网络是怎么更新参数和结构的?6.1 误差修正学习6.2 Hebb学习6.3 遗传算法6.4 竞争学习6.5 基于记忆的学习
- 典型神经网络——有哪些神经网络?7.1 前馈神经网络7.1.1 单层感知器7.1.2 线性神经网络7.1.3 BP神经网络7.1.4 RBF神经网络7.1.5 RBM7.1.6 CNN(卷积神经网络)7.1.7 DBN(深度置信网络)7.1.8 Word2vec7.2 反馈神经网络7.2.1 Elman神经网络7.2.2 Hopfield神经网络7.3 自组织神经网络(也是前馈神经网络)7.3.1 通用型竞争神经网络7.3.2 SOM神经网络(自组织特征映射神经网络)7.3.3 LVQ神经网络(学习向量量化神经网络)
- 分类————不同神经网络之间有哪些异同点?
人工神经网络是对人脑完成特定任务或感兴趣功能的方法进行建模的自适应机器,是一个由简单处理元构成的规模宏大的并行分布式处理器。天然具有存储经验和使之可用的特性。神经网络在两个方面与人类相似:1、神经网络获取的知识是从外界环境中学习得来的;互连神经元的连接强度,即突触权值,用于储存获取的知识。
人工神经网络是根植于神经系统、数学、统计学、物理学、计算机科学工程等学科的一种技术。2 用途——神经网络是干什么的?
脑具有精巧的构造,并可以通过“经验”来建立它自己的规则。而神经网络也具有一定的结构,并可以通过历史数据训练从而具有一定的功能。神经网络因自身结构和训练数据的不同而具有不同的功能。具体参见表格1
表格
1
神经网络的功能
最近十多年来,人工神经网络的研究工作不断深入,已经取得了很大的进展,其在模式识别、智能机器人、自动控制、预测估计、生物、医学、经济等领域已成功地解决了许多现代计算机难以解决的实际问题,表现出了良好的智能特性。
3 适用情况————什么时候使用神经网络?
神经网络是机器学习的一个分支,所以需要“经验”的积累才能提高自身性能。它的适用情况也和普通机器学习算法相似:第一,当我们无法编制一套程序来解决一个问题时,可以考虑使用神经网络,如在手写字体识别;第二,当我们处理的任务很难编制而又很容易变更需求时,可以考虑使用神经网络,如构建不同客户的购物喜好;第三,当我们处理的任务已有大量可参考的经验数据,或者该任务自身能够产生足够的经验数据时,可以考虑使用神经网络,如围棋弈棋程序;第四,当我们处理的任务只需要一个满意解而不是精确解时,可以考虑使用神经网络,因为它不保证任务完成的100%正确。同时,根据具体任务、训练数据的不同,还可以选择不同种类的神经网络。
4 特点——神经网络有哪些特点?4.1 非线性一个人工神经元可以是线性的也可以是非线性的,而由非线性的神经元构成的网络是非线性的。而非线性是自然界的普遍特性,具有阈值的神经元构成的网络具有更好的性能,可以提高容错性和存储容量。
4.2 适应性人工神经网络具有自适应、自组织、自学习能力。神经网络不但处理的信息可以有各种变化,而且在处理信息的同时,自身的结构和权值也在不断变化。
4.3 容错性由于网络信息存储的分布特性,即使一个神经元或它的连接损坏,也不会造成整个网络结构的灾难性恶化。
4.4 并行性神经网络的大规模并行性使它具有快速处理任务的能力。
4.5 分析和设计的一致性神经网络作为信息处理器具有通用性,使得在不同应用中神经网络共享共同的理论和学习算法,而模块化网络可以用模块的无缝集成来实现。
4.6 神经生物类比人工神经网络是对生物神经网络的模拟:人工神经元模仿生物神经元,人工神经元之间的连接模仿生物神经元的突触,信息流的计算模仿生物电和神经递质的传递,任务数据模仿人类的经历。
4.7 背景信息神经网络的特定结构和激发状态选择,代表了先验知识运用。
4.8 证据响应在模式识别的问题中,神经网络可以设计成既提供不限于选择哪一个特定模式的信息,也提供决策置信度的信息。后者可以用来拒判那些出现的过于模糊的模式。
5 术语——神经网络有哪些基本概念?神经元神经元是神经网络操作的基本信息处理单位,它是人工神经网络的设计基础。
突触(权值)
每一个都由其权值或者强度作为特征。特别是,在连接到神经元k的突触j上的输入信号被乘以k的突触权值。偏置用来调节值域的。
加法器是一个线性组合器,求输入信号与神经元相应突触权值的加权和,并与偏置求和。
激活函数用来限制神经元的输入输出振幅。激活函数也成为压制函数,因为它的输出信号压制(限制)到允许范围之内的一定值。
常用激活函数有
A.线性函数
B.阈值函数C.斜面函数D.S形函数E.双极S形函数F.反正切函数学习学习是一个过程,通过这个过程神经网络的自由参数在其嵌入的环境的机理过程之下得到调节。学习的类型由参数的改变方式决定。
学习算法建议解决学习问题的一个恰当定义的规则集合称作学习算法。有监督学习 从标记的训练数据来推断一个功能的机器学习任务。在监督学习中,每个实例都是由一个输入对象(通常为矢量)和一个期望的输出值(也称为监督信号)组成无监督学习
对没有概念标记(分类)的训练样本进行学习,以发现训练样本集中的结构性知识。非监督学习一般有两种思路。第一种思路是在指导Agent时不为其指定明确的分类,而是在成功时采用某种形式的激励制度。第二种思路的非监督学习类型称之为聚合。这类学习类型的目标不是让效用函数最大化,而是找到训练数据中的近似点。聚合常常能发现那些与假设匹配的相当好的直观分类。输入层
输入信号的感知神经元,个数一般等于输入特征的维数。隐层
只用于计算的神经元,个数一般不确定,但有经验值可以参考。输出层
输出信号的计算神经元,个数一般等于被分类或拟合的个数。训练集
用来训练模型或确定模型参数的,如更新神经网络参数和结构。验证集
用来做模型选择,即做模型的最终优化及确定的,如调整K-means的K值。测试集
纯粹是为了测试已经训练好的模型的推广能力。过拟合
使用了过大的训练集合,使得模型过于复杂,仅仅反映了所给数据的特质,而不是隐藏其下得一般规律,表现为对训练集好,对测试集表现差,泛化能力差。如“根据房屋面积和房屋价格的关系,得到‘n次多项式’假设函数”。欠拟合
使用了过小的训练集合,使得模型过于简单,数据中非常明显的特征没有被成功拟合出来,表现为对训练集表现差。如“根据房屋面积和房屋价格的关系,得到‘线性’假设函数”。准确率
提取出的正确信息条数 / 提取出的信息条数召回率
提取出的正确信息条数 / 样本中的信息条数
F1值
正确率 * 召回率 * 2 / (正确率 + 召回率) (F 值即为正确率和召回率的调和平均值)6 学习算法——神经网络是怎么更新参数和结构的?误差修正学习
使神经网络的输出信号逐渐逼近标准输出,这一目标通过最小化代价函数
。其中
,而
是标准输出,
是神经网络的输出值。
Hebb学习
由Hebb提出来的,是最早、最著名的训练算法,至今仍在各种神经网络模型中起着重要作用。在ANN中Hebb算法最简单可以描述为:如果一个处理单元从另一处理单元接收输入激励信号,而且如果两者都处于高激励电平,那么处理单元之间的加权就应当增强。用数学来表示,就是两节点的连接权将根据两节点的激励电平的乘积来改变,即
其中
表示第(n+1)次调解前,从节点j到节点i的连接权值;
是第(n+1)次调解后,从节点j到节点i的连接权值。
Bolzmann学习
Bolzmann学习规则是一个根植于统计力学的思想推导得出的随机学习算法。基于Bolzmann学习规则设计的神经网络被称为Bolzmann机。
Bolzmann机中的神经元都是二值化的,也就是说只有激活和不激活两种状态,即0或1;可见层和隐藏层之间的边的权重可以用来表示,是一个|V|×|H|大小的实数矩阵。在网络参数更新时,算法难点主要就是对权值和偏置求导,以采用梯度下降更新;但是因为V和H都是二值化的,没有连续的可导函数去计算,实际中采用的采样的方法来计算,这里面就可以用比如gibbs采样的方法,而Hiton在RBM中采用了对比散度的方法来更新网络参数。
遗传算法
遗传算法是模拟自然选择、遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。遗传算法是从一系列解及开始的,然后经过杂交、变异选择优秀解并淘汰差解,从而形成新的解集,重复以上过程直到获得满意解。如:首先根据先验知识或随机产生一系列的网络参数(矩阵W)的集合
,然后选择双亲杂交产生后代
,然后对部分网络参数(矩阵W)变异产生后代
,接着用适应度函数(如代价函数)选择优秀后代,即网络参数(矩阵W),然后将后代作为初始解集重复以上过程,指导获得优秀解W`,如使得代价函数最小的网络参数。竞争学习
在竞争学习中,神经网络中的输出神经元彼此通过竞争来成为活跃的(点火)。对于竞争学习规则,有三个基本元素:1.一个神经元集合,这些神经元除了一些随机分布的突触权值之外是完全相同的,并且由于突触权值的不同而对一个给定的输入模式集合有不同的相应;2.对神经元强度加上限制;3.允许神经元为响应一个给定输入子集的权利而竞争的机制,从而使得每次只有一个输出神经元或者一组只有一个神经元是激活的。获得神经元成为胜者全得神经元。因此,网络的神经元个体学会专门辨别相似模式的总体,这样做的结果,它们成为不同类别输入模式的特征探测器。
令
表示连接输入节点j到神经元k的突触权值。嘉定每个神经元被分配固定量的突触权值(即所有突触权值都是正的),权值分布在它的输入节点之中;也就是
然后神经元通过将突触权值从它的不活跃输入移向活跃输入来进行学习。如果神经元对一个特定输入模式不响应,那么没有学习发生在那个神经元上。如果一个特定升级呀赢得了竞争,这个神经元的每个输入节点以一定比例释放它的突触权值,释放的权值然后平均分布到活跃输入节点上,按照竞争学习规则,作用于突触权值
的该变量
定义为
其中是学习效率。这个规则具有将获胜神经元k的突触权值向量向输入模式移动的整体效果。基于记忆的学习
在基于记忆的学习中,所有(或大部分)以往的经验被现实的存储在正确分类的输入-输出实例
的大量记忆中,这里
表示输入向量,
表示对应的期望响应。不失一般性,我们限制期望响应为一个标量。所有基于记忆的学习算法包括两个重要的组成部分:1.用于定义测试向量的局部邻域的准则;2.用于局部邻域中的训练实例的学习规则。算法随这两个组成部分的不同而不同。
7.1 前馈神经网络
7.1.1 单层感知器概念
激活函数是阈值函数的神经元模型,是用于线性可分模式(即模式分别位于超平面的两边)分类的最简单的神经元模型。(Rosenblatt证明,如果两类模式线性可分,则算法收敛)网络结构
训练过程
1.定义变量和参数。X为输入,y为实际输出,d为期望输出,b为偏置,w为权值。
2.初始化。n=0,将权值向量w置为随机值或全零值。
3.激活。输入训练样本,对每个训练样本制定其期望输出。
4.计算实际输出。
5.更新权值向量。
6.判断。若满足收敛条件,算法结束;若不满足收敛条件,n++,转移到第3步继续执行。
注:
迭代结束条件:
a.误差小于某个预先设定的较小的值;
b.两次迭代之间的权值变化已经很小;
c.设定最大迭代次数M,当迭代了M次后停止。
学习率:
不应过大,以便于为输入向量提供一个比较稳定的权值估计
不应过小,以便于权值能够根据输入向量x实时变化,体现误差对权值的修正作用
改进:值随学习的进行,逐渐下降比始终不变更合理
局限性
- 感知器的激活函数为阈值函数,输出值只有两种取值,限制了在分类种类上的扩展;
- 如果输入样本存在奇异样本,网络训练需要很长时间;
- 感知器的学习算法只对单层有效
7.1.2 线性神经网络概念 激活函数是y=x的神经元模型,是用于线性可分模式。网络结构
学习过程
参见“单层感知器”的“学习过程”模块。只是参数的更新采用Widrow-Hoff学习规则,如下所示:
局限性
线性神经网络在收敛速度和精度上较感知器有了很大提高,但由于其线性运算法则,它只能解决线性可分问题。线性神经网络与单层感知器的对比
1.网络传输函数不同:感知器的传输速度是一个二值阈值元件。而线性神经网络的传输函数是连续的。所以感知器只能二分类,线性神经网络可以拟合和逼近。
2.学习算法。LMS算法得到的分类边界往往处于两类模式或正中间。而感知器学习算法在刚刚能正确分类的位置就停下来了。从而使分类边界离一些模式距离过近,使系统误差更敏感。
7.1.3 BP神经网络概念
由多层感知器组合形成的“全局逼近”的多层次网络。网络中,层与层之间全连接,同一层之间的神经元无连接。由输入层、隐层、输出层组成。它是递归技术的应用,在统计学中统称为随机逼近。网络结构
A 节点输出模型
隐节点输出模型:
输出节点输出模型:
其中,f:非线性作用函数,
:神经元偏置
B 作用函数模型
作用函数是反应下层输入对上层节点刺激脉冲强度的函数,又称刺激函数,一般是(0,1)内连续取值的sigmoid()函数。
C 误差计算模型
误差计算模型是反映神经网络期望输出与计算输出之间误差大小的函数:
。其中,
:节点i的期望输出,
:节点i的计算输出。
D自学习模型
,其中
为学习因子;
为输出节点计算误差。
为输出节点j的计算输出;a为动量因子。学习过程
参数的更新使用的是反向传播算法,它是基于误差修正学习规则的。误差反向传播学习由两次经过网络不同层的通过组成:一次前向通过和一次后向通过。在前向通过中,一个输入向量作用于网络感知节点,它的影响通过网络一层接一层的传播,最后产生一个输出作为网络的实际输出。在前行通过中,网络的突触权值全为固定的。另一方面,在反向通过中,网络的突触权值全部根据误差规则来调整。特别是从目标响应减去网络的实际响应为误差信号。这个误差信号反向传播经过整个网络,与突触连接方向相反因此叫“误差反向传播”。工作流程
A 初始化
B 训练样本的呈现
C 信息前向计算
D 误差反向传播
E 判断终止条件并迭代
局限性A 局部极小值问题
B 收敛速度慢
C BP神经网络结构选择不一
D 应用实例与网络规模存在矛盾
E BP神经网络的预测能力和训练能力矛盾
F BP的样本依赖性问题
G 泛化能力的局限性改进
为了加快网络的训练速度、避免陷入局部极小值,BP神经网络可以使用以下三种方式进行改进:1.附加动量法;2.误差函数改进;3.自适应学习效率。
7.1.4 RBF神经网络概念
RBF神经网络是一个三层神经网络,将复杂的、非线性的模式分类问题投射到高维空间再加以处理,是一种能够完成函数逼近、分类的局部逼近网络。
径向基函数:就是某种沿径向对称的单调函数。通常定义为空间中任意一点到某一中心之间的欧几里得距离的单调函数,可记作,作用往往是局部的,即X远离时函数取值很小。最常用的径向基函数是高斯核函数、多二次函数、拟多二次函数、反常S型函数。
网络结构
最基本形式额径向基函数网络的构成包括三层,其中每一层都有着完全不同的作用。输入层由一些源点(感知单元)组成,它们将网络与外界环境连接起来。第二层是网络中仅有的一个隐层,它的作用是从输入空间到隐藏空间之间进行非线性变换;在大多数情况下隐藏空间有较高的维数。输出层是线性的,它为作用于输入层的激活模式(信号)提供响应。学习过程
RBF网络设计师基于网络的学习算法的设计。RBF网络的学习算法一般包括两个不同的阶段:一是隐层径向基中心的确定阶段,无监督学习;而是径向基函数权值学习调整阶段,有监督学习。因此RBF网络所用的非线性函数形式不影响网络性能,关键在基中心、宽度和权值调整算法的确定。
根据径向基函数中心的确定方法不同,在设计RBF网络上有不同的学习策略。如:
- 随机选取固定中心
- 中心的自组织选择:基于聚类的RBF网络设计算法
- 中心的监督选择:基于梯度的
- 正交最小二乘学习算法
- 基于OLS的RBF网络设计算法
RBF神经网络与BP神经网络的对比相同点
径向基函数网络与多层感知器都是非线性多层前馈网络,它们都是通用逼近器。所以,毫不奇怪对于一个特定的MLP总存在一个RBF能够精确的模仿它,反之亦然。不同点网络结构不同:
A BP神经网络是全连接的,而RBF神经网络输入层到隐藏层之间为直接连接,隐层到输出层为全连接。
B BP网络隐层单元为激活函数sigmoid函数,如logistics,而RBF网络隐层单元激活函数为对于中心对称的径向基函数,如Gauss。
C BP网络是三层或三层以上的静态前馈神经网络,其隐层和隐层节点不容易确定,没有普遍适用的规律可循,一旦网络结构确定下来,在训练阶段网络结构将不再变化;RBF网络是三层静态前馈神经网络,网络结构和参数在训练中可以不断调整。
训练算法不同:
A BP神经网络为全局逼近网络,学习速度慢;RB F网络为局部逼近网络,学习速度快。
B BP网络主要的训练方法是BP算法或改进BP算法;而RBF网络的学习算法一般包括两个不同的阶段:一是隐层径向基中心的确定阶段,无监督学习;而是径向基函数权值学习调整阶段,有监督学习。
理念不同:
BP网络是递归技术的应用,这种技术在统计学中统称为随机逼近;而RBF网络将网络的设计看做是一个高维空间中寻找一个能够最佳拟合训练数据的曲面。优点
A具有唯一最佳逼近的特性,且无局部极小问题
BRBF网络具有较强的输入和输出映射功能,并且理论证明在前向网络中RBF网络是完成映射功能的最优网络。
C网络连接权值和输出呈线性关系
D分类能力好
E学习过程收敛速度快局限性
A最严重的问题就是没有能力来解释自己的推理过程和推理依据。
B不能向用户提出必要的询问,而且当数据不充分的时候,神经网络就无法工作。
C把一切问题的特征都变为数字,把一切推理都变为数值计算,其结果势必丢失信息。
DRBF网络用于非线性系统建模需要解决的关键问题是样本数据的选择。
7.1.5 RBM概念
RBM是一种根植于统计力学的随机神经网络,是一种基于能量的模型,一种有效的特征提取方法。网络中的神经元是随机神经元,神经元的输出只有两种状态(未激活和激活状态),用二进制0或1表示。状态的取值根据概率统计法制决定。网络结构
RBM包含两个层——可见层和隐藏层。神经元之间的连接具有如下特点:层内无连接,层间全连接。这里,层内既包括可见层内的神经元也包括隐藏层的神经元;而全连接指的是隐藏层的每一个神经元与可见层的所有神经元有连接;可见层的每一神经元与隐藏层的所有神经元有连接。由此可见RBM对应的图是一个二分图。学习过程学习目标:最大化似然,
,其中Z(θ)是归一化因子。可以使用梯度下降的方式求取最大值,但是时间复杂度太高
,不实用。学习方法:对比散度(CD算法)(详见受限玻尔兹曼机(RBM)学习笔记(六)对比散度算法)
- 初始化:初始化可见层、网络参数
- 迭代:对于每个样本循环,更新网络参数
;
采样出可见层的状态向量
;
根据采样的结果,使用更新公式更新网络参数局限性
对统计误差敏感,RBM学习规则设计两个平均相关性之间的差异,一个相关性计算正向阶段而另一个计算负向阶段。当这两个相关性相似时,抽样噪声的出现使得它们的差异具有更多的噪声。
7.1.5 CNN(卷积神经网络)概念
卷积神经网络是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。它有5个特点:1.局部感知;2.参数共享;3.采样;4.多卷积核;5.多卷积层。其中前3个特征是CNN较少参数数目的利器。网络结构
CNN由输入层、卷积层和抽样层的交替组合、全连接层、输出层组成。其中输入层一般是二维的,如64*64的图像,输入量可以看做是一个矩阵,其大小等于图像的像素个数。卷积层是依次将矩阵的区域与卷积核作卷积运算,从而产生一个新的矩阵;而矩阵的区域是从左上角开始依次向右或向下移动一维产生的,指导碰到右端或下方边界;而卷积核可以有多个,因此原矩阵经过卷积层的处理后会产生多个新矩阵。采样层是将原矩阵的区域抽象成一个数字表示,从而极大减少特征的维数;而矩阵的区域的选择与卷积层相同;矩阵区域抽象成数字的方法:取最大值,或最小值,或平均值等;抽象层的处理不会引起矩阵个数的变化,而只是改变矩阵的规模。全连接层是指将卷积层和抽样层的交替组合产生的矩阵映射成一维的向量,然后采用BP神经网络的结构和处理方式。输出层神经元的个数等于分类的个数,用于表示分类的输出值。
学习过程前行传输计算
卷积层:依次将矩阵的区域与卷积核作卷积运算,从而产生一个新的矩阵
采样层:将原矩阵的区域抽象成一个数字表示,从而极大减少特征的维数
全连接层:参见BP神经网络
反向传输权值
输出层的残差
和BP一样,CNN的输出层的残差与中间层的残差计算方式不同,输出层的残差是输出值与类标值得误差值,而中间各层的残差来源于下一层的残差的加权和。
下一层为采样层(subsampling)的卷积层的残差
当一个卷积层L的下一层(L+1)为采样层,并假设我们已经计算得到了采样层的残差,现在计算该卷积层的残差。从最上面的网络结构图我们知道,采样层(L+1)的map大小是卷积层L的1/(scale*scale),可以对采样层的残差与一个scale*scale的全1矩阵进行克罗内克积进行扩充,使得采样层的残差的维度与上一层的输出map的维度一致。下一层为卷积层(subsampling)的采样层的残差
当某个采样层L的下一层是卷积层(L+1),并假设我们已经计算出L+1层的残差,现在计算L层的残差。局限性
过多的参数个数会极大地提升运算时间,降低测试的效率;同时过多的层数伴随着严重的梯度消失问题(vanishing gradient),严重影响训练效果。
7.1.5 DBN(深度信念网络)
概念
DBN是一种多隐层前馈神经网络,通过低层的无监督学习自动提取特征,通过高层的有监督学习完成分类和拟合。它是一种生成模型,通过训练其神经元间的权重,我们可以让整个神经网络按照最大概率来生成训练数据。我们不仅可以使用DBN识别特征、分类数据,还可以用它来生成数据。网络结构
DBN由多层RBM完成特征提取,从而实现数据的降维,本操作是无监督学习;然后将输出作为BP神经网络的输出,从而完成分类或拟合任务,本操作是有监督学习。DBN可以看做是“DBN=多RBM+BP神经网络”。学习过程
前几层多层RBM的学习过程参见“6.1.5RBM”
最后一层BP神经网络的学习过程参见“6.1.5RBM”局限性
网络参数多,网络训练需要大量数据。
7.1.6 Word2vec
概念
word2vec 是Google在2013年中开源的一款将词表征为实数值向量的高效工具,采用的模型有CBOW(Continuous Bag –Of-Words,即连续的词袋模型 )和 Skip -Gram两种。Word2vecz通过训练,可以把文本内容的处理简化为k维空间中向量运算,而向量空间上的相似度可以用来表示文本语义上的相似度。因此,word2vec输出的词向量可以被用来做很多NLP相关的工作,比如聚类、找同义词、词性分析等。网络结构
CBOW
其中第一层,也就是最上面的那一层可以称为输入层。输入的是若干个词的词向量(词向量的意思就是把一个词表示成一个向量的形式表达,后面会介绍)。中间那个层可以成为隐层,是输入的若干个词向量的累加和,注意是向量的累加和,结果是一个向量。第三层是方框里面的那个二叉树,可以称之为输出层,隐层的那个节点要跟输出层的那个二叉树的所有非叶节点链接的,线太多画不过来了。第三层的这个二叉树是一个霍夫曼树,每个非叶节点也是一个向量,但是这个向量不代表某个词,代表某一类别的词;每个叶子节点代表一个词向量,为了简单只用一个w表示,没有下标。另外要注意的是,输入的几个词向量其实跟这个霍夫曼树中的某几个叶子节点是一样的,当然输入的那几个词跟它们最终输出的到的那个词未必是同一个词,而且基本不会是同一个词,只是这几个词跟输出的那个词往往有语义上的关系。
只有输入层到隐层的网络结构不同,其他均相同学习过程
层次softmax
NegativeSampling局限性
1.模型的性能完全取决于语料的数量和质量;
2.词向量的相似度其实只是词语语境的相似度,没有考虑其他的影响因素。
7.2反馈神经网络
7.2.1 Elman神经网络概念
Elman网络可以看作是一个具有局部记忆单元和局部反馈连接的前向神经网络。网络结构
主要结构是前馈连接,包括输入层、隐含层、关联层、输出层。输入层、隐含层、输出层和BP神经网络相同,只是输出层的为线性函数。关联层从隐含层接收反馈信号,每一个隐含层节点都有一个与之对应的关联层节点连接。关联层的作用是通过联接记忆将上一个时刻的隐层状态连同当前时刻的网络输入一起作为隐层的输入,相当于状态反馈。只是
7.2.2 Hopfield神经网络概念
Hopfield神经网络,也称为自联想记忆神经网络。网络中会存储一些特定的平衡点,当给定网络一个出事条件时,网络最后会在这个点上停下来。它是一种无监督学习的网络,根据激活函数的不同,可以分为离散型和连续型Hopfield神经网络。网络结构
第0层仅仅是作为网络的输人,它不是实际神经元,所以无计算功能;而第一层是实际神经元,故而执行对输人信息和权系数乘积求累加和,并由非线性函数f处理后产生输出信息。其中离散型Hopfield神经网络的f是一个阈值函数,而连续型的f是sigmoid函数。
学习过程
对于Hopfield网络,用它作联想记忆时,首先通过一个学习训练过程确定网络中的权系数,使所记忆的信息在网络的n维超立方体的某一个顶角的能量最小。当网络的权系数确定之后,只要向网络给出输入向量,这个向量可能是局部数据,即不完全或部分不正确的数据,但是网络仍然产生所记忆的信息的完整输出。
步骤:1.网络初始化
2.从网络中随机选取一个神经元,并求该神经元的输出,其他神经元不变
3.判断是否达到稳定状态。如果网络稳定,则结束;否者执行第2步
7.3自组织网络(也是前馈神经网络)
7.3.1通用型竞争神经网络概念
竞争型神经网络是以无监督学习方式进行训练的,它通过自身训练,自动完成对原始数据的聚类。网络结构
竞争型神经网络的输入为每个样本的各维的分量,计算输入向量与每一类别“代表”的距离负数,并与阈值求和。如果所有的阈值向量为0,则当输入向量和输入权值向量相等时,输出为最大值0。学习规则竞争型神经网络按Kohonen学习规则对获胜神经元的权值进行调整。假若第i个神经元获胜,则输入权值向量的第i行元素(即获胜神经元的各连接权)按下式进行调整:
按照这一规则,修改后的神经元权值向量将更加接近当前的输入。
竞争型神经网络中某些神经元的权值向量从一开始就远离所有的输入向量,从而使得该神经元不管进行多长的训练,也永远不会赢得竞争。为了避免“死神经元”这一现象的发生,对那些很少获胜(甚至从来不曾获胜)的神经元赋以较大的阈值,而对那些经常获胜的神经元赋以较小的阈值。正的阈值与距离的负值相加,使很少获胜的神经元竞争层传输函数的输入就象获胜的神经元一样。其权值修正如下:
局限性不适用于样本杂乱无序的情况。当样本没有明显的分类特征时,网络对输入模式的响应呈现振荡的现象,即对同一类输入模式的响应可能激活不同的输出神经元,从而不能实现正确的分类。
不适用于样本过于相似的情况。当各类别的特征相近时,网络对输入模式的响应也会呈现振荡的现象。
7.3.2 SOM神经网络(自组织特征映射神经网络)概念
SOM是采用无监督学习的前馈神经网络,通过对输入模式的反复学习,捕捉住各个输入模式中所含的模式特征,并对其进行自组织,在竞争层将分类结果表现出来。网络结构
自组织特征映射网络的拓扑结构分为两层:输入层和输出层(竞争层)。SOM拓扑结构不包括隐含层,输入层为一维。输出层可以是一维、二维或多维。其中二维竞争层由矩阵方式构成,二维竞争层的应用最为广泛。SOM中有两种连接权值,一种是神经元对外部输入反应的连接权值,另外一种是神经元之间的特征权值,它的大小控制着神经元之间交互作用的强弱。学习过程
1.权连接初始化,对所有从输入结点到输出结点的连接权值赋予随机的小数,置时间计数t = 0。
2.对网络输入模式
3.计算输入
与全部输出结点所连接向量的距离
4.具有最小距离的结点
竞争获胜
5.调整输出结点j*所连接的权值及
几何邻域
内的结点所连权值
6.若还有输入样本数据,t = t+1,转2。
7.3.2 LVQ神经网络(学习向量量化神经网络)概念LVQ学习向量量化神经网络是一种用于训练竞争层的有监督的学习方法的输入前向神经网络,其算法是Kohonen竞争算法演化而来的。它在模式识别和优化领域有着广泛的应用。网络结构
网络由3层神经元组成,即输入层、竞争层和线性输出层。该网络在输入层与竞争层之间为完全连接,而在竞争层与线性输出层之间为部分连接,每个输出神经元与竞争神经元的不同组相连接,竞争层和线性输出神经元之间的连接权值固定为1,输入层和竞争神经元间的连接权值建立为参考矢量的分量(对每个竞争神经元指定一个参考矢量)。学习过程
LVQ网络根据输入向量和权值向量的最小欧氏距离选取获胜神经元,并且采用胜者为王的竞争机制,令该神经元的输出为1,其他神经元的输出为0。
LVQ 神经网络的学习算法如下:
1.产生随机数设定输入层和隐藏层之间的权值初始值;
2.将输入向量
送入输入层;
3.根据欧式距离即
,计算隐藏层与输入向量的距离;
4.选择与权值向量的距离最小的神经元;
5.更新连接权值。如果胜出神经元和预先指定的分类一致,称为正确分类, 权值的调整按
更新;如果胜出神经元和预先指定的分类不一致,称为不正确分类,权值的调整按
更新.其中t为迭代次数,
为学习步长。
6.判断是否满足预先设定的最大迭代次数, 满足则算法结束,否则返回(2),进入下一轮的学习。
8 分类——————不同神经网络之间有哪些异同点?
译者介绍:
联系方式:
图片来源:
图片版权:
原始研究论文:
未来科技学院第二期前沿科技趋势学习班正式报名
第二期前沿科技趋势学习班将在2017年4月中下旬在北京中关村举办。学员将听取和学习人工智能、互联网、脑科学、虚拟现实、机器人、纳米技术,生物基因,3D打印等前沿科技的最新动态和未来发展趋势。同时学院也将直接与来自人工智能,机器人等前沿科技领域的企业家进行学习和交流。未来科技学院第二期学员可以免费观看第一期全部学习视频,共享未来科技学院的高端科学家、企业家和投资人资源,共同解决企业和投资过程中遇到的科技问题;参与前沿科技未来发展重大课题研究;参加未来科技学院组织的讲座、参观和会议。
为了对讲座专家知识表示尊重和举办方组织学习的支持,本期学习费用为2000元整。
查看详情请点击本文左下角“阅读原文”,或扫描下列二维码报名
关注 人工智能学家
微信扫一扫关注公众号