神经网络传递函数的选择,卷积神经网络风格迁移

神经网络传递函数的选择,卷积神经网络风格迁移_第1张图片

1、在搭建神经网络的时候,如何选择合适的转移函数(

一般来说,神经网络的激励函数有以下几种:阶跃函数 ,准线性函数,双曲正切函数,Sigmoid函数等等,其中sigmoid函数就是你所说的S型函数。以我看来,在你训练神经网络时,激励函数是不轻易换的,通常设置为S型函数。如果你的神经网络训练效果不好,应从你所选择的算法上和你的数据上找原因。算法上BP神经网络主要有自适应学习速率动量梯度下降反向传播算法(traingdx),Levenberg-Marquardt反向传播算法(trainlm)等等,我列出的这两种是最常用的,其中BP默认的是后一种。数据上,看看是不是有误差数据,如果有及其剔除,否则也会影响预测或识别的效果。

谷歌人工智能写作项目:小发猫

2、Hopfield神经网络

Hopfield神经网络(Hopfield Neural Network,简称 HNN),是美国加州理工学院物理学家Hopfield教授1982年提出的一种反馈型神经网络,信号不但能向前,还能向后传递(输出信号又反馈回来变成输入信号神经网络风格迁移函数。而前面所介绍的BP网络是一种前馈网络,信号只能向前传递)。他在Hopfield神经网络中引入了“能量函数”概念,使网络的运行稳定性的判断有了可靠依据。Hopfield神经网络的权值不是经过反复学习获得的,而是按照一定规则计算出来的,一经确定就不再改变,而Hopfield神经网络的状态(输入、输出信号)会在运行过程中不断更新,网络演变到稳态时各神经元的状态便是问题的解。

1985年,Hopfield和Tank研制了电子线路来模拟Hopfield网络,较好地解决了优化组合问题中著名的TSP(旅行商)问题,找到了最佳解的近似解,为神经网络的复兴建立了不可磨灭的功劳。

对于地球物理反演这种最优化问题,可以很方便地用Hopfield网络来实现。反演的目标函数等于Hopfield网络的“能量函数”,网络的状态(输入、输出信号)就是模型的参数,网络演变到稳态时各神经元的输入输出值便是反演问题的解。

Hopfield神经网络分为离散型和连续型两种网络模型,分别记为DHNN(Discrete Hopfield Neural Network)和CHNN(Continues Hopfield Neural Network)。

在前馈型网络中无论是离散的还是连续的,一般均不考虑输入与输出之间在时间上的滞后性,而只表达两者之间的映射关系。但在连续Hopfield神经网络中,考虑了输出与输入之间的延迟因素,因此需要用微分方程或差分方程来描述网络的动态数学模型。

8.5.4.1 离散Hopfield神经网络

离散Hopfield神经网络的拓扑结构如图8.12所示。这是一种单层全反馈网络,共有n个神经元。图8.12的特点是任意一个神经元的输出xi只能是0或1,均通过连接权wij反馈至所有神经元j作为它的输入xj。也就是说,每个神经元都通过连接权接收所有其他神经元输出反馈的信息,这样每一个神经元的输出都受其他所有神经元输出的控制,从而每个神经元的输出相互制约。每个神经元均设一个阀值Ti,以反映对输入噪声的控制。

图8.12 离散Hopfield神经网络的拓扑结构[8]

8.5.4.1.1 网络的状态

离散Hopfield神经网络任意一个神经元的输出xj称为网络的状态,它只能是0或1。变化规律由下式规定:

xj=f(netj) j=1,2,…,n(8.33)

f( )为转移函数,离散 Hopfield神经网络的转移函数常用符号函数表示:

地球物理反演教程

其中netj为净输入:

地球物理反演教程

对离散Hopfield神经网络,一般有

wij=0,wij=wji (8.36)

这说明神经元没有自反馈,两个神经元的相互控制权值相同。

离散Hopfield神经网络稳定时,每个神经元的状态都不再改变。此时的稳定状态就是网络的输出,记为

地球物理反演教程

8.5.4.1.2 网络的异步工作方式

它是一种串行方式,网络运行时每次只改变一个神经元的状态,其他神经元的状态保持不变。

8.5.4.1.3 网络的同步工作方式

它是一种并行同步工作方式,所有神经元同时调整状态。

8.5.4.1.4 网络的吸引子

网络达到稳定状态时的输出X,称为网络的吸引子。

8.5.4.1.5 网络的能量函数

网络的能量函数定义为

地球物理反演教程

以上是矩阵形式,考虑无自反馈的具体展开形式为

地球物理反演教程

当网络收敛到稳定状态时,有

ΔE(t)=E(t+1)-E(t)=0 (8.40)

或者说:

地球物理反演教程

理论证明了如下两个定理[8]:

定理1.对于DHNN,若按异步方式调整网络状态,且连接权矩阵W为对称阵,则对任意初始状态,网络都能最终收敛到一个吸引子。

定理2.对于DHNN,若按同步方式调整网络状态,且连接权矩阵W为非负定对称阵,则对任意初始状态,网络都能最终收敛到一个吸引子。

8.5.4.1.6 利用离散Hopfield神经网络进行反演

在地球物理线性反演中,设有如下目标函数:

地球物理反演教程

对比式(8.38)和式(8.42)发现它们在形式上有很多相似之处。王家映的《地球物理反演理论》一书中,直接用式(8.42)和式(8.38)类比,公式显得复杂。本书设立一个新的目标函数ϕ,公式将会变得简洁得多:

地球物理反演教程

再对比式(8.38)和式(8.43),发现它们完全一样,只要设:

X(t)=m,W=GTG,T=GTd (8.44)

注意:式(8.43)的目标函数ϕ的极大值解就是原来目标函数φ极小值的解,它们是同解的。

如果待反演的模型参数是离散的0或1值,那么可以直接应用离散Hopfield神经网络进行反演。但是一般它们都是连续的数值,所以还要将模型参数表示为二进制[1]:

地球物理反演教程

其中:Bij=0或1为二进制数;D和U为整数,取决于模型参数的大小和精度。这样第i个模型参数就用Bij表示为了二进制数。将式(8.45)代入目标函数式(8.43)后再与离散Hopfield神经网络的能量函数进行对比,确立新的等价关系后,就可以进行反演了。

这个新的等价关系式可以参见王家映的《地球物理反演理论》[1]一书。

反演的过程大致如下:

(1)根据模型参数的大小范围和精度确定D和U,将初始输入模型参数变为二进制数。设立一个拟合精度标准,如相对均方差ε,设定一个最大迭代次数N(所有神经元的输出都修改一次称为一次迭代)。

(2)利用数据方程的G矩阵(在一般情况下需用偏导数矩阵获得)计算网络的权值和阀值。

(3)将二进制初始模型参数输入网络并运行网络。

(4)把每次迭代网络输出值变为十进制模型参数,进行正演计算。如果拟合满足精度ε,则停止网络运行并输出反演结果。否则重复(2)~(4)步直到满足精度或达到最多迭代次数N为止。

在一般情况下,地球物理数据方程的G矩阵是无法用解析式写出的,需要用偏导数矩阵获得,它是依赖于输入参数的,因此网络的每次迭代都要重新计算偏导数矩阵。这个计算量是很大的。因此他的反演过程和最小二乘法相似。此外,用Hopfield神经网络进行反演同样有可能陷入局部极值点(吸引子)。因此同样受初始模型的影响,需要尽量让初始模型接近真实模型。

8.5.4.2 连续Hopfield神经网络(CHNN)[8]

1984年,Hopfield把离散Hopfield神经网络发展为连续Hopfield神经网络。但所有神经元都同步工作,各输入输出量为随时间变化的连续的模拟量,这就使得CHNN比DHNN在信息处理的并行性、实时性方面更接近实际的生物神经网络工作机理。因此利用CHNN进行地球物理反演更加方便。

CHNN可以用常系数微分方程来描述,但用模拟电子线路来描述,则更加形象直观,易于理解。图8.13为连续Hopfield神经网络的拓扑结构[8]。

图8.13 连续Hopfield神经网络的拓扑结构[8]

图8.13中每个神经元用一个运算放大器模拟,神经元的输入输出用放大器的输入输出电压表示,连接权用电导表示。每个放大器有一个正向输出和一个反向输出,分别表示兴奋和抑制。每个神经元还有一个用于设置激活电平的外界输入偏置电流作为阀值。

这里由于篇幅关系不再累述。感兴趣的读者可以参考其他文献。

3、怎么快速入门深度学习?

自己挖的坑:
咱们在学习的过程中一定要循序渐进,切不可急于求成。这就像练武功一样,一味的求快求狠只能走火入门。这里我暂且认为想要入门的同学们的基础都是比较薄弱的,咱们不能跳过传统机器学习这条路直接一大步迈进深度学习这个领域中,我们起码要知道神经网络是怎么一回事。这对于咱们理解以及掌握深度学习有着重要的帮助,比如咱们第一步要做的就是去搞明白什么是前向和反向传播以及从头到尾的自己推导一遍,有了这样一个过程咱们再去学习深度学习就会轻松多啦。千万不可自欺欺人,一步还没走稳呢就着急跑去下一个知识点啦,在积累的过程中不要给自己挖坑,确保自己搞明白一个点啦再去深入到下一个点中。
掉进别人的坑:
我们在学习的路上肯定会挖掘到很多的资源,但是这些资源不可盲目学习,我们需要有一定的鉴别能力。就好比说我们跟着一个武功一般的学,怎么也不会学到哪里去,但是我们给一个武林至尊当小弟,我们学到的也不会少嘛。

4、matlab神经网络函数newlin(pr,S,ID,LR)的参数分别表示什么意思|?

newlin 创建一线性层,newlin(PR,S,ID,LR)
PR -- 二维矩阵,指出输入的最大和最小值 S -- 输出的个数
ID -- 输入延迟矩阵, 系统默认值为[0] LR -- 学习速率,系统默认值为 0.01
具体查某个函数的含义,可以在matlab中输入help+所查的函数名,回车,就会出现所查函数的解释。

5、神经网络传递函数选取不同会有特别大差别嘛?

只是最后一层,但前面层是非线性,那么可能存在区别不大的情况。
线性函数f(a*input)=af(input), 一般来说,input为向量,最简化情况下,可以假设input的各个维度,a1=a2=a3。。。意味着你线性层只是简单的对输入做了scale~而神经网络能起作用的原因,在于通过足够复杂的非线性函数,来模拟任何的分布。所以,神经网络必须要用非线性函数。理论上,任意连续可导的函数(不要求处处可导)

6、matlab中神经网络的学习函数有哪些?类似learngdm的,及其调用格式?

学习函数主要包括:BP学习规则learngd,带动量项的BP学习规则learngdm。一般默认即可,如果需要设置,则在建立网络newff函数的参数中确定。
学习函数和训练函数的区别:
学习函数的输出是权值和阈值的增量,训练函数的输出是训练好的网络和训练记录,在训练过程中训练函数不断调用学习函数修正权值和阈值,通过检测设定的训练步数或性能函数计算出的误差小于设定误差,来结束训练。
或者这么说:训练函数是全局调整权值和阈值,考虑的是整体误差的最小。学习函数是局部调整权值和阈值,考虑的是单个神经元误差的最小。

7、人工神经网络,人工神经网络是什么意思

一、 人工神经网络的概念
人工神经网络(Artificial Neural Network,ANN)简称神经网络(NN),是基于生物学中神经网络的基本原理,在理解和抽象了人脑结构和外界刺激响应机制后,以网络拓扑知识为理论基础,模拟人脑的神经系统对复杂信息的处理机制的一种数学模型。该模型以并行分布的处理能力、高容错性、智能化和自学习等能力为特征,将信息的加工和存储结合在一起,以其独特的知识表示方式和智能化的自适应学习能力,引起各学科领域的关注。它实际上是一个有大量简单元件相互连接而成的复杂网络,具有高度的非线性,能够进行复杂的逻辑操作和非线性关系实现的系统。
神经网络是一种运算模型,由大量的节点(或称神经元)之间相互联接构成。每个节点代表一种特定的输出函数,称为激活函数(activation function)。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重(weight),神经网络就是通过这种方式来模拟人类的记忆。网络的输出则取决于网络的结构、网络的连接方式、权重和激活函数。而网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。神经网络的构筑理念是受到生物的神经网络运作启发而产生的。人工神经网络则是把对生物神经网络的认识与数学统计模型相结合,借助数学统计工具来实现。另一方面在人工智能学的人工感知领域,我们通过数学统计学的方法,使神经网络能够具备类似于人的决定能力和简单的判断能力,这种方法是对传统逻辑学演算的进一步延伸。
人工神经网络中,神经元处理单元可表示不同的对象,例如特征、字母、概念,或者一些有意义的抽象模式。网络中处理单元的类型分为三类:输入单元、输出单元和隐单元。输入单元接受外部世界的信号与数据;输出单元实现系统处理结果的输出;隐单元是处在输入和输出单元之间,不能由系统外部观察的单元。神经元间的连接权值反映了单元间的连接强度,信息的表示和处理体现在网络处理单元的连接关系中。人工神经网络是一种非程序化、适应性、大脑风格的信息处理,其本质是通过网络的变换和动力学行为得到一种并行分布式的信息处理功能,并在不同程度和层次上模仿人脑神经系统的信息处理功能。
神经网络,是一种应用类似于大脑神经突触连接结构进行信息处理的数学模型,它是在人类对自身大脑组织结合和思维机制的认识理解基础之上模拟出来的,它是根植于神经科学、数学、思维科学、人工智能、统计学、物理学、计算机科学以及工程科学的一门技术。
二、 人工神经网络的发展
神经网络的发展有悠久的历史。其发展过程大致可以概括为如下4个阶段。
1. 第一阶段----启蒙时期
(1)、M-P神经网络模型:20世纪40年代,人们就开始了对神经网络的研究。1943 年,美国心理学家麦克洛奇(Mcculloch)和数学家皮兹(Pitts)提出了M-P模型,此模型比较简单,但是意义重大。在模型中,通过把神经元看作个功能逻辑器件来实现算法,从此开创了神经网络模型的理论研究。
(2)、Hebb规则:1949 年,心理学家赫布(Hebb)出版了《The Organization of Behavior》(行为组织学),他在书中提出了突触连接强度可变的假设。这个假设认为学习过程最终发生在神经元之间的突触部位,突触的连接强度随之突触前后神经元的活动而变化。这一假设发展成为后来神经网络中非常著名的Hebb规则。这一法则告诉人们,神经元之间突触的联系强度是可变的,这种可变性是学习和记忆的基础。Hebb法则为构造有学习功能的神经网络模型奠定了基础。
(3)、感知器模型:1957 年,罗森勃拉特(Rosenblatt)以M-P 模型为基础,提出了感知器(Perceptron)模型。感知器模型具有现代神经网络的基本原则,并且它的结构非常符合神经生理学。这是一个具有连续可调权值矢量的MP神经网络模型,经过训练可以达到对一定的输入矢量模式进行分类和识别的目的,它虽然比较简单,却是第一个真正意义上的神经网络。Rosenblatt 证明了两层感知器能够对输入进行分类,他还提出了带隐层处理元件的三层感知器这一重要的研究方向。Rosenblatt 的神经网络模型包含了一些现代神经计算机的基本原理,从而形成神经网络方法和技术的重大突破。
(4)、ADALINE网络模型: 1959年,美国著名工程师威德罗(B.Widrow)和霍夫(M.Hoff)等人提出了自适应线性元件(Adaptive linear element,简称Adaline)和Widrow-Hoff学习规则(又称最小均方差算法或称δ规则)的神经网络训练方法,并将其应用于实际工程,成为第一个用于解决实际问题的人工神经网络,促进了神经网络的研究应用和发展。ADALINE网络模型是一种连续取值的自适应线性神经元网络模型,可以用于自适应系统。
2. 第二阶段----低潮时期
人工智能的创始人之一Minsky和Papert对以感知器为代表的网络系统的功能及局限性从数学上做了深入研究,于1969年发表了轰动一时《Perceptrons》一书,指出简单的线性感知器的功能是有限的,它无法解决线性不可分的两类样本的分类问题,如简单的线性感知器不可能实现“异或”的逻辑关系等。这一论断给当时人工神经元网络的研究带来沉重的打击。开始了神经网络发展史上长达10年的低潮期。
(1)、自组织神经网络SOM模型:1972年,芬兰的KohonenT.教授,提出了自组织神经网络SOM(Self-Organizing feature map)。后来的神经网络主要是根据KohonenT.的工作来实现的。SOM网络是一类无导师学习网络,主要用于模式识别﹑语音识别及分类问题。它采用一种“胜者为王”的竞争学习算法,与先前提出的感知器有很大的不同,同时它的学习训练方式是无指导训练,是一种自组织网络。这种学习训练方式往往是在不知道有哪些分类类型存在时,用作提取分类信息的一种训练。
(2)、自适应共振理论ART:1976年,美国Grossberg教授提出了著名的自适应共振理论ART(Adaptive Resonance Theory),其学习过程具有自组织和自稳定的特征。
3. 第三阶段----复兴时期
(1)、Hopfield模型:1982年,美国物理学家霍普菲尔德(Hopfield)提出了一种离散神经网络,即离散Hopfield网络,从而有力地推动了神经网络的研究。在网络中,它首次将李雅普诺夫(Lyapunov)函数引入其中,后来的研究学者也将Lyapunov函数称为能量函数。证明了网络的稳定性。1984年,Hopfield 又提出了一种连续神经网络,将网络中神经元的激活函数由离散型改为连续型。1985 年,Hopfield和Tank利用Hopfield神经网络解决了著名的旅行推销商问题(Travelling Salesman Problem)。Hopfield神经网络是一组非线性微分方程。Hopfield的模型不仅对人工神经网络信息存储和提取功能进行了非线性数学概括,提出了动力方程和学习方程,还对网络算法提供了重要公式和参数,使人工神经网络的构造和学习有了理论指导,在Hopfield模型的影响下,大量学者又激发起研究神经网络的热情,积极投身于这一学术领域中。因为Hopfield 神经网络在众多方面具有巨大潜力,所以人们对神经网络的研究十分地重视,更多的人开始了研究神经网络,极大地推动了神经网络的发展。
(2)、Boltzmann机模型:1983年,Kirkpatrick等人认识到模拟退火算法可用于NP完全组合优化问题的求解,这种模拟高温物体退火过程来找寻全局最优解的方法最早由Metropli等人1953年提出的。1984年,Hinton与年轻学者Sejnowski等合作提出了大规模并行网络学习机,并明确提出隐单元的概念,这种学习机后来被称为Boltzmann机。
Hinton和Sejnowsky利用统计物理学的感念和方法,首次提出的多层网络的学习算法,称为Boltzmann 机模型。
(3)、BP神经网络模型:1986年,儒默哈特(D.E.Ru melhart)等人在多层神经网络模型的基础上,提出了多层神经网络权值修正的反向传播学习算法----BP算法(Error Back-Propagation),解决了多层前向神经网络的学习问题,证明了多层神经网络具有很强的学习能力,它可以完成许多学习任务,解决许多实际问题。
(4)、并行分布处理理论:1986年,由Rumelhart和McCkekkand主编的《Parallel Distributed Processing:Exploration in the Microstructures of Cognition》,该书中,他们建立了并行分布处理理论,主要致力于认知的微观研究,同时对具有非线性连续转移函数的多层前馈网络的误差反向传播算法即BP算法进行了详尽的分析,解决了长期以来没有权值调整有效算法的难题。可以求解感知机所不能解决的问题,回答了《Perceptrons》一书中关于神经网络局限性的问题,从实践上证实了人工神经网络有很强的运算能力。
(5)、细胞神经网络模型:1988年,Chua和Yang提出了细胞神经网络(CNN)模型,它是一个细胞自动机特性的大规模非线性计算机仿真系统。Kosko建立了双向联想存储模型(BAM),它具有非监督学习能力。
(6)、Darwinism模型:Edelman提出的Darwinism模型在90年代初产生了很大的影响,他建立了一种神经网络系统理论。
(7)、1988年,Linsker对感知机网络提出了新的自组织理论,并在Shanon信息论的基础上形成了最大互信息理论,从而点燃了基于NN的信息应用理论的光芒。
(8)、1988年,Broomhead和Lowe用径向基函数(Radialbasis function, RBF)提出分层网络的设计方法,从而将NN的设计与数值分析和线性适应滤波相挂钩。
(9)、1991年,Haken把协同引入神经网络,在他的理论框架中,他认为,认知过程是自发的,并断言模式识别过程即是模式形成过程。
(10)、1994年,廖晓昕关于细胞神经网络的数学理论与基础的提出,带来了这个领域新的进展。通过拓广神经网络的激活函数类,给出了更一般的时滞细胞神经网络(DCNN)、Hopfield神经网络(HNN)、双向联想记忆网络(BAM)模型。
(11)、90年代初,Vapnik等提出了支持向量机(Supportvector machines, SVM)和VC(Vapnik-Chervonenkis)维数的概念。
经过多年的发展,已有上百种的神经网络模型被提出。

你可能感兴趣的:(神经网络,神经网络,cnn,深度学习,人工智能)