神经网络与深度学习—1

本文概述了神经网络的发展历史,包括人工神经网络的分层结构和工作原理,以及线性回归、感知机、BP算法和多层前馈网络的应用。重点介绍了如何通过多层网络解决复杂问题,并讨论了性能优化中的动量法和自适应梯度方法。
摘要由CSDN通过智能技术生成

1、概述

1.1 发展历史

        神经网络与深度学习是人工智能的一个分支,其发展史如下图所示:

1.2 人工神经网络

         神经网络与深度学习从仿生角度模拟自然信息处理过程,以人的视觉信息处理为例:

人对视觉信息处理采用的是分层处理机制,如下描述:

  • 低级处理(low-level processing):分析视觉环境的简单属性;
  • 中级处理(intermediate-level processing):使用低级特征分析视觉场景,包括
    • 表面分割:将局部视觉特征组装成表面,将对象与背景分离;
    • 轮廓整合:局部线段方位被整合到全局轮廓中;
    • 形状识别:从阴影和运动学线索中识别表面形状。
  • 高级处理(high-level processing):使用表面和轮廓来识别物体。

    可见,高层特征是低层特征的组合,越到高层越抽象,越能表现出意图。从仿生角度看,人工神经网络模型同样采用分层组合,包括输出层、隐藏层和输出层。整个模型由大量的节点(或称神经元)之间相互联接构成。每个节点代表一种特定的输出函数,称为激励函数。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重,这相当于人工神经网络的记忆。网络的输出则依网络的连接方式,权重值和激励函数的不同而不同。神经网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。

2、线性回归与感知机

2.1 线性回归

      线性回归的方法在大量领域都有应用,简单来说,问题就是:已知多组(x,y),在这些已知数据基础上,拟合出一个函数,这样我们给出一个x(不在已知数据中),就能利用该函数算出对y值的估计量。具体方法常用最小二乘法的思想,设置出损失函数,寻找拟合曲线的参数,使损失函数的值最小,思路如下:

2.2 线性二分类问题

      分类问题,即对多组数据进行分类,二分类问题:如下图,一条直线将圆形点与叉分类,求解模型计算对于数据(x,y)属于两类的概率。

 与线性回归不同,这里的损失函数设置要有所变化,原本的y值应该更正为概率值,

对损失函数的求导变得复杂,这里引入梯度下降法解决对超平面参数的求解问题

2.3 神经元

        神经元模型在概述中提到过,现在考虑其数学形式,MP神经元结构如下图:

    其中的作用函数y=f(x)一般包括非对称型Sigmoid函数、对称型Sigmoid函数、对称型阶跃函数等。

    Hebb规则:连接权值的调整量与输入与输出的乘积成正比:

2.4 感知机模型

        感知机模型与神经元模型相比,有完全相同的形式,仍考虑2.2的二分类问题,感知机从输入到输出的模型如下:

对于分类问题数学化处理:

 定义损失函数:

目标就是找到w*,使的L(w)最小,计算迭代如下:

以上的该感知机模型可用于二分类问题 。

3、多层前馈网络与BP算法

3.1 多层感知机

       上面的二分类问题可以用一条直线分开,实现二分类。但现在要考虑以下问题(XOR问题):对第三个图的分类,必须用两条直线,如第四个图所示。

    基于此问题引出了多层感知机,相比于2.4中只有一层w权重,在输入和输出层间加一或多层隐单元,构成多层感知器(多层前馈神经网络)。

三层感知器可识别任一凸多边形或无界的凸区域。更多层感知器网络,可识别更为复杂的图形。
多层感知器网络,有如下定理:
       定理1:若隐层节点(单元)可任意设置,用三层阈值节点的 网络,可以实现任意的二值逻辑函数。
       定理2:若隐层节点(单元)可任意设置,用三层S型非线性特性节点的网络,可以一致逼近紧集上的连续函数或按 范数逼近紧集上的平方可积函数。 

3.2 BP算法

       BP算法是梯度下降法在多层前馈网中的应用。其网络结构如下 𝐮 (或 𝐱 )、 𝐲 是网络的输入、输出向量,神经元 用节点表示,网络由输入层、隐层和输出层节点组成,隐层可一层 ,也可多层(图中是单隐层),前层至后层节点通过权联接。

       BP 学习算法由正向传播和反向传播组成:
           1、 正向传播是输入信号从输入层经隐层,传向输出层,若输出层得到了期望的输出,
则学习算法结束;否则,转至反向传播。
           2、 反向传播是将误差 ( 样本输出与网络输出之差)按原联接通路反向计算,由梯度下降
法调整各层节点的权值和阈值,使误差减小。
       BP算法的详细推导可见下文:

4、性能优化

        我们在利用训练集训练模型时,一般训练次数越多,模型越准确,但随着次数增加,有时模型的准确度不再改变,原因是每次梯度下降都使模型向一个弹性球在U型槽里左右撞击,就是到不了槽底,即损失函数的值到不了最优值。

        解决方法有动量法,自适应梯度法等,具体方法参考如下文章:

十三、机器学习进阶知识:神经网络之反向传播算法(自适应梯度算法Adagrad)_自适应平滑梯度学习算法-CSDN博客

深度学习相关概念:动量法与自适应梯度_动量自适应-CSDN博客 

  • 9
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值