[西瓜书]学习笔记四:神经网络

深度学习入门基础模型,是一个没有神经的神经网络

基础知识

阅读《python神经网络编程》后就,实现了简单的BP神经网络,链接:BP神经网络的实现。因此,本次周报重点在于其他神经网络的总结,和深度学习的简述。

其他神经网络

RBF网络

RBF神将网络是一种三层神经网络,其包括输入层、隐层、输出层。从输入空间到隐层空间的变换是非线性的,而从隐层空间到输出层空间变换是线性的。如下图所示。

RBF网络的基本思想是:用RBF作为隐单元的“基”构成隐含层空间,这样就可以将输入矢量直接映射到隐空间,而不需要通过权连接。当RBF的中心点确定以后,这种映射关系也就确定了。而隐含层空间到输出空间的映射是线性的,即网络的输出是隐单元输出的线性加权和,此处的权即为网络可调参数。其中,隐含层的作用是把向量从低维度的p映射到高维度的h,这样低维度线性不可分的情况到高维度就可以变得线性可分了,主要就是核函数的思想。这样,网络由输入到输出的映射是非线性的,而网络输出对可调参数而言却又是线性的。网络的权就可由线性方程组直接解出,从而大大加快学习速度并避免局部极小问题。

ART网络

竞争性学习是神经网络中一种常用的无监督学习方法,输出神经元相互竞争,每一时刻仅有一个获胜的神经元被激活,这种机制被称为“胜者通吃”原则。ART(Adaptive Resonance Theory,自适应谐振理论)网络由比较层,识别层,识别阈值和充值模块构成。

SOM网络

自组织特征映射神经网络(self organizing feature map)是一种无监督的学习算法,SOM的主要目的是将任意维度的输入信号通过计算映射转变为一维或者二维的离散映射,并且以自适应的方式实现这个过程。

它将高维输入数据映射到低维空间中,同时保持数据在高维空间中的拓扑结构。

级联相关网络

结构自适应性网络一般可以在训练过程中自动调整网络的结构,以符合数据特点。

Elman网络

递归神经网络允许网络中出现循环结构,可以让一些神经元的输出反馈来作为输入信号。从而处理时间相关的动态变化。Elman网络是常用的递归神经网络之一,隐藏层采用sigmoid函数,训练则采用BP算法。

Boltzman机

这类模型为网络状态定义了一个“能量”,能量达到最小时网络即达到理想状态,网络的训练就是最小化这个能量函数。Boltzman机神经元分为两层:显层和隐层。前者表示数据的输入输出,后者表示数据的内在表达。Boltzman机中神经元都是布尔类型,1表示激活,0表示抑制。网络中的神经元不依赖输入值的顺序进行更新,则网络最终达到Boltzman分布。标准Boltzman机是一个全连接图,很难解决现实任务,现实中常采用受限Boltzman机,它仅保留显层和隐层的连接,简化了原结构。

深度学习简介

典型的深度学习模型就是很深层的神经网络。然而多隐层难以直接用经典算法(BP算法)训练,因为误差在多隐层内逆向传播时,往往会发散而不能收敛到稳定状态。

无监督逐层训练是一种有效手段,其基本思想就是每次训练一层隐结点,将上一层隐结点的输出作为输入,本层隐结点的输出作为下层输入,这称为“预训练”。预训练完成后再对整个网络进行微调。这个做法可以看作将大量参数分组,每组都找到比较好的设置,进而结合起来寻求全局最优。

另一种方法是“权共享”,即让一组神经元使用相同的连接权。卷积神经网络(Convolutional Neural Network,CNN)就是这样一种方式,通过卷积池化操作,提取局部特征;在这每个特征平面当中,每个神经元都使用的相同的连接权值,进而减少了训练参数数目。具体的流程如下图。

从另一角度来看待深度学习,多层堆叠,上层处理都可以看作对输入信号进行加工,将输入转换为与输出目标更为密切的表示。转换完成后,用“简单模型”即可完成复杂的分类等任务。深度学习即可以理解为进行“特征学习”或“表示学习”。这在机器学习方法中,往往称之为“特征工程”,这里进一步将特征工程自动化,以求达到全自动数据分析的效果了。

总结

神经网络部分内容比较少,加之以前实现过相关代码。本章内容都是扩展之前神经网络的内容,深度学习这块在图像处理,自然语言处理和语音方面有独特的优势。