当前位置: 首页 > news >正文

攀枝花建设集团网站网站做简介

攀枝花建设集团网站,网站做简介,网站开发相关专业,上海设计工作室排名文章目录 第五章 神经网络5.1 神经元模型5.2 感知机与多层网络5.3 误差逆传播算法5.4 全局最小与局部极小5.5 其他常见神经网络5.6 深度学习 第五章 神经网络 5.1 神经元模型 神经网络是由具有适应性简单单元组成的广泛并行互连的网络#xff0c;它的组织能够模拟生物神经系统… 文章目录 第五章 神经网络5.1 神经元模型5.2 感知机与多层网络5.3 误差逆传播算法5.4 全局最小与局部极小5.5 其他常见神经网络5.6 深度学习 第五章 神经网络 5.1 神经元模型 神经网络是由具有适应性简单单元组成的广泛并行互连的网络它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应神经网络中最基本的成分是神经元模型以下为第一个神经元数学模型——M-P神经元模型。 在这个模型中神经元接收到来自 n n n个其他神经元传递过来的输入信号这些输入信号通过带权重的连接进行传递神经元接收到的总输入值将与神经元的阈值进行比较然后通过“激活函数”处理以产生神经元的输出理想中的激活函数如下图a所示的阶跃函数它将输入值映射为输出值“0”或“1”其中“1”对应于神经元兴奋“0”对应于神经元抑制。 然而阶跃函数具有不连续、不光滑等不太好的性质所以实际常用Sigmoid函数作为激活函数。目前常用的激活函数主要有以下几种具体的可以参考这个链接(激活函数 | 深度学习领域最常用的10个激活函数详解数学原理及优缺点)。 线性激活函数输出与输入成正比没有非线性特性一般用于输出层。Sigmoid激活函数输出在0到1之间具有平滑的非线性特性一般用于二分类问题或者概率输出。双曲正切激活函数输出在-1到1之间具有平滑的非线性特性一般用于多分类问题或者中心化输出。ReLU激活函数输出为0或者正数具有分段的非线性特性一般用于隐藏层可以加速收敛和减少梯度消失。Leaky ReLU激活函数输出为负数或者正数具有分段的非线性特性一般用于隐藏层可以避免ReLU的死亡节点问题。ELU激活函数输出为负指数或者正数具有平滑的非线性特性一般用于隐藏层可以避免ReLU的死亡节点问题并且有更好的收敛效果。SELU激活函数输出为负指数或者正数具有平滑的非线性特性一般用于隐藏层可以自动归一化网络并且有更好的收敛效果。Swish激活函数输出为负数或者正数具有平滑的非线性特性一般用于隐藏层可以提高准确率和稳定性。Softmax激活函数输出为多个0到1之间的值其和为1具有平滑的非线性特性一般用于输出层可以表示多分类问题的概率分布。 5.2 感知机与多层网络 感知机是神经网络最基本的模型它是由一个或多个神经元组成的而神经网络是由多个感知机或其他类型的神经元连接而成的复杂模型它可以实现非线性分类和回归等功能比如下面就是一个有两个输入神经元的感知机网络结构 y f ( ∑ w i x i − θ ) y f(\sum {{w_i}} {x_i} - \theta ) yf(∑wi​xi​−θ)可以实现与、或、非运算。 更一般的给定训练数据集权重 w w w以及阈值 θ \theta θ可以通过学习得到而阈值 θ \theta θ可以看作固定输入为-1的权重 w n 1 w_{n1} wn1​这样就可以统一为权重的学习对于感知机来说学习规则如下所示假设当前感知机的输出为$\mathop y\limits^ \wedge $感知机权重将这样调整 w i ← w i Δ w i Δ w i η ( y − y ∧ ) x i {w_i} \leftarrow {w_i} \Delta {w_i}\\ \Delta {w_i} \eta (y - \mathop y\limits^ \wedge ){x_i} wi​←wi​Δwi​Δwi​η(y−y∧​)xi​   其中 η ∈ ( 0 , 1 ) \eta \in (0,1) η∈(0,1)称为学习率若感知机预测正确则感知机不发生变化否则将根据错误的程度进行权重调整这也是感知机学习算法是一种基于误分类的监督学习算法目标是找到一个能够将训练数据正确分类的超平面。 感知机选择将预测值与实际值作差的形式来进行权重更新的依据是为了使超平面向正确分类的方向移动。当一个实例被误分类时预测值与实际值的差就是误差的符号它表示了超平面与实例之间的距离和方向此时将误差乘以输入向量就可以得到一个调整量它表示了超平面在每个特征维度上需要移动的大小和方向而将调整量加到权重上就可以使超平面向正确分类的方向移动一定的距离。这样经过多次迭代超平面就可以逐渐接近最优的位置了。 上述问题都是线性可分问题而这样的感知机无法解决非线性可分问题要解决非线性可分问题需要考虑使用多层功能神经元。如下所示的两层感知机就可以解决异或问题而在输出层与输入层之间的一层神经元则被称为隐层或隐含层也是具有激活函数的功能神经元。 下面介绍一下前馈神经网络在前馈神经网络中每层神经元与下一层神经元全互连神经元之间不存在同层连接也不存在跨层连接如下所示 前馈神经网络与反馈神经网络的区别深度学习–前馈神经网络、反馈神经网络 5.3 误差逆传播算法 多层网络的学习能力比单层感知器强得多如果想训练多层网络上述简单感知器的学习规则显然就不够了需要更强大的学习算法下面来介绍一下BP算法BP算法是一种用于训练多层神经网络的梯度下降算法它利用链式法则计算网络每层的权重对损失函数的梯度然后更新权重来最小化损失函数。BP算法分为两个阶段激励传播和权重更新。激励传播阶段包括前向传播和反向传播前向传播是将训练输入送入网络以获得预测结果反向传播是计算预测结果与训练目标的误差。权重更新阶段是根据误差和梯度调整网络的权重以减小误差。 下面对BP算法中的一些符号进行定义以一个拥有 d d d个输入神经元、 l l l个输出神经元、 q q q个隐层神经元的多层前馈网络结构为例假设隐层和输出层神经元都是用Sigmoid函数作为激活函数。 D D D训练集 D { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x m , y m ) } , x i ∈ R d , y ∈ R l D \{ ({x_1},{y_1}),({x_2},{y_2}),...,({x_m},{y_m})\} ,{x_i} \in {{ R}^d},y \in {{ R}^l} D{(x1​,y1​),(x2​,y2​),...,(xm​,ym​)},xi​∈Rd,y∈Rl即输入示例由 d d d个属性描述输出 l l l维实值向量 θ j {\theta _j} θj​输出层第 j j j个神经元的阈值 γ h {\gamma _h} γh​隐层第 h h h个神经元的阈值 v i h {v_{ih}} vih​输入层第 i i i个神经元与隐层第 h h h个神经元之间的连接权重 w h j {w_{hj}} whj​隐层第 h h h个神经元与输出层第 j j j个神经元之间的连接权重 α h {\alpha _h} αh​隐层第 h h h个神经元接收到的输入 α h ∑ i 1 d v i h x i {\alpha _h} \sum\limits_{i 1}^d {{v_{ih}}{x_i}} αh​i1∑d​vih​xi​ β j {\beta _j} βj​输出层第 j j j个神经元接收到的输入 β j ∑ h 1 q w h j b h {\beta _j} \sum\limits_{h 1}^q {{w_{hj}}} {b_h} βj​h1∑q​whj​bh​其中 b h b_h bh​为隐层第 h h h个神经元的输出 对于训练例 ( x k , y k ) ({x_k},{y_k}) (xk​,yk​)假定神经网络的输出为 y ∗ k ( y ∗ 1 k , y ∗ 2 k , . . . , y ∗ l k ) {{y^*}_k} ({y^*}_1^k,{y^*}_2^k,...,{y^*}_l^k) y∗k​(y∗1k​,y∗2k​,...,y∗lk​)即 y ∗ l k f ( β j − θ j ) {y^*}_l^k f({\beta _j} - {\theta _j}) y∗lk​f(βj​−θj​)则网络在 ( x k , y k ) ({x_k},{y_k}) (xk​,yk​)上的均方误差为 E k 1 2 ∑ j 1 l ( y ∗ l k − y j k ) 2 {E_k} \frac{1}{2}{\sum\limits_{j 1}^l {({y^*}_l^k - y_j^k)} ^2} Ek​21​j1∑l​(y∗lk​−yjk​)2   下面以隐层到输出层的连接权重 w h j w_{hj} whj​为例来进行权重更新的推导对于误差 E k E_k Ek​给定学习率 η \eta η有 Δ w h j − η ∂ E k ∂ w h j ∂ E k ∂ w h j ∂ E k ∂ y ∗ l k ⋅ ∂ y ∗ l k ∂ β j ⋅ ∂ β j ∂ w h j , ∂ β j ∂ w h j b h \Delta {w_{hj}} - \eta \frac{{\partial {E_k}}}{{\partial {w_{hj}}}}\\ \frac{{\partial {E_k}}}{{\partial {w_{hj}}}} \frac{{\partial {E_k}}}{\partial {y^*}_l^k} \cdot \frac{\partial {y^*}_l^k}{{\partial {\beta _j}}} \cdot \frac{{\partial {\beta _j}}}{{\partial {w_{hj}}}}, \frac{{\partial {\beta _j}}}{{\partial {w_{hj}}}} {b_h} Δwhj​−η∂whj​∂Ek​​∂whj​∂Ek​​∂y∗lk​∂Ek​​⋅∂βj​∂y∗lk​​⋅∂whj​∂βj​​,∂whj​∂βj​​bh​   Sigmoid函数有一个很好的性质 f ′ ( x ) f ( x ) ( 1 − f ( x ) ) f(x) f(x)(1 - f(x)) f′(x)f(x)(1−f(x))所以可以定义如下 g j g_j gj​ g j − ∂ E k ∂ y ∗ l k ⋅ ∂ y ∗ l k ∂ β j − ( y ∗ l k − y j k ) f ′ ( β j − θ j ) y ∗ l k ( 1 − y ∗ l k ) ( y j k − y ∗ l k ) {g_j} - \frac{{\partial {E_k}}}{\partial {y^*}_l^k} \cdot \frac{\partial {y^*}_l^k}{{\partial {\beta _j}}} - ({y^*}_l^k - y_j^k)f({\beta _j} - {\theta _j}) {y^*}_l^k(1 - {y^*}_l^k)(y_j^k - {y^*}_l^k) gj​−∂y∗lk​∂Ek​​⋅∂βj​∂y∗lk​​−(y∗lk​−yjk​)f′(βj​−θj​)y∗lk​(1−y∗lk​)(yjk​−y∗lk​)   将上述 g j g_j gj​代入之前的式子即可得到权重 w h j w_{hj} whj​的更新公式 Δ w h j η g j b h \Delta {w_{hj}} \eta g_j b_h Δwhj​ηgj​bh​类似也可以得到其他权重的更新公式如下所示 Δ θ j − η g j , Δ v i h η e h x i , Δ γ h − η e h 其中 e h − ∂ E k ∂ b h ⋅ ∂ b h ∂ α h − ∑ j 1 l ∂ E k ∂ β j ⋅ ∂ β j ∂ b h f ′ ( α h − γ h ) ∑ j 1 l w h j g j f ′ ( α h − γ h ) b h ( 1 − b h ) ∑ j 1 l w h j g j \Delta {\theta _j} - \eta {g_j},\Delta {v_{ih}} \eta {e_h}{x_i},\Delta {\gamma _h} - \eta {e_h}\\ 其中{e_h} - \frac{{\partial {E_k}}}{{\partial {b_h}}} \cdot \frac{{\partial {b_h}}}{{\partial {\alpha _h}}} - \sum\limits_{j 1}^l {\frac{{\partial {E_k}}}{{\partial {\beta _j}}} \cdot \frac{{\partial {\beta _j}}}{{\partial {b_h}}}} f({\alpha _h} - {\gamma _h}) \sum\limits_{j 1}^l {{w_{hj}}} {g_j}f({\alpha _h} - {\gamma _h}) {b_h}(1 - {b_h})\sum\limits_{j 1}^l {{w_{hj}}} {g_j} Δθj​−ηgj​,Δvih​ηeh​xi​,Δγh​−ηeh​其中eh​−∂bh​∂Ek​​⋅∂αh​∂bh​​−j1∑l​∂βj​∂Ek​​⋅∂bh​∂βj​​f′(αh​−γh​)j1∑l​whj​gj​f′(αh​−γh​)bh​(1−bh​)j1∑l​whj​gj​   下面给出BP算法的工作流程对于每个训练样例BP算法执行以下操作先将输入示例提供给输入层神经元然后逐层将信号前传直到产生输出层的结果然后计算输出层的误差再将误差逆向传播至隐层神经元最后根据隐层神经元的误差来对连接权重和阈值进行调整。该迭代过程循环进行直到达到某些停止条件为止比如训练误差已达到一个很小的值。 BP算法的目标是要最小化训练集 D D D上的累积误差 E 1 m ∑ k 1 m E k E \frac{1}{m}\sum\limits_{k 1}^m {{E_k}} Em1​k1∑m​Ek​在这里要注意虽然BP算法里面有反向传播这一步但这与反馈神经网络中的反馈是不同的BP算法里面的反向传播是指根据网络的输出误差从输出层到输入层逐层计算并更新权重参数的过程而反馈神经网络中的反馈是指网络的输出会经过一定的变换后再作为输入传回到网络中形成一个循环或回路。 下面介绍一下两种BP算法标准BP算法与累积BP算法。 标准BP算法每次只针对一个训练样例更新参数也就是随机梯度下降法stochastic gradient descent优点是参数更新频繁可以加快收敛速度和避免局部最优缺点是参数更新不一致可能导致震荡和偏离最优方向。累积BP算法每次针对所有训练样例更新参数也就是批量梯度下降法batch gradient descent优点是参数更新稳定可以减少噪声和波动缺点是参数更新缓慢可能导致陷入局部最优或过拟合。比如假设有n个训练样例分别使用标准BP和累积BP那么参数更新的次数取决于迭代轮数假设迭代轮数为m那么 标准BP算法每轮迭代会对每个训练样例进行一次参数更新所以总共会进行m*n次参数更新。累积BP算法每轮迭代会对所有训练样例进行一次参数更新所以总共会进行m次参数更新。 为了缓解BP网络的过拟合一共有两种策略——早停和正则化。早停是将数据集分成训练集和验证集训练集用来计算梯度、更新连接权重和阈值验证集用来估计误差若训练集误差降低但验证集误差升高则停止训练同时返回具有最小验证集误差的连接权重和阈值。正则化是在误差目标函数中增加一个用于描述网络复杂度的部分比如连接权重与阈值的平方和。 5.4 全局最小与局部极小 在神经网络的训练过程中我们往往会谈到两种最优局部极小与全局最小。显然参数空间内梯度为零的点只要其误差函数值小于邻点的误差函数值就是局部极小点可能存在多个局部极小值但是却只会有一个全局最小值。 基于梯度的搜索时使用最为广泛的参数寻优方法梯度下降法是沿着负梯度方向搜索最优解因为负梯度方向是函数在当前点的方向导数最小的方向方向导数是函数沿着某个方向的变化率它与函数的梯度和该方向的单位向量的点积相等当两个向量的夹角为180度时点积最小也就是说当单位向量与梯度的反方向一致时方向导数最小。因此沿着负梯度方向走函数值下降最快。 目前常采用以下策略来试图跳出局部极小从而进一步接近全局最小 以多组不同参数值初始化多个神经网络按标准方法训练后取其中误差最小的解作为最终参数这相当于从多个不同的初始点开始搜索这样就可能陷入不同的局部极小从中进行选择有可能获得更接近全局最小的结果。使用“模拟退火”技术。模拟退火在每一步都以一定的概率接受比当前解更差的结果从而有助于“跳出”局部极小。在每步迭代过程中接受“次优解”的概率要随着时间的推移而逐渐降低从而保证算法稳定。使用随机梯度下降。与标准梯度下降法精确计算梯度不同随机梯度下降法在计算梯度时加入了随机因素。于是即便陷入局部极小点它计算出的梯度仍可能不为零这样就有机会跳出局部极小继续搜索。 5.5 其他常见神经网络 1RBF网络 RBF网络是一种单隐层前馈神经网络它使用径向基函数作为隐层神经元的激活函数而输出层则是对隐层神经元输出的线性组合。 2ART网络 竞争型学习是神经网络中一种常用的无监督学习策略在使用该策略时网络的输出神经元相互竞争每一时刻仅有一个竞争获胜的神经元被激活其他神经元的状态被抑制。而ART网络是竞争型学习的重要代表该网络由比较层、识别层、识别阈值和重置模块组成。 在接收到比较层的输入信号后识别层神经元之间相互竞争以产生获胜神经元竞争的最简单方式是计算输入向量与每个识别层神经元所对应的模式类的代表向量之间的距离距离最小者胜。获胜神经元将向其他识别层神经元发送信号抑制其激活。若输入向量与获胜神经元所对应的代表向量之间的相似度大于识别阈值则当前输入样本将被归为该代表向量所属类别同时网络连接权重将会更新使得以后在接收到相似输入样本时该模式类会计算出更大的相似度从而使该获胜神经元有更大可能获胜若相似度不大于识别阈值则重置模块将在识别层增设一个新的神经元其代表向量就设置为当前输入向量。 3SOM网络 SOM网络是一种竞争学习型的无监督神经网络它能将高维输入数据映射到低维空间同时保持输入数据在高维空间的拓扑结构即将高维空间中相似的样本点映射到网络输出层中的邻近神经元。 如下图所示SOM网络中的输出层神经元以矩阵方式排列在二维空间中每个神经元都拥有一个权向量网络在接收输入向量后将会确定输出层获胜神经元它决定了该输入向量在低维空间中的位置。SOM的训练目标就是为每个输出层神经元找到合适的权向量以达到保持拓扑结构的目的。 4级联相关网络 一般的神经网络模型通常假定网络结构是事先固定的训练的目的是利用训练样本来确定合适的连接权重、阈值等参数。与此不同结构自适应网络则将网络结构也当作学习的目标之一并希望能在训练过程中找到最符合数据特点的网络结构级联相关网络是结构自适应网络的重要代表。 级联相关网络有两个主要成分“级联”和“相关”。级联是指建立层次连接的层级结构相关是指通过最大化新神经元的输出与网络误差之间的相关性来训练相关的参数。 5Elman网络 Elman网络是最常用的递归神经网络之一如下所示它的结构与多层前馈网络很相似但隐层神经元的输出被反馈回来与下一时刻输入层神经元提供的信号一起作为隐层神经元在下一时刻的输入。隐层神经元通常采用Sigmoid激活函数而网络的训练则常通过推广的BP算法进行。 5.6 深度学习 典型的深度学习模型就是很深层的神经网络深度学习有很多应用场景例如 语音识别深度学习可以用于语音识别、语音合成等任务例如谷歌的语音助手、苹果的Siri等。图像识别深度学习在图像分类、目标检测、图像语义分割等计算机视觉任务中取得了显著成果例如谷歌的人脸识别、腾讯的美颜相机等。自然语言处理深度学习可以用于文本生成、机器翻译、情感分析等自然语言处理任务例如微软的小冰、百度的翻译等。游戏深度学习可以用于强化学习让机器自主地学习和优化策略例如谷歌的AlphaGo、OpenAI的Dota 2机器人等。医疗深度学习可以用于医疗图像分析、疾病诊断、药物发现等医疗领域例如IBM的Watson、阿里的ET医疗大脑等。艺术深度学习可以用于图像风格迁移、图像生成、音乐生成等艺术领域例如谷歌的Deep Dream、Prisma等。 以下是卷积神经网络用于手写数字识别的一个例子。
http://www.hkea.cn/news/14489034/

相关文章:

  • 杭州品格网站设计中核华泰建设有限公司网站
  • 深圳网络营销推广公司哪家好论坛seo教程
  • 大学培训中心网站建设公司网站建设知乎
  • 网站邮箱配置哪家网站设计公司好
  • 博兴县建设局网站在淘宝上的毕设网站代做
  • 网站漏洞怎么修复设计培训网页版
  • 合肥新格建站网手机网站适配
  • 淘宝网站怎么做视频教程专题网站设计
  • 单页网站建设服务好的商家中国核工业第五建设有限公司是国企吗
  • 网站怎么做二级页面商务网站建设期末考试
  • 学什么可以先做网站全国私人订制平台
  • 免费个人网站空间注册企业制作宣传片
  • 网站互联网接入商2015年做那些网站能致富
  • 装修设计网站排行榜网站建设汽车后市场解决方案
  • 菏泽网站建设制作网站开发语言和数据库有几种
  • 派多格宠物网站建设网站虚拟空间更新缓存
  • 王磊网络网站建设wordpress需要Apache吗
  • 家政行业网站建设方案郑州 网站设计
  • 自做网站域名重定向网页设计图片怎么占满相应位置
  • 门头沟网站开发wordpress修改前缀
  • 做网站自己装服务器国家建筑规范标准网
  • 外贸网站做多少钱的网站建站卖首饰侵权
  • 湖北网站建设企业h5页面是什么
  • 弹簧机东莞网站建设怎样申请自己企业的网站
  • 厦门企业官方网站建设多语言版本网站制作
  • 给网站做选题如何做个网站做cpa
  • 重庆网站运营公司北京做网站s
  • 沈阳营销型网站开发做100个网站效果图
  • 网站开发好的语言1688采购网官网
  • 建设网站能盈利吗贾汪建设局网站