144
人人人人 Artificial Intelligence 人人人 人人人 中中中中中中中中中中中中 http://www.intsci.ac.cn/ 人人人人 Neural Networks 22/8/23 中中中 中中中中 中中中中 1

人工智能 Artificial Intelligence

  • Upload
    tadhg

  • View
    119

  • Download
    0

Embed Size (px)

DESCRIPTION

人工智能 Artificial Intelligence. 机器学习. Machine Learning. Agenda. 机器学习概述 归纳学习 决策树学习 基于范例的学习 (CBR) 解释学习 强化学习. 机器学习概述 (1). 什么是机器学习? 学习是使系统在不断重复的工作中对本身能力的增强和改进,使得系统下一次完成同样或类似的任务时比上一次更有效,即通过对人类学习过程和特点的研究,建立学习理论和方法,并应用于机器,以改进机器的行为和性能。 1、学习是一个过程。学习是经验积累的过程,这个过程可能很快,也可能很漫长; - PowerPoint PPT Presentation

Citation preview

Page 1: 人工智能 Artificial Intelligence

人工智能Artificial

Intelligence第六章

史忠植 中国科学院计算技术研究所

http://www.intsci.ac.cn/

神经网络Neural Networks

23/4/20 史忠植 人工智能:神经网络 1

Page 2: 人工智能 Artificial Intelligence

23/4/20 史忠植 人工智能:神经网络 2

内容提要6.1 概述6.2 神经信息处理的基本原理6.3 感知机6.4 前馈神经网络6.5 Hopfield网络6.6 随机神经网络6.7 深度学习6.8 自组织神经网络6.9 小结

Page 3: 人工智能 Artificial Intelligence

23/4/20 3

神经网络• 神经网络( neural networks, NN ),也称作人工神经网络( artificial neural networks, ANN ),或神经计算(neural computing, NC) ,是对人脑或生物神经网络的抽象和建模,具有从环境学习的能力,以类似生物的交互方式适应环境。神经网络是智能科学和计算智能的重要部分,以脑科学和认知神经科学的研究成果为基础,拓展智能信息处理的方法,为解决复杂问题和自动控制提供有效的途径。

• 一个神经网络是由简单处理元构成的规模宏大的并行分布处理器。天然具有存储经验知识和使之可用的特性。

史忠植 人工智能:神经网络

Page 4: 人工智能 Artificial Intelligence

23/4/20 4

发展历史 • 萌芽期( 20世纪 40年代) 人工神经网络的研究最早可以追溯到人类开始研究自己的智能的时期,到 1949年止。

1943年,心理学家 McCulloch和数学家 Pitts建立起了著名的阈值加权和模型,简称为 M-P模型。发 表 于 数 学 生 物 物 理 学 会 刊《 Bulletin of Methematical Biophysics》

1949年,心理学家 D. O. Hebb提出神经元之间突触联系是可变的假说—— Hebb学习律。

史忠植 人工智能:神经网络

Page 5: 人工智能 Artificial Intelligence

23/4/20 5

发展历史• 第一高潮期( 1950~1968) 以 Marvin Minsky, Frank Rosenblatt,Bernard Widrow等为代表人物,代表作是单级感知器( Perceptron)。

可用电子线路模拟。 人们乐观地认为几乎已经找到了智能的关键。许多部门都开始大批地投入此项研究,希望尽快占领制高点。

史忠植 人工智能:神经网络

Page 6: 人工智能 Artificial Intelligence

23/4/20 6

发展历史

• 反思期( 1969~1982)

M. L. Minsky和 S. Papert,

《 Perceptron》, MIT Press, 1969年

异或”运算不可表示

二十世纪 70年代和 80年代早期的研究结果

史忠植 人工智能:神经网络

Page 7: 人工智能 Artificial Intelligence

23/4/20 7

发展历史•第二高潮期( 1983~1990) 1982年, J. Hopfield提出 Hopfield网络

–用 Lyapunov函数作为网络性能判定的能量函数,建立ANN稳定性的判别依据

–阐明了 ANN与动力学的关系–用非线性动力学的方法来研究 ANN的特性–指出信息被存放在网络中神经元的联接上

史忠植 人工智能:神经网络

Page 8: 人工智能 Artificial Intelligence

23/4/20 8

发展历史• 第二高潮期( 1983~1990) 1984年, J. Hopfield设计研制了后来被人们称为 Hopfield网 -Tank 电路。较好地解决了著名的 TSP问题,找到了最佳解的近似解,引起了较大的轰动。

1985年, UCSD的Hinton、 Sejnowsky、 Rumelhart等人所在的并行分布处理( PDP)小组的研究者在 Hopfield网络中引入了随机机制,提出所谓的 Boltzmann机。

史忠植 人工智能:神经网络

Page 9: 人工智能 Artificial Intelligence

23/4/20 9

发展历史

1986年,并行分布处理小组的 Rumelhart

等研究者重新独立地提出多层网络的学习算法—— BP算法,较好地解决了多层网络的学习问题。( Paker1982和 Werbos1974年)

自适应共振理论( ART)

自组织特征映射理论

史忠植 人工智能:神经网络

Page 10: 人工智能 Artificial Intelligence

23/4/20 10

发展历史

Hinton 等人最近提出了 Helmboltz 机

徐雷提出的 Ying-Yang 机理论模型

甘利俊一 ( S.Amari) 开创和发展的基于统计流形的方法应用于人工神经网络的研究 ,

• 国内首届神经网络大会是 1990年 12月在北京举行的。

史忠植 人工智能:神经网络

Page 11: 人工智能 Artificial Intelligence

23/4/20 史忠植 人工智能:神经网络 11

内容提要6.1 概述6.2 神经信息处理的基本原理6.3 感知机6.4 前馈神经网络6.5 Hopfield网络6.6 随机神经网络6.7 深度学习6.8 自组织神经网络6.9 小结

Page 12: 人工智能 Artificial Intelligence

23/4/20 12

神经信息处理的基本原理 神经网络是由大量处理单元组成的非线性大规模自适应动力系统。它是在现代神经科学研究成果的基础

上提出的 , 试图通过模拟大脑神经网络处理、记忆信息的方式设计一种新的机器使之具有人脑那样的信息处理能力。同时 , 对这种神经网络的研究将进一步加深对思维及智能的认识。

史忠植 人工智能:神经网络

Page 13: 人工智能 Artificial Intelligence

23/4/20 13

并行分布式理论框架 1986年,美国加州大学圣地亚哥分校(UCSD) Rumellhart,McClelland,Hinton

: Parallel and Distributed Processing, MIT Press, Cambridge

史忠植 人工智能:神经网络

Page 14: 人工智能 Artificial Intelligence

23/4/20 14

并行分布式理论框架 PDP模型1 ) 一组处理单元( PE或 AN)2 ) 处理单元的激活状态( ai)3 ) 每个处理单元的输出函数( fi)4 ) 处理单元之间的连接模式5 ) 传递规则(∑ wijoi)6 ) 把处理单元的输入及当前状态结合起来产生激 活值的激活规则( Fi)7 ) 通过经验修改连接强度的学习规则8 ) 系统运行的环境(样本集合)

史忠植 人工智能:神经网络

Page 15: 人工智能 Artificial Intelligence

23/4/20 史忠植 人工智能:神经网络 15

内容提要6.1 概述6.2 神经信息处理的基本原理6.3 感知机6.4 前馈神经网络6.5 Hopfield网络6.6 随机神经网络6.7 深度学习6.8 自组织神经网络6.9 小结

Page 16: 人工智能 Artificial Intelligence

23/4/20 16

感知机神经网络的基本处理单元为人工神经元,在 1943 年,

麦克洛奇和皮兹定义了在简单的人工神经元模型,称为 M-P 模型。它的一般模型可以用下图描述:

1x 1

w

2x 2

w iixw - f( ) y

nx n

w

史忠植 人工智能:神经网络

Page 17: 人工智能 Artificial Intelligence

17

神经元单元由多个输入 xi, i=1,2,...,n 和一个

输出 y 组成。中间状态由输入信号的权和表示,而输出为

式中, j为神经元单元的偏置(阈值), wji为连

接权系数。 n 为输入信号数目, yj为神经元输

出, t 为时间, f( )为输出变换函数。

n

ijijij xwfty

1

)()(

神经元模型

23/4/20 史忠植 人工智能:神经网络

Page 18: 人工智能 Artificial Intelligence

18

(a)

x

f(x)

1

x00

(c)

x

f(x)

1

-1

(b)

f(x)

x

1

0

神经元激励函数

(a) 二值函数 (b) S 形函数 (c) 双曲正切函数

23/4/20 史忠植 人工智能:神经网络

Page 19: 人工智能 Artificial Intelligence

23/4/20 19

净输入:

n

iiijj mjxwnet

1

,...,2,1

输出: )()()( XW Tj

n

0i

iijjjj sgnxwsgnTnetsgno

oj

x1

-1xn

单层感知机

史忠植 人工智能:神经网络

Page 20: 人工智能 Artificial Intelligence

23/4/20 20

单层感知机模型

前馈神经网络

j=1,2,…,m

Tni ,...,x,...x,xx )( 21X

Tmi ,...,o,...o,oo )( 21O

Tnjijjjj ,...,w,...w,ww )( 21W

史忠植 人工智能:神经网络

Page 21: 人工智能 Artificial Intelligence

23/4/20

感知机的功能

(1)设输入向量 X=(x1 ,x2)T

0Txwxw10Txwxw1

oj2j21j1

j2j21j1j输出:

则由方程 w1jx1+w2jx2-Tj=0

确定了二维平面上的一条分界线。

单层感知机

史忠植 人工智能:神经网络 21

Page 22: 人工智能 Artificial Intelligence

23/4/20 22

感知机的功能

x1

* *

* * O

* * O

* * O O

* O x2

* * O O

O O

单层感知机

史忠植 人工智能:神经网络

Page 23: 人工智能 Artificial Intelligence

23/4/20 23

感知机的功能

(2)设输入向量 X=(x1,x2,x3)T

01

01

332211

332211

jjjj

jjjjj Txwxwxw

Txwxwxwo输出:

则由方程 w1jx1+w2jx2+w3j x3–Tj=0

确定了三维空间上的一个分界平面。

单层感知机

史忠植 人工智能:神经网络

Page 24: 人工智能 Artificial Intelligence

23/4/20 24

x1

* *

* * O

* * O

* * O O

* O x2

* * O O

O

x3

感知机的功能

单层感知机

史忠植 人工智能:神经网络

Page 25: 人工智能 Artificial Intelligence

23/4/20 25

多层感知机

x1o1

输出层隐藏层输入层

x2o2

omxn

… … … … …… …

W(1) W(2) W(3) W(L)

网络的拓扑结构

史忠植 人工智能:神经网络

Page 26: 人工智能 Artificial Intelligence

23/4/20 26

o

T3 y1 y2 -1

w11 w21 w22 T1 T2 w12 -1 x1 x2

双层感知器

x1

S1

O S2

O x2

“异或”问题分类

用两计算层感知器解决“异或”问题。

“异或”的真值表

x1 x2 y1 y2 o

0 0 1

0 1 1

1 0 0

1 1 1

多层感知机

史忠植 人工智能:神经网络

Page 27: 人工智能 Artificial Intelligence

23/4/20 27

o

T3 y1 y2 -1

w11 w21 w22 T1 T2 w12 -1 x1 x2

双层感知器

x1

S1

O S2

O x2

“异或”问题分类

用两计算层感知器解决“异或”问题。

“异或”的真值表

多层感知机

x1 x2 y1 y2 o

0 0 1

0 1 0

1 0 1

1 1 1

史忠植 人工智能:神经网络

Page 28: 人工智能 Artificial Intelligence

23/4/20 28

o

T3 y1 y2 -1

w11 w21 w22 T1 T2 w12 -1 x1 x2

双层感知器

x1

S1

O S2

O x2

“异或”问题分类

用两计算层感知器解决“异或”问题。

“异或”的真值表

多层感知机

x1 x2 y1 y2 o

0 0 1 1

0 1 1 0

1 0 0 1

1 1 1 1

史忠植 人工智能:神经网络

Page 29: 人工智能 Artificial Intelligence

23/4/20 29

o

T3 y1 y2 -1

w11 w21 w22 T1 T2 w12 -1 x1 x2

双层感知器

x1

S1

O S2

O x2

“异或”问题分类

用两计算层感知器解决“异或”问题。

“异或”的真值表

多层感知机

x1 x2 y1 y2 o

0 0 1 1 0

0 1 1 0 1

1 0 0 1 1

1 1 1 1 0

史忠植 人工智能:神经网络

Page 30: 人工智能 Artificial Intelligence

23/4/20 30

具有不同隐层数的感知器的分类能力对

感知机结构 异或问题 复杂问题 判决域形状 判决域

无隐层 半平面

单隐层 凸 域

双隐层 任意复杂 形状域

多层感知机

史忠植 人工智能:神经网络

Page 31: 人工智能 Artificial Intelligence

23/4/20 史忠植 人工智能:神经网络 31

内容提要6.1 概述6.2 神经信息处理的基本原理6.3 感知机6.4 前馈神经网络6.5 Hopfield网络6.6 随机神经网络6.7 深度学习6.8 自组织神经网络6.9 小结

Page 32: 人工智能 Artificial Intelligence

23/4/20 32

一般的前馈网络包括一个输入层和一个输出层,若干隐单元。隐单元可以分层也可以不分层,若分层,则称为多层前馈网络。网络的输入、输出神经元其激活函数一般取为线性函数,而隐单元则为非线性函数。单层感知器模型。

前馈网络的输入单元从外部环境中接受信号 , 经处理将输出信号加权后传给其投射域中的神经元 , 网络中的隐含单元或输出单元 从其接受域中接受净输入 ( 其中 表示单元 的输出 ),然后向它的投射域 发送输出信号 可以为任意的可微函数 , 一般常用的为

前馈神经网络

)1(1)( xe

xf

史忠植 人工智能:神经网络

Page 33: 人工智能 Artificial Intelligence

23/4/20 33

基于 BP 算法的多层前馈网络模型 o1 … ok … ol

W1○ Wk○ Wl ○

y1○ y2○ … ○ yj … ○ ym

V1 Vm

○ ○ ○ ○ ○

x1 x2 … xi … xn-1 xn

误差反向传播( BP)网路

史忠植 人工智能:神经网络

Page 34: 人工智能 Artificial Intelligence

23/4/20 34

基于 BP 算法的多层前馈网络模型输入向量: X=(x1,x2,…,xi,…,xn)T

隐层输出向量: Y=(y1,y2,…,yj,…,ym)T

输出层输出向量: O=(o1,o2,…,ok,…,ol)T

期望输出向量: d=(d1, d2,…,dk,…,dl)T

输入层到隐层之间的权值矩阵: V=(V1,V2,…,Vj,…,Vm)

隐层到输出层之间的权值矩阵: W=(W1,W2,…,Wk,…,Wl)

误差反向传播( BP)网路

史忠植 人工智能:神经网络

Page 35: 人工智能 Artificial Intelligence

23/4/20 35

基于 BP算法的多层前馈网络模型

)( kk netfo 对于输出层: k=1,2,…,l

m

0j

jjkk ywnet k=1,2,…,l

对于隐层: j=1,2,…,m

j=1,2,…,m

)( jj netfy

n

0i

iijj xvnet

误差反向传播( BP)网路

史忠植 人工智能:神经网络

Page 36: 人工智能 Artificial Intelligence

23/4/20 36

基于 BP算法的多层前馈网络模型

双极性 Sigmoid 函数:

x

x

e1

e1xf

)(

单极性 Sigmoid 函数:

xe1

1xf

)(

误差反向传播( BP)网路

史忠植 人工智能:神经网络

Page 37: 人工智能 Artificial Intelligence

23/4/20 37

网络误差 定义与权值调整思路

输出误差 E 定义: 2

2

1E )( Od

l

1k

2kk od

2

1)(

将以上误差定义式展开至隐层:

l

1k

2kk netfd

2

1E )]([

l

1k

2m

0j

jjkk ywfd2

1)]([

BP学习算法

史忠植 人工智能:神经网络

Page 38: 人工智能 Artificial Intelligence

23/4/20 38

网络误差与权值调整

进一步展开至输入层:

l

1k

2m

0j

jjkk netfwfd2

1E )]}([{

l

1k

2m

0j

n

0i

iijjkk xvfwfd2

1)]}([{

BP学习算法

史忠植 人工智能:神经网络

Page 39: 人工智能 Artificial Intelligence

23/4/20 39

BP 学习算法

jkjk w

Ew

j=0,1,2,…,m; k=1,2,…,l

ijij v

Ev

i=0,1,2,…,n; j=1,2,…,m

式中负号表示梯度下降,常数 η (∈ 0,1) 表示比例系数。

在全部推导过程中,对输出层有 j=0,1,2,…,m; k=1,2,…,l

对隐层有 i=0,1,2,…,n; j=1,2,…,m

BP学习算法

史忠植 人工智能:神经网络

Page 40: 人工智能 Artificial Intelligence

23/4/20 40

对于输出层,式 (3.4.9a) 可写为

jk

k

kjkjk w

net

net

E

w

Ew

对隐层,式 (3.4.9b) 可写为

ij

j

jijij v

net

net

E

v

Ev

对输出层和隐层各定义一个误差信号,令

k

ok net

E

(3.4.11a)j

yj net

E

yj

xi

BP算法推导

史忠植 人工智能:神经网络

Page 41: 人工智能 Artificial Intelligence

23/4/20 41

初 始 化 V 、 W 、 E m i n , 、 ηq = 1 , p = 1 , E = 0

输 入 样 本 , 计 算 各 层 输 出 :m21jfy T

jj ,...,,),( XV

l21kfo Tjk ,...,,),( YW

计 算 误 差 :

P

1p

l

1k

2kk od

2

1E )(

计 算 各 层 误 差 信 号 :l21koo1od kkkk ,...,,,))((δ o

k

m21jyy1w jj

l

1kjk

ok

yj ,...,,))((

调 整 各 层 权 值 :

m10jl21k

jyokjkwjkw

,...,,,...,,,

,

n10xm21j

xvv iy

jijij ,...,,,...,,

,

Y p 增 1 , q 增 1 p < P ? N N E = 0 , p = 1 E < E m i n

Y

结 束

(1) 初始化;

P

1p

pP1

RME EE

(4) 计算各层误差信号; (5) 调整各层权值; (6) 检查是否对所有样本完成一次 轮训; (7) 检查网络总误差是否达到精 度要求。

(2) 输入训练样本对 X Xp、 d dp

计算各层输出;(3) 计算网络输出误差;

BP算法的程序实现

史忠植 人工智能:神经网络

Page 42: 人工智能 Artificial Intelligence

23/4/20 42

初始化 V、W 计数器 q=1,p=1

输入第一对样本

计算各层输出

计算误差:

P

1p

l

1k

2kk od

2

1E )(

Y p增 1 p<P? N

用 E计算各层误差信号

调整各层权值

q增 1 N Erms<Emin E=0,p=1

Y 结束

然后根据总误差计算各层的误差信号并调整权值。

P

1p

l

1k

2pk

pk od

2

1E )(总

另一种方法是在所有样本输入之后,计算网络的总误差:

BP算法的程序实现

史忠植 人工智能:神经网络

Page 43: 人工智能 Artificial Intelligence

43

– 该医疗诊断系统只考虑 6 种症状、 2 种疾病、 3 种治疗方案•症状:对每一症状采集三种信息 — 有( 1 )、无( -1)、没有记录( 0 )

•疾病:对每一疾病采集三种信息 — 有( 1 )、无( -1)、没有记录( 0 )

•治疗方案:对每一治疗方案采集两种信息 — 是、否– 每个病人的信息构成一个训练样例,用一批训练样例对网络进行训练( BP算法),假设得到的是如图所示的神经网络• x1 - x6 为症状(输入)• x7,x8 为疾病名• x9,x10,x11 为治疗方案(输出)

基于 BP网络的医疗诊断系统

23/4/20 史忠植 人工智能:神经网络

Page 44: 人工智能 Artificial Intelligence

44

基于 BP网络的医疗诊断系统

23/4/20 史忠植 人工智能:神经网络

Page 45: 人工智能 Artificial Intelligence

23/4/20 45

标准的 BP算法在应用中暴露出不少内在的缺陷:

⑴ 易形成局部极小而得不到全局最优;⑵ 训练次数多使得学习效率低,收敛速度慢;⑶ 隐节点的选取缺乏理论指导;⑷ 训练时学习新样本有遗忘旧样本的趋势。

针对上述问题,国内外已提出不少有效的改进算法,下面仅介绍其中 3 种较常用的方法。

BP算法的改进

史忠植 人工智能:神经网络

Page 46: 人工智能 Artificial Intelligence

23/4/20 46

1 增加动量项

)1(δ)( tt WXW α 为动量系数,一般有 α∈(0 , 1)

2 自适应调节学习率 设一初始学习率,若经过一批次权值调整后使总误差↑,则本次调整无效,且 =β(β<1 ) ;

若经过一批次权值调整后使总误差↓,则本次调整有效,且 =θ (θ>1 ) 。

标准 BP算法的改进

史忠植 人工智能:神经网络

Page 47: 人工智能 Artificial Intelligence

23/4/20 47

3 引入陡度因子

实现这一思路的具体作法是,在原转移函数中引入一个陡度因子 λ

/1

1nete

o

o

1 =1 >1

21

net

0

标准 BP算法的改进

史忠植 人工智能:神经网络

Page 48: 人工智能 Artificial Intelligence

23/4/20 史忠植 人工智能:神经网络 48

内容提要6.1 概述6.2 神经信息处理的基本原理6.3 感知机6.4 前馈神经网络6.5 Hopfield网络6.6 随机神经网络6.7 深度学习6.8 自组织神经网络6.9 小结

Page 49: 人工智能 Artificial Intelligence

23/4/20 49

Hopfield网络 Hopfield网络是神经网络发展历史上的一个重要的里程碑。由美国加州理工学院物理学家J.J.Hopfield教授于 1982年提出,是一种单层反馈神经网络。

Hopfield网络是神经网络发展历史上的一个重要的里程碑。由美国加州理工学院物理学家J.J.Hopfield教授于 1982年提出,是一种单层反馈神经网络。Hopfield网络是一种由非线性元件构成的反馈系统,其稳定状态的分析比前向神经网络要复杂得多。 1984年, Hopfield设计并研制了网络模型的电路,并成功地解决了旅行商 (TSP)计算难题 ( 优化问题 ) 。

Hopfield网络是一种由非线性元件构成的反馈系统,其稳定状态的分析比前向神经网络要复杂得多。 1984年, Hopfield设计并研制了网络模型的电路,并成功地解决了旅行商 (TSP)计算难题 ( 优化问题 ) 。

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

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

Hello,I’m John Hopfield

史忠植 人工智能:神经网络

Page 50: 人工智能 Artificial Intelligence

23/4/20 50

离散 Hopfield网络

1z 1z 1z 1z 1z

史忠植 人工智能:神经网络

Page 51: 人工智能 Artificial Intelligence

23/4/20 51

离散 Hopfield网络

• 网络模型表示法二

史忠植 人工智能:神经网络

Page 52: 人工智能 Artificial Intelligence

23/4/20 52

离散 Hopfield网络• 相关参数说明

– 任意神经元 i 与 j 间的突触权值为 ,神经元之间连接是对称的,神经元自身无连接 .

– 每个神经元都同其他的神经元相连 , 其输出信号经过其他神经元又有可能反馈给自己

– 设 Hopfield网络中有 n 个神经元,其中任意神经元的输入用 表示,输出 用表示,它们都是时间的函数,其中 也称为神经元在时刻 t 的状态。

ijw

iu

iv ( )iv t

n

1

( ) ( )i ij j ij

j i

v t w u t b

( 1) f( ( ))i iv t v t

史忠植 人工智能:神经网络

Page 53: 人工智能 Artificial Intelligence

23/4/20 53

离散 Hopfield网络• 激励函数

n

1

n

1

1 ( ) 0

( 1)

1 ( ) 0,

ij j ij

j i

i

ij j ij

j i

w v t b

v t

w v t b

史忠植 人工智能:神经网络

Page 54: 人工智能 Artificial Intelligence

23/4/20 54

离散 Hopfield 网络

•离散 Hopfield网络的运行规则–(1)串行 ( 异步) 工作方式

•在任—时刻,只有某—神经元 (随机的或确定的选择 )依上式变化,而其他神经元的状态不变。

–(2)并行 ( 同步) 工作方式 •在任一时刻,部分神经元或全部神经元的状态同时改变。

史忠植 人工智能:神经网络

Page 55: 人工智能 Artificial Intelligence

23/4/20 55

离散 Hopfield网络• 串行 ( 异步 ) 工作方式运行步骤

– 第一步 对网络进行初始化;– 第二步 从网络中随机选取一个神经元;– 第三步 按式 (2-5)求出该神经元 i 的输出;– 第四步 按式 (2-6)求出该神经元经激活函数处理后的输出,此时网络中的其他神经元的输出保持不变;

– 第五步 判断网络是否达到稳定状态,若达到稳定状态或满足给定条件则结束;否则转到第二步继续运行。

史忠植 人工智能:神经网络

Page 56: 人工智能 Artificial Intelligence

23/4/20 56

离散 Hopfield网络• 稳定状态

– 若网络从某一时刻以后,状态不再发生变化,则称网络处于稳定状态

– 网络为对称连接,即;神经元自身无连接

– 能量函数在网络运行中不断降低,最后达到稳定

( ) ( ) 0v t t v t t

n n n

1 1 1

1E

2 ij i j i ii j ii j j i

w v v b v

史忠植 人工智能:神经网络

Page 57: 人工智能 Artificial Intelligence

23/4/20 57

离散 Hopfield网络• 网络中神经元能量函数变化量

n

1

1E

2i ij i j i ii

i j

w v v b v

Hopfield网络状态向着能量函数减小的方向演化。由于能量函数有界,所以系统必然会趋于稳定状态 。

n n

1 1

n

1

E E ( 1) E ( )

1 1( 1) ( 1) ( ) ( )

2 2

1( 1) ( )

2

i i i

ij i j i i ij i j i ii i

i j i j

i i ij j ii

i j

t t

w v t v b v t w v t v b v t

v t v t w v b

= E 0i

史忠植 人工智能:神经网络

Page 58: 人工智能 Artificial Intelligence

23/4/20 58

稳定性分析 • 网络的稳定性是与收敛性不同的问题

• Cohen和 Grossberg[1983年 ]:Hopfield网络的稳定性定理

如果 Hopfield网络的联接权矩阵是对角线为 0 的对称矩阵,则它是稳定的

• 用著名的 Lyapunov函数作为 Hopfield网络的能量函数

史忠植 人工智能:神经网络

Page 59: 人工智能 Artificial Intelligence

23/4/20 59

Lyapunov函数—能量函数

•作为网络的稳定性度量–wijoioj:网络的一致性测度。

–xjoj:神经元的输入和输出的一致性测度。

–θjoj:神经元自身的稳定性的测度。

h

1jjj

n

1jjj

h

1i

h

1jjiij ooxoow

2

1E

史忠植 人工智能:神经网络

Page 60: 人工智能 Artificial Intelligence

23/4/20 60

当 ANk 的状态从 ok 变成 ok′

1 、 ANk是输入神经元

kkkk

kkkk

h

kj&1jkjjk

h

kj&1jjkkj

h

kj&1jjj

n

kj&1jjj

h

ki&1i

h

kj&1jjiij

oox

oow2

1oow

2

1oow

2

1

ooxoow2

1E

kkkk

h

kjjjkkj

h

kjjjj

n

kjjjj

h

kii

h

kjjjiij

ooxoow

ooxoow

&1

&1&1&1 &12

1

史忠植 人工智能:神经网络

Page 61: 人工智能 Artificial Intelligence

23/4/20 61

当 ANk 的状态从 ok 变成 ok′

EEE

wkk=0

)]([1

kkkk

h

jjkj ooxow

kkk onet )(

)()(])([&1

kkkkkk

h

kjjjkkkj ooooxooow

)]([&1

kkkk

h

kjjjkj ooxow

史忠植 人工智能:神经网络

Page 62: 人工智能 Artificial Intelligence

23/4/20 62

• ΔΕ=-(netk-θk)Δok

• ANk状态的变化: Δok=(ok′-ok)

• Δok=0, ΔΕ =0

•Δok>0, ok′=1& ok=0, ok由 0 变到 1 ,netk>θk, netk-θk>0

所以, -(netk-θk)Δok<0故 ΔΕ<0

结论:网络的目标函数总是下降

•Δok<0, ok′=0& ok=1, ok由 1 变到 0

netk<θk, netk-θk<0

-(netk-θk)Δok<0故 ΔΕ<0

当 ANk 的状态从 ok 变成 ok′

史忠植 人工智能:神经网络

Page 63: 人工智能 Artificial Intelligence

23/4/20 63

当 ANk 的状态从 ok 变成 ok′

2、 ANk不是输入神经元

kkkkkk

h

kj&1jkjjk

h

kj&1jjkkj

h

kj&1jjj

n

1jjj

h

ki&1i

h

kj&1jjiij

ooow2

1oow

2

1oow

2

1

ooxoow2

1E

kk

h

kjjjkkj

h

kjjjj

n

jjj

h

kii

h

kjjjiij

ooow

ooxoow

&1

&11&1 &12

1

史忠植 人工智能:神经网络

Page 64: 人工智能 Artificial Intelligence

23/4/20 64

当 ANk 的状态从 ok 变成 ok′

kkk

kkk

h

1jjkj

kkk

h

kj&1jjkj

kkk

h

kj&1jjkkkj

o)net(

)oo](ow[

)oo](ow[

)oo(]o)oo(w[

EEE

无论 ANk 的状态是如何变化的,总有 ΔΕ≤ 0 史忠植 人工智能:神经网络

Page 65: 人工智能 Artificial Intelligence

23/4/20 65

连续 Hopfield网络网络模型

+ 1

N

j

i

1u

1C10R

1I

+iu

iC0iR

iI

+ju

jC0jR

jI

+Nu

NCN0R

NI

11w

N1w

1iw

1jw

1v

Nv

jv

iv

史忠植 人工智能:神经网络

Page 66: 人工智能 Artificial Intelligence

23/4/20 66

连续 Hopfield网络• 稳定性分析

– 将下式代入得:

N N

1 1

E E i i iij j i

i ji j

dv u dvd dw v I

dt dv dt R dt

    

   

因为

连续 Hopfield 网络模型是稳定的

N

1

i ii ij j i

j i

du uC w v I

dt R

N

1

E( )i i

ii

du dvdC

dt dt dt

1N

1

f ( )i ii

i

d v dvC

dt dt

1N

1

f ( )i ii

i i

d v dvC

dv dt

1N2

1

f ( )( )i i

ii i

d v dvC

dv dt

21f ( )0, 0, 0,i i

ii i

d v dvC

dv dv

E0

d

dt

史忠植 人工智能:神经网络

Page 67: 人工智能 Artificial Intelligence

23/4/20 67

连续 Hopfield网络• 连续 Hopfield网络模型的主要特性

– 1)连续 Hopfield网络的神经元作为 I/O转换,其传输特性具有 Sigmoid特性;

– 2)具有时空整合作用;– 3)在神经元之间存在着大量的兴奋性和抑制性连接,这种联接主要是通过反馈来实现。

– 4)具有既代表产生动作电位的神经元,又有代表按渐进方式工作的神经元,即保留了动态和非线性两个最重要的计算特性。

• Hopfield神经网络设计的目标就是使得网络存储一些特定的平衡点,当给定网络一个初始条件时,网络最后会在这样的点上停下来

史忠植 人工智能:神经网络

Page 68: 人工智能 Artificial Intelligence

23/4/20 史忠植 人工智能:神经网络 68

内容提要6.1 概述6.2 神经信息处理的基本原理6.3 感知机6.4 前馈神经网络6.5 Hopfield网络6.6 随机神经网络6.7 深度学习6.8 自组织神经网络6.9 小结

Page 69: 人工智能 Artificial Intelligence

随机神经网络

• 前面讨论的两种网络都为确定性的网络,组成它们的神经元均为确定性的,即给定神经元的输入其输出就是确定的。但在生物神经元中由于有各种各样的干扰,这实际上是很难实现的。同时人工神经元的硬件实现也会有各种扰动,从而带来某些不确定性, 因此讨论随机神经元显得必要且必需。下面首先讨论模拟退火算法( simulated annealing, SA) , 然后讨论玻耳兹曼机( Boltzmann machine, BM)。

23/4/20 史忠植 人工智能:神经网络 69

Page 70: 人工智能 Artificial Intelligence

模拟退火算法

• 模拟退火算法( Simulated Annealing)来源于固

体退火原理,将固体加温至充高,再让其徐徐冷却,加温时,固体内部粒子随温度升高变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小。

• 它由 Metropolis算法和退火过程( Annealing

Procedure, AP)组成。

23/4/20 史忠植 人工智能:神经网络 70

Page 71: 人工智能 Artificial Intelligence

模拟退火算法的基本思路:

• 首先在高温下进行搜索,此时各状态出现概率相差不大,可以很快进入“热平衡状态”,这时进行的是一种“粗搜索”,也就是大致找到系统的低能区域;

• 随着温度的逐渐降低,各状态出现概率的差距逐渐被扩大,搜索精度不断提高。这就可以越来越准确的找到网络能量函数的全局最小点。

模拟退火算法

23/4/20 史忠植 人工智能:神经网络 71

Page 72: 人工智能 Artificial Intelligence

• 模拟退火的最初目的是寻找代表复杂系统的代价函数的全局最小值。因此,这种方法为解决凹平面最优问题提供了一个强有力的工具,其中心思想在于:在用模拟退火最优化一个复杂系统(如:一个拥有很多自由度的系统)时,误差或能量函数绝大部分的时间在下降,但不是一直下降,即误差或能量函数的总趋势向减小的方向变化,但有时也向增大的方向变化,这样可跳出局部极小点,向全局最小点收敛。

模拟退火算法

23/4/20 史忠植 人工智能:神经网络 72

Page 73: 人工智能 Artificial Intelligence

• 模拟退火与传统迭代最优算法的比较:

( 1 )当系统在非零温度下时,从局部最优中跳出是非常可能的,因此不会陷入局部最优。

( 2 )系统最终状态的总特征可以在较高温度下看到,而状态的好的细节却在低温下表现,因此,模拟退火是自适应的 . 。

模拟退火算法

23/4/20 史忠植 人工智能:神经网络 73

Page 74: 人工智能 Artificial Intelligence

1.Metropolis抽样过程

假定一随机变量在某一时刻的状态为 vi。在另一时刻的状态为

vj。假设这种状态的转移满足以下条件:

ΔE表示系统从状态 vi转移至状态 vj所引起的能量差。

• 如果能量差 ΔE为负,这种转移就导致状态能量的降低,这种转移就被接受。接下来,新状态作为算法下一步的起始点。

)|()|( jiij vvPvvP

模拟退火原理

23/4/20 史忠植 人工智能:神经网络 74

Page 75: 人工智能 Artificial Intelligence

• 若能量差为正,算法在这一点进行概率操作。首先,选定一个在 [0,1]内服从均匀分布的随机数 ξ 。如果 ξ<e-

ΔE/T,则接受这种转移。否则,拒绝这种转移;即在算法的下一步中拒绝旧的状态。如此反复,达到系统在此温度下的热平衡。

• 这个过程称作 Metropolis抽样过程。 Metropolis抽样过程就是在一确定温度下,使系统达到热平衡的过程。

模拟退火原理

23/4/20 史忠植 人工智能:神经网络 75

Page 76: 人工智能 Artificial Intelligence

2.退火过程(降温过程) 在 Metropolis抽样过程中温度 T 缓慢的降低。模

拟退火过程就是通过 T 参数的变化使状态收敛于最小能量处。因而, T 参数的选择对于算法最后的结果有很大影响。初始温度和终止温度设置的过低或过高都会延长搜索时间。降温步骤太快,往往会漏掉全局最优点,使算法收敛至局部最优点。降温步骤太慢,则会大大延长搜索全局最优点的计算时间,从而难以实际应用。因此, T 可以理解为一个控制参数。

模拟退火原理

23/4/20 史忠植 人工智能:神经网络 76

Page 77: 人工智能 Artificial Intelligence

• 为寻找在有限时间逼近全局最优的模拟退火算法,设置了许多控制算法收敛的参数。在退火过程中指定了有限的退火温度值和在每一温度下的转移数目。 Kirlpatrick等人在退火步骤中设定的参数如下:

• ( 1 )初始温度值:初始温度值 T0要选的足够高,保

证模拟退火算法中所有可能的转移都能被接受。

模拟退火原理

23/4/20 史忠植 人工智能:神经网络 77

Page 78: 人工智能 Artificial Intelligence

( 2 )温度的下降:原先使用指数函数实现温度的下降。但是这种方法使降温幅度过小,从而延长搜索时间。在实际中,通常使用下式:

此处 λ 是一小于却接近于 1 的常数。 λ 通常的取值在 0.8

至 0.99之间。在每一温度下,实验足够多的转移次数。

,2,1,1 kTT kk

模拟退火原理

23/4/20 史忠植 人工智能:神经网络 78

Page 79: 人工智能 Artificial Intelligence

( 3 )终止温度:如果在连续的若干个温度下没有可接

受的新状态,系统冻结或退火停止。

• 模拟退火尤其适合解决组合优化问题,下面以模拟退火算法解决组合优化问题来进一步介绍模拟退火算法的步骤。

模拟退火原理

23/4/20 史忠植 人工智能:神经网络 79

Page 80: 人工智能 Artificial Intelligence

Boltzmann机的网络结构

23/4/20 史忠植 人工智能:神经网络 80

Page 81: 人工智能 Artificial Intelligence

• Boltzmann机由输入部、输出部和中间部构成。输入神经元和输出神经元可称为显见神经元,它们是网络与外部环境进行信息交换的媒介。中间部的神经元称为隐见神经元,它们通过显见神经元与外部进行信息交换。

• 每一对神经元之间的信息传递是双向对称的,即 wij= wji ,而

且自身无反馈即 wii=0。学习期间,显见神经元将被外部环境“

约束”在某一特定的状态,而中间部隐见神经元则不受外部环境约束。

Boltzmann机的网络结构

23/4/20 史忠植 人工智能:神经网络 81

Page 82: 人工智能 Artificial Intelligence

1v

2v

jv

nv

1iw

2iw

ijw

inw

iu

ib

i

iviP

Boltzmann机的网络结构 Boltzmann机中单个神经元的运行特性

23/4/20 史忠植 人工智能:神经网络 82

Page 83: 人工智能 Artificial Intelligence

i

n

jjiji bvwu

n

jjiji vwu

式中 bi 是该神经元的阈值。 可以将 bi归并到总的加权和中去,即得:

Boltzmann机的神经元

23/4/20 史忠植 人工智能:神经网络 83

Page 84: 人工智能 Artificial Intelligence

神经元的输出vi依概率取 1或 0 : vi取 1 的概率:

vi取 0的概率:

)1/(1)1( / Tui

ievP

)1()1(1)0( / i

Tuii vPevPvP i

由此可见, vi取 1 的概率受两个因素的影响:

( 1 ) ui越大 vi 则取 1 的概率越大,而取 0 的概率越小。

( 2 ) 参数 T 称为“温度”,在不同的温度下 vi

取 1 的概率 P 随 ui 的变化如图所示。

Boltzmann机神经元

23/4/20 史忠植 人工智能:神经网络 84

Page 85: 人工智能 Artificial Intelligence

p~u 的关系

Boltzmann机

23/4/20 史忠植 人工智能:神经网络 85

Page 86: 人工智能 Artificial Intelligence

• 可见, T 越高时,曲线越平滑,因此,即使 ui 有很大变动,也不会对 vi取 1 的概率变化造成很大的影响;反之, T 越低时,曲线越陡峭,当 ui 有稍许变动时就会使概率有很大差异。即温度高时状态变化接近随机,随着温度的降低向确定性的动作靠近。

• 当 T→0 时,每个神经元不再具有随机特性,而具有确定的特性,激励函数变为阶跃函数,这时 Boltzmann机趋向于 Hopfield 网络。

Boltzmann机

23/4/20 史忠植 人工智能:神经网络 86

Page 87: 人工智能 Artificial Intelligence

Boltzmann机采用下式所示的能量函数作为描述其状态的函数。

将 Boltzmann机视为一动力系统,能量函数的极小值对应系统的稳定平衡点,由于能量函数有界,当网络温度以某种方式逐渐下降到某一特定值时,系统必趋于稳定状态。

Boltzmann机的运行过程就是逐步降低其能量函数的过程。

ji

jiij vvwE,2

1

Boltzmann机的工作原理

23/4/20 史忠植 人工智能:神经网络 87

Page 88: 人工智能 Artificial Intelligence

• Boltzmann机在运行时,假设每次只改变一个神经元的状态,如第i个神经元,设 vi取 0 和取 1 时系统的能量函数分别为 0 和

,它们的差值为 ΔEi

• ΔEi的取值可能有两种情况 :ΔEi >0或 ΔEi <0。

jjij

jjijvvi vwvwEEE

ii0

10

Boltzmann机的工作原理

23/4/20 史忠植 人工智能:神经网络 88

Page 89: 人工智能 Artificial Intelligence

( 1 )当 ΔEi>0即 >0 时, 神经元取 1 的概率: 神经元取 0 的概率:

j

jiji vwu

)1/(1)1( / Tui

ievP )1/()0( // TuTu

iii eevP

。10

ii vv

EE

当 = ΔEi >0时,

这时神经元 i 的状态取 1 的可能性比取 0 的可能性大,即网络状态取能量低的可能性大。

)0()1( ii vPvPiu ,1/ Tuie

Boltzmann机的工作原理

23/4/20 史忠植 人工智能:神经网络 89

Page 90: 人工智能 Artificial Intelligence

( 2 )同理当 ΔEi <0时,即

那么 此时

即神经元i 的状态取0 的可能性比取 1 的可能 性大。

网络状态取能量低的可能性大。运行过程中总的趋势是朝能量下降的方向运动,但也存在能量上升的可能性。

,0j

jiji vwu

。01

ii vv

EE )0()1( ii vPvP

Boltzmann机的工作原理

23/4/20 史忠植 人工智能:神经网络 90

Page 91: 人工智能 Artificial Intelligence

• 假定 Boltzmann 机中有 V1和 V2两种状态:在 V1 状

态下神经元 i 的输出 vi=1, V2 状态下神经元 i 的输

出 vi=0,而所有其他神经元在这两种状态下的取值都

是一致的,另外假设两种状态出现的概率分别是 和 :

1vP2vP

122

1

)1/()1(

)1/(//

/

vviTETE

iv

TEiv

EEEekePkP

kekPkP

ii

i

为常数

Boltzmann机的工作原理

23/4/20 史忠植 人工智能:神经网络 91

Page 92: 人工智能 Artificial Intelligence

• 对于网络中任意两个状态 V1和 V2的出现概率分别为 和

。它们之间的关系为

• 上式符合统计理学中己知的Boltzmann分布。Boltzmann机由此得名。

2vP

TEETE

v

v vvi eeP

P /)(/ 21

2

1 /1

Boltzmann机的工作原理

1vP

23/4/20 史忠植 人工智能:神经网络 92

Page 93: 人工智能 Artificial Intelligence

• 一方面:

这就说明了能量低的状态出现的概率大,能量高的状态出现的概率小。

• 另一方面:温度参数 T 也会影响 boltzmann机处于某种状态的概率。

21

21

21

21

21

21

1

1/)(

/)(

vv

TEE

vv

vv

TEE

vv

PPeEE

PPeEE

vv

vv

Boltzmann机的工作原理

23/4/20 史忠植 人工智能:神经网络 93

Page 94: 人工智能 Artificial Intelligence

( 1 ) T 很高时,各状态出现的概率差异大大减小,也就是说网络停留在全局最小点的概率,并不比局部最小点的概率甚至非局部最小点高很多。也即网络不会陷在某个极小点中拔不出来,网络在搜索过程中能够“很快”的穿行于各极小点之间,但落于全局最小点的概率还是最大的。这一点保证网络状态落入全局最小点的可能性大。

Boltzmann机的工作原理

23/4/20 史忠植 人工智能:神经网络 94

Page 95: 人工智能 Artificial Intelligence

( 2 ) T 很低时,情况正好相反。概率差距被加大,一旦网络陷于某个极小点之后,虽然还有可能跳出该极小点,但是所需的搜索次数将是非常多的。这一点保证网络状态一旦达到全局最小点,跳出的可能性小

( 3 ) T→0( Hopfield网络 ) 。差距被无限扩展,跳出局部最小点的概率趋于无穷小。这一点保证网络状态稳定在全局最小点。

Boltzmann机的工作原理

23/4/20 史忠植 人工智能:神经网络 95

Page 96: 人工智能 Artificial Intelligence

设一个 Boltzmann 机具有 n 个随机神经元( p 个显见神经元, q 个隐见神经元),第 i 个神经元与第 j 个神

经元的连接权值为 wij, i , j = 1,2,…,n 。 T0 为初

始温度, m = 1,2,…,M为迭代次数。 Boltzmann机的运行步骤为:

第一步:对网络进行初始化。设定初始温度 T0 、终止温

度 Tfinal 和阈值 ξ ,以及网络各神经元的连接权值 wij 。

Boltzmann机的运行步骤

23/4/20 史忠植 人工智能:神经网络 96

Page 97: 人工智能 Artificial Intelligence

第二步:在温度 Tm条件下(初始温度为 T0)随机选取网络

中的一个神经元 i ,计算神经元 i 的输入信号总和 ui:

第三步:若 ui>0,即能量差 ΔEi>0,取 vi=1为神经元 i

的下一状态值。若 ui<0,计算概率:

i

n

jij

jiji bvwu 1

)1/(1 / Tui

ieP

Boltzmann机的运行步骤

23/4/20 史忠植 人工智能:神经网络 97

Page 98: 人工智能 Artificial Intelligence

• 第四步:判断网络在温度 Tm下是否达到稳定,若未达到稳定,则继续

在网络中随机选取另一神经元 j,令 j= i ,转至第二步重复计算,

直至网络在 Tm下达到稳定。若网络在 Tm下已达到稳定则转至第五步计

算。

• 第五步:以一定规律降低温度,使 Tm+1<Tm,判断 Tm+1是否小于 Tfinal

,若 Tm+1大于等于 Tfinal,则 Tm=Tm+ 1,转至第二步重复计算;若 Tm+1

小于 Tfinal ,则运行结束。此时在 Tm下所求得的网络稳定状态,即为

网络的输出。

Boltzmann机的运行步骤

23/4/20 史忠植 人工智能:神经网络 98

Page 99: 人工智能 Artificial Intelligence

Boltzmann机学习需要注意

• ( 1 )初始温度 T0的选择方法。初始温度 T0的选取主要有

以下方法:随机选取网络中 k 个神经元,选取这k 个神经

元能量的方差作为 T0;在初始网络中选取使 ΔE最大的两

个神经元,取 T0为 ΔEmax的若干倍;按经验值给出 T0等。

• ( 2 )确定终止温度阈值 Tfinal的方法。主要根据经验选

取,若在连续若干温度下网络状态保持不变,也可认为已达到终止温度。

23/4/20 史忠植 人工智能:神经网络 99

Page 100: 人工智能 Artificial Intelligence

• ( 3 )概率阈值 ξ 的确定方法。 ξ 的选取方法主要有:在网络初始化时按照经验确定或在网络每次运行过程中选取一个 [0,0.5]之间均匀分布的随机数。

• ( 4 )网络权值 wij的确定方法。将在下一章节讨论。

• ( 5 )在每一温度下达到热平衡的条件。通常在每一温度下,实验足够多的次数,直至网络状态在此温度下不再发生变化为止。

Boltzmann机学习需要注意

23/4/20 史忠植 人工智能:神经网络 100

Page 101: 人工智能 Artificial Intelligence

• ( 6 )降温的方法。通常采用指数的方法进行降温,即:

• 为加快网络收敛速度也可采用倍乘一个小于 1 的降温系数的方法进行快速降温。

)1log(0

1 m

TTm

Boltzmann机学习需要注意

23/4/20 史忠植 人工智能:神经网络 101

Page 102: 人工智能 Artificial Intelligence

• Boltzmann机是一种随机神经网络,可使用概率中的似然函数量度其模拟外界环境概率分布的性能。因此, Boltzmann机的学

习规则就是根据最大似然规则,通过调整权值 wij,最小化似然函

数或其对数。

• 假设给定需要网络模拟其概率分布的样本集合

, Vx是样本集合中的一个状态向量, Vx即可代表网络中显

见神经元的一个状态,假设向量 Vy表示网络中隐见神经元的一个

可能状态,则 V=[Vx Vy] 即可表示整个网络所处的状态。

Boltzmann机的学习规则

23/4/20 史忠植 人工智能:神经网络 102

Page 103: 人工智能 Artificial Intelligence

• 由于网络学习的最终目的是模拟外界给定样本集合的概率分布,而 Boltzmann机含有显见神经元和隐见神经元,因此Boltzmann机的学习过程包括以下两个阶段:

( 1 )主动阶段:网络在外界环境约束下运行,即由样本集合

中的状态向量 Vx控制显见神经元的状态。定义神经元 i 和

j 的状态在主动阶段的平均关联为:

x yv v

jixyjiij vvVVPvv )|(

Boltzmann机的学习规则

23/4/20 史忠植 人工智能:神经网络 103

Page 104: 人工智能 Artificial Intelligence

史忠植 人工智能:神经网络

• 其中概率 P(Vy|Vx) 表示网络的显见神经元约束在 Vx

下隐见神经元处于 Vy的条件概率,它与网络在主动阶段

的运行过程有关。

2 )被动阶段:网络不受外界环境约束,显见神经元和隐见神经元自由运行,不受约束。被动阶段的平均关联为:定义神经元 i 和 j 的状态在

xv v

jijiij vvVPvv )(

Boltzmann机的学习规则

23/4/20 104

Page 105: 人工智能 Artificial Intelligence

• P(V)为网络处于 V 状态时的概率, vi和 vj分别是神经元i 和 j 的输出状态。由于网络在自由运行阶段服从 Boltzmann分布,因此 :

E(V)为网络处于 V 状态时的能量。• 网络的权值 wij需遵循下面的调整规则:

• wij(t) 为在第 t 步时神经元i , j 之间的连接权值, η为学 习速率, T 是网络温度。

v

TVE

TVE

e

eVP

/)(

/)()(

)()()()1( ijijijijijij Ttwwtwtw

Boltzmann机的学习规则

23/4/20 史忠植 人工智能:神经网络 105

Page 106: 人工智能 Artificial Intelligence

( 1 )通过训练,神经元体现了与周围环境相匹配的概率分布;

( 2 )网络提供了一种可用于寻找、表示和训练的普遍方法;

( 3 )若保证学习过程中温度降低的足够慢,根据状态的演化,可以使网络状态的能量达到全局最小点。

Boltzmann机的优点

23/4/20 史忠植 人工智能:神经网络 106

Page 107: 人工智能 Artificial Intelligence

( 1 )增加计算时间。在外界环境约束条件下,一些神经元由外部环境约束,而在自由运行条件下,所有的神经元自由运行,这样增加了 Boltzmann机的随机仿真时间。

( 2 )对于统计错误的敏感。 Boltzmann机的学习规则包含了主动阶段关联和被动阶段关联的差值。当这两种关联相类似时,取样噪声的存在使得这个差值更加不准确。

Boltzmann机的缺点

23/4/20 史忠植 人工智能:神经网络 107

Page 108: 人工智能 Artificial Intelligence

23/4/20 史忠植 人工智能:神经网络 108

内容提要6.1 概述6.2 神经信息处理的基本原理6.3 感知机6.4 前馈神经网络6.5 Hopfield网络6.6 随机神经网络6.7 深度学习6.8 自组织神经网络6.9 小结

Page 109: 人工智能 Artificial Intelligence

定义 1 :是一类机器学习技术,利用多层次的非线性信息处理的监督或无监督的特征提取和转换,并进行模式分析和分类。

定义 2 :机器学习中的子领域,基于学习算法对数据之间的多层次复杂关系建模。更高层次的特征和概念由较低层次定义,这种分层特征被称为深度架构。这些模型大多是基于无监督学习。 “ (维基百科上的”深度学习“ 2012年 3 月)。

定义 3 : “深度学习是机器学习研究的一个新领域,它已经推出了与移动机器学习更接近的目标。深度学习是学习多层次的表示和抽象,有助于得到图像、声音和文字数据的语义。 “见https://github.com/lisa-lab/DeepLearningTutorials

深度学习

23/4/20 109史忠植 人工智能:神经网络

Page 110: 人工智能 Artificial Intelligence

深度学习

23/4/20 史忠植 人工智能:神经网络 110

2006 年, Hinton 和他的学生Salakhutdinov在《科学》上发表了一篇文章,开启了深 度学习在学术界和工业界的浪潮504 28 JULY 2006 VOL 313 SCIENCE

Reducing the Dimensionality ofData with Neural NetworksG. E. Hinton* and R. R. SalakhutdinovHigh-dimensional data can be converted to low-dimensional codes by

training a multilayer neural network with a small central layer to reconstruct high-dimensional input vectors. Gradient descent can be used for fine-tuning the weights in such ‘‘autoencoder’’ networks, but this works well only if the initial weights are close to a good solution. We describe an effective way of initializing the weights that allows deep autoencoder networks to learn low-dimensional codes that work much better than principal components analysis as a tool to reduce the dimensionality of data.

Page 111: 人工智能 Artificial Intelligence

人脑视觉机理

23/4/20 111史忠植 人工智能:神经网络

Page 112: 人工智能 Artificial Intelligence

视觉通路

23/4/20 112史忠植 人工智能:神经网络

Page 113: 人工智能 Artificial Intelligence

视觉从 V1到 IT四层

23/4/20113

史忠植 人工智能:神经网络

posterior inferotemporal

central inferotemporalanterior inferotemporal前颞叶皮层

中颞叶皮层后颞叶皮层

Page 114: 人工智能 Artificial Intelligence

自编码神经网络

23/4/20 史忠植 人工智能:神经网络 114

自编码神经网络

Page 115: 人工智能 Artificial Intelligence

受限玻尔兹曼机• 受限玻耳兹曼机( restricted

Boltzmann machine, RBM)是一个单层的随机神经网络(通常我们不把输入层计算在神经网络的层数里),本质上是一个概率图模型。输入层与隐层之间是全连接,但层内神经元之间没有相互连接。每个神经元要么激活(值为1 )要么不激活(值为 0 ),激活的概率满足 sigmoid函数。

hidden

i

j

visible

23/4/20 115史忠植 人工智能:神经网络

Page 116: 人工智能 Artificial Intelligence

深度信念网络

• 2006 年,欣顿等提出了一种深度信念网络( deep

belief nets, DBN。一个深度神经网络模型可被视为由若干个 RBM 堆叠在一起,这样一来,在训练的时候,就可以通过由低到高逐层训练这些 RBM 来实现。

23/4/20 116史忠植 人工智能:神经网络

Page 117: 人工智能 Artificial Intelligence

深度信念网络

23/4/20 117史忠植 人工智能:神经网络

Page 118: 人工智能 Artificial Intelligence

卷积神经网络

23/4/20 118史忠植 人工智能:神经网络

卷积神经网络是一种多阶段全局可训练的人工神经网络模型,它可以从经过少量预处理,甚至原始数据中学习到抽象的、本质的和高阶的特征,在车牌检测、人脸检测,手写体识别和目标跟踪等领域得到了广泛的应用。

Page 119: 人工智能 Artificial Intelligence

23/4/20 史忠植 人工智能:神经网络 119

内容提要6.1 概述6.2 神经信息处理的基本原理6.3 感知机6.4 前馈神经网络6.5 Hopfield网络6.6 随机神经网络6.7 深度学习6.8 自组织神经网络6.9 小结

Page 120: 人工智能 Artificial Intelligence

23/4/20 120

自组织特征映射神经网络• 由芬兰学者 Teuvo Kohonen于 1981年提出

• 基本上为输入层和映射层的双层结构 , 映射层的神经元互相连接,每个输出神经元连接至所有输入神经元

• Kohonen的思想在本质上是希望解决有关外界信息在人脑中自组织地形成概念的问题。

I’m Teuvo Kohonen

史忠植 人工智能:神经网络

Page 121: 人工智能 Artificial Intelligence

23/4/20 121

SOM网的生物学基础 Kohonen认为人的大脑有如下特点:1 .大脑的神经元虽然在结构上相同,但是它们的排序不同。排序不是指神

经元位置的移动,而是指神经元的有关参数在神经网络受外部输入刺激而识别事物的过程中产生变动。

2 .大脑中神经元参数在变动之后形成特定的参数组织;具有这种特定参数组织的神经网络对外界的特定事物特别敏感。

3 .根据生物学和神经生理学,大脑皮层分成多种不同的局部区域,各个区域分别管理某种专门的功能,比如听觉、视觉、思维等。

4 .大脑中神经元的排序受遗传决定,但会在外界信息的刺激下,不断接受传感信号,不断执行聚类过程,形成经验信息,对大脑皮层的功能产生自组织作用,形成新功能。

史忠植 人工智能:神经网络

Page 122: 人工智能 Artificial Intelligence

23/4/20 122

SOM网络的生物学基础

生物学研究的事实表明,在人脑的感觉通道上,神经元的组织原理是有序排列。因此当人脑通过感官接受外界的特定时空信息时,大脑皮层的特定区域兴奋,而且类似的外界信息在对应区域是连续映象的。

对于某一图形或某一频率的特定兴奋过程,神经元的有序排列以及对外界信息的连续映象是自组织特征映射网中竞争机制的生物学基础。

史忠植 人工智能:神经网络

Page 123: 人工智能 Artificial Intelligence

23/4/20 123

SOM网络结构

史忠植 人工智能:神经网络

Page 124: 人工智能 Artificial Intelligence

23/4/20 124

SOM网的拓扑结构 SOM网共有两层,输入层模拟感知外界输入信息的视网膜,输出层模拟做出响应的大脑皮层。

史忠植 人工智能:神经网络

Page 125: 人工智能 Artificial Intelligence

23/4/20 125

SOM的权值调整域

SOM的获胜神经元对其邻近神经元的影响是由近及远,由兴奋逐渐转变为抑制,因此其学习算法中不仅获胜神经元本身要调整权向量,它周围的神经元在其影响下也要程度不同地调整权向量。这种调整可用函数表示:

史忠植 人工智能:神经网络

Page 126: 人工智能 Artificial Intelligence

23/4/20 126

SOM网的权值调整域

以获胜神经元为中心设定一个邻域半径,该半径圈

定的范围称为优胜邻域。在 SOM网学习算法中,优胜邻

域内的所有神经元 均按其离开获胜神经元的距离远近不同

程度地调整权值。

优胜邻域开始定得很大,但其大小随着训练次数的

增加不断 收缩,最终收缩到半径为零。

史忠植 人工智能:神经网络

Page 127: 人工智能 Artificial Intelligence

23/4/20 127

SOM网络的学习算法 • 自组织特征映射学习算法原理

– Kohonen自组织特征映射算法,能够自动找出输入数据之间的类似度,将相似的输入在网络上就近配置。因此是一种可以构成对输入数据有选择地给予响应的网络。

• 类似度准则– 欧氏距离

n2

1

( )j i iji

d x w

史忠植 人工智能:神经网络

Page 128: 人工智能 Artificial Intelligence

23/4/20 128

自组织特征映射学习算法步骤(1)网络初始化

用随机数设定输入层和映射层之间权值的初始值(2)输入向量把输入向量输入给输入层

(3) 计算映射层的权值向量和输入向量的距离映射层的神经元和输入向量的距离,按下式给出

n2

1

( )j i iji

d x w

SOM网络的学习算法

史忠植 人工智能:神经网络

Page 129: 人工智能 Artificial Intelligence

23/4/20 129

• 自组织特征映射学习算法步骤– (4) 选择与权值向量的距离最小的神经元

•计算并选择使输入向量和权值向量的距离最小的神经元,把其称为胜出神经元并记为 ,并给出其邻接神经元集合。

– (5)调整权值 •胜出神经元和位于其邻接神经元的权值,按下式更新:

– (6)是否达到预先设定的要求如达到要求则算法结束,否则返回 (2),进入下一轮学习

h( , )( )ij i ijw j j x w

( 1) ( )ij ij ijw t w t w

j

SOM网络的学习算法

史忠植 人工智能:神经网络

Page 130: 人工智能 Artificial Intelligence

23/4/20 130

•邻域函数

– 由邻域函数可以看到,以获胜神经元为中心设定了一个邻域半径,称为胜出邻域。学习初期,胜出神经元和其附近的神经元全部接近当时的输入向量,形成粗略的映射。

– 随着学习的进行 而减小,胜出邻域变窄,胜出神经元附近的神经元数变少。因此,学习方法是一种从粗调整向微调整变化,最终达到预定目标的过程。

2

2h( , ) exp( )

j jj j

2

SOM网络的学习算法

史忠植 人工智能:神经网络

Page 131: 人工智能 Artificial Intelligence

23/4/20 131

2

SOM网络的学习算法

史忠植 人工智能:神经网络

Page 132: 人工智能 Artificial Intelligence

23/4/20 132

SOM网络的学习算法

史忠植 人工智能:神经网络

Page 133: 人工智能 Artificial Intelligence

23/4/20 133

SOM的 MATLAB实现• MATLAB中自组织神经网络的重要函数和基本功能

函 数 名 功 能newsom() 创建一个自组织特征映射神经网络plotsom() 绘制自组织特征映射网络的权值矢量vec2ind() 将单值矢量组变换成下标矢量compet() 竞争传输函数midpoint() 中点权值初始化函数learnsom() 自组织特征映射权值学习规则函数

史忠植 人工智能:神经网络

Page 134: 人工智能 Artificial Intelligence

23/4/20 134

• MATLAB 中自组织神经网络的重要函数和基本功能– newsom()

•功能 创建一个自组织特征映射网络函数•格式 net = newsom(PR,[D1, D2, ...], TFCN, DFCN, OLR, OSTEPS,TLR, TND)

•说明 net为生成的新 BP神经网络; PR为网络输入矢量取值范围的矩阵 [Pmin Pmax]; [D1, D2, ...]为神经元在多维空间中排列时各维的个数; TFCN为拓扑函数,缺省值为 hextop; DFCN为距离函数,缺省值为linkdist; OLR为排列阶段学习速率,缺省值为 0.9;OSTEPS为排列阶段学习次数,缺省值为 1000; TLR为调整阶段学习速率,缺省值为 0.02, TND为调整阶段领域半径,缺省值为1 。

SOM的 MATLAB实现

史忠植 人工智能:神经网络

Page 135: 人工智能 Artificial Intelligence

23/4/20 135

• plotsom()– 功能 绘制自组织特征映射网络图的权值向量 函数

– 格式 •(1) plotsom(pos) •(2) plotsom(W, D , ND)

– 说明 式中 pos是网络中各神经元在物理空间分布的位置坐标矩阵;函数返回神经元物理分布的拓扑图,图中每两个间距小于 1 的神经元以直线连接; W 为神经元权值矩阵; D 为根据神经元位置计算出的间接矩阵; ND为领域半径,缺省值为 1 ;函数返回神经元权值的分布图,图中每两个间距小于 ND的神经元以直线连接。

SOM的 MATLAB实现

史忠植 人工智能:神经网络

Page 136: 人工智能 Artificial Intelligence

23/4/20 136

• yec2ind()–功能 将单值向量组变换成下标向量–格式 ind = vec2ind(vec)–说明 式中, vec为 m 行 n 列的向量矩阵x , x 中的每个列向量 i ,除包含一个 1 外,其余元素均为 0 , ind为 n 个元素值为 1所在的行下标值构成的一个行向量。

SOM的 MATLAB实现

史忠植 人工智能:神经网络

Page 137: 人工智能 Artificial Intelligence

23/4/20 137

• 例 1 人口分类是人 口统计中的一个重要指标,现有 1999共

10个地区的人口出生比例情况如下:

– 出生男性百分比分 别为: 0.5512 0.5123

0.5087 0.5001 0.6012 0.5298

0.5000 0.4965 0.5103 0.5003;

– 出生女性百分比分 别为: 0.4488 0.4877 0.4913

0.4999 0.3988 0.4702 0.5000

0.5035 0.4897 0.4997

SOM的 MATLAB实现

史忠植 人工智能:神经网络

Page 138: 人工智能 Artificial Intelligence

23/4/20 138

•例 1 源程序

SOM的 MATLAB实现

史忠植 人工智能:神经网络

Page 139: 人工智能 Artificial Intelligence

23/4/20 139

例 1 SOM网络权值分布图

史忠植 人工智能:神经网络

Page 140: 人工智能 Artificial Intelligence

23/4/20 140

例 1 SOM网络数据分类图

类别 1

类别 2

类别 5类别 4

类别 3

测试数据属于类别 5

史忠植 人工智能:神经网络

Page 141: 人工智能 Artificial Intelligence

23/4/20 141

SOM网络的特点

• 自组织映射( Self-organizing

Maps, SOM)算法是一种无导师学习方法

• 具有良好的自组织

• 可视化

• 得到了广泛的应用和研究。

史忠植 人工智能:神经网络

Page 142: 人工智能 Artificial Intelligence

23/4/20 史忠植 人工智能:神经网络 142

内容提要6.1 概述6.2 神经信息处理的基本原理6.3 感知机6.4 前馈神经网络6.5 Hopfield网络6.6 随机神经网络6.7 深度学习6.8 自组织神经网络6.9 小结

Page 143: 人工智能 Artificial Intelligence

23/4/20 史忠植 人工智能:神经网络 143

小结

神经网络一般可以分成以下四种类型,即前馈型、反馈性、随机型和自组织竞争型。在神经网络的结构确定后,关键的问题是设计一个学习速度快、收敛性好的学习算法,故本章把学习算法作为讨论的重点。

深度学习应大数据而生,是机器学习、神经网络研究中的一个新的领域,其核心思想在于模拟人脑的层级抽象结构,通过无监督的方式分析大规模数据,发掘大数据中蕴藏的有价值信息。本章简要介绍深度学习的主要类型和工作原理。

Page 144: 人工智能 Artificial Intelligence

23/4/20 史忠植 人工智能:神经网络 144

Thank You

人工智能 http://www.intsci.ac.cn/