Artificial Intelligence

文章目录

  • Artificial Intelligence
    • 人工神经网络
      • 激活函数
        • 性质
        • 作用
        • 常用的激活函数
      • 单层神经网络
      • 多层神经网络
      • BP算法
        • BP算法基本思想
        • 数学基础理论
      • 举例
        • 前向传播
        • 反向传播

人工神经网络

人工神经网络( Artificial Neural Network, ANN)是20世纪80年代以来人工智能领域兴起的研究热点。它从信息处理角度对人脑神经元网络进行抽象,构建某种简单模型,按不同的连接方式组成不同的网络。在工程与学术界常将人工神经网络简称为神经网络(NN)

神经网络是一种运算模型,由大量的节点(或称神经元)之间相互连接构成。每个节点代表一种特定的输出函数,称为激励函数或者激活函数(activation function)

每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重,这相当于人工神经网络的记忆。

激活函数

神经网络中的每个神经元节点接受上一层神经元的输出值作为本神经元的输入值,并将输入值传递给下一层,输入层神经元节点会将输入属性值直接传递给下一层(隐层或输出层)。在多层神经网络中,上层节点的输出和下层节点的输入之间具有一个函数关系,这个函数称为激活函数(又称激励函数)。

性质

  • 可微性:计算梯度时必须要有此性质。
  • 非线性:保证数据非线性可分。
  • 单调性:保证凸函数。
  • 输出值与输入值相差不会很大:保证神经网络训练和调参高效。

作用

能使得神经网络的每层输出结果变得非线性化

常用的激活函数

参考链接

  1. Sigmoid

Sigmoid 是常用的非线性的激活函数,它的数学形式如下:

Sigmoid的几何图像如下:

特点:
它能够把输入的连续实值变换为0和1之间的输出,特别的,如果是非常大的负数,那么输出就是0;如果是非常大的正数,输出就是1.

缺点:
sigmoid函数曾经被使用的很多,不过近年来,用它的人越来越少了。主要是因为它固有的一些缺点。
缺点1:在深度神经网络中梯度反向传递时导致梯度爆炸和梯度消失,其中梯度爆炸发生的概率非常小,而梯度消失发生的概率比较大。

缺点2:其解析式中含有幂运算,计算机求解时相对来讲比较耗时。对于规模比较大的深度网络,这会较大地增加训练时间。

  1. tanh

tanh函数解析式:

tanh函数及其导数的几何图像如下图:

tanh读作Hyperbolic Tangent,它解决了Sigmoid函数的不是zero-centered输出问题,然而,梯度消失(gradient vanishing)的问题和幂运算的问题仍然存在。

  1. Relu

Relu函数的解析式:

Relu函数及其导数的图像如下图所示:

ReLU函数其实就是一个取最大值函数,注意这并不是全区间可导的,但是我们可以取sub-gradient,如上图所示。ReLU虽然简单,但却是近几年的重要成果,有以下几大优点:
1) 解决了gradient vanishing问题 (在正区间)
2) 计算速度非常快,只需要判断输入是否大于0
3) 收敛速度远快于sigmoid和tanh

ReLU也有几个需要特别注意的问题:
1)ReLU的输出不是zero-centered
2)Dead ReLU Problem,指的是某些神经元可能永远不会被激活,导致相应的参数永远不能被更新。有两个主要原因可能导致这种情况产生:

(1) 非常不幸的参数初始化,这种情况比较少见

(2) learning rate太高导致在训练过程中参数更新太大,不幸使网络进入这种状态。

解决方法是可以采用Xavier初始化方法,以及避免将learning rate设置太大或使用adagrad等自动调节learning rate的算法。

尽管存在这两个问题,ReLU目前仍是最常用的activation function,在搭建人工神经网络的时候推荐优先尝试!

单层神经网络


x1,x2,…, xN:神经元的输入。这些可以从输入层实际观测或者是一个隐藏层的中间值(隐藏层即介于输入与输出之间的所有节点组成的一层。后面讲到多层神经网络是会再跟大家解释的)。

​ X0:偏置单元。这是常值添加到激活函数的输入(类似数学里y=ax+b中使直线不过原点的常数b)。即截距项,通常有+1值。

​ w0,w1,w2,…,wN:对应每个输入的权重。甚至偏置单元也是有权重的。

a:神经元的输出。计算如下:

式子里的f是已知的激活函数,f使神经网络(单层乃至多层)非常灵活并且具有能估计复杂的非线性关系的能力。在简单情况下可以是一个高斯函数、逻辑函数、双曲线函数或者甚至上是一个线性函数。利用神经网络可让其实现三个基本功能:与、或、非(AND, OR, NOT)。

​ 这里引入一个例子:and功能实现如下

神经元输出:a = f( -1.5 + x1 + x2 )

多层神经网络

多层神经网络就相当于多个单层的叠加成多层的过程。

神经网络分为三种类型的层

输入层:神经网络最左边的一层,通过这些神经元输入需要训练观察的样本,即初始输入数据的一层。

隐藏层:介于输入与输出之间的所有节点组成的一层。帮助神经网络学习数据间的复杂关系,即对数据进行处理的层。

输出层:由前两层得到神经网络最后一层,即最后结果输出的一层。

BP算法

BP算法是多层神经网络的训练一个核心的算法。目的是更新每个连接点的权重,从而减小预测值与真实值之间的差距。输入一条训练数据就会更新一次权重,反方向(从输出层=>隐藏层=>输入层)来以最小化误差来更新权重。
在训练神经网络之前,需要初始化权重和偏向,初始化是随机值, -1 到 1 之间或者-0.5到0.5之间,每个单元有一个偏向。

BP算法有2个过程,前向传播和反向传播,后者是关键。

BP算法基本思想

​ BP算法全称叫作误差反向传播(error Back Propagation,或者也叫作误差逆传播)算法。其算法基本思想为:在上述的前馈网络中,输入信号经输入层输入,通过隐层计算由输出层输出,输出值与标记值比较,若有误差,将误差反向由输出层向输入层传播,在这个过程中,利用梯度下降算法对神经元权值进行调整。

数学基础理论

​ BP算法中核心的数学工具就是微积分的链式求导法则

举例


图中元素:
两个输入;
隐层: b1, w1, w2, w3, w4 (都有初始值)
输出层:b2, w5, w6, w7, w8(赋了初始值)

前向传播


则误差:

反向传播


参数更新:

求误差对w1的偏导 :

注意,w1对两个输出的误差都有影响
通过以上过程可以更新所有权重,就可以再次迭代更新了,直到满足条件。

Artificial Intelligence-人工神经网络相关推荐

  1. R语言高级算法之人工神经网络(Artificial Neural Network)

    1.人工神经网络原理分析: 神经网络是一种运算模型,由大量的节点(或称神经元)和之间的相互连接构成,每个节点代表一种特定的输出函数,称为激励函数(activation function).每两个节点间 ...

  2. 人工神经网络(Artificial Neural Netwroks)笔记-消除样本顺序的BP算法

    人工神经网络(Artificial Neural Netwroks)笔记-基本BP算法 上文中已经提到"基础BP算法"偏爱"较后出现的样本,因此较后出现的样本对网络影响较 ...

  3. 机器学习笔记-人工神经网络(artificial neural networks)

    目录 人工神经网络(ANN) 引言 感知器 什么是感知器? 感知器的例子 权重和阈值 多层前馈神经网络 网络结构 正向传播 反向传播(Error Back Propagation,BP算法) ​ 后话 ...

  4. 机器学习实战-57: 人工神经网络分类算法(Artificial Neural Network)

    机器学习实战-57: 人工神经网络分类算法 深度学习原理与实践(开源图书)-总目录,建议收藏,告别碎片阅读! 人工神经网络(Artificial Neural Network)分类算法属于监督学习算法 ...

  5. ANN人工神经网络(Artificial Neuron Network )

    原创不易,转载前请注明博主的链接地址:Blessy_Zhu https://blog.csdn.net/weixin_42555080 一.为什么需要神经网络 首先,神经网络应用在分类问题中效果很好. ...

  6. Artificial Intelligence Yourself

    2019独角兽企业重金招聘Python工程师标准>>> TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理.Tensor( ...

  7. 人工神经网络在肺结核诊断中应用的研究进展

    人工神经网络在肺结核诊断中应用的研究进展 作者:胡青云 指导老师:杭诚方.李舰 摘要:结核病是一种全世界致死率极高的传染性疾病,转染性极强,可通过空气传播.该病在亚洲和非洲发病率极高,尤其是在大多数低 ...

  8. 人工神经网络的算法原理,深度神经网络算法原理

    1.人工智能的工作原理是什么? 人工智能的工作原理是:计算机会通过传感器(或人工输入的方式)来收集关于某个情景的事实.计算机将此信息与已存储的信息进行比较,以确定它的含义.计算机会根据收集来的信息计算 ...

  9. 人工神经网络的算法原理,深度神经网络工作原理

    AI是否可以被精神分析?人工智能运行的基础原理到底是什么? AI不可以被精神分析,人工智能的工作原理是,计算机使用传感器(或人工输入),将收集有关一个场景的事实.计算机将把这些信息与已经存储的信息进行 ...

  10. 人工神经网络算法的应用,神经网络算法应用案例

    1.量化交易主要有哪些经典的策略 其实要说种类其实很简单,完全可以按照炒股的类型来对策略模型分类,从这个角度来说,认为可以分成技术分析型.价值分析型.机器学习与人工智能.当然了,还有一大类是多因子模型 ...

最新文章

  1. java 继承 注解_在java中实现组合注解原理分析(注解继承)
  2. php和python和java-Java、Python与PHP的虚拟机异同
  3. 高性能服务器架构(二):缓存清理策略
  4. 【Python-ML】神经网络激励函数-双曲正切(hyperbolic tangent,tanh)函数
  5. 中国农民丰收节交易会全国贫困地区农产品产销对接行动
  6. mysql的limit优化_mysql数据库limit优化例子(百万级数据)
  7. 集合视图控制器(CollectionViewController) 、 标签控制器(TabBarController) 、 高级控件介绍...
  8. hdu 3951 硬币围成一圈(博弈)
  9. feign调用多个服务_spring cloud各个微服务之间如何相互调用(Feign、Feign带token访问服务接口)...
  10. 恋与制作人 服务器错误,恋与制作人安装失败怎么办_恋与制作人安装失败解决方法_游戏吧...
  11. win7系统主板驱动在哪
  12. 统计数字字符个数(信息学奥赛一本通-T1129)
  13. WEB API Filter的使用以及执行顺序
  14. 开源操作系统年度盛会最新日程曝光,邀您一同开启烧脑模式!
  15. 计算机课代表中段考总结,中段考试总结与反思
  16. [BZOJ3653]谈笑风生 主席树
  17. t460p加固态硬盘 thinkpad_联想T460p加装固态硬盘
  18. TopBase_Knowledge_Graph
  19. 【转】职场学做“功夫熊猫”
  20. 输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。

热门文章

  1. RAC环境诊断案例一则
  2. 星起航:亚马逊全球开店品牌负责人唐浩表示“中国品牌出海的黄金时代已经到来”
  3. 简单的python爬取淘宝数据
  4. 全息投影是计算机技术吗,全息投影技术在使用过程中要注意哪些问题?
  5. github python100天_GitHub - ychgithub/Python-100-Days: Python - 100天从新手到大师
  6. vue动态修改网页标题(也可用于vx里的网页标题)
  7. 给互联网创业公司的8个建议
  8. Java金额大写转换
  9. 测试工程师进阶之测试用例发散思维(二)
  10. 小程序 打开地图导航