10.1 概述
ANN到DL的技术发展
- ANN始于1890年
- M-P模型(1943年)
- Hebb学习规则(1949年)
- 是一种无监督的学习规则。表明了网络是可以学习的,启发了后面一系列关于神经网络的研究工作
- 感知机(1958年)
- 是最早的人工神经网络,也是具有学习功能的M-P模型
- 1969年进入冰河期
- 感知机的弱点:不能解决异或问题
- 神经网络:BP算法(1986年)
- 是一种监督学习算法,解决了两层神经网络计算的复杂性
- 卷积神经网络(1989年)
- 90年代ANN的滞缓发展
- RNN模型(Jordan(1986),Elman(1990))
- LSTM模型(1997)
- 深层信度网络(2006年)
- ReLU激活函数(2011年)
- 语音识别突破(2011年)
- ImageNet竞赛夺冠(2012年)
- 截至2015年ImageNet竞赛结果,ResNet:3.6% top 5 error
- 2016、2017年AlphaGo(强化学习)
- (2017年–)深度学习的技术突破
- 生成对抗(GAN)
- 注意力机制(Attentional Machanism)
- 预训练模型(BERT)
DL在AI成功应用
- 语音识别
- 计算机视觉
- 视觉系统的信息处理是分级
- 大脑是一个深度架构,认知过程也是深度的
- DL在图像识别
- 自然语言处理
- 词向量表示学习
- 预训练模型:ELMo、GPT和BERT等,全线提升自然语言处理领域的多项任务的Baseline
- 递归神经网络(RNN)
- 词向量表示学习
BP算法(反向传播算法):是一种监督学习算法,解决了两层神经网络计算的复杂性
ReLU激活函数:能够有效抑制梯度消失问题
常用的损失函数
- Quadratic Loss: L ( y , y ^ ) = ( y − f ( x , θ ) ) 2 L(y,\hat{y})=(y-f(x,\theta))^{2} L(y,y^)=(y−f(x,θ))2
- Cross-entropy Loss: L ( y , f ( x , θ ) ) = − ∑ i = 1 C y i l o g f i ( x , θ ) , f i ( x , θ ) ∈ [ 0 , 1 ] , ∑ i = 1 C f i ( x , θ ) = 1 L(y,f(x,\theta))=-\sum_{i=1}^{C}y_{i}logf_{i}(x,\theta),\ f_{i}(x,\theta)\in [0,1],\ \sum_{i=1}^{C}f_{i}(x,\theta)=1 L(y,f(x,θ))=−∑i=1Cyilogfi(x,θ), fi(x,θ)∈[0,1], ∑i=1Cfi(x,θ)=1
Softmax: P ( y = c ∣ x ) = s o f t m a x ( w c T x ) = e x p ( w c T x ) ∑ i = 1 C e x p ( w i T x ) P(y=c|x)=softmax(w^{T}_{c}x)=\frac{exp(w^{T}_{c}x)}{\sum_{i=1}^{C}exp(w^{T}_{i}x)} P(y=c∣x)=softmax(wcTx)=∑i=1Cexp(wiTx)exp(wcTx)
单个神经元模型:
- 感知机
- 损失函数 J ( w ) = ∑ x ( n ) − w T x ( n ) ( d ( n ) − y ( n ) ) J(w)=\sum_{x(n)}-w^{T}x(n)(d(n)-y(n)) J(w)=∑x(n)−wTx(n)(d(n)−y(n))
- 最小方差回归
- ℘ ( w ) = 1 2 ∑ i = 1 n e 2 ( i ) \wp (w)=\frac{1}{2}\sum_{i=1}^{n}e^{2}(i) ℘(w)=21∑i=1ne2(i)
- e ( i ) = d ( i ) − y ( i ) e(i)=d(i)-y(i) e(i)=d(i)−y(i)
- Logistic模型
- P ( y = 1 ∣ x ) = σ ( w T x ) = 1 1 + e x p ( − w T x ) P(y=1|x)=\sigma(w^{T}x)=\frac{1}{1+exp(-w^{T}x)} P(y=1∣x)=σ(wTx)=1+exp(−wTx)1
- 最大似然估计
多层感知机
卷积网络
核函数网络
- 径向基网络
- 单隐藏层神经网络、非线性体现在径向基核函数
- W求取采用最小均方在线学习
- F ( x ) = ∑ i = 1 N w i φ ( ∣ ∣ x − x i ∣ ∣ ) F(x)=\sum_{i=1}^{N}w_{i}\varphi(||x-x_{i}||) F(x)=∑i=1Nwiφ(∣∣x−xi∣∣)
- 简化模型(K-means混合模型)
- F ( x ) = ∑ j = 1 K w j φ ( x , x j ) F(x)=\sum_{j=1}^{K}w_{j}\varphi(x,x_{j}) F(x)=∑j=1Kwjφ(x,xj)
- 支持向量机
- W求取采用最大间隔学习
- min w , h 1 2 ∣ ∣ w ∣ ∣ 2 \displaystyle \min_{w,h}\frac{1}{2}||w||^{2} w,hmin21∣∣w∣∣2
- s . t y i ( w T x i + b ) − 1 ≥ 0 , i = 1 , 2 , . . . , l s.t\ \ y_{i}(w^{T}x_{i}+b)-1\ge 0,\ i=1,2,...,l s.t yi(wTxi+b)−1≥0, i=1,2,...,l
- W求取采用最大间隔学习
自组织网络
RBM
递归网络
深度前馈网络常见结构:
- 全连接网络 DFL
- 预训练+全连接网络 Au+CNN+FL
- 预训练相当于特征提取
- 卷积+全连接网络 CNN+FL
- CNN+FL+ReLu+Tricks
递归神经网络常见结构:
- Bi结构
- Deep结构
- CNN+RNN结构
- …
生成对抗网络(GAN)
- 两个网络博弈:G(Generator)和D(Discriminator)
- G是一个生成图片的网络,它接收一个随机的噪声z,通过这个噪声生成图片,记作G(z)
- D是一个判别网络,判别一张图片是不是“真实的”。它输入一张图片x,输出D(x)代表x为真实图片的概率,如果为1,就代表100%是真实的图片,而输出为0,就代表不可能是真实的图片
强化学习
10.2 多层感知机
多层感知机:
含有数据输入层、1个以上隐藏层、1个输出层
各层神经元全连接,同一层神经元之间无连接
激活函数(包含硬门限阈值函数),是导致网络运算非线性的直接原因。
学习目标:调整神经元连接权重值,使平均误差能最小
学习方法:批量学习和在线学习
目标:最小化损失函数
重要的问题:求取参数梯度
批量学习:
- N个样本(一个batch)
- 随机采样batch训练样本集
- batch-by-batch调整权值
- 优点:梯度向量形式固定,有利于并行处理
- 缺点:需要内存资源大
在线学习:
- sample-by-sample调整权值
- 优点:容易执行、存储量小、有效解决大规模和困难模式的分类
- 缺点:学习过程随机、不稳定
BP基本思想:两个方向的信号流、两个方向的函数运算
-
函数信号:计算输出函数信号
-
误差信号:计算梯度向量
流程:
(1)数据初始化
(2)Epoch采样
(3)前向计算
(4)反向梯度计算
(5)求参数梯度
(6)迭代(2)-(5)
10.3 卷积网络
卷积层:局部连接和权重共享
参数:Filter、Stride、Pad
( N + 2 p − F ) / s t r i d e + 1 (N+2p-F)/stride +1 (N+2p−F)/stride+1
input volume:
32 × 32 × 3 32\times 32\times 3 32×32×3
10 5 × 5 5\times 5 5×5 filters with stride 1, pad 2
output volume:
( 32 + 2 ∗ 2 − 5 ) / 1 + 1 = 32 (32+2*2-5)/1 +1=32 (32+2∗2−5)/1+1=32
32 × 32 × 10 32\times 32\times 10 32×32×10
Number of parameters in this layer?
each filter has 5 ∗ 5 ∗ 3 + 1 = 75 5*5*3+1=75 5∗5∗3+1=75 params
=>76*10=760
子采样层:每个通道,通过下采样,缩减尺寸
10.4 Recurrent网络
四种基本递归结构:
1、输入-输出递归模型(NARX模型)
- 输入:当前输入 u n u_{n} un,过去的输入值 u n − 1 , . . . , u n − q + 1 u_{n-1},...,u_{n-q+1} un−1,...,un−q+1,自反馈部分 y n , . . . , y n − q + 1 y_{n},...,y_{n-q+1} yn,...,yn−q+1
- 输出: y n + 1 y_{n+1} yn+1
- y n + 1 = F ( y n , . . . , y n − q + 1 ; u n , u n − q + 1 ) y_{n+1}=F(y_{n},...,y_{n-q+1};u_{n},u_{n-q+1}) yn+1=F(yn,...,yn−q+1;un,un−q+1)
2、状态空间模型Simple Recurrent Network(SRN)
- x n + 1 = a ( x n , u n ) x_{n+1}=a(x_{n},u_{n}) xn+1=a(xn,un)
- y n = B x n y_{n}=Bx_{n} yn=Bxn
- a( , )非线性变换,单隐层神经元;B线性变换
3、递归多层感知机Recurrent Multilayer Perceptions
- x I , n + 1 = ϕ I ( x I , n , u n ) x_{I,n+1}=\phi_{I}(x_{I,n},u_{n}) xI,n+1=ϕI(xI,n,un)
- x I I , n + 1 = ϕ I I ( x I I , n , x I , n + 1 ) x_{II,n+1}=\phi_{II}(x_{II,n},x_{I,n+1}) xII,n+1=ϕII(xII,n,xI,n+1)
- …
- x o , n + 1 = ϕ o ( x o , n , x K , n + 1 ) x_{o,n+1}=\phi_{o}(x_{o,n},x_{K,n+1}) xo,n+1=ϕo(xo,n,xK,n+1)
4、二阶网络Second-Order Network
- v k , n = b k + ∑ i ∑ j w k i j x i , n u j , n v_{k,n}=b_{k}+\sum_{i}\sum_{j}w_{kij}x_{i,n}u_{j,n} vk,n=bk+∑i∑jwkijxi,nuj,n
- x k , n + 1 = φ ( v k , n ) = 1 1 + e x p ( − v k , n ) x_{k,n+1}=\varphi(v_{k,n})=\frac{1}{1+exp(-v_{k,n})} xk,n+1=φ(vk,n)=1+exp(−vk,n)1
- 状态转换可看作: δ ( x i , u j ) = x k \delta(x_{i},u_{j})=x_{k} δ(xi,uj)=xk
通用逼近定理:
如果网络具有充分多的隐藏神经元,任意的非线性动态系统可以由递归神经网络以期望的精度来逼近,对于状态空间的紧致性没有限制。
10.5 前沿概述
深度结构
- 神经网络+深层结构+优化+计算资源+人工智能应用
梯度消失
- 解决梯度消失:
- 前馈网络:自编码、ReLU激活函数
- Recurrent网络:二次优化、非线性逐次状态估计、ReLU激活函数
视觉识别
- Image Feature and Recognition
- Image Detection
- Image Captioning
- Attention for Captioning
- ImageNet Completion
- AlexNet
- ZFNet
- VGGNet
- GoogLeNet
- ResNet
自然语言处理
- Representation
- Word2Vector
- Knowledge Embedding
- Sentence Modelinh
- Recursive Neural Network(结构的递归神经网络)
- Question Answering
- Sequence to Sequence Modeling
- ElMo
- Transformer
- BERT
生成对抗模型原理
- 生成器(Generator)
- 尽可能去学习真实样本的分布,迷惑鉴别器
- 鉴别器(Discriminator)
- 尽可能的正确判断输入数据是来自真实数据还是来自生成器
- 损失函数
- min G max D V ( D , G ) = E x ∼ p d a t a [ l o g D ( x ) ] + E x ∼ p x ( x ) [ l o g ( 1 − D ( G ( z ) ) ) ] \displaystyle \min_{G} \max_{D}V(D,G)=\mathbb{E} _{x \sim p_{data}}[logD(x)]+\mathbb{E}_{x \sim p_{x}(x)}[log(1-D(G(z)))] GminDmaxV(D,G)=Ex∼pdata[logD(x)]+Ex∼px(x)[log(1−D(G(z)))]
- 训练过程
- 生成器与鉴别器交替训练,互相提升各自的生成能力和鉴别能力,最终寻找二者之间的一个纳什平衡
强化学习
-
马尔可夫决策过程
- 智能体环境交互:智能体的目标是最大化将来的期望累积奖励(expected return)
-
多臂老虎机
深度强化学习
- Alpha-Go
- SeqGAN
- Visual navigation
知识图谱
-
实体、关系和事实
- 实体:现实世界中可区分、可识别的事物或概念
- 关系:实体和实体之间的语义关联
- 事实:(head entity, relation, tail entity)三元组形式
-
狭义知识图谱:具有图结构的三元组知识库
-
节点:实体,边:事实(由头实体指向尾实体),边的类型:关系
-
链接预测、三元组分类
-
分布式知识表示方法分类:
- 位移距离模型:采用基于距离的打分函数来衡量三元组成立的可能性
- 语义匹配模型:采用基于相似度的打分函数来衡量三元组成立的可能性
-
主要的方法:
- 位移距离模型:TransE
- TransE是最具代表性的位移距离模型,其核心思想是实体和关系间的位移假设
- 位移距离模型:TransE
-
语义匹配模型
- 计算实体和关系在隐式向量空间的语义匹配程度,以此来判断三元组成立的可能性
- 简单匹配模型:RESCAL及其变种
- 从头实体和尾实体的表示进行组合后再与关系的表示进行匹配,即Matching(relation,Composition(head,tail))
- 复杂匹配模型:深度神经网络
- 利用较为复杂的神经网络结构完成实体和关系的语义匹配,即NueralMatching(head,relation,tail)
-
深度神经网络:利用神经网络结构完成实体和关系的语义匹配
-
融合关系路径:PTransE
- 关系路径可被视为远距离实体间的位移操作