CN114298290A - 一种基于自监督学习的神经网络编码方法及编码器 - Google Patents
一种基于自监督学习的神经网络编码方法及编码器 Download PDFInfo
- Publication number
- CN114298290A CN114298290A CN202111490317.4A CN202111490317A CN114298290A CN 114298290 A CN114298290 A CN 114298290A CN 202111490317 A CN202111490317 A CN 202111490317A CN 114298290 A CN114298290 A CN 114298290A
- Authority
- CN
- China
- Prior art keywords
- neural network
- data
- matrix
- encoder
- enhancement
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明涉及深度学习领域,特别涉及一种基于自监督学习的神经网络编码方法及编码器,方法包括将搜索空间中的神经网络的结构用其邻接矩阵和操作矩阵进行表示,将结构的邻接矩阵进行同构图的数据增强;从增强后的;从搜索空间中随机采样N个样本,对每个样本分别进行两次数据增强后产生2N个数据点;将增强后的数据分为正样本和负样本并用于预训练编码器;使用NT‑Xent损失函数对神经网络基编码器进行训练,并将训练好的编码器后面接上MLP获得性能预测器;利用损失函数对获得性能预测器进行微调;本发明在不使用标签的情况下使得编码器学到了更丰富的特征,从而只需使用少量的带标签数据进行微调就能取得良好的预测效果。
Description
技术领域
本发明涉及深度学习领域,特别涉及一种基于自监督学习的神经网络编码方法及编码器。
背景技术
传统的计算机视觉方法需要使用人工设计的特征提取器进行特征提取,如SIFT,HOG等。这些手工的特征的性能好坏往往依赖于设计者的经验以及相应的任务。随着应用场景的增多,手工设计的特征提取器渐渐不再满足视觉任务的需求。卷积神经网络的兴起,在各种应用场景中取得了非常先进的结果。但同样的问题依然存在:神经网络结构的设计严重依赖于人类专家的经验和相对应的任务。神经结构搜索在自动设计神经网络结构方面显示了其有效性,并被应用于许多任务,如图像分类、目标检测、网络修剪和神经机器翻译,语义分割,医学图像分割,物体检测,图像生成,小样本学习等。基于不同的搜索策略和假设,已经提出了许多神经结构搜索算法来提高搜索速度和结果网络的性能,包括基于强化学习的方法、基于进化算法的方法、基于贝叶斯方法的方法、基于梯度的方法和基于精度预测的方法。
神经结构搜索有效地减少了人工设计并且提高了准确性,但它们的计算成本很高,比如,早期的强化学习算法使用了800个GPU并训练了足足一个月。在整个搜索过程中,最耗时的部分集中在评估搜索空间中候选架构的性能,因为需要将候选架构训练很多轮次直至收敛。为了有效地减少搜索时间以及消耗的计算成本,基于性能预测的神经网络结构搜索方法被提出,通过预测候选结构的性能来代替直接训练候选结构。一个性能预测器由三部分组成:神经网络的编码器,回归器和损失函数。
对于编码器来说,大多数先前的神经网络搜索算法都使用邻接矩阵编码,它由邻接矩阵和每个节点上的操作列表组成。路径编码也是神经网络编码的常用选择,其中,截断路径编码会导致较小的信息损失。这些离散的编码在大型搜索空间中面临可伸缩性挑战。研究表明,体系结构编码对神经网络结构的搜索至关重要[3],更多基于神经网络的编码器被提出。当使用神经网络作为编码器时,通常使用多层感知机(MLP)作为回归器,直接与编码器相连,构成一个神经网络结构的性能预测器。
现有基于LSTM和全连通层的精度预测器、由图卷积网络(GCN)组成的神经预测器、采用GCN构建延迟神经预测器、采用迁移学习将知识从经过训练的延迟预测器迁移到用于对神经架构进行排序的二元关系预测器。
由于这些特征提取器都是从标记的数据中学习,即:大量的结构和精度对。因此,在结构和精度对有限的情况下,对神经网络精度的预测可能会得到一个比较低的精度,从而影响神经网络结构搜索的结果。获取大量的结构和精度对需要花费大量的时间和算力,而没有精度的结构数据却非常易于得到。由于监督学习不仅取决于昂贵的注释,而且还存在诸如泛化错误,虚假相关性和对抗性攻击之类的问题。
对于性能预测器的损失函数来说,早期的性能预测器使用均方根误差作为损失函数,但指导神经网络结构搜索的并不是神经结构的绝对性能而是相对排序,因此,使用基于成对排序损失函数来训练性能预测器。然而,当我们需要搜索在特定设备上精度不低于某个阈值的神经网络结构时,基于成对排序的损失函数就不再适用了。
发明内容
为了使得预测器可以对绝对性能和相对性能都有较好的预测能力,本发明提出一种基于自监督学习的神经网络编码方法及编码器,所述方法包括以下步骤:
将搜索空间中的神经网络的结构用其邻接矩阵和操作矩阵进行表示,将结构的邻接矩阵进行同构图的数据增强,操作矩阵根据邻接矩阵进行相应变换;
从增强数据样本中提取表示向量的神经网络基编码器;
从搜索空间中随机采样N个样本,对每个样本分别进行两次数据增强后产生2N个数据点;
将来自同一个神经网络增强后的两个数据点被视为一个正对,剩下的2(N-1)个样本与前两个数据点来自不同神经网络的增强,则视为其负对,用于预训练编码器;
使用NT-Xent损失函数对神经网络基编码器进行训练,并将训练好的编码器后面接上MLP获得性能预测器;
利用损失函数对获得性能预测器进行微调,完成性能预测器的训练。
进一步的,神经网络的结构的邻接矩阵进行同构图的数据增强的过程包括:
若待增强的神经网络为D,该网络顶点排序为v1,v2,......vn,其邻接矩阵为A(D);
其中,A(D′)为神经网络D′的邻接矩阵,且为神经网络D的邻接矩阵进行同构图的数据增强后的邻接矩阵;Ei,j为初等矩阵对调两行(i,j)或对调两列(i,j)得后得到的初等矩阵。
进一步的,操作矩阵根据邻接矩阵进行相应变换,变换后的操作矩阵表示为:
其中,O(D)为神经网络D的操作矩阵,O(D′)为神经网络D′的操作矩阵。
进一步的,NT-Xent损失函数表示为:
其中,sim(zn,i,zn,j)为神经网络n的第i个增强zn,i和神经网络n的第j个增强zn,j的余弦相似度;τ为超参数。
进一步的,神经网络n的第i个增强zn,i和神经网络n的第j个增强zn,j的余弦相似度sim(u,v)表示为:
其中,上标T表示矩阵或向量的转置;||||表示求向量的长度。
进一步的,对性能预测器进行微调的损失函数表示为:
其中,yi表示第i个神经架构的真实性能,yj表示第j个神经架构的真实性能,表示预测器的输出;λ1、λ2为超参数,控制排序损失函数和均方差损失函数之间的权重;n为需要预测性能的神经结构数量,m为超参数,取值为0.1。
本发明与现有技术相比的有益效果包括:
1.本发明将神经网络的结构进行同构增强后,使用自监督学习对神经网络的编码器进行了预训练。通过自监督学习,使性能相似的结构在特征空间中距离更近,性能不同的结构在特征空间中距离更远。使用数据增强,在不使用标签的情况下使得编码器学到了更丰富的特征,从而只需使用少量的带标签数据进行微调就能取得良好的预测效果。
2.本发明设计了一种新的用于训练神经网络性能预测器的损失函数,使得性能预测器不仅可以很好地预测神经网络的绝对性能,还可以对神经网络的性能进行很好的排序,这有利于将预测器用于各种不同的搜索任务中,扩大了神经预测器的适用范围。
附图说明
图1为本发明一种基于自监督学习的神经网络编码方法流程图;
图2为本发明一种基于自监督学习的神经网络编码器结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提出一种基于自监督学习的神经网络编码方法,具体包括以下步骤:
将搜索空间中的神经网络的结构用其邻接矩阵和操作矩阵进行表示,将结构的邻接矩阵进行同构图的数据增强,操作矩阵根据邻接矩阵进行相应变换;
从增强数据样本中提取表示向量的神经网络基编码器;
从搜索空间中随机采样N个样本,对每个样本分别进行两次数据增强后产生2N个数据点;
将来自同一个神经网络增强后的两个数据点被视为一个正对,剩下的2(N-1)个样本与前两个数据点来自不同神经网络的增强,则视为其负对,用于预训练编码器;
使用NT-Xent损失函数对神经网络基编码器进行训练,并将训练好的编码器后面接上MLP获得性能预测器;
利用损失函数对获得性能预测器进行微调,完成性能预测器的训练。
本实施例中,设计了一种基于自监督学习的神经网络编码方法,将该编码方法结合回归器后使用少量带有标签的数据进行微调即可对神经网络的性能进行预测,该方法流程图如图1,具体包括以下步骤:
1、将搜索空间中的神经网络的结构用其邻接矩阵和操作矩阵进行表示,将结构的邻接矩阵进行同构图的数据增强,同时,操作矩阵也进行相应的变换。设神经网络为D,顶点排列顺序为v1,v2,......vn,其邻接矩阵为A(D)。对D的顶点作重新标注为(是v1,v2,......vn的一个排列)得一新的神经网络设为D′(显然D′与D同构),则D′的邻接矩阵为:
其中,Ei,j为初等矩阵。将操作矩阵也进行相应的变换:
其中,O(D)为D的操作矩阵,O(D′)为D′的操作矩阵。
2、选择一种从增强数据样本中提取表示向量的神经网络基编码器f(),本发明允许在没有任何约束的情况下对网络体系结构进行各种选择。本发明选择简单的方法,采用常用的GCN,并使用具有一个隐藏层的MLP将表示向量映射到应用了对比损失的空间。
3、从搜索空间中随机采样N,对每个样本进行两次次数据增强后产生2N个数据点。其中,来自同一个神经网络增强后的两个数据点被视为一个正对,剩下的2(N-1)个样本则视为其负对。
4、使用NT-Xent损失函数对编码器f进行训练。NT-Xent为:
5、经过步骤4,得到了预训练好的编码器后,在编码器后面接上MLP成为性能预测器。
6、使用提出的新的损失函数对性能预测器进行微调。此微调过程只需要使用少量带有标签的数据即可。损失函数为:
其中,yi表示第i个神经架构的真实性能,yj表示第j个神经架构的真实性能,表示预测器的输出;λ1、λ2为超参数,控制排序损失函数和均方差损失函数之间的权重;n为需要预测性能的神经结构数量,m为超参数,取值为0.1。
实施例2
为了对本发明方案进行更详细描述,本实施例在实施例1的基础上提供一个具体实施方案。
本实施例采用Python程序设计语言,能够在主流计算机平台上运行。本实施使用的操作系统为CentOS 6.5,要求CPU为Intel i7,内存32GB以上,硬盘空间要求60GB及以上,GPU为NVIDIA Tesla V100,显存32G。
本发明基于PyTorch 1.0框架实施本发明内容。
本实施例采用的数据集为NASBench-101,NASBench-101是第一个公共NAS搜索的结构数据集,提供了一个统一量化成果的平台,使得其他研究人员可以通过查表快速获得模型的相应训练结果。NASBench-101以cell作为最小单元,其中,一个cell具有一个输入节点,一个输出节点和最多5个中间节点。每个中间节点是1x1卷积,3x3卷积和最大池化中的一种。遍历了整个搜索空间,为空间中423624个不同的网络结构提供了三次以一致地方式进行训练评估的时间以及验证和测试结果。为了避免实验结果是模型对数据集过度学习带来的优势,每次在搜索空间中随机生成3000个结构,其中1000个作为训练集,1000个作为验证集,余下的1000个作为测试集。
本发明模型在所有训练数据上执行一遍梯度下降算法被称为一轮,每一轮都会对模型的参数进行更新,最大轮数被设置为200轮。在训练模型的200轮迭代过程中,在验证集上取得最小误差的模型及其参数被保存起来。
本实施例使用肯德尔系数和均方根误差作为评价指标。其中,肯德尔系数反映了两个有序变量的排序相关性,其取值范围为[-1,1],该值越接近1,两个有序变量的排名就越相似。均方根误差反映了预测精度值和真实标签之间的误差。两者都被神经预测器广泛使用。
实施例3
本实施例提出一种基于自监督学习的神经网络编码器,该编码器包括搜索空间、采样模块、数据增强模块、神经网络基编码器训练模块、拼接模块以及性能预测器调整模块,其中:
搜索空间,用于确定待搜索网络结构的候选集合;
采样模块,用于从搜索空间采样获得进行数据增强的样本;
数据增强模块,用于将采样得到的样本进行数据增强,并将数据增强的样本中来自同一个神经网络增强后的两个数据点被视为一个正对,其他样本数据增强后的样本作为正对的负对,作为神经网络基编码器训练模块的训练数据;
神经网络基编码器训练模块,随机从数据增强后中数据点提取其对应的神经网络基编码器,采用NT-Xent损失函数对选择的编码器进行训练;
拼接模块,将神经网络基编码器训练模块训练完成得到的编码器后面接上MLP获得性能预测器;
性能预测器调整模块,利用损失函数对性能预测器调整模块进行微调,使用微调后的性能预测器对神经网络的性能进行预测。
搜索空间中为候选的神经网络集合。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (7)
1.一种基于自监督学习的神经网络编码方法,其特征在于,具体包括以下步骤:
将搜索空间中的神经网络的结构用其邻接矩阵和操作矩阵进行表示,将结构的邻接矩阵进行同构图的数据增强,操作矩阵根据邻接矩阵进行相应变换;
从增强数据样本中提取表示向量的神经网络基编码器;
从搜索空间中随机采样N个样本,对每个样本分别进行两次数据增强后产生2N个数据点;
将来自同一个神经网络增强后的两个数据点被视为一个正对,剩下的2(N-1)个样本与前两个数据点来自不同神经网络的增强,则视为其负对,用于预训练编码器;
使用NT-Xent损失函数对神经网络基编码器进行训练,并将训练好的编码器后面接上MLP获得性能预测器;
利用损失函数对获得性能预测器进行微调,完成性能预测器的训练。
7.一种基于自监督学习的神经网络编码器,其特征在于,包括搜索空间、采样模块、数据增强模块、神经网络基编码器训练模块、拼接模块以及性能预测器调整模块,其中:
搜索空间,用于确定待搜索网络结构的候选集合;
采样模块,用于从搜索空间采样获得进行数据增强的样本;
数据增强模块,用于将采样得到的样本进行数据增强,并将数据增强的样本中来自同一个神经网络增强后的两个数据点被视为一个正对,其他样本数据增强后的样本作为正对的负对,作为神经网络基编码器训练模块的训练数据;
神经网络基编码器训练模块,随机从数据增强后中数据点提取其对应的神经网络基编码器,采用NT-Xent损失函数对选择的编码器进行训练;
拼接模块,将神经网络基编码器训练模块训练完成得到的编码器后面接上MLP获得性能预测器;
性能预测器调整模块,利用损失函数对性能预测器调整模块进行微调,使用微调后的性能预测器对神经网络的性能进行预测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111490317.4A CN114298290A (zh) | 2021-12-08 | 2021-12-08 | 一种基于自监督学习的神经网络编码方法及编码器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111490317.4A CN114298290A (zh) | 2021-12-08 | 2021-12-08 | 一种基于自监督学习的神经网络编码方法及编码器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114298290A true CN114298290A (zh) | 2022-04-08 |
Family
ID=80964803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111490317.4A Pending CN114298290A (zh) | 2021-12-08 | 2021-12-08 | 一种基于自监督学习的神经网络编码方法及编码器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114298290A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116935160A (zh) * | 2023-07-19 | 2023-10-24 | 上海交通大学 | 一种训练方法、样本分类方法、电子设备及介质 |
-
2021
- 2021-12-08 CN CN202111490317.4A patent/CN114298290A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116935160A (zh) * | 2023-07-19 | 2023-10-24 | 上海交通大学 | 一种训练方法、样本分类方法、电子设备及介质 |
CN116935160B (zh) * | 2023-07-19 | 2024-05-10 | 上海交通大学 | 一种训练方法、样本分类方法、电子设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110866140B (zh) | 图像特征提取模型训练方法、图像搜索方法及计算机设备 | |
WO2022083624A1 (zh) | 一种模型的获取方法及设备 | |
JP7250126B2 (ja) | 自動エンコーダを用いる人工画像生成のためのコンピュータアーキテクチャ | |
Tang et al. | A fast inference networks for SAR target few-shot learning based on improved siamese networks | |
CN116049459B (zh) | 跨模态互检索的方法、装置、服务器及存储介质 | |
CN113255366B (zh) | 一种基于异构图神经网络的方面级文本情感分析方法 | |
CN111612035A (zh) | 训练迁移模型的方法、故障检测的方法以及装置 | |
CN112084435A (zh) | 搜索排序模型训练方法及装置、搜索排序方法及装置 | |
WO2023087953A1 (zh) | 搜索神经网络集成模型的方法、装置和电子设备 | |
CN117237733A (zh) | 一种结合自监督和弱监督学习的乳腺癌全切片图像分类方法 | |
CN113780584B (zh) | 标签预测方法、设备、存储介质 | |
CN115062779A (zh) | 基于动态知识图谱的事件预测方法及装置 | |
Wu et al. | Research on lightweight infrared pedestrian detection model algorithm for embedded Platform | |
CN114298290A (zh) | 一种基于自监督学习的神经网络编码方法及编码器 | |
EP3888008A1 (en) | Computer architecture for artificial image generation | |
CN114299344A (zh) | 一种针对图像分类的神经网络结构低成本自动搜索方法 | |
CN113096070A (zh) | 一种基于MA-Unet的图像分割方法 | |
WO2023179609A1 (zh) | 一种数据处理方法及装置 | |
WO2023174064A1 (zh) | 自动搜索方法、自动搜索的性能预测模型训练方法及装置 | |
CN116208399A (zh) | 一种基于元图的网络恶意行为检测方法及设备 | |
CN114997360A (zh) | 神经架构搜索算法的演化参数优化方法、系统及存储介质 | |
CN114819140A (zh) | 模型剪枝方法、装置和计算机设备 | |
CN113535928A (zh) | 基于注意力机制下长短期记忆网络的服务发现方法及系统 | |
JP6993250B2 (ja) | コンテンツ特徴量抽出装置、方法、及びプログラム | |
CN115512693A (zh) | 音频识别方法、声学模型训练方法、装置和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |