没有合适的资源?快使用搜索试试~ 我知道了~
首页持续学习中的灾难性遗忘:神经重播策略研究
持续学习中的灾难性遗忘:神经重播策略研究
0 下载量 188 浏览量
更新于2024-06-18
收藏 5.76MB PDF 举报
在"持续学习中的灾难性遗忘及其重放过程"这一博士学位论文中,作者探讨了在神经网络深度学习领域的关键挑战——灾难性遗忘。灾难性遗忘是指当一个模型在持续学习新任务时,对先前学习的知识产生严重的遗忘,这在实际应用中是一个严重的问题,因为它限制了模型的迁移学习能力。论文的核心内容聚焦于如何通过设计有效的学习策略,如利用重放机制,来缓解这种遗忘现象。 重放过程是一种技术,它在训练过程中将过去的经验数据重新引入,以增强模型对旧知识的记忆。这种方法模拟了人类大脑的学习过程,通过反复回顾和练习,巩固已有的知识结构。在神经科学层面上,这涉及到神经元之间的连接权重调整,以及记忆编码和检索的优化。 论文作者在巴黎奥林匹克理工学院(EDIPP)的研究背景下,详细介绍了他们的实验设计和理论框架,展示了如何通过神经网络的模拟和实验证明重放过程的有效性。评审团队由来自不同知名大学和研究机构的专家组成,包括计算机科学教授、副教授、研究主任等,他们的评价和反馈对于提升研究成果的严谨性和影响力至关重要。 作者感谢了导师大卫以及他们在泰雷兹和ENSTAParis的同事们的支持,他们的指导和合作对于论文的完成起到了关键作用。同时,作者还表达了对家庭和朋友的感激,特别是他们的理解和支持,使得研究得以在充满爱和鼓励的环境中进行。 这篇论文不仅提供了深入理解灾难性遗忘现象的新视角,也为解决持续学习中的遗忘问题提出了创新的解决方案,对于推动AI领域的学习算法发展具有重要的学术价值。
资源详情
资源推荐
16
第二章。 深度学习背景:原理与应用
-
Σ
>
2.1
通过梯度下降
在本节中,我们介绍了训练深度神经网络的最简单方法:随机梯度下降。我们还介绍了目标优化
和深度学习库。
2.1.1
深度神经网络(DNN)
深度神经网络(DNN)是具有多个隐藏层的人工神经网络一层由一组神经元组成,这些神经元连
接到前一层的神经元它们执行计算并将单个值发送到下一层。神经元共同形成神经网络。深层神
经结构的表示见图2.1。通过将所有神经元组合成一个相干体,神经网络应该能够学习复杂的功能
来解决复杂的问题。
从数学上讲,对于一组n 1个输入值x
1
,
x
2
,
...
,
x
n
神经元将计算以下输出:
n
out
=
σ(x
i
ω
i
+
b)(
2.1
)
i
=1
使用σ(
。
a)非线性激活函数,b是偏置,ω
i
是神经元的权重单个神经元的示意图如图2.2所示。为
了训练神经网络,我们调整所有神经元的权重(或参数)和偏差,以产生特定的功能。
图2.2人工神经元的示意图。
有不同类型的神经网络,如卷积神经网络或全连接神经网络。我们将在第2.2.1节中介绍这些内
容。在下一节中,我们将了解如何培训DNN。
2.1.2
随机梯度下降(SOD)
我们定义了函数
f
(
。
由神经网络实现。
f
)
。
)由θRN参数化,θ RN是对应于所有神经元的连接
权重和偏差的N个实值的向量。对于输入数据x,我们有:
y
=
f
(
x
;
θ
)
(
2.2
)
因为
神经不工作,所以它不工作
。
我们假设数据集由对等体(x
,
y)组成,x是一个数据点,y
是与之
相关
的执行输出。
F
or
eac
h
数据
p
oin
t
x
>
D
,
w
e
可以
计算
t
y
=
f
(
x
;
θ
)
和
d
e
损失
2
约
2.1.
通过梯度下降训练
深度神经网络
17
L
(
Y
)
。
l
(
y
,
y
)
e
t
e
损失函数是一个可微函数,例如平方欧几里得距离:
l
2
(
y
,
y
)
=
y
−
y
2
(
2.
3
)
然后,训练程序的目标是找到使成本函数最小化的最
佳向量
θ *
。
L(. 我们有数据集D。
对于
eac
h
参数
of
θ
,
θ
j
奏效
θ
,
w
e
ca
n
计算梯度
n
t
θ
j
:
θ
j
=
(
f
(x
;
θ)
,
y)
θ
j
(
2.
4
)
深度神经网络的资产之一是梯度在整个模型中的有效反向传播。梯度可以使用链规则从一层传
递到另一层。
(
a
)(
b
)
(
c
)
(
d
)
(
2.
5
)
θ
j
f
(x
;
θ
)
θ
j
Hence
,
A
(
f
(
x
;
θ
)
;
θ
j
)
,
y
)
可以
计算
d
,因此
e
对于all
and
be
在
r
to
计算
l
th
e
θ
之 后 使用
。
f
(
x
;
θ
)
j
这
是一个很大的问题,也是一个很大的问题,也是一个很大的问题
。
学习率。
θ
j
→
θ
j
−
η
θ
j
(
2.6
)
然后对从数据集随机采样的所有(x
,
y)重复此操作,直到收敛到
l
(
f
(x;θ)
,
y)的局部最
小值θ
*
这个过程被称为随机梯度下降(入住率下降)。这是通过梯度下降训练深度神经网络的最
简单方法。随机采样的数据称为i.i.d.(完全相同且独立分布)。i.i.d. 对数据分布的假设通常是训
练算法成功的必要条件。
更新规则(等式2.6)可以被修改以实现更有效的优化。一些众所周知的优化方法是Adagrad
[64]、Nesterov momentum [239]、Adam [118]、RMSProp [55]。他们将动量和加速度分量添加
到梯度中,以便更快地学习。在本论文的实际应用中,我们主要使用Adam和SOD来优化深度神经
网络。
2.1.3
过拟合和概括
第2.1.2节中描述的优化过程最小化训练数据上的损失函数,直到找到局部最小
值
θ
*
:
θ
*
= argmin
E
(
x
,
y
)
D
tr
l(f
(
x;θ
)
,
y
)(
2.7
)
θ
使用培训数据集。
然而,深度学习优化的真正目标是对从未见过的数据做出良好的预测,即将知识从培训数据推
广到新数据。对未知数据做出良好预测的能力
称为推广
。它是通过计算测试中的损失来衡量的,
而D是模型
从未
见过的。如果训练损失非常低,但测试损失
18
第二章。 深度学习背景:原理与应用
设置为高,模型没有学习到解决任务的好方法。这种现象被称为
过拟合
。如果测试集的损失较
低,则我们认为模型推广良好,培训成功。
机器学习和深度学习的主要目标之一是学习能够很好地概括新数据的函数。然而,重要的是要
注意,测试集应该与训练集相似。神经网络不能推广到完全不同的数据。
2.1.4
深度学习编程框架
神经网络的训练在大多数情况下都是通过编程专门用于深度学习的库来实现的。这些库允许高效
和自动地计算所有参数的梯度并更快地训练神经网络。使用这些库还可以更快地开发代码,并轻
松使用GPU加速进行深度神经网络训练。目前最著名的深度学习库是Pytorch,TensorFlow
[1]和Keras [44],但几年前的咖啡[106]和Theano [11]是最常用的。所有这些库都可以与python一
起使用,但其中一些库有一个接口,可以与其他编程语言(如C++)一起使用。
近年来,这些库已经得到了非常密集的开发,使得查找
预训练模型和已经实现的架构、神经层和优
化过程成为可能。
今天,它们是开发和训练深度神经网络的完整框架。
在本论文中,所有训练深度神经网络的代码都是在Python中使用Pytorch框架开发的。
2.2
学习范式
深度神经网络的训练已经应用于不同的学习范式。这些范式在它们的监督信号上有所不同。有监
督的算法对所有数据点都有一个真实的标签,强化学习算法有一个稀疏的标签,称为
奖励
,而无
监督的算法根本没有标签。
2.2.1
分类
图像分类(或图像识别)是深度学习的典型应用。它包括学习预测与输入数据相关联的类。在这
一部分中,我们只对深度神经网络分类的监督训练感兴趣。监督培训是最常用的学习分类方法。
历史
在21世纪10年代早期,深度神经网络帮助图像识别领域取得了重大进展,特别是卷积神经网络
(CNN)架构[77]和图形处理单元(GPU)的硬件计算加速
GPU硬件的发展促进了神经网络训练的加速。在过去的几年里,它极大地帮助了深度神经网络
的发 展,从 几层沙 子发 展 到了数 百万 个 参数。从那 时 起, 它们在 分类 挑 战中无 处不 在 ,如
PASCAL VOC、ImageNet、MS COCO和Open Images。
2.2.
学习范式
19
深度神经网络由一堆不同的神经层组成,这些神经层学习如何检测数据中的基本特征并做出决
策。在分类的早期,人工工程的特征提取器在学习算法之外,并且只学习决策层。今天,特征提
取和决策都可以在单个神经网络中自动学习。在下一节中,我们将介绍特征提取和决策所需的神
经层的重要类型。
基 于 这 些 层 , 帮 助 开 发 深 度 神 经 网 络 的 最 著 名 的 架 构 是 LeNet [131]、 AlexNet [124] 、
Inception [242]、VGG [231]、ResNet [93]。这些模型提出了神经元和神经元层之间的各种类型的
连接,以帮助图像识别的学习特征。
卷积层
在图像分类中,特征提取器通常由卷积层的堆栈组成。
图2.3:用于图像分类的多层卷积神经网络特征映射包含使用学习的过滤器计算的所有激活输出。
子采样包括仅将特征映射的一部分传输到下一层。
卷积层被设计为显著地限制参数的数量,同时尊重完全连接的层(在下一节中介绍)。它们能
够捕捉局部依赖性,并从某些特征的不变性中获益,以便更好地学习,例如,无论汽车在图像中
的位置如何,汽车仍然是汽车卷积层由离散卷积滤波器组成(图2.3)。每个过滤器的目标是检测
特定模式。对于给定的输入,输入越接近特征,卷积的输出就越高。通过堆叠卷积层,模型可以
检测越来越多的复杂特征。训练神经网络包括学习正确的过滤器来检测允许它们解决分类任务的
辨别特征。
卷积层的输出是由一组特征映射组成的向量h
,该特征
映射是输入特征x
的
特征。它由滤波器的
数量、它们的大小以及它们如何应用于输入向量来参数化。
h
然后被传输到下一层。
20
第二章。 深度学习背景:原理与应用
(
c
)
Σ
完全连接的层
完全连接(FC)层具有将一层中的所有神经元连接到另一层的特性。那些层可以学习近似各种各
样的函数,尽管它们包含许多连接,但它们具有许多参数。然后,它们的训练比卷积层消耗更多
的时间和能量。
大小为N的FC层实现以下功能:
o=W*h+b (2.8)
其中
h
是大小H的输入向量,W是大小H
*
N的权重矩阵,
b
是大小N
的偏
置向量。
输出解释和损失
输出层被设计为做出正确的预测,并且能够计算将通过模型反向传播的
关于第2.1节中介绍的学习过程,在分类情况下,预期输出y是与一类图像相关联的标签(大部
分时间是整数)。
Mo del
(即。
然后,
f o
r
an
yimage
x
,
结果
t
alab
el
y
等于
to
y
。
为了预测这样的整数,分类模型具有用于有效地学习解的自定义输出层。通常,该层是每个类
输出一个值的全连接层,该最高值指示由神经网络选择的类
因此,如果
有
N个类,则输出向量
o
是具有N个值的浮点张然后,预测类的计算方式为:
y
=
argmax
(
o
[
i
]
)
(
2.9
)
i
≥
0
,
N
−
1
对于输出的概率解释,通常对输出应用软最大运算。然后,每个浮点值o[i]被转换为σ(o[i]),其
中:
和
[
i
]
(
2.10
)
[
i
]=
J
e
o
[
j
]
因此,所有值都映射在0和1之间,并且它们的总和为1。我们将注意得到的张
量
σ(
o
)。然
后,我们可以计算一个损失函数来计算一个梯度,并通过梯度下降来训练神经网络。Softmax常用
的一个示例是负对数可能性损失:
其中
y
=
σ
(
o
)
。
L
(
y
,
y
)
=
−
L
og
(
σ
(
o
)
[
y
]
)
(
2.11
)
然后可以应用第2.1节中所述的梯度下降。
在本论文中,这些层次将在第4章和第6章中直接使用,以处理分类的连续学习。请注意,本节
中介绍的卷积和全连通层同样用于强化学习和无监督学习。
剩余172页未读,继续阅读
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- zlib-1.2.12压缩包解析与技术要点
- 微信小程序滑动选项卡源码模版发布
- Unity虚拟人物唇同步插件Oculus Lipsync介绍
- Nginx 1.18.0版本WinSW自动安装与管理指南
- Java Swing和JDBC实现的ATM系统源码解析
- 掌握Spark Streaming与Maven集成的分布式大数据处理
- 深入学习推荐系统:教程、案例与项目实践
- Web开发者必备的取色工具软件介绍
- C语言实现李春葆数据结构实验程序
- 超市管理系统开发:asp+SQL Server 2005实战
- Redis伪集群搭建教程与实践
- 掌握网络活动细节:Wireshark v3.6.3网络嗅探工具详解
- 全面掌握美赛:建模、分析与编程实现教程
- Java图书馆系统完整项目源码及SQL文件解析
- PCtoLCD2002软件:高效图片和字符取模转换
- Java开发的体育赛事在线购票系统源码分析
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功