前馈神经网络(FeedForward Neural Network)

本文介绍了神经网络的基本概念,包括其作为大规模并行处理器的特性,学习机制,以及关键组件如激活函数。着重讨论了前馈神经网络(FNN)和多层感知机,强调了特征抽取和误差反向传播在机器学习中的作用。同时指出了神经网络参数学习中的挑战,如非凸优化和梯度消失问题。
摘要由CSDN通过智能技术生成

神经网络是一种大规模的分布式并行处理器,天然具备着存储并使用经验和知识的能力,神经网络获取的知识是通过学习获取的,所获得的经验和知识存储在神经元单元之间的连接上。

神经网络的输入是一个D维的向量,每一层的每一个神经元所获得的值叫做净输入z,净输入通过一个激活函数(activation function)得到神经元的活性值a。这里的激活函数需要满足一下这些性质:1.连续并可导的非线性函数。2.激活函数和它的导函数尽可能的简单,有利于网络计算的效率。3.激活函数的导函数的值域要在一个合适的区间内,不能太大也不能太小,否则会有影响训练的效率和稳定性。

列举几个比较重要的激活函数:1.Sigmoid型:Logistic函数、Tanh函数。2.ReLU函数

前馈神经网络(Feedforward Neural Network,FNN)也叫做全连接神经网络(Fully-connected Neural Network,FCNN),也叫做多层感知机(Multi-Layer Perceptron,MLP),但是多层感知机叫法不是很合理,因为神经元的激活函数是连续的非线性函数,而感知器的激活函数是不连续的非线性函数。

把神经网络应用到机器学习中,我们可以使用神经网络进行一些复杂的特征转换,即把原始的特征向量x转换为更有效的特征向量f(x),这个过程就是“特征抽取”,本质上其实是一个维度到维度之间的映射。

在进行参数的学习时,我们通常使用误差反向传播(backpropagation,BP)的方法进行学习。我们称损失函数对某一层神经元的偏导数为误差项,反映了最终损失对第l层神经元的敏感程度,BP算法的含义是:第l层一个神经元的误差项是第l+1层所有神经元误差项的加权和,然后再乘上该神经元激活函数的梯度。

所以神经网络的参数是通过梯度下降来优化的,而梯度下降的计算方法是使用反向传播算法来实现的。实际上参数梯度的计算可以计算机来自动计算,目前主流的深度学习框架都包含了自动梯度计算的功能,我们只需要考虑网络结构的代码实现即可。

可是,神经网络的参数学习十分困难,它是一个非凸优化问题,并且很容易发生梯度消失问题(Vanishing Gradient),也叫梯度弥散问题。因为我们知道误差项反向传播的时候每一层都会乘以该层激活函数的导数,如果激活函数是Logistic函数,它的导函数的值域是[0,0.25],误差项经过每一层都会衰减,当网络层数很深的时候,梯度就会不停地衰减,甚至消失,从而使得整个网络训练起来很困难。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值