CN117121020A - 神经网络间的迁移学习 - Google Patents
神经网络间的迁移学习 Download PDFInfo
- Publication number
- CN117121020A CN117121020A CN202180096267.3A CN202180096267A CN117121020A CN 117121020 A CN117121020 A CN 117121020A CN 202180096267 A CN202180096267 A CN 202180096267A CN 117121020 A CN117121020 A CN 117121020A
- Authority
- CN
- China
- Prior art keywords
- neural network
- logic
- source
- computing device
- target
- 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
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 158
- 230000005012 migration Effects 0.000 title description 14
- 238000013508 migration Methods 0.000 title description 14
- 238000000034 method Methods 0.000 claims abstract description 57
- 238000004458 analytical method Methods 0.000 claims abstract description 46
- 238000004590 computer program Methods 0.000 claims abstract description 17
- 210000002569 neuron Anatomy 0.000 claims description 78
- 238000012549 training Methods 0.000 claims description 77
- 239000013598 vector Substances 0.000 claims description 15
- 230000005540 biological transmission Effects 0.000 claims description 12
- 230000006399 behavior Effects 0.000 abstract description 55
- 238000013526 transfer learning Methods 0.000 abstract description 14
- 230000006870 function Effects 0.000 description 39
- 230000015654 memory Effects 0.000 description 22
- 238000013459 approach Methods 0.000 description 15
- 238000001994 activation Methods 0.000 description 10
- 230000004913 activation Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 101000822695 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C1 Proteins 0.000 description 1
- 101000655262 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C2 Proteins 0.000 description 1
- 241000282326 Felis catus Species 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 101000655256 Paraclostridium bifermentans Small, acid-soluble spore protein alpha Proteins 0.000 description 1
- 101000655264 Paraclostridium bifermentans Small, acid-soluble spore protein beta Proteins 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 210000002364 input neuron Anatomy 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000135 prohibitive effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Character Discrimination (AREA)
- Image Analysis (AREA)
Abstract
各实施例涉及与神经网络相关联的迁移学习。可以对源神经网络进行语义分析,并且可以基于所述语义分析提取所述源神经网络的逻辑行为数据。然后,可以将所述逻辑行为数据传输到目标神经网络。所述逻辑行为数据可以用于预训练所述目标神经网络。公开了设备、方法和计算机程序。
Description
技术领域
本公开涉及一种方法,更具体地,涉及一种用于与神经网络相关联的迁移学习(transfer learning)的方法。此外,本公开涉及相应的计算设备和计算机程序。
背景技术
深度神经网络(deep neural network,DNN)是受到构成生物大脑的生物神经网络启发的计算系统。可以通过考虑示例来训练DNN执行任务,通常不使用任何任务特定规则进行编程。例如,在图像识别中,可以训练DNN通过分析由手动标记为“汽车”或“无汽车”的示例性图像并使用结果来识别其他图像中的汽车,从而识别包含汽车的图像。DNN这样处理时不需要任何关于汽车的先验知识。相反,它们会从它们处理的学习材料中自动生成识别特征。
迁移学习也可以应用于DNN。在迁移学习中,在第一神经网络中获取的学习可以迁移到第二神经网络。
发明内容
本发明内容简单介绍了一些概念,在具体实施方式中会进一步描述这些概念。本发明内容既不旨在确定请求保护的主题的关键或必要特征,也不旨在用于限制请求保护的主题的范围。
目的是提供一种用于与神经网络相关联的迁移学习的设备和方法。这些目的中的一个或多个是通过独立权利要求的特征实现的。其它实现方式在从属权利要求、说明书和附图中提供。
根据第一方面,一种计算设备用于初始化源神经网络;使用所述源神经网络的训练数据训练所述源神经网络;执行所述源神经网络的语义分析;基于所述语义分析提取所述源神经网络的逻辑行为数据;致使所述逻辑行为数据的传输。例如,该方案可以显著减少从所述源神经网络迁移到目标神经网络的比特量。
在所述第一方面的一种实现方式中,所述逻辑行为数据包括逻辑表。例如,该方案可以实现所述逻辑行为数据的高效数据结构。
在所述第一方面的另一种实现方式中,所述计算设备还用于:对所述源神经网络的神经元进行语义分析;基于所述语义分析,将与至少一些所述神经元的输出对应的逻辑命题存储到所述逻辑表中。例如,该方案可以实现对所述神经元的高效分析。
在所述第一方面的另一种实现方式中,所述计算设备还用于:将所述逻辑命题编码为二进制向量;
致使所述二进制向量的传输。例如,该方案可以优化需要迁移到所述目标神经网络的数据量。
根据第二方面,一种计算设备用于:接收与源神经网络相关联的逻辑行为数据,所述逻辑行为数据基于所述源神经网络的语义分析;使用与所述源神经网络相关联的逻辑行为数据预训练目标神经网络;使用所述目标神经网络的训练数据训练所述目标神经网络。例如,该方案可以实现所述目标神经网络的快速学习以及更高的最终准确度。
在所述第二方面的一种实现方式中,所述逻辑行为数据包括逻辑表。例如,该方案可以实现所述逻辑行为数据的高效数据结构。
在所述第二方面的一种实现方式中,所述逻辑表包括与所述源神经网络的至少一些神经元的输出对应的逻辑命题,所述逻辑命题基于所述源神经网络的神经元的语义分析。例如,该方案可以实现对所述神经元的高效分析。
在所述第二方面的一种实现方式中,所述计算设备还用于:基于接收的所述逻辑表计算逆逻辑表,所述逆逻辑表指示所述目标神经网络中每个神经元的期望逻辑行为,其中,所述计算设备用于通过使用代价函数预训练所述目标神经网络,所述代价函数考虑到了所述目标神经网络的神经元的输出并对与所述逆逻辑表指示的期望输出的偏差进行惩罚。例如,该方案可以提高效率。
在所述第二方面的一种实现方式中,所述计算设备还用于:逐层预训练所述目标神经网络。例如,该方案可以提高效率。
在所述第二方面的一种实现方式中,所述逻辑表包括被编码为二进制向量的所述逻辑命题。例如,该方案可以优化需要迁移到所述目标神经网络的数据量。
在所述第二方面的一种实现方式中,所述计算设备用于:使用所述目标神经网络的训练数据的有限集对所述目标神经网络进行有限数量轮次的预训练。例如,该方案可以提高效率。
根据第三方面,一种方法包括:初始化源神经网络;使用所述源神经网络的训练数据训练所述源神经网络;执行所述源神经网络的语义分析;基于所述语义分析提取所述源神经网络的逻辑行为数据;致使所述逻辑行为数据的传输。例如,该方案可以显著减少从所述源神经网络迁移到目标神经网络的比特量。
在所述第三方面的一种实现方式中,所述逻辑行为数据包括逻辑表。例如,该方案可以实现所述逻辑行为数据的高效数据结构。
在所述第三方面的另一种实现方式中,所述方法还包括:对所述源神经网络的神经元进行语义分析;基于所述语义分析,将与至少一些所述神经元的输出对应的逻辑命题存储到所述逻辑表中。例如,该方案可以实现对所述神经元的高效分析。
在所述第三方面的另一种实现方式中,所述方法还包括:将所述逻辑命题编码为二进制向量;致使所述二进制向量的传输。例如,该方案可以优化需要迁移到所述目标神经网络的数据量。
根据第四方面,一种方法包括:接收与源神经网络相关联的逻辑行为数据,所述逻辑行为数据基于所述源神经网络的语义分析;使用与所述源神经网络相关联的逻辑行为数据预训练目标神经网络;使用所述目标神经网络的训练数据训练所述目标神经网络。例如,该方案可以实现所述目标神经网络的快速学习以及更高的最终准确度。
在所述第四方面的一种实现方式中,所述逻辑行为数据包括逻辑表。例如,该方案可以实现所述逻辑行为数据的高效数据结构。
在所述第四方面的一种实现方式中,所述逻辑表包括与所述源神经网络的至少一些神经元的输出对应的逻辑命题,所述逻辑命题基于所述源神经网络的神经元的语义分析。例如,该方案可以实现对所述神经元的高效分析。
在所述第四方面的一种实现方式中,所述方法还包括:基于接收的所述逻辑表计算逆逻辑表,所述逆逻辑表指示所述目标神经网络中每个神经元的期望逻辑行为;通过使用代价函数预训练所述目标神经网络,所述代价函数考虑到了所述目标神经网络的神经元的输出并对与所述逆逻辑表指示的期望输出的偏差进行惩罚。例如,该方案可以提高效率。
在所述第四方面的一种实现方式中,所述方法还包括:逐层预训练所述目标神经网络。例如,该方案可以提高效率。
在所述第四方面的一种实现方式中,所述逻辑表包括被编码为二进制向量的所述逻辑命题。例如,该方案可以优化需要迁移到所述目标神经网络的数据量。
在所述第四方面的一种实现方式中,所述方法还包括:使用所述目标神经网络的训练数据的有限集对所述目标神经网络进行有限数量轮次的预训练。例如,该方案可以提高效率。
根据第五方面,提供了一种包括程序代码的计算机程序,当所述计算机程序在计算机上执行时,所述程序代码用于执行根据所述第三方面所述的方法。
根据第六方面,提供了一种包括程序代码的计算机程序,当所述计算机程序在计算机上执行时,所述程序代码用于执行根据所述第四方面所述的方法。
根据第七方面,提供了一种电信设备,包括根据所述第一方面所述的计算设备。
根据第八方面,提供了一种电信设备,包括根据所述第二方面所述的计算设备。
根据第九方面,提供了一种计算设备,包括:用于初始化源神经网络的装置;用于使用所述源神经网络的训练数据训练所述源神经网络的装置;用于执行所述源神经网络的语义分析的装置;用于基于所述语义分析提取所述源神经网络的逻辑行为数据的装置;用于致使所述逻辑行为数据的传输的装置。例如,该方案可以显著减少从所述源神经网络迁移到目标神经网络的比特量。
根据第十方面,提供了一种计算设备,包括:用于接收与源神经网络相关联的逻辑行为数据的装置,所述逻辑行为数据是基于对所述源神经网络进行语义分析而获得的;用于使用与所述源神经网络相关联的逻辑行为数据预训练目标神经网络的装置;以及用于使用所述目标神经网络训练数据训练所述目标神经网络的装置。例如,该方案可以实现所述目标神经网络的快速学习以及更高的最终准确度。
许多伴随特征将更容易理解,因为通过参考结合附图考虑的以下详细描述,这些伴随特征变得更好理解。
附图说明
从以下结合附图的详细描述可以更好地理解本描述,其中:
图1示出了根据实施例的计算设备的示意图;
图2示出了根据实施例的计算设备的示意图;
图3示出了根据实施例的方法的流程图;
图4示出了根据实施例的方法的流程图;
图5示出了根据实施例的深度神经网络的示意图;
图6A示出了根据实施例的识别信号形状的问题;
图6B示出了根据实施例的识别信号形状的问题;
图7A至图7C示出了根据实施例的神经元分析的示例性结果;
图8示出了根据实施例的逻辑表的示例;
图9示出了根据实施例的已迁移的比特的数字示例;
图10示出了根据实施例的语义迁移的性能示例。
在附图中,相同的附图标记用于表示相同的部件。
具体实施方式
以下结合附图提供的详细描述旨在描述实施例,而不是旨在表示这是可以构造或利用实施例的唯一形式。但是,相同或等效的功能和结构可以通过不同的示例来实现。
图1示出了根据实施例的计算设备100的示意图。
根据实施例,计算设备100用于初始化源神经网络。
计算设备100还可以用于使用源神经网络的训练数据训练源神经网络。
计算设备100还可以用于执行源神经网络的语义分析。
计算设备100还可以用于基于语义分析提取源神经网络的逻辑行为数据。
计算设备100还可以用于致使逻辑行为数据的传输。
计算设备100可以包括处理器102。计算设备100还可以包括存储器104。
在一些实施例中,计算设备100的至少一些部分可以实现为片上系统(system ona chip,SoC)。例如,计算设备100的处理器102、存储器104和/或其它组件可以使用现场可编程门阵列(field-programmable gate array,FPGA)来实现。
计算设备100的组件(例如,处理器102和存储器104)可以不是分立组件。例如,如果设备100使用SoC实现,则组件可以对应于SoC的不同单元。
例如,处理器102可以包括例如以下中的一个或多个:各种处理设备(例如,协处理器、微处理器、控制器、数字信号处理器(digital signal processor,DSP)、带或不带DSP的处理电路)或包括集成电路的各种其它处理设备(例如,专用集成电路(applicationspecific integrated circuit,ASIC)、现场可编程门阵列(field programmable gatearray,FPGA)、微控制器单元(microcontroller unit,MCU)、硬件加速器、专用计算机芯片等)。
例如,存储器104可以用于存储计算机程序等。存储器104可以包括一个或多个易失性存储器设备、一个或多个非易失性存储器设备和/或一个或多个易失性存储器设备与非易失性存储器设备的组合。例如,存储器104可以实现为磁存储设备(例如,硬盘驱动器、软盘、磁带等)、光磁存储设备和半导体存储器(例如,掩模型ROM、可编程ROM(programmableROM,PROM)、可擦除PROM(erasable PROM,EPROM)、闪存ROM、随机存取存储器(randomaccess memory,RAM)等)。
本文描述的功能可以通过计算设备100的各种组件实现。例如,存储器104可以包括用于执行本文公开的任何功能的程序代码,处理器102可以用于根据包括在存储器102中的程序代码执行功能。
当计算设备100用于实现某个功能时,计算设备100的某个和/或某些组件(例如,一个或多个处理器102和/或存储器104)可以用于实现该功能。此外,当一个或多个处理器102用于实现某个功能时,例如,该功能可以使用包括在存储器104中的程序代码来实现。例如,如果计算设备100用于执行操作,则一个或多个存储器104和计算机程序代码可以用于与一个或多个处理器102一起使计算设备100执行该操作。
根据实施例,电信设备包括计算设备100。
图2示出了根据实施例的计算设备200的示意图。
根据实施例,计算设备200用于接收与源神经网络相关联的逻辑行为数据,该逻辑行为数据基于源神经网络的语义分析。
计算设备200还可以用于使用与源神经网络相关联的逻辑行为数据预训练目标神经网络。
计算设备200还可以用于使用目标神经网络的训练数据训练目标神经网络。
计算设备200可以包括处理器202。计算设备200还可以包括存储器204。
在一些实施例中,计算设备200的至少一些部分可以实现为片上系统(SoC)。例如,处理器202、存储器204和/或计算设备200的其他组件可以使用现场可编程门阵列(FPGA)来实现。
计算设备200的组件(例如处理器202和存储器204)可以不是分立组件。例如,如果设备200使用SoC实现,则组件可以对应于SoC的不同单元。
例如,处理器202可以包括例如以下中的一个或多个:各种处理设备(例如,协处理器、微处理器、控制器、数字信号处理器(DSP)、带或不带DSP的处理电路)或包括集成电路的各种其它处理设备(例如,专用集成电路(ASIC)、现场可编程门阵列(FPGA)、微控制器单元(MCU)、硬件加速器、专用计算机芯片等)。
例如,存储器204可以用于存储计算机程序等。存储器204可以包括一个或多个易失性存储器设备、一个或多个非易失性存储器设备和/或一个或多个易失性存储器设备和非易失性存储器设备的组合。例如,存储器204可以实现为磁存储设备(例如,硬盘驱动器、软盘、磁带等)、光磁存储设备和半导体存储器(例如,掩模型ROM、可编程ROM(programmableROM,PROM)、可擦除PROM(erasable PROM,EPROM)、闪存ROM、随机存取存储器(randomaccess memory,RAM)等)。
本文描述的功能可以通过计算设备200的各种组件实现。例如,存储器204可以包括用于执行本文中公开的任何功能的程序代码,处理器202可以用于根据包括在存储器202中的程序代码执行功能。
当计算设备200用于实现某个功能时,计算设备200的某个和/或某些组件(例如,一个或多个处理器202和/或存储器204)可以用于实现该功能。此外,当一个或多个处理器202用于实现某个功能时,例如,该功能可以使用包括在存储器204中的程序代码来实现。例如,如果计算设备200用于执行操作,则一个或多个存储器204和计算机程序代码可以用于与一个或多个处理器202一起使计算设备200执行该操作。
根据实施例,电信设备包括计算设备200。
图3示出了根据实施例的方法300的流程图。
根据实施例,方法300包括初始化(302)源神经网络。
方法300还可以包括使用源神经网络的训练数据训练(304)源神经网络。
方法300还可以包括执行(306)源神经网络的语义分析。
方法300还可以包括基于语义分析提取(308)源神经网络的逻辑行为数据。例如,逻辑行为数据可以包括逻辑表。在示例实施例中,方法300还可以包括对源神经网络的神经元进行语义分析,并基于该语义分析,将与至少一些神经元的输出相对应的逻辑命题存储到逻辑表中。
方法300还可以包括致使(310)逻辑行为数据的传输。逻辑行为数据的接收者可以使用逻辑行为数据训练目标神经网络。
例如,方法300可以由计算设备100执行。
当在计算机上执行时,方法300的至少一些操作可以由计算机程序产品执行。
图4示出了根据实施例的方法400的流程图。
根据实施例,方法400包括接收(402)与源神经网络相关联的逻辑行为数据,该逻辑行为数据基于源神经网络的语义分析。例如,逻辑行为数据可以包括逻辑表。逻辑表可以包括对应于源神经网络的至少一些神经元的输出的逻辑命题,该逻辑命题是基于对源神经网络的神经元进行语义分析所获得的。逻辑命题可以被编码为二进制向量。
方法400还可以包括使用与源神经网络相关联的逻辑行为数据预训练(404)目标神经网络。在示例实施例中,方法400还可以包括基于接收到的逻辑表来计算逆逻辑表,该逆逻辑表指示目标神经网络中每个神经元的期望逻辑行为,并且通过使用代价函数来预训练目标神经网络,该代价函数考虑到了目标神经网络的神经元的输出并对与逆逻辑表指示的期望输出的偏差进行惩罚。在示例实施例中,如果逆逻辑表仅包括一些神经元条目,而不是源网络中的所有神经元,则逆逻辑表可以描述目标神经网络中的一些神经元的期望逻辑行为。目标神经网络可以逐层进行预训练。此外,使用目标神经网络的训练数据的有限集对目标神经网络进行有限数量轮次的预训练。
方法400还可以包括使用目标神经网络的训练数据训练(406)目标神经网络。
例如,方法400可以由计算设备200执行。
当在计算机上执行时,方法400的至少一些操作可以由计算机程序产品执行。
图5示出了根据实施例的神经网络使用情况的示意图。
深度神经网络(DNN)500可以是基于称为人工神经元的连接单元或节点的集合的,这些单元或节点松散地模拟生物大脑中的神经元。通常,将人工神经元聚合到层502、层504、层506、层508中,不同的层可以对该层的输入执行不同类型的转换。层502可以称为输入层,层504、层506可以称为隐藏层,层508可以称为输出层。人工神经元之间的连接具有随着学习进行而调整的权重。该权重会增加或减少连接处信号的强度。
DNN是解决各种分类任务的高效工具。作为示例,图像可以呈现给输入层502,每个输入神经元具有一个值。然后,网络500中的每个神经元可以计算输入值的函数(一种仿射变换的非线性函数),并且可以将计算得出的结果转发到下一层。这种函数可以参数化,并且这些参数将被进行优化。输出层508可以包括每个类中的一个神经元,分类结果对应于具有最大输出值的类。
使用训练数据集对DNN进行训练,该训练数据集包括标记有相应类的数据。一种优化算法,例如随机梯度下降,可用于找到网络参数(某层的输出结果的仿射变换的权重和偏差,该权重和偏差将会用在下一层的激活函数中),使得代价函数最小化,该代价函数将为分类错误的数据点分配较大代价并且为分类正确的数据点分配较小代价。在分类正确的数据点所占的百分比方面,DNN实际的分类准确度是使用第二带标记的数据集,即验证数据集来确定的。
为了将在源侧实现的学习应用到目标侧,可以使用迁移学习。在迁移学习中,在一个神经网络,即源网络中获得的学习可以迁移到第二神经网络,即目标网络。使用迁移学习的原因可以包括,例如,源任务和目标任务相似,并且目标网络的学习成本高昂(例如,在时间成本或计算成本方面),或者目标网络只能访问有限的训练数据,并且需要由经过训练的源网络提供的初始化。
在下文中,将使用单类任务以及全连接的DNN作为示例,单类任务中每个数据点与一个类关联,全连接的DNN中每个神经元与上一层的所有神经元全连接。
假设一个具有M个类y1,y2,…,yM的单类任务,并通过以下方式表示类集
训练数据集和验证数据集是
和
由多对数据点xi和标签yi组成。假设每个数据点是长度为N个实值的向量,
x=(x1,x2,…,xN)。
还假设存在一个具有L层的全连接的DNN,其中,l=0指输入层502,l=L指输出层508。每一层l具有Nl个神经元。输入层由N0=N个神经元组成,每个输入值对应一个神经元。类似地,输出层508由NL=M个神经元组成,每个类对应一个神经元。网络规模象征性地描述为N-N1-…-NL-1-M。
隐藏层504、隐藏层506和输出层508中的每个神经元将其输入值组合成输出值(激活函数)。例如,对于l层中的神经元k,该函数可以是
其中称为权重,/>称为偏差,以及
是一个非线性函数,称为S形函数。权重和偏差被称为网络参数,它们将在训练期间进行优化。
为了简单起见,假设源问题和目标问题都是同一类集上的单类任务。然而,目标问题可能比源问题更难解答。这可能意味着,例如,源处的数据和目标处的数据在某种程度上可能是不同的,这使得目标问题中的类比源问题中的类更难正确分类。还假设源DNN和目标DNN具有相同的结构,并且训练数据可供两者使用。在其他实施例中,源DNN和目标DNN的结构可以有所不同。
迁移学习中的目标首先是训练源网络,然后将承载学习的数据迁移到目标网络,最后训练目标网络。在下文中,示出了一个示例方法,该方法包括六个步骤:
1.初始化源网络,
2.使用源训练数据训练源网络,
3.从源网络中提取网络数据,
4.将网络数据迁移到目标网络,
5.使用迁移的网络数据初始化目标网络,
6.使用目标训练数据训练目标网络。
其中主要的挑战在于第4步,即网络数据的迁移。例如,源网络和目标网络可能无法同地协作,并且这些数据需要通过无线链路传输,在此过程中,网络资源和传输功率的花费可能会十分昂贵。
针对迁移学习,一种可能的技术方案是将所有权重和偏差从源网络传输到目标网络。权重和偏差是需要高精度的实际值。此外,要迁移的数据量与网络规模成正比,尤其是与网络中的连接数成正比。然而,使用这种方法是有缺点的。首先,数据量非常大。假设规模为100-40-20-10-6(6层,输入长度为100,4个隐藏层,输出处有6个类)的网络,将在后文的小示例中使用,每个权重值的精度为16位,则要迁移的数据量多达80000位。其次,权重所表示的功能是特定于源问题的。然而,源数据和目标数据可能略有不同,可以优选地传输与类更相关的数据,而不传输源数据。
要迁移到目标网络的数据可以通过仅迁移源网络的部分内容来压缩,例如,将权重量化至仅几个比特,或应用其他方法进行模型压缩。然而,迁移问题仍然适用,要传输的数据的数量级将保持不变。
重新参考上文所讨论的关于图3和图4的方案,示出了一种语义迁移学习的方案。在训练源网络后,执行语义分析,提取神经元的逻辑行为数据。然后,将逻辑行为数据从源网络迁移到目标网络。在目标网络中,使用逻辑行为数据执行逻辑预训练,然后进行常规训练。
逻辑行为数据可以承载关于源网络中分类的语义信息,并且可以向目标网络提供关于源网络功能的信息。
使用规模为100-40-20-10-6的示例网络,逻辑行为数据只需要大约900位。与传统方法中的80000位相比,要传输到目标网络的数据量显著减少。
每当两个或多个神经网络交换关于它们正在实现的功能的信息时,就可以应用所示出的方案。该方案还可以在两个或多个网络之间以迭代的方式使用,以实现协作学习,同时仅交换少量信息。
图6A和图6B示出了根据实施例的识别信号形状的问题。在本示例性实施例中,假设有两个单类分类任务,分别是源任务和目标任务,以及两个全连接的DNN,分别是源网络和目标网络。
信号有矩形、三角形和半圆的,其中,这些形状可以处于不同的位置,具有不同的高度。在本示例中,源网络被分配到一个更简单的问题,其中,它的信号更宽(图6A),而目标网络被分配到一个更难的问题,其中,它的信号更窄,因此信号的形状更难区分(图6B)。这些形状的位置和高度在数据集中可能有所不同。
这三种不同形状的信号代表了分类任务的三个类。假定类集为
其中,A指矩形,B指三角形,C指半圆。
首先使用源训练数据初始化源网络并且对其进行训练。可以使用任何适用于实现这一目标的方法。
可以再次向源网络馈送部分或全部训练数据,并对至少一些神经元的神经元输出(即激活)进行分析。在本示例中,假设对所有神经元的神经元输出进行分析。
图7A至图7C示出了根据实施例的神经元分析的示例结果。对于类A、B、C,描述了每个类的每个输出值的频率。在下文的示例中,解释了如何通过为输出分配逻辑命题来将神经元的输出与语义关联。
在下文中,神经元输出(激活)表示为a。为了简化表示法,省略了层的索引l和层内神经元的索引k。还假设同样的分析适用于网络中的所有神经元。量化的神经元输出表示为
定义了以下逻辑命题:
A:“数据点属于类A”
B:“数据点属于类B”
C:“数据点属于类C”
需要注意的是,A既表示类,也表示相应的命题,从上下文来看,其含义是清楚的。这一点同样适用于B和C。在示例实施例中,这些基本命题可以使用逻辑运算来组合,具体是将否定合取∧、析取V和包含→进行组合,以形成新的逻辑命题。此外,作为另一个示例,也可以应用其他逻辑系统,如谓词逻辑。
使用图7A至图7C所示的示例,逻辑命题可以与量化的激活值关联起来:如果则命题A为真。如果/>则命题B∨C为真。如果小于1/2的激活值是由属于类A的数据点产生的,而不是由属于类B和类C的数据点产生的,则第一条语句为真。在图7A至图7B中,这条语句近似为真,最多只有几个数据点。在一个示例实施例中,可以引入容差值ε,并且如果命题对于训练数据集的(1-ε)的相对量也适用,则逻辑命题被称为ε-真。在下文中,为了简单起见,这种情况仍然可以称为“真”。
使用类似的方法,对源网络的所有神经元进行语义分析。在示例实施例中,对应于每个神经元输出的逻辑命题可以写入逻辑表中。
在示例实施例中,逻辑刻画可以更一般。在多类任务中,所述网络可以学习逻辑命题,这些命题不是数据点的标签,而是数据点之间的关系,如A→B。在另一个示例实施例中,网络可以识别图像中的动物,并且神经元可以提出“若鼠则猫”的命题,即使图像标签只是合取。
图8示出了根据实施例的逻辑表的示例;图8中所示出的逻辑表有五层(层0、层1、层2、层3、层4)。该表使用四个类A、B、C和D,此外,符号T=(A或B或C或D)(总是为真)和F(总是为假)。以更一般的形式表示,有L+1层,层l中可以有Nl个神经元,l=0,1,…L,因此总共有Ntot=∑lNl个神经元。相应地,逻辑表可以有Ntot行(每个神经元一行),每行有两个条目,一个条目对应于激活小于1/2的命题,另一个条目对应于激活大于1/2的命题。对于作为示例的单类任务,考虑基本命题的析取这一种情况就足够了,如A、A∨C、A∨B∨C等。在一个示例实施例中,这些可以编码为长度为M的二进制向量,其中M是类的数量:零表示进行析取后,不存在任何类,一表示有类存在。在上文讨论的关于图5的简化示例中,存在M=3个类。然后,命题A可以被编码为100,命题B∨C可以被编码为011。因此,此逻辑表的大小为2M·∑lNl位。
然后,一般逻辑表(或其编码版本)可以从源网络迁移到目标网络。当使用与源网络有关的逻辑表,即逻辑行为数据时,逻辑表承载关于源网络中分类的语义信息。逻辑表从语义上代表了源网络对数据的理解方式。逻辑表具有非常紧凑的表示形式,它向目标网络提供有关源网络功能的信息。以规模为100-40-20-10-6的网络为例,逻辑行为数据只需要大约900位。与传统方法中的80000位相比,要传输到目标网络的数据量显著减少。
在示例实施例中,在目标网络侧,逻辑表从语义上代表了源网络对数据的理解方式。基于获取的与源网络相关的逻辑行为数据,在目标网络侧执行预训练。
在示例实施例中,可以基于接收到的逻辑表计算逆逻辑表,该逆逻辑表描述了目标神经网络中每个神经元的期望逻辑行为。当逻辑表将命题与激活关联起来时,如数据点的类所给出的,逆逻辑表将期望激活(根据源网络的学习)与命题关联起来。
重新参考图7A至图7C,这里继续使用同样的三类示例。从逻辑表中可得,以下语句适用于神经元:
如果则命题A为真。
如果则命题B∨C为真。
反过来,所述特定的神经元就会有以下的期望行为:
如果命题A为真,则
如果命题B为真,则
如果命题C为真,则
此处,对应于量化的神经元输出,并表示期望目标值。从数学上讲,这可以写成:
在本示例中,不仅需要B和C来得出而且还需要A得出一个中性值,即得出 的值是预训练中所述特定的神经元的目标值。
所有其他神经元都可以类似地处理,最终将会得到一个逆逻辑表,由每层l中的每个神经元k确定。逆逻辑表描述了目标网络中每个神经元的期望逻辑行为。
在示例实施例中,在预训练中可以使用代价函数。根据逆逻辑表,代价函数可考虑所有神经元的输出(激活)并且可对与期望输出/>的偏差进行惩罚。例如,这可以通过使用每个神经元的交叉熵(cross-entropy,CE)代价函数来完成,然后对所有神经元求和,即针对给定的训练数据对(x,y)求和:
需要注意的是,实际的激活是数据点x的函数,而目标(量化的)激活/>是标签/类y的函数。
逻辑预训练可以逐层执行,从第一隐藏层开始,到输出层结束。训练数据的规模和轮次的数量可以是设计参数。预训练可以使用有限或较小的目标神经网络训练数据集和有限或较少的轮次来执行。
当预训练已经执行,预训练后的目标网络权重表示目标网络接下来进行的传统训练的初始化。在传统训练中,使用目标网络训练数据训练目标网络。任何适用的方法都可应用在最后的训练阶段。
图9示出了根据实施例的已迁移的比特的数字示例。
该示例假设了具有M=6种不同形状的形状识别问题。(更容易的)源问题的形状更宽,而(更难的)目标问题的形状更窄。源网络和目标网络的规模为100-40-20-10-6。源网络和目标网络进行10000轮次的训练,目标网络的逻辑预训练占10000轮次中的400轮次。该示例还运用了交叉熵代价函数和梯度下降。
从图9可以看出,语义迁移只需要912位,而传统的权重迁移在8位量化时需要超过40000位,在16位量化时需要超过160000位。所示出的示例表明,使用语义迁移所要交流的数据比传统的方法小几个数量级。
图10示出了根据实施例的语义迁移的性能示例。
图8比较了目标网络在分类准确度方面的表现,其中,图8显示了10000轮次中的前2000轮次。Y轴表示分类准确度,X轴表示轮次的数量。图10示出了四种表现结果:常规训练、传统训练、语义训练A和语义训练B。对于传统的迁移学习,目标网络是用使用训练后的源网络的权重进行初始化的。与常规训练相比,传统的迁移学习准确度提高得更快,但收敛程度略低于常规训练。
图10显示了语义迁移学习的两个版本。语义迁移A是在上文的各种示例实施例中讨论过的方法。在预训练期间,由于预训练是从第一隐藏层向输出层依次执行,因此,只有在预训练的最后几个时期,输出层才会被考虑到代价函数中,所以准确度低且不稳定。在预训练后,语义迁移A的准确度提高得非常快,甚至超过了常规训练和全权重迁移。语义迁移B使用改进后的代价函数,其中还考虑了引出相应逻辑命题的数据点的相对频率。
从图9和图10可以看出,所讨论的语义迁移学习在从源网络传输到目标网络的比特量以及学习速度和最终准确度方面都是有优势的。
虽然已经以结构特征和/或动作专用的语言描述了本文的一些主题,但应当理解,所附权利要求书中限定的本主题不必局限于上文描述的具体特征或动作。相反,公开上文描述的具体特征和动作作为实现权利要求书的实施例而公开,并且其它等效的特征和动作旨在包括在权利要求书的范围内。
本文描述的功能可以至少部分地由一个或多个计算机程序产品组件(如软件组件)执行。替代地或附加地,本文描述的功能可以至少部分地由一个或多个硬件逻辑组件执行。例如,但不限于,可以使用的硬件逻辑组件的说明性类型包括但不限于现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(application-specific standardproduct,ASSP)、片上系统(SOC)、复杂可编程逻辑设备(complex programmable logicdevice,CPLD)、图形处理器(graphics processing unit,GPU)等。
应当理解,上面描述的好处和优点可能涉及一个实施例,也可能涉及几个实施例。这些实施例不限于解决任何或所有所述问题的实施例,或者具有任何或所有所述好处和优点的实施例。还应当理解,提到“一个”项目可以指这些项目中的一个或多个。术语“和/或”可用于指示其所连接的一种或多种情况可能发生。可能会发生两个或多个所连接的情况,或者可能仅发生其中一个所连接的情况。
本文所述方法的操作可以以任何合适的顺序进行,或在适当的情况下同时进行。此外,在不偏离本文所述主题的目标和范围的情况下,可以从任何方法中删除个别步骤。上文描述的任意实施例的方面可以与所描述的任何其它实施例的方面组合以形成更多实施例,而不影响所要达到的效果。
本文中所用的术语“包括”意在包括相关的方法、步骤或元素,但是此类步骤或元素不包括独有的列表,并且方法或装置可包含额外的步骤或元素。
应当理解,上述描述仅作为示例给出,并且本领域技术人员可以进行各种修改。上述说明书、实施例和数据对示例性实施例的结构和使用进行了完整的描述。虽然上文已经以某种程度的特殊性或参考一个或多个单独的实施例描述了各实施例,但本领域技术人员可以在不脱离本说明书的精神或范围的情况下对所公开的实施例进行许多更改。
Claims (26)
1.一种计算设备(100),用于:
初始化(302)源神经网络;
使用所述源神经网络的训练数据训练(304)所述源神经网络;
执行(306)所述源神经网络的语义分析;
基于所述语义分析提取(308)所述源神经网络的逻辑行为数据;
致使(310)所述逻辑行为数据的传输。
2.根据权利要求1所述的计算设备(100),其中,所述逻辑行为数据包括逻辑表。
3.根据权利要求2所述的计算设备(100),还用于:
对所述源神经网络的神经元进行语义分析;
基于所述语义分析,将与至少一些所述神经元的输出对应的逻辑命题存储到所述逻辑表中。
4.根据权利要求3所述的计算设备(100),还用于:
将所述逻辑命题编码为二进制向量;
致使所述二进制向量的传输。
5.一种计算设备(200),用于:
接收(402)与源神经网络相关联的逻辑行为数据,所述逻辑行为数据基于所述源神经网络的语义分析;
使用与所述源神经网络相关联的所述逻辑行为数据预训练(404)目标神经网络;
使用所述目标神经网络的训练数据训练(406)所述目标神经网络。
6.根据权利要求5所述的计算设备(200),其中,所述逻辑行为数据包括逻辑表。
7.根据权利要求6所述的计算设备(200),其中,所述逻辑表包括与所述源神经网络的至少一些神经元的输出对应的逻辑命题,所述逻辑命题基于所述源神经网络的所述神经元的语义分析。
8.根据权利要求7所述的计算设备(200),还用于:基于接收的所述逻辑表计算逆逻辑表,所述逆逻辑表指示所述目标神经网络中每个神经元的期望逻辑行为,
其中,所述计算设备(200)用于通过使用代价函数预训练(404)所述目标神经网络,所述代价函数考虑到了所述目标神经网络的神经元的输出并对与所述逆逻辑表指示的期望输出的偏差进行惩罚。
9.根据权利要求8所述的计算设备(200),还用于:逐层预训练(404)所述目标神经网络。
10.根据权利要求7至9中任一项所述的计算设备(200),其中,所述逻辑表包括被编码为二进制向量的所述逻辑命题。
11.根据权利要求5至10中任一项所述的计算设备(200),其中,所述计算设备(200)用于:使用所述目标神经网络的训练数据的有限集对所述目标神经网络进行有限数量轮次的预训练(404)。
12.一种方法(300),包括:
初始化(302)源神经网络;
使用所述源神经网络的训练数据训练(304)所述源神经网络;
执行(306)所述源神经网络的语义分析;
基于所述语义分析提取(308)所述源神经网络的逻辑行为数据;
致使(310)所述逻辑行为数据的传输。
13.根据权利要求12所述的方法(300),其中,所述逻辑行为数据包括逻辑表。
14.根据权利要求13所述的方法(300),还包括:
对所述源神经网络的所有神经元进行语义分析;
基于所述语义分析,将与至少一些所述神经元的输出对应的逻辑命题存储到所述逻辑表中。
15.根据权利要求14所述的方法(300),还包括:
将所述逻辑命题编码为二进制向量;
致使所述二进制向量的传输。
16.一种方法(400),包括:
接收(402)与源神经网络相关联的逻辑行为数据,所述逻辑行为数据基于所述源神经网络的语义分析;
使用与所述源神经网络相关联的逻辑行为数据预训练(404)目标神经网络;
使用所述目标神经网络的训练数据训练(406)所述目标神经网络。
17.根据权利要求16所述的方法(400),其中,所述逻辑行为数据包括逻辑表。
18.根据权利要求17所述的方法(400),其中,所述逻辑表包括与所述源神经网络的至少一些神经元的输出对应的逻辑命题,所述逻辑命题基于所述源神经网络的神经元的语义分析。
19.根据权利要求18所述的方法(400),还包括:
基于接收的所述逻辑表计算逆逻辑表,所述逆逻辑表指示所述目标神经网络中每个神经元的期望逻辑行为;
通过使用代价函数预训练所述目标神经网络,所述代价函数考虑到了所述目标神经网络的神经元的输出并对与所述逆逻辑表指示的期望输出的偏差进行惩罚。
20.根据权利要求19所述的方法(400),还包括:
逐层预训练(404)所述目标神经网络。
21.根据权利要求18至20中任一项所述的方法(400),其中,所述逻辑表包括被编码为二进制向量的所述逻辑命题。
22.根据权利要求16至21中任一项所述的方法(400),还包括:
使用所述目标神经网络的训练数据的有限集对所述目标神经网络进行有限数量轮次的预训练。
23.一种包括程序代码的计算机程序,其中,当所述计算机程序在计算机上执行时,所述程序代码用于执行根据权利要求12至15中任一项所述的方法。
24.一种包括程序代码的计算机程序,其中,当所述计算机程序在计算机上执行时,所述程序代码用于执行根据权利要求16至22中任一项所述的方法。
25.一种电信设备,包括根据权利要求1至4中任一项所述的计算设备(100)。
26.一种电信设备,包括根据权利要求5至11中任一项所述的计算设备(200)。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2021/058462 WO2022207097A1 (en) | 2021-03-31 | 2021-03-31 | Transfer learning between neural networks |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117121020A true CN117121020A (zh) | 2023-11-24 |
Family
ID=75377793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180096267.3A Pending CN117121020A (zh) | 2021-03-31 | 2021-03-31 | 神经网络间的迁移学习 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4309079A1 (zh) |
CN (1) | CN117121020A (zh) |
WO (1) | WO2022207097A1 (zh) |
-
2021
- 2021-03-31 EP EP21716362.5A patent/EP4309079A1/en active Pending
- 2021-03-31 WO PCT/EP2021/058462 patent/WO2022207097A1/en active Application Filing
- 2021-03-31 CN CN202180096267.3A patent/CN117121020A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022207097A1 (en) | 2022-10-06 |
EP4309079A1 (en) | 2024-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11853903B2 (en) | SGCNN: structural graph convolutional neural network | |
Santa Cruz et al. | Visual permutation learning | |
WO2022068623A1 (zh) | 一种模型训练方法及相关设备 | |
US20230095606A1 (en) | Method for training classifier, and data processing method, system, and device | |
JP2021528796A (ja) | 活性スパース化を用いたニューラルネットワーク加速・埋め込み圧縮システム及び方法 | |
Salamat et al. | Accelerating hyperdimensional computing on fpgas by exploiting computational reuse | |
Imani et al. | Fach: Fpga-based acceleration of hyperdimensional computing by reducing computational complexity | |
CN112381079A (zh) | 图像处理方法和信息处理设备 | |
WO2019018564A1 (en) | NEUROMORPHIC SYNTHESIZER | |
US11144291B1 (en) | Loop-oriented neural network compilation | |
US11847555B2 (en) | Constraining neural networks for robustness through alternative encoding | |
CN113159072B (zh) | 基于一致正则化的在线超限学习机目标识别方法及系统 | |
CN112418320A (zh) | 一种企业关联关系识别方法、装置及存储介质 | |
CN111753995A (zh) | 一种基于梯度提升树的局部可解释方法 | |
Sze-To et al. | tchexnet: Detecting pneumothorax on chest x-ray images using deep transfer learning | |
Zhang et al. | Cosine: compressive network embedding on large-scale information networks | |
CN115080749A (zh) | 一种基于自监督训练的弱监督文本分类方法、系统和装置 | |
Krak et al. | Analysis of deep learning methods in adaptation to the small data problem solving | |
Li et al. | Sub-selective quantization for large-scale image search | |
Liu et al. | LCReg: Long-tailed image classification with latent categories based recognition | |
CN112633385A (zh) | 一种模型训练的方法、数据生成的方法以及装置 | |
Ferguson et al. | A standardized representation of convolutional neural networks for reliable deployment of machine learning models in the manufacturing industry | |
He et al. | Multilabel classification by exploiting data‐driven pair‐wise label dependence | |
CN112801153B (zh) | 一种嵌入lbp特征的图的半监督图像分类方法及系统 | |
Zhou et al. | A multi-classification classifier based on variational quantum computation |
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 |