Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

深度学习还不如浅层网络?RL教父Sutton持续反向传播算法登Nature

人工神经网络深度学习方法和反向传播算法构成了现代机器学习人工智能的基础。但现有方法往往是一个阶段更新网络权重,另一个阶段在使用或评估网络时权重保持不变。这与许多需要持续学习的应用程序形成鲜明对比。

最近,一篇发表在《nature》杂志上的研究论文《Loss of plasticity in deep continual learning》证明:标准的深度学习方法在持续学习环境中会逐渐失去可塑性(plasticity),直到它们的学习效果不比浅层网络好。

图片

  • 论文地址:https://www.nature.com/articles/s41586-024-07711-7

值得注意的是,人工智能先驱、强化学习教父、DeepMind 杰出研究科学家,阿尔伯塔大学计算机科学教授 Richard S. Sutton 是这篇论文的作者之一。

简单来说,该研究使用经典的 ImageNet 数据集、神经网络和学习算法的各种变体来展示可塑性的丧失。只有通过不断向网络注入多样性的算法才能无限期地维持可塑性。基于这种思路,该研究还提出了「持续反向传播算法」,这是反向传播的一种变体,其中一小部分较少使用的单元被持续随机地重新初始化。实验结果表明,基于梯度下降的方法是不够的,持续的深度学习需要随机的、非梯度的成分来保持可变性和可塑性。

ImageNet 数据库包含数百万张用名词(类别)标记的图像,例如动物类型和日常物品。典型的 ImageNet 任务是猜测给定图像的标签。

为了使 ImageNet 适应持续学习,同时最大限度地减少所有其他变化,该研究通过成对的类构建了一系列二元分类任务。例如,第一个任务可能是区分猫和房屋,第二个任务可能是区分停车标志和校车。利用数据集中的 1000 个类,该研究能够以这种方式形成 50 万个二元分类任务。

对于每个任务,该研究首先在两个类的图像子集上训练深度学习网络,然后在这些类的单独测试集上测量其性能。在一个任务上训练和测试后,下一个任务从一对不同的类开始。研究团队将此问题称为「持续 ImageNet(Continual ImageNet)」。在持续 ImageNet 中,任务的难度随着时间的推移保持不变。性能下降意味着网络正在失去学习能力,这是可塑性丧失的直接表现。

该研究将各种标准深度学习网络应用于 Continual ImageNet,并测试了许多学习算法和参数设置。为了评估网络在任务中的性能,该研究测量了正确分类测试图像的百分比。

该研究发现:对于经过良好调整的网络,性能往往首先提高,然后大幅下降,最终接近或低于线性基线。当性能开始下降时,网络架构、算法参数优化器的具体选择会产生影响,但多种选择都会导致性能严重下降。标准深度学习方法在后续任务中无法比线性网络更好地学习,这直接证明这些方法在持续学习问题中效果不佳。

图片

令人惊讶的是,Adam、Dropout 和归一化等流行方法实际上增加了可塑性的损失;而 L2 正则化在许多情况下减少了可塑性的损失。
图片
研究团队发现:显式保持网络权重较小的算法通常能够保持可塑性,甚至在许多任务中能够提高性能。

该研究基于上述发现,提出了反向传播算法的一种变体 —— 持续反向传播,该算法向网络注入可变性并保持其某些权重较小。

方法

持续反向传播

持续反向传播算法将选择性地对网络中低效的单元进行初始化处理。研究团队定义了名为「贡献效用」的值来衡量每个单元的重要性。如果神经网络中某个隐藏单元对它所连接的下游单元的影响很小,那么它的作用就可能被网络中其他更有影响力的隐藏单元掩盖。

贡献效用通过计算即时贡献的移动平均值来衡量,这个值由衰减率表示。在所有实验中,初始衰减率 η 设置为 0.99。在前馈神经网络中,第 l 层第 i 个隐藏单元在时间 t 的贡献效用图片更新如下:

图片

其中图片是时间 t 时第 l 层第 i 个隐藏单元的输出,图片代表其权重图片代表第 l+1 层的单元数量。

当一个隐藏单元被重新初始化时,它的输出的权重将被初始化为零。这么做是为了新添加的隐藏单元不会影响模型已经学到的功能。但是这样也容易导致新的隐藏单元很快被重新初始化。

为了防止这种情况,研究团队设置了「成熟阈值」,在 m 次更新前,即使新的隐藏单元的效用是零,也不会被重新初始化。当更新次数超过 m 后,每一步「成熟单元」的一部分 ρ(称为替换率),在每一层都会被重新初始化。替换率 ρ 通常设置为一个非常小的值,这意味着在数百次更新后只替换一个单元。例如,在 CIFAR-100 中,研究团队将替换率设置为 10 的负五次方,每一步,大约 0.00512 个单元被替换。这相当于大约每 200 次更新替换一次。

最终的算法结合了传统的反向传播和选择性重新初始化两种方法,以持续地从初始分布中引入随机单元。每次更新时,持续反向传播将执行梯度下降并选择性地重新初始化。

前馈神经网络的持续反向传播如算法1所示。处理小批量数据时,可以采取一种更经济的方法:通过对小批量数据上的即时贡献效用取平均值,而不是保持一个运行平均值来节省计算量。

图片

图片

在 ImageNet 上的应用

研究使用了包含 1000 个类别的 ImageNet 数据库,每个类别有 700 张图片,分为 600 张训练图像和 100 张测试图像。在二元分类任务中,网络首先在 1200 张训练图像上训练,然后在 200 张测试图像上评估分类准确度。

所有在持续 ImageNet 上使用的算法都采用了具有三个卷积加最大池化(convolutional-plus-max-pooling)层和三个全连接层的卷积网络。最终层有两个单元,对应两个类别。在任务变更时,这些单元的输入权重会重置为零。这种做法在深度持续学习中是标准做法,尽管它为学习系统提供了关于任务变化时间的特权信息。

线性网络的性能在持续 ImageNet 上不会下降,因为它在每个任务开始时都会重置。通过在数千个任务上取均值,得到线性网络性能的低方差估计值,作为基线。

网络使用带有动量的 SGD 在交叉熵损失上进行训练,动量参数设为 0.9。研究者测试了不同的步长参数,但为了清晰起见,只展示了 0.01、0.001 和 0.0001 的步长性能。

该研究还通过网格搜索确定了 L2 正则化、收缩和扰动以及持续反向传播算法的超参数,以在 5000 个任务上获得最高的平均分类准确度。L2 正则化和收缩扰动的超参数包括步长、权重衰减和噪声方差,持续反向传播的超参数包括步长和替换率,成熟度阈值设为 100。

研究者对所有超参数集合进行了 10 次独立运行,然后对表现最佳的超参数集合进行了额外的 20 次运行,总共 30 次。
图片
CIFAR-100 的类别增量学习

在 CIFAR-100 的类别增量学习中,开始时,模型可以识别 5 种类型的图片,随着训练时间越来越长,模型能识别的图片种类越来越多,比如能同时学习 100 种类别的图片。在这个过程中,系统将通过测试检验自己的学习效果。数据集由 100 个类别组成,每个类别有 600 张图像,其中 450 张用于创建训练集,50 张用于验证集,100 张用于测试集。

每次增加学习的类别后,网络被训练 200 个周期,总共增加 20 次,共训练 4000 个周期。研究团队在前 60 个周期中将学习率设置为 0.1,接下来的 60 个周期为 0.02,此后的 30 个周期为 0.004,最后的 40 个周期为 0.0008。在每次增加的 200 个周期中,研究团队选出了在验证集上准确度最高的网络。为了防止过拟合,在每轮训练中,新网络的权重将被重置为上一轮准确度最高网络的权重

他们选择了 18 层的 ResNet 做实验。在将输入图像呈现给网络之前,该研究进行了几个步骤的数据预处理。首先,将每张图像中所有像素的值重新缩放到 0 和 1 之间。然后,每个通道中的每个像素值通过该通道像素值的平均值和标准差分别进行中心化和重新缩放。最后,在将图像输入给网络之前,该研究对每张图像应用了三种随机数据转换:以 0.5 的概率随机水平翻转图像,通过在每边填充 4 个像素然后随机裁剪到原始大小来随机裁剪图像,以及在 0-15° 之间随机旋转图像。预处理的前两步应用于训练集、验证集和测试集,但随机转换仅应用于训练集中的图像。

该研究测试了多个超参数,以确保在特定架构下保持每个算法的最佳性能。对于基础系统,该研究测试的权重衰减参数取值范围为 {0.005, 0.0005, 0.00005}。对于「持续反向传播」,该研究测试的成熟度阈值取值范围为 {1000, 10000},替换率的取值范围为图片,采用了公式 (1) 中描述的贡献效用。成熟度阈值为 1000,替换率为 10^(-5) 时,表现最佳。

图片

作为参考,该研究还实现了一个具有与基础系统相同超参数的网络,但在每次增量的开始时都会重新初始化。图 2b 显示了每个算法相对于重新初始化网络的性能表现。

持续反向传播在全部的 100 个类别中的最终准确率为 76.13%,而扩展数据图 1b 展示了在成熟度阈值为 1000 时,持续反向传播在不同替换率下的性能表现。

感兴趣的读者可以阅读论文原文,了解更多研究内容。
工程Nature
相关数据
DeepMind机构

DeepMind是一家英国的人工智能公司。公司创建于2010年,最初名称是DeepMind科技(DeepMind Technologies Limited),在2014年被谷歌收购。在2010年由杰米斯·哈萨比斯,谢恩·列格和穆斯塔法·苏莱曼成立创业公司。继AlphaGo之后,Google DeepMind首席执行官杰米斯·哈萨比斯表示将研究用人工智能与人类玩其他游戏,例如即时战略游戏《星际争霸II》(StarCraft II)。深度AI如果能直接使用在其他各种不同领域,除了未来能玩不同的游戏外,例如自动驾驶、投资顾问、音乐评论、甚至司法判决等等目前需要人脑才能处理的工作,基本上也可以直接使用相同的神经网上去学而习得与人类相同的思考力。

https://deepmind.com/
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

增量学习技术

增量学习作为机器学习的一种方法,现阶段得到广泛的关注。对于满足以下条件的学习方法可以定义为增量学习方法: * 可以学习新的信息中的有用信息 * 不需要访问已经用于训练分类器的原始数据 * 对已经学习的知识具有记忆功能 * 在面对新数据中包含的新类别时,可以有效地进行处理

网格搜索技术

网格搜索是一项模型超参数优化技术,常用于优化三个或者更少数量的超参数,本质是一种穷举法。对于每个超参数,使用者选择一个较小的有限集去探索。然后,这些超参数笛卡尔乘积得到若干组超参数。网格搜索使用每组超参数训练模型,挑选验证集误差最小的超参数作为最好的超参数。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

交叉熵技术

交叉熵(Cross Entropy)是Loss函数的一种(也称为损失函数或代价函数),用于描述模型预测值与真实值的差距大小

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

Dropout技术

神经网络训练中防止过拟合的一种技术

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

学习率技术

在使用不同优化器(例如随机梯度下降,Adam)神经网络相关训练中,学习速率作为一个超参数控制了权重更新的幅度,以及训练的速度和精度。学习速率太大容易导致目标(代价)函数波动较大从而难以找到最优,而弱学习速率设置太小,则会导致收敛过慢耗时太长

超参数技术

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

验证集技术

验证数据集是用于调整分类器超参数(即模型结构)的一组数据集,它有时也被称为开发集(dev set)。

数据库技术

数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。 所谓“数据库”系以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。

最大池化技术

最大池化(max-pooling)即取局部接受域中值最大的点。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

反向传播算法技术

反向传播(英语:Backpropagation,缩写为BP)是“误差反向传播”的简称,是一种与最优化方法(如梯度下降法)结合使用的,用来训练人工神经网络的常见方法。该方法计算对网络中所有权重计算损失函数的梯度。这个梯度会反馈给最优化方法,用来更新权值以最小化损失函数。 在神经网络上执行梯度下降法的主要算法。该算法会先按前向传播方式计算(并缓存)每个节点的输出值,然后再按反向传播遍历图的方式计算损失函数值相对于每个参数的偏导数。

梯度下降技术

梯度下降是用于查找函数最小值的一阶迭代优化算法。 要使用梯度下降找到函数的局部最小值,可以采用与当前点的函数梯度(或近似梯度)的负值成比例的步骤。 如果采取的步骤与梯度的正值成比例,则接近该函数的局部最大值,被称为梯度上升。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

过拟合技术

过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

前馈神经网络技术

前馈神经网络(FNN)是人工智能领域中最早发明的简单人工神经网络类型。在它内部,参数从输入层经过隐含层向输出层单向传播。与递归神经网络不同,在它内部不会构成有向环。FNN由一个输入层、一个(浅层网络)或多个(深层网络,因此叫作深度学习)隐藏层,和一个输出层构成。每个层(除输出层以外)与下一层连接。这种连接是 FNN 架构的关键,具有两个主要特征:加权平均值和激活函数。

正则化技术

当模型的复杂度增大时,训练误差会逐渐减小并趋向于0;而测试误差会先减小,达到最小值后又增大。当选择的模型复杂度过大时,过拟合现象就会发生。这样,在学习时就要防止过拟合。进行最优模型的选择,即选择复杂度适当的模型,以达到使测试误差最小的学习目的。

动量技术

优化器的一种,是模拟物理里动量的概念,其在相关方向可以加速SGD,抑制振荡,从而加快收敛

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

优化器技术

优化器基类提供了计算梯度loss的方法,并可以将梯度应用于变量。优化器里包含了实现了经典的优化算法,如梯度下降和Adagrad。 优化器是提供了一个可以使用各种优化算法的接口,可以让用户直接调用一些经典的优化算法,如梯度下降法等等。优化器(optimizers)类的基类。这个类定义了在训练模型的时候添加一个操作的API。用户基本上不会直接使用这个类,但是你会用到他的子类比如GradientDescentOptimizer, AdagradOptimizer, MomentumOptimizer(tensorflow下的优化器包)等等这些算法。

推荐文章
暂无评论
暂无评论~