Redian新闻
>
kaiming初始化很好,但我准备用新招!权重选择:用大神经网络的权重初始化小神经网络

kaiming初始化很好,但我准备用新招!权重选择:用大神经网络的权重初始化小神经网络

公众号新闻

点击下方卡片,关注“CVer”公众号

AI/CV重磅干货,第一时间送达

点击进入—>【CV论文投稿】微信交流群

扫码加入CVer学术星球可以获得最新顶会/顶刊上的论文ideaCV从入门到精通资料,以及最前沿项目和应用!发论文搞科研,强烈推荐!

转载自:极市平台 | 作者:科技猛兽

导读

 

在本文中,作者提出了一种称为权重选择 (Weight Selection) 的方法,这是一种从预训练好的大模型中选择权重来初始化较小模型的方法。Weight Selection 把知识从预训练好的权重迁移到更小的模型中。

本文目录

1 用大神经网络的权重初始化小神经网络?
(来自 University of Pennsylvania,UC Berkeley, MBZUAI, Meta AI)
1 Weight Selection 论文解读
1.1 重新思考神经网络初始化
1.2 本文贡献
1.3 Weight Selection 方法介绍
1.4 实验配置
1.5 实验结果
1.6 与其他方法的比较
1.7 与知识蒸馏的兼容性
1.8 其他分析结果

太长不看版

权重初始化是神经网络训练中的一个古老而又永恒的话题。对于从头训练的神经网络而言,有很多权重初始化的方法。近年来大模型的出现,为这一经典的科研课题带来的新的机会。

在本文中,作者提出了一种称为权重选择 (Weight Selection) 的方法,这是一种从预训练好的大模型中选择权重来初始化较小模型的方法。Weight Selection 把知识从预训练好的权重迁移到更小的模型中。

本文的实验结果表明,Weight Selection 可以显着提高小模型的性能并减少它们的训练时间。而且,值得一提的是,它可以与知识蒸馏方法一起使用。Weight Selection 提供了一种在资源受限的环境中借助预训练模型强大力量的新方法,本文希望它可以使大模型时代训练小模型的有用工具。

1 用大神经网络的权重初始化小神经网络?

论文名称:Initializing Models with Larger Ones

论文地址:

https//arxiv.org/pdf/2311.18823.pdf

  • 1 Weight Selection 论文解读:

1.1 重新思考神经网络初始化

神经网络权重的初始化 (Weight Initialization) 对其后续的优化过程至关重要。合适的初始化权重可以有助于模型的收敛以及防止梯度消失的问题。当前有两种比较著名的初始化技术:Xavier 初始化[1]和 Kaiming 初始化[2],在神经网络的训练中发挥了重要作用。它们至今为止仍然是 PyTorch 等现代深度学习库的默认方法。

这些方法是为从随机初始化进行训练的神经网络研发的,在当时是很常见的做法。然而,在大模型时代,由于社区的集体努力,很容易获得各种预训练模型。一般而言,这些预训练模型背后的数据集包含 ImageNet-21K[3]和 LAION-5B[4] 等等。因此,从这些预训练模型进行微调,而不是从头开始训练模型,通常被认为是当今时代的首要选择,如下图1所示。

然而,这些预训练的大模型在资源需求上可能令人望而却步,严重阻碍了它们在资源受限设备 (比如移动设备) 上的使用。对于很多预训练模型族 (model zoo),即使是最小的模型在某些情况下也可以被认为非常大。比如MAE[5]和CLIP[6]模型,两者的最小预训练 Transformer 模型是 ViT-Base[7]模型,包含 80M 参数量。对于边缘设备的应用来说,这已经太大了,最小的 LLaMa[8]模型甚至大 100 倍,包含 7B 参数量。由于可以直接使用的预训练模型很少,开发人员必须在目标数据集上面从头开始训练模型,以适应他们的需求。这种方法错过了使用大型预训练模型的机会。这有点可惜,因为大模型的知识是从大数据集里面好不容易学到的,不加以合理利用就有点可惜了。

图1:大模型时代,预训练权重为小模型的学习带来新的生机

1.2 本文贡献

本文作者通过引入一种权重初始化 (Weight Selection) 技术来解决上面的问题,该方法使用预训练大模型来训练小模型。具体而言,本文提出一种 Weight Selection 技术,选择来自预训练大模型的权重子集来初始化较小的模型,也就是允许大模型学习到的知识通过其权重转移到小一点的模型里面。

而且,由于现代神经网络的模块化设计,权重选择只涉及3个简单的步骤:Layer Selection, Component Mapping, 和 Element Selection。该方法可以应用于与大模型相同的模型族中的任何小模型。使用权重选择来初始化小模型很简单,并且与从头开始训练相比没有任何额外的计算成本。即使对于大模型训练也很有用,比如使用来自 LLAMA-30B 的训练权重初始化 LLAMA-7B。

1.3 Weight Selection 方法介绍

给定一个预训练模型,Weight Selection 的目标是在同一个模型族 (model zoo) 中,为小一点的模型找到更高效的初始化,如下图2所示。将预训练的大模型称为 Teacher,小一点的模型称为 Student。

由于现代神经网络架构通常遵循模块化方法,即:堆叠很多相似的 layer 来构建最终的模型 (主要目的是为了方便模型的可扩展性)。因此,在选择 Teacher 中的权重来初始化 Student 模型时就可以借助这个特点节约很多力气。

在本文中,作者通过3步来实现权重选择:Layer Selection, Component Mapping, 和 Element Selection。

  • Layer Selection 就是选择 Teacher 中的哪一层来初始化 Student 模型。

对于学生模型的每一层,都要选择教师模型的一层来进行初始化。学生模型分为 Isotropic 和 Hierarchical 两种架构:

  1. Isotropic 就是直筒型架构,从头到尾都是相同的分辨率和特征维度。Isotropic 架构的典型代表有 ViT 和 MLP-Mixer。
  2. Hierarchical 就是金字塔式架构,从开始到结束分为多个 Stage,各个 Stage 之间特征分辨率逐渐降低,而特征的维度逐渐升高。Isotropic 架构的典型代表有 Swin Transformer 和 ConvNeXt。

对于 Isotropic 类型的架构,作者从 teacher 模型中选择前 层,其中 表示学生的层数,并称之为 First-N 选择。对于 Hierarchical 类型的架构,作者在每个单独的 Stage 使用 First-N 选择。

图2:Weight Selection 的步骤
  • Component Mapping 就是选择 Teacher 中一层的哪个组件来初始化 Student 模型对应层的什么组件。

上一步获得了从教师到学生的 Layer 的映射。Component Mapping 就简化了为用一个 Teacher layer 初始化一个 Student layer。由于现代神经网络设计采用的模块化方法,相同 model zoo 里面不同大小的模型的 Component 一般都是一致的,只是特征的通道数不同,或者说宽度不同。因此,Component Mapping 就是一对一映射的关系。

  • Element Selection 就是选择 Teacher 中某个组件的哪部分权重来初始化 Student 中对应组件的权重。

假设教师模型权重是 ,学生模型的权重是 。权重选择的目标是选择 元素的子集来初始化 。先说本文结论,结论是各种权重选择的做法性能都大差不差。

均匀选择 (Uniform Selection)

本着简单的原则考虑,默认方法是均匀选择 (Uniform Selection),即从图2中教师模型的某个权重中拿出间隔均匀的权重元素来初始化学生模型。接下来介绍下 Uniform Selection 的具体做法。

的每一个维度,从 中选择均匀间隔的 。比如,为了初始化形状为 的线性层 ,线性层 形状为 ,作者沿第一个维度选择第 1 和第 3 个切片,沿第二个维度选择第 1 、第 3 和第5个切片。Uniform Selection 的伪代码如下图3所示。

图3:Uniform Selection 的伪代码

Uniform Selection 在 的所有维度上迭代执行选择以达到学生模型对应权重的期望的形状。当应用于ResNeXt[9] 或者 ViT 等带有不同的 group 或者不同的 head 的模型时,Uniform Selection 将从注意力块中的所有 group 中或者所有的 head 中选择参数,这可能有利于从预训练的 ResNeXt 或者 ViT 中继承知识。

连续选择 (Consecutive selection)

连续选择 (Consecutive selection) 就是对 的每一个维度,从 中选择连续间隔的 。对于有着不同 group 的模型而言,Consecutive selection 选择一些完整的 group,而直接忽略掉其他的 group。

一致性随机选择 (Random selection with consistency)

随机选择 (Random selection) 就是对 的每一个维度,从 中选择随机生成的 ,对所有的权重选择相同的索引。作者发现这是达到最佳性能的关键。保持一致性的动机源于残差连接的存在。作者认为保持权重选择的一致性因为只选择了一致的位置,因此保留了完整的神经元。而且,均匀选择和连续选择都是一致性随机选择的特例。

非一致性随机选择 (Random selection without consistency)

的每一个维度,从 中选择随机生成的 ,对所有的权重不一定选择相同的索引。

1.4 实验配置

数据集:9个图像分类数据集:ImageNet1K, CIFAR-10, CIFAR-100, Flowers, Pets, STL-10, Food-101, DTD, SVHN 和 EuroSAT。

模型:如下图4所示。

Student 模型:ViT-T/16 和 ConvNeXt-F。Teacher 模型:ImageNet-21K 预训练的 ViT-S/16 和 ConvNeXt-T。

图4:模型配置

训练策略:如下图5, 6, 7所示,本文作者遵循 ConvNeXt 的训练策略,并对不同数据集的 Batch Size、学习率和 stochastic depth rate 进行调整。为了确保公平的比较,作者将这套训练策略也应用于 Baseline 模型。

图5:训练策略
图6:ConvNeXt-F 的超参数设置
图7:ViT-T 的超参数设置

1.5 实验结果

实验结果如下图8所示。在所有 9 个图像分类数据集中,本文的 Weight Selection 方法都可以提高精度,尤其是对于小数据集而言更是如此。值得注意的是,Weight Selection 方法解决了在小数据集上训练 ViT 的难题,有助于 ViT 精度的显著提高。ImageNet-1K 的训练曲线如图9所示。两种模型都受益于早期的权重选择,在整个训练过程中保持这一优势。

图8:9个图像分类数据集实验结果
图9:ViT-T 和 ConvNeXt-F 在 ImageNet-1K 上的训练曲线

1.6 与其他方法的比较

作者在 CIFAR100 数据集上面对比了其他几种初始化方法的结果,如图10所示。

而且,还可以发现一致性是 Weight Selection 达到最佳性能的关键。对于这两种模型架构 ViT-T 和 ConvNeXt-F,均匀选择,连续选择,以及一致性随机选择的最终性能相似。在去除一致性时,性能急剧下降。

图10:与其他几种初始化方法的比较

1.7 与知识蒸馏的兼容性

权重选择 (Weight Selection) 通过参数从预训练模型转移知识。另一种流行的知识转移方法是知识蒸馏 (Knowledge Distillation),它利用了预训练模型的输出。在这里,作者也探讨了这2种技术的兼容性。

实验设置:作者尝试了2种知识蒸馏方案:logit-based distillation 和 feature-based distillation。

logit-based distillation 使用 KL 散度作为损失函数。假设教师模型的输出为 ,学生模型的输出为 ,则损失函数为:

式中, 是监督学习的损失函数。

对于 logit-based distillation,作者使用 ImageNet-1K 上预训练的 ViT-S 模型作为 Weight Selection 和 Knowledge Distillation 的教师模型,学生模型为 ViT-T。 设置为 1 。feature-based distillation 使用 作为损失函数。假设教师模型的特征为 ,学生模型的特征为 ,则损失函数为:

式中, 是监督学习的损失函数。

对于 feature-based distillation,作者使用 ImageNet-21K 上预训练的 ViT-S 模型作为 Weight Selection 和 Knowledge Distillation 的教师模型,学生模型为 ViT-T,并调整 的值。

实验结果如下图11所示,结果可以验证 Weight Selection 和 Knowledge Distillation 之间的兼容性。在不产生额外的推理成本的情况下,单独使用 Weight Selection 会产生比普通 logitbased distillation 和 feature-based distillation 更好的结果。而且,Weight Selection 和 Knowledge Distillation 的结合提供了最好的结果,在 ImageNet- 上达到 ,在 CIFAR100 上达到 。这些结果进一步证实了 Weight Selection 和 Knowledge Distillation 之间的兼容性。

图11:与知识蒸馏的兼容性的实验结果

1.8 其他分析结果

权重选择可以减少训练时间。如下图12所示为作者使用权重选择方法训练不同 Epoch 数量,得到的曲线与随机初始化训练 300 Epoch 的结果对比。可以看到,权重选择与随机初始化训练相比,CIFAR-100 的相同性能只需 1/3 个 Epoch 即可获得。

图12:与随机初始化的比较

迁移学习结果对比。如下图13所示为作者希望看看先在 ImageNet-1K 上预训练多少 Epoch,再在 CIFAR-100 上做 fine-tune 的结果与权重选择的结果相当。可以发现,在 ImageNet-1K 上进行 60 个 epoch 的预训练之后微调,可以实现与权重选择相当的性能。在这种情况下,与预训练达到相同的性能相比,权重选择快 6.12 倍,且无需访问用于预训练的数据集。

图13:预训练与微调结果比较

层的选择方案。如下图14所示为作者以 ViT-A 和 ConvNeXt-F 为学生模型,ImageNet-21K 上预训练的 ViT-S 和 ConvNeXt-T 作为权重选择的教师模型。可以看到,使用 \text{First-N}\text{First-N} 选择的结果最佳。用 \text{First-N}\text{First-N} 选择做初始化的层自然是连续的层,而且更接近输入处理,因此它们为较小的模型提供了更有效的初始化。

图14:层选择方案对比

教师模型尺寸。如下图15所示为作者对比了不同尺寸教师模型的结果。可以看到,教师模型大小更接近时,权重选择会得到更好的结果。教师模型很大意味着将丢弃更高百分比的参数,这会在权重选择过程中导致更多的信息丢失。图15的结果中有趣的是,即使是使用 ViT-L 这样的模型初始化,从 301M 参数中选取 5M 参数,也很有效,精度提升了 4.5%。

图15:不同尺寸教师模型结果对比

与剪枝方法的对比。 如图16所示,作者尝试了结构化剪枝和非结构化剪枝方法把 ViT-S 剪枝为 ViT-T。结构化剪枝 通常仅在残差连接的网络残差块内进行。非结构化剪枝 通过将权重设置为零而不是删除权重来修剪权重。与随机初始化的 ViT-T 的 baseline 相比, pruning 产生了更好的结果。然而,由于 范数不可避免地打破了一致性,因此无法达到与权重选择相同的性能。magnitude pruning 仅比随机初始化的结果稍好,这可能是由于压缩操作破坏了原始结构。

图16:与剪枝方法的对比

与模拟初始化 (Mimetic initialization[12]方案对比。如下图17所示为作者对比了权重选择方法与模拟初始化 (Mimetic initialization[12] 方法。权重选择方法大大优于模拟初始化。

图17:与模拟初始化方法对比

如下图18所示为 ViT-T 的第1个 attention block 的第1个 head 的 的可视化结果,从左至右依次为随机初始化的 ViT-T 模型,预训练的 ViT-S 模型,以及权重选择的 ViT-T 模型。权重选择可以帮助较小的 ViT-T 模型继承 self-attention 机制的对角线的性质,而这个特性通常只存在于预训练的模型中。

图18:注意力层可视化

参考

1.Understanding the difficulty of training deep feedforward neural networks

2.Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification

3.ImageNet: A large-scale hierarchical image database

4.Laion-5b: An open large-scale dataset for training next generation image-text models

5.Masked autoencoders are scalable vision learners

6.Learning transferable visual models from natural language supervision

7.An image is worth 16x16 words: Transformers for image recognition at scale

8.LLaMA: Open and Efficient Foundation Language Models

9.Aggregated Residual Transformations for Deep Neural Networks

10.Pruning Filters for Efficient ConvNets

11.Learning both Weights and Connections for Efficient Neural Networks

12.Mimetic initialization of self-attention layers

CVPR / ICCV 2023论文和代码下载

后台回复:CVPR2023,即可下载CVPR 2023论文和代码开源的论文合集

后台回复:ICCV2023,即可下载ICCV 2023论文和代码开源的论文合集

CV论文投稿交流群成立


扫描下方二维码,或者添加微信:CVer444,即可添加CVer小助手微信,便可申请加入CVer-论文投稿微信交流群。另外其他垂直方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch、TensorFlow和Transformer、NeRF等。


一定要备注:研究方向+地点+学校/公司+昵称(如论文投稿+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群

▲扫码或加微信号: CVer444,进交流群


CVer计算机视觉(知识星球)来了!想要了解最新最快最好的CV/DL/AI论文速递、优质实战项目、AI行业前沿、从入门到精通学习教程等资料,欢迎扫描下方二维码,加入CVer计算机视觉(知识星球),已汇集近万人!


扫码加入星球学习


▲点击上方卡片,关注CVer公众号

整理不易,请点赞和在看

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
聊一聊:你准备用压岁钱买点啥?ACS Cent Sci|李伟广/陈以昀/徐天乐合作开发遗传编码的光催化小分子释放技术实现神经元精准调控钱准备用到哪里?【一图读懂】2024年广州市政府预算报告科研上新 | 语言-音乐对比预训练;查找表实现的神经网络推理;大模型时代重新定义搜索框架“反诈老陈”谈辞职:“重选一次不会那么冲动”我爱Python实战 | 使用 Python 和 TensorFlow 构建卷积神经网络(CNN)进行人脸识别能找神经网络Bug的可视化工具,Nature子刊收录北京大学黄铁军、杜凯团队在《自然·通讯》发表生物神经网络精细仿真算法并证明理论最优!Npj Comput. Mater.: 释放神经网络的力量:解决声子输运问题8个图神经网络论文创新点汇总【附161篇论文PDF】TPAMI 2023 | 图神经网络在分布外图上的泛化百度何俊杰:用大模型构建多元AI原生应用生态,推动产业升级与经济增长|WISE2023商业之王大会历史上有哪些「大神碾压大神」的事?小鹏XNGP到底如何?高架很好,城区还得再练练。国富国穷,文化很关键金融业采用大模型,是“用大炮轰蚊子”吗?| 盘点一路走来(三十二)99%依赖神经网络!特斯拉FSD重大更新,V12到底有什么不一样?中产家庭的选择:钢琴被抛弃,教培依旧火美国总统及政要家庭的选择:华盛顿特区顶级私校推荐!【24年名校美高申请】AAAI 2024 | 通用图扩散框架:建立不同图神经网络与扩散方程之间的关系※ ※ 纯真年代 ※ ※ 纪念夏时制结束,终于可以回到日出而作的纯真年代了:DDDD港大&百度提出LLMRec:基于LLM增强的多模态图神经网络推荐图神经网络GNN微信交流群成立!纽约精英家庭的选择:进入常春藤大学比例最高的纽约8所顶级私校推荐【24年择校】"明星父母的选择:周杰伦、李湘等为何都让子女学画画?"浅谈SQL优化小技巧中国量子计算机“悟空”已为全球92个国家用户完成10万多个运算任务;集成元件技术可用于人工神经网络丨智能制造日报红色日记 大喜事 5.24-31图神经网络(GNN)经典论文与代码讲解课程!揭秘Sora:用大语言模型的方法理解视频,实现了对物理世界的“涌现”希腊阿索斯山(Mount Athos),大山语言Tff|我准备穿这几件入冬啦大规模神经网络优化:神经网络损失空间“长”什么样?
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。