CN116090512A - 神经网络的构建方法和装置 - Google Patents
神经网络的构建方法和装置 Download PDFInfo
- Publication number
- CN116090512A CN116090512A CN202111271593.1A CN202111271593A CN116090512A CN 116090512 A CN116090512 A CN 116090512A CN 202111271593 A CN202111271593 A CN 202111271593A CN 116090512 A CN116090512 A CN 116090512A
- Authority
- CN
- China
- Prior art keywords
- neural network
- network
- target neural
- layer
- parameter
- 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 373
- 238000010276 construction Methods 0.000 title description 8
- 210000002569 neuron Anatomy 0.000 claims abstract description 114
- 238000000034 method Methods 0.000 claims abstract description 92
- 238000012549 training Methods 0.000 claims description 113
- 238000012545 processing Methods 0.000 claims description 90
- 230000006870 function Effects 0.000 claims description 44
- 238000003860 storage Methods 0.000 claims description 14
- 238000003062 neural network model Methods 0.000 claims description 12
- 238000002372 labelling Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 30
- 230000008569 process Effects 0.000 description 23
- 238000013468 resource allocation Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 14
- 238000013473 artificial intelligence Methods 0.000 description 12
- 239000013598 vector Substances 0.000 description 10
- 238000013527 convolutional neural network Methods 0.000 description 9
- 230000007613 environmental effect Effects 0.000 description 7
- 238000007781 pre-processing Methods 0.000 description 6
- 230000004913 activation Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 238000006467 substitution reaction Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000001537 neural effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000011217 control strategy Methods 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000011478 gradient descent method Methods 0.000 description 2
- 238000005304 joining Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 210000003061 neural cell Anatomy 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000004925 denaturation Methods 0.000 description 1
- 230000036425 denaturation Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 210000005036 nerve Anatomy 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
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/04—Architecture, e.g. interconnection topology
-
- 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
-
- 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/0464—Convolutional networks [CNN, ConvNet]
-
- 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/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本申请提供了一种神经网络的构建方法,该方法包括根据参数生成网络生成目标神经网络的参数,该参数生成网络的输入包括该目标神经网络中神经元的相对标号的信息,该神经元的相对标号表示该神经元在第一神经网络层中的相对位置,该第一神经网络层为该目标神经网络中该神经元所在的层;根据该目标神经网络的参数构建所述目标神经网络。通过输入目标神经网络中神经元的相对标号的信息生成目标神经网络的参数,可以使得该参数生成网络对于构建不同维度的目标神经网络具有更好的泛化性。
Description
技术领域
本申请涉及人工智能领域,并且更具体地,涉及一种神经网络的构建方法和装置。
背景技术
随着人工智能(artificial intelligence,AI)技术的快速发展,神经网络(例如,深度神经网络)近年来在图像、视频以及语音等多种媒体信号的处理与分析中取得了很大的成就。神经网络的参数一般通过梯度反向传播的方法进行更新训练,多个回合的梯度反向传播会导致巨大的计算和能耗开销。为了更好地构建神经网络,提出了通过参数生成网络来构建神经网络(目标神经网络)的方法,即通过参数生成网络生成目标神经网络的参数,简单来说,就是用一个网络(参数生成网络)来生成另外一个网络(目标神经网络)的参数。
在使用目标神经网络解决诸如无线通信系统中的资源分配问题时,可以使用参数生成网络来生成目标神经网络的参数,但是,由于无线通信系统的动态特性,参与资源分配的用户的数量会随着时间发生变化,例如,某些用户加入无线通信系统、另外一些用户离开无线通信系统。此时,如果采用固定规模的目标神经网络来解决问题,则需要针对各种可能的输入维度(例如,用户数),训练多个规模不同的神经网络,增加了计算、存储的开销。
因此,如何在使用参数生成网络生成目标神经网络的参数时,兼顾神经网络处理任务的规模是一个亟待解决的问题。
发明内容
本申请提供一种神经网络的构建方法和装置,能够兼顾神经网络处理任务的规模,使得目标神经网络具有更好的泛化性。
第一方面,提供一种神经网络的构建方法,该方法包括,根据参数生成网络生成目标神经网络的参数,该参数生成网络的输入包括该目标神经网络中神经元的相对标号的信息,该神经元的相对标号表示该神经元在第一神经网络层中的相对位置,该第一神经网络层为该目标神经网络中该神经元所在的层;根据该目标神经网络的参数构建该目标神经网络。
根据本申请实施例提供的方法,参数生成网络通过输入目标神经网络中神经元的相对标号的信息生成目标神经网络的参数,可以使得该参数生成网络对于构建不同规模的目标神经网络具有更好的泛化性。
结合第一方面,在第一方面的某些实现方式中,获取N个该参数生成网络;其中,N由该目标神经网络的参数种类M与该目标神经网络的隐藏层数目L确定,M、L为正整数。
结合第一方面,在第一方面的某些实现方式中,该目标神经网络包括第二神经网络层和第三神经网络层,该第二神经网络层包括N1个神经元,该第三神经网络层包括N2个神经元,将该第二神经网络层中的第i个神经元的相对标号以及该第三神经网络层中的第j个神经元的相对标号输入第一参数生成网络,生成该第二神经网络层中第i个神经元和该第三神经网络层中第j个神经元之间连接的权重参数,该第一参数生成网络为该N个参数生成网络中用于生成该第二神经网络层和该第三神经网络层之间的权重参数的参数生成网络,其中,1≤i≤N1,1≤j≤N2。
结合第一方面,在第一方面的某些实现方式中,该目标神经网络包括第二神经网络层,该第二神经网络层包括N1个神经元,将该第二神经网络层中的第i个神经元的相对标号输入第二参数生成网络,生成该第二神经网络层中第i个神经元上的偏置参数,该第二参数生成网络为该N个参数生成网络中用于生成该第二神经网络层的偏置参数的参数生成网络,其中,1≤i≤N1。
结合第一方面,在第一方面的某些实现方式中,根据该目标神经网络处理任务的规模确定该目标神经网络的隐藏层数目L和该L个隐藏层中每个隐藏层中神经元的数目,L为正整数。
结合第一方面,在第一方面的某些实现方式中,根据该目标神经网络处理任务的训练数据训练该参数生成网络。
结合第一方面,在第一方面的某些实现方式中,将训练数据进行排序,该训练数据为该目标神经网络处理任务的训练数据;将排序后的该训练数据输入该目标神经网络得到该目标神经网络的输出;根据损失函数更新该参数生成网络的参数以训练该参数生成网络,该损失函数用于根据该目标神经网络的输出以及该训练数据的标签更新该参数生成网络的参数。
结合第一方面,在第一方面的某些实现方式中,若该目标神经网络处理任务的规模发生变化,根据该处理任务的规模重新确定该L个隐藏层中每个隐藏层中神经元的数目;利用训练后的该参数生成网络更新该目标神经网络的参数。
第二方面,提供一种神经网络的构建装置,该装置包括处理单元,用于根据参数生成网络生成目标神经网络的参数,该参数生成网络的输入包括该目标神经网络中神经元的相对标号的信息,该神经元的相对标号表示该神经元在第一神经网络层中的相对位置,该第一神经网络层为该目标神经网络中该神经元所在的层;该处理单元还用于根据该目标神经网络的参数构建该目标神经网络。
结合第二方面,在第二方面的某些实现方式中,该装置还包括获取单元,用于获取N个该参数生成网络;其中,N由该目标神经网络的参数种类M与该目标神经网络的隐藏层数目L确定,M、L为正整数。
结合第二方面,在第二方面的某些实现方式中,该目标神经网络包括第二神经网络层和第三神经网络层,该第二神经网络层包括N1个神经元,该第三神经网络层包括N2个神经元,该处理单元具体用于将该第二神经网络层中的第i个神经元的相对标号以及该第三神经网络层中的第j个神经元的相对标号输入第一参数生成网络,生成该第二神经网络层中第i个神经元和该第三神经网络层中第j个神经元之间连接的权重参数,该第一参数生成网络为该N个参数生成网络中用于生成该第二神经网络层和该第三神经网络层之间的权重参数的参数生成网络,其中,1≤i≤N1,1≤j≤N2。
结合第二方面,在第二方面的某些实现方式中,该目标神经网络包括第二神经网络层,该第二神经网络层包括N1个神经元,该处理单元具体用于将该第二神经网络层中的第i个神经元的相对标号输入第二参数生成网络,生成该第二神经网络层中第i个神经元上的偏置参数,该第二参数生成网络为该N个参数生成网络中用于生成该第二神经网络层的偏置参数的参数生成网络,其中,1≤i≤N1。
结合第二方面,在第二方面的某些实现方式中,该处理单元还用于根据该目标神经网络处理任务的规模确定该目标神经网络的隐藏层数目L和该L个隐藏层中每个隐藏层中神经元的数目,L为正整数。
结合第二方面,在第二方面的某些实现方式中,该处理单元还用于根据该目标神经网络处理任务的训练数据训练该参数生成网络。
结合第二方面,在第二方面的某些实现方式中,该处理单元具体用于将训练数据进行排序,该训练数据为该目标神经网络处理任务的训练数据;将排序后的该训练数据输入该目标神经网络得到该目标神经网络的输出;根据损失函数更新该参数生成网络的参数以训练该参数生成网络,该损失函数用于根据该目标神经网络的输出以及该训练数据的标签更新该参数生成网络的参数。
结合第二方面,在第二方面的某些实现方式中,该处理单元还用于若该目标神经网络处理任务的规模发生变化,根据该处理任务的规模重新确定该L个隐藏层中每个隐藏层中神经元的数目;利用训练后的该参数生成网络更新该目标神经网络的参数。
第三方面,提供了一种神经网络的构建装置,该装置包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行第一方面中的任意一种实现方式中的方法。
第四方面,提供一种计算机可读介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行第一方面中的任意一种实现方式中的方法。
第五方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第一方面中的任意一种实现方式中的方法。
第六方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行上述第一方面中的任意一种实现方式中的方法。
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面中的任意一种实现方式中的方法。
附图说明
图1为本申请实施例提供的一种人工智能主体框架示意图。
图2为一种参数生成网络的结构示意图。
图3为本申请实施例提供的一种系统架构的结构示意图。
图4为本申请实施例提供的一种神经网络的构建方法的示意性流程图。
图5为本申请实施例提供的一种参数生成网络的结构示意图。
图6为本申请实施例提供的一种参数生成网络构建目标神经网络的示意图。
图7为本申请实施例提供的一种训练参数生成网络的示意图。
图8为本申请实施例提供的不同维度的目标神经网络偏置参数值与神经元相对标号的函数关系图。
图9为本申请实施例提供的另一种神经网络的构建方法的示意性流程图。
图10为本申请实施例提供的另一种神经网络的构建方法的示意性流程图。
图11为本申请实施例提供的另一种神经网络的构建方法的示意性流程图。
图12为本申请实施例提供的一种神经网络的构建装置的示意性框图。
图13为本申请实施例提供的一种神经网络的构建装置的硬件结构示意图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
图1示出一种人工智能主体框架示意图,该主体框架描述了人工智能系统总体工作流程,适用于通用的人工智能领域需求。
下面从“智能信息链”(水平轴)和“信息技术(information technology,IT)价值链”(垂直轴)两个维度对上述人工智能主题框架进行详细的阐述。
“智能信息链”反映从数据的获取到处理的一列过程。举例来说,可以是智能信息感知、智能信息表示与形成、智能推理、智能决策、智能执行与输出的一般过程。在这个过程中,数据经历了“数据—信息—知识—智慧”的凝练过程。
“IT价值链”从人智能的底层基础设施、信息(提供和处理技术实现)到系统的产业生态过程,反映人工智能为信息技术产业带来的价值。
(1)基础设施:
基础设施为人工智能系统提供计算能力支持,实现与外部世界的沟通,并通过基础平台实现支撑。
基础设施可以通过传感器与外部沟通,基础设施的计算能力可以由智能芯片提供。
这里的智能芯片可以是中央处理器(central processing unit,CPU)、神经网络处理器(neural-network processing unit,NPU)、图形处理器(graphics processingunit,GPU)、专门应用的集成电路(application specific integrated circuit,ASIC)以及现场可编程门阵列(field programmable gate array,FPGA)等硬件加速芯片。
基础设施的基础平台可以包括分布式计算框架及网络等相关的平台保障和支持,可以包括云存储和计算、互联互通网络等。
例如,对于基础设施来说,可以通过传感器和外部沟通获取数据,然后将这些数据提供给基础平台提供的分布式计算系统中的智能芯片进行计算。
(2)数据:
基础设施的上一层的数据用于表示人工智能领域的数据来源。该数据涉及到图形、图像、语音、文本,还涉及到传统设备的物联网数据,包括已有系统的业务数据以及力、位移、液位、温度、湿度等感知数据。
(3)数据处理:
上述数据处理通常包括数据训练,机器学习,深度学习,搜索,推理,决策等处理方式。
其中,机器学习和深度学习可以对数据进行符号化和形式化的智能信息建模、抽取、预处理、训练等。
推理是指在计算机或智能系统中,模拟人类的智能推理方式,依据推理控制策略,利用形式化的信息进行机器思维和求解问题的过程,典型的功能是搜索与匹配。
决策是指智能信息经过推理后进行决策的过程,通常提供分类、排序、预测等功能。
(4)通用能力:
对数据经过上面提到的数据处理后,进一步基于数据处理的结果可以形成一些通用的能力,比如可以是算法或者一个通用系统,例如,翻译,文本的分析,计算机视觉的处理,语音识别,图像的识别等等。
(5)智能产品及行业应用:
智能产品及行业应用指人工智能系统在各领域的产品和应用,是对人工智能整体解决方案的封装,将智能信息决策产品化、实现落地应用,其应用领域主要包括:智能制造、智能交通、智能家居、智能医疗、智能安防、自动驾驶,平安城市,智能终端等。
本申请实施例可以应用在人工智能中的很多领域,例如,智能制造、智能交通、智能家居、智能医疗、智能安防、自动驾驶,平安城市等领域。
具体地,本申请实施例可以具体应用在自动驾驶、图像分类、图像检索、图像语义分割、图像质量增强、图像超分辨率和自然语言处理等需要使用(深度)神经网络的领域。
由于本申请实施例涉及神经网络,为了便于理解,下面先对本申请实施例可能涉及的神经网络的相关术语和概念进行介绍。
(1)神经网络(neural network,NN)
神经网络可以是由神经元组成的算法数学模型,神经元指以xs和截距1为输入的运算单元,该运算单元的输出可以用公式(1)表示:
其中,s表示输入xs的维度,s=1、2、……n,n为大于1的自然数,Ws为xs的权重,b表示偏置。f表示激活函数(activation functions),该激活函数用于对神经网络中的特征进行非线性变换,从而将神经元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层神经单元的输入,例如,激活函数可以是sigmoid函数。神经网络是将多个上述单一的神经元联结在一起形成的网络,即一个神经元的输出可以是另一个神经元的输入。每个神经元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征。局部接受域可以是由若干个神经单元组成的区域。
(2)深度神经网络(deep neural network,DNN)
深度神经网络,也称多层神经网络,可以理解为具有多层隐藏层的神经网络。按照不同层的位置对DNN进行划分,DNN内部的神经网络可以分为三类:输入层,隐藏层和输出层。一般来说,第一层是输入层,最后一层是输出层,中间的层都是隐藏层。层与层之间可以是全连接的,也就是说,第i层的任意一个神经元与第i+1层的任意一个神经元相连。简单来说,就是用如下线性关系表示:
其中,是输入向量,是输出向量,是偏移向量,W权重矩阵(也称系数),α是激活函数。隐藏层的每一层输入向量经过该操作得到输出向量由于DNN层数多,系数W和偏移向量的数量也比较多。这些参数在DNN中的定义如下:以系数为例,假设在一个三层的DNN中,第二层的第4个神经元到第三层的第2个神经元的线性系数定义为上标3代表系数W所在的层数,下标对应的是输出的第三层索引2和输入的第二层索引4。
需要注意的是,输入层是没有W参数的。在深度神经网络中,由万能近似定理可知,只要给定足够多的隐藏层,DNN可以以任意精度拟合任意函数。也就是说,更多的隐藏层可以让网络更能够刻画现实世界中的复杂情形。理论上而言,参数越多,模型复杂度越高,“容量”也就越大,也就意味着它能完成更复杂的学习任务。训练深度神经网络也就是学习权重矩阵的过程,其最终目的是训练得到深度神经网络的所有层的权重矩阵(由很多层的向量W形成的权重矩阵)。
(3)卷积神经网络
卷积神经网络(convolutional neuron network,CNN)是一种带有卷积结构的神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器,该特征抽取器可以看作是滤波器。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。在卷积神经网络的训练过程中,卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。
(4)损失函数(loss function)
训练神经网络的具体方式为采用损失函数对神经网络的输出结果进行评价,并将误差反向传播,通过梯度下降的方法即能迭代优化W和b直到损失函数达到最小值。在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断地调整,直到深度神经网络能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数或目标函数(objective function)的作用,它们用于衡量预测值和目标值的差异。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。
(5)反向传播算法
神经网络可以采用梯度反向传播(back propagation,BP)算法在训练过程中修正的神经网络模型中参数的大小,使得神经网络模型的重建误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新的神经网络模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,旨在得到最优的神经网络模型的参数,例如权重矩阵。
例如,神经网络模型每次训练产生的loss值在神经网络模型中从后向前逐层传递。传递到每一层时,同时计算出该层参数的更新量(偏导运算),这个更新量与梯度(gradient)相关。
下面对本申请中可能涉及的术语进行介绍。
(1)置换等变性(permutation equivalence,PE)
给定输入X=[x1,x2,…,xk],如果方程Y=f(X)=[y1,y2,…,yk]对于任意的置换π(x)=pk,都满足则方程f对于X是置换等变的。换而言之,置换等变性使得函数的输出顺序与输入顺序对应。
例如,对于无线通信系统中的资源分配问题,如公式(3)中所示:
其中,表示资源分配策略,表示环境状态,pk和hk分别表示对象k的策略和状态,C(·)表示约束。最优的分配策略p*可以看做环境状态h的函数,当h中各对象的状态发生位置变换时,p*中各对象的最优策略的位置也会发生相同的变换。也就是说,上述无线通信系统中的资源分配问题具有置换等变性,置换环境状态中的元素求解问题(1)得到的策略中的元素也会发生相同的置换。
(2)参数生成网络
传统的方法通常通过训练数据直接训练神经网络(目标神经网络)的参数,而参数生成网络可以输出目标模型的参数。简单来说,就是用一个网络(参数生成网络)来生成另外一个网络(目标神经网络)的参数。
如图2所示是一个参数生成网络(Hypernetwork)的结构示意图。其中,h1和h2表示全连接网络(神经网络)的隐藏层节点,W1、W2和W3表示全连接网络各层模型参数,g1和g2表示参数生成网络的参数,X2和X1表示目标神经网络和参数生成网络的输入。其中,W1、W2和W3由参数生成网络根据隐藏层和权重的相关信息得到。学习全连接网络时,参数生成网络的输入为全连接网络模型参数的标号信息,学习CNN时,参数生成网络的输入为通过学习得到的关于CNN模型参数的嵌入向量。
上述参数生成网络生成目标神经网络的参数时没有考虑目标神经网络规模的变化,即该参数生成网络没有对不同规模问题的泛化能力。而在一些神经网络的应用场景中,例如,在使用神经网络解决诸如无线通信系统中的资源分配问题时,由于无线通信系统的动态特性,参与无线资源分配的用户的数量会随着时间发生变化(例如,某些用户加入无线通信系统、另外一些用户离开无线通信系统)。此时,如果采用固定维度的神经网络解决资源分配问题,则需要针对各种可能的用户数,训练多个维度不同的神经网络,增加了计算、存储的开销。
有鉴于此,本申请实施例提供一种神经网络的构建方法,该方法可以通过使用一组参数生成网络,以较低的复杂度生成一组用于处理不同规模任务的目标神经网络的参数,因此,该参数生成网络对于生成不同规模的目标神经网络具有更好的泛化性。
在介绍本申请实施例提供的神经网络的构建方法之前,首先介绍适用于本申请实施例的系统架构。如图3所示,本申请实施例提供了一种系统架构100。该系统架构100包括执行设备110、训练设备120、数据库130、客户设备140、数据存储系统150、以及数据采集设备160。
另外,执行设备110包括计算模块111、I/O接口112、预处理模块113和预处理模块114。其中,计算模块111中可以包括目标模型/规则101,预处理模块113和预处理模块114是可选的。
数据采集设备160用于采集训练数据。针对本申请实施例的生成神经网络参数的方法来说,训练数据可以包括训练图像(例如,该训练图像中包括物体)以及标注数据,其中,标注数据中给出了训练图片中的存在物体的类别。再例如,在无线通信系统的功率控制任务中,训练数据可以是终端设备和基站之间的信道数据,而标注数据就是该信道数据条件下的最优功率分配结果。在采集到训练数据之后,数据采集设备160将这些训练数据存入数据库130,训练设备120基于数据库130中维护的训练数据训练得到目标模型/规则101。
下面对训练设备120基于训练数据得到目标模型/规则101进行描述,训练设备120对输入的原始数据进行处理,将输出值与目标值进行对比,直到训练设备120输出的值与目标值的差值小于一定的阈值,从而完成目标模型/规则101的训练。
本申请实施例中的目标模型/规则101具体可以为神经网络模型。例如,BP神经网络。需要说明的是,在实际的应用中,该数据库130中维护的训练数据不一定都来自于数据采集设备160的采集,也有可能是从其他设备接收得到的。另外需要说明的是,训练设备120也不一定完全基于数据库130维护的训练数据进行目标模型/规则101的训练,也有可能从云端或其他地方获取训练数据进行模型训练,上述描述不应该作为对本申请实施例的限定。
根据训练设备120训练得到的目标模型/规则101可以应用于不同的系统或设备中,如应用于图1所示的执行设备110,该执行设备110可以是终端,如手机终端,平板电脑,笔记本电脑,增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR),车载终端等,还可以是服务器或者云端等。在图3中,执行设备110配置输入/输出(input/output,I/O)接口112,用于与外部设备进行数据交互,用户可以通过客户设备140向I/O接口112输入数据,所述输入数据在本申请实施例中可以包括:客户设备输入的待处理图像。这里的客户设备140具体可以是终端设备。
在执行设备110对输入数据进行预处理,或者在执行设备110的计算模块111执行计算等相关的处理过程中,执行设备110可以调用数据存储系统150中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储系统150中。
最后,I/O接口112将处理结果,如将目标模型/规则101计算得到的目标检测结果呈现给客户设备140,从而提供给用户。
值得说明的是,训练设备120可以针对不同的目标或称不同的任务,基于不同的训练数据生成相应的目标模型/规则101,该相应的目标模型/规则101即可以用于实现上述目标或完成上述任务,从而为用户提供所需的结果。在本申请的实施例中,根据训练设备120训练得到目标模型/规则101,可以是目标神经网络和/或参数生成网络。
在图3中,用户可以手动给定输入数据,该手动给定可以通过I/O接口112提供的界面进行操作。另一种情况下,客户设备140可以自动地向I/O接口112发送输入数据,如果要求客户设备140自动发送输入数据需要获得用户的授权,则用户可以在客户设备140中设置相应权限。用户可以在客户设备140查看执行设备110输出的结果,具体的呈现形式可以是显示、声音、动作等具体方式。客户设备140也可以作为数据采集端,采集如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果作为新的样本数据,并存入数据库130。当然,也可以不经过客户设备140进行采集,而是由I/O接口112直接将如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果,作为新的样本数据存入数据库130。
需要说明的是,图3仅是本申请实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在图3中,数据存储系统150相对执行设备110是外部存储器,在其它情况下,也可以将数据存储系统150置于执行设备110中。
图4是本申请提供的一种神经网络的构建方法的示意性流程图,该方法至少包括以下几个步骤。
S410,根据处理任务的规模确定目标神经网络的规模。
该处理任务的规模可以表示目标神经网络处理任务的复杂程度。该处理任务的规模可以用该处理任务的输入的规模衡量,例如,在图像处理任务中,该处理任务的规模可以用图像的尺寸大小衡量,图像的尺寸越大,该图像处理任务的规模越大。例如,输入图像的尺寸为32*32;再如,在处理无线资源分配任务时,该处理任务的规模可以用参与无线资源分配的用户数衡量,参与无线资源分配的用户数越多,可以表示该无限资源分配问题的规模越大。通常,目标神经网络的学习能力是受限于其参数量,参数量又取决于神经元数量,所以当该目标神经网络处理任务的规模变大后,需要增加神经网络中的神经元数量,以提高神经网络的学习能力,避免神经网络参数量太少,无法学习得到正确结果的问题。
该目标神经网络可以记为其中,h表示目标神经网络的输入,表示目标神经网络的输出,W和b分别表示目标神经网络的权重参数和偏置参数。该目标神经网络的规模可以用神经网络的隐藏层的层数L和各隐藏层的神经元的数目Nl表示,其中1≤l≤L。对于解决一个具体问题的目标神经网络而言,其隐藏层的层数可以根据经验设置为固定的层数,当处理任务的规模发生变化时,例如,参与无线资源分配的用户数变化时,可以通过改变该目标神经网络的各隐藏层神经元的数目来实现目标神经网络规模的改变。或者说,该目标神经网络的隐藏层的层数固定,为L,其各隐藏层的神经元的数目由处理任务的规模确定。即由处理任务的规模确定该目标神经网络的规模。
具体地,可以预配置处理任务的规模和目标神经网络规模之间的映射关系,根据该映射关系和处理任务的规模确定该目标神经网络的各隐藏层的神经元的数目。示例性地,可以设置目标神经网络的神经元数目与待处理问题的规模呈正比关系。例如,为线性正比关系N=aP,其中,P表示待处理任务的规模,也可以理解为目标神经网络输入的维度,N表示目标神经网络神经元的数目,a为线性正比参数,a为正整数。在确定目标神经网络规模的过程中,可以先固定目标神经网络的隐藏层数目Q,则各隐藏层的神经元数量可以表示为Nl=ceil(aP/(blQ)),其中,Ceil(·)表示向上取整函数,bl为第l个隐藏层的比例参数,bl取满足的值。a,Q和bl等参数可以提前经过离线的尝试进行确定,即给定不同的a,Q和bl参数组合,构建目标神经网络后,离线训练,查看其性能,最终选择性能较好的参数组合。选定a,Q和bl参数组合后,后续使用的隐藏层数目L=Q将固定,各隐藏层包括的神经元的数量Nl可以通过上述公式计算得到。
S420,根据该目标神经网络的隐藏层的层数,获取参数生成网络。
该参数生成网络用于生成该目标神经网络的参数(例如,权重和偏置)。如果目标神经网络的隐藏层的层数为L,则生成m(L+1)个参数生成网络。其中,m表示神经网络隐藏层参数的种类,通常m的取值为2(权重和偏置两种参数),即生成2(L+1)个参数生成网络。该2(L+1)个参数生成网络用于生成神经网络每层之间连接的权重和偏置,其中,L+1个参数生成网络可以用于生成权重(权重参数生成网络),另外L+1个参数生成网络用于生成偏置(偏置参数生成网络)。
具体地,该L+1个权重参数生成网络中的第l个权重参数生成网络可以记为其中,l的取值范围为[1,L+1];表示该第l个权重参数生成网络的参数;是表示该权重参数生成网络的输入。该第l个权重参数生成网络用于生成目标神经网络的第l-1层(第二神经网络层的一例)和第l层(第三神经网络层的一例)之间连接的权重参数,当l的取值为1时,该第l-1层可以理解为目标神经网络的输入层,当l的取值为L+1时,该第l层可以理解为目标神经网络的输出层。
其中,分别表示第l-1层第i个神经元在第l-1层Nl-1个神经元中的相对标号,第l层第j个神经元在第l层Nl个神经元中的相对标号,可以分别定义为 Nl-1和Nl分别表示目标神经网络的第l-1层神经元的数量和第l层神经元的数量,i的取值范围为[1,Nl-1],j的取值范围为[1,Nl]。
类似地,第l个偏置参数生成网络可以记为该第l个偏置参数生成网络用于生成目标神经网络的第l层第j个神经元上的偏置参数。其中,表示第l个偏置参数生成网络的参数;表示第l个偏置参数生成网络的输入,可以定义为 可以表示目标神经网络的第l层第j个神经元在第l层Nl个神经元中的相对标号,j的取值范围为[1,Nl]。
由以上参数生成网络的表达式可知,权重参数生成网络的输入维度为2,输出维度为1,即输入第l-1层第i个神经元和第l层第j个神经元的相对标号信息,输出第l-1层和第l层之间连接的权重参数;偏置参数生成网络的输入维度为1,输出维度为1,即输入第l层第j个神经元在第l层神经元中的相对标号信息,输出第l层第j个神经元上的偏置参数。本申请对参数生成网络的结构(隐藏层数、连接方法等)不做限制。
可选地,该方法还可以包括S421,初始化该参数生成网络。
示例性地,以包括L=1个隐藏层的目标神经网络为例,如图5中的(a)所示,获取的参数生成网络如图5中的(b)中所示。其中,Wij l,bij l分别表示目标神经网络的权重和偏置参数;由上述参数生成网络的个数计算可知,该参数生成网络的个数为4,参数生成网络可以采用包含1个隐藏层的全连接网络结构,其参数和可以采用随机初始化。
S430,根据该参数生成网络生成的参数获取目标神经网络。
获取目标神经网络即生成该目标神经网络各层之间连接的参数。由上述步骤可知,该目标神经网络的隐藏层的层数为L,各隐藏层的神经元的数目Nl由处理任务的规模确定,因此,生成该目标神经各层之间连接的参数即为获取该目标神经网络。该目标神经网络的参数可以由上述参数生成网络确定。
通过上述步骤得到了参数生成网络,如图5中所示。每个参数生成网络每次推理可以得到该目标神经网络的一个参数(权重或偏置),多次使用该参数生成网络,可以得到该目标神经网络的全部参数。图6为利用该参数生成网络获取目标神经网络的示意图。
在获得目标神经网络之后,还可以利用训练数据对参数生成网络进行训练,从而得到能够生成执行特定任务的目标神经网络模型的参数生成网络(参数生成网络的模型),例如可以生成用于进行图像分类的图像分类模型的参数生成网络,又例如生成可以用于进行无线资源分配的神经网络模型的参数生成网络等等。
具体地,可以使用该目标神经网络处理任务的训练数据训练该参数生成网络。例如,目标神经网络用于图像处理任务,则该训练数据可以为图像。具体地,图像处理任务包括图像分类、图像检测、图像识别等,训练数据对应的标签可以为图像对应的类别等。再如,该目标神经网络用于无线通信系统的功率控制任务时,则训练数据可以是终端和基站之间的信道数据,训练数据对应的标签可以是该信道数据条件下的最优功率分配结果。本申请实施例对训练数据的类型不做限定。
为了方便说明训练参数生成网络的过程,在参数生成网络的参数中添加层的信息。即该权重参数生成网络可以记为:其中, 表示用于生成目标神经网络的第l-1层和第l层之间的权重参数的参数生成网络的参数。当l的取值为1时,表示生成目标神经网络的输入层和第一层隐藏层之间的权重参数的参数生成网络的参数,当l的取值为L+1时,表示生成目标神经网络的第L层隐藏层和输出层之间的权重参数的参数生成网络的参数;同样,偏置参数生成网络可以记为:其中, 表示生成目标神经网络的第l层的偏置参数的参数生成网络的参数。参数生成网络的参数θW和θb可以通过监督或无监督学习的方式进行训练。
如果采用监督学习的方式训练,即求解公式(4):
其中,L(·)表示监督学习的损失函数,p*(h)表示训练数据的标签。
采用非监督学习方式训练,即求解公式(5):
其中,J(·)表示非监督学习的损失函数。
以监督学习为例,其训练过程中的梯度回传示意图如图7中所示。在参数生成网络训练阶段的一次前向传播中,首先输入参数生成网络的输入或者输入生成目标神经网络的参数W和b;再将训练数据h输入目标神经网络,推理得到目标神经网络的输出该输出结果即为目标神经网络的任务的一个结果;通过比较推理得到的和最优的p*(也就是训练数据对应的标签)之间的差距,通过反向传播将损失函数对所有参数生成网络的参数求梯度,其中,表示损失函数L(·)对求导得到的梯度,分别表示分别对目标神经网络的参数W和b求导得到的梯度,表示W对参数生成网络的参数θW求导得到的梯度,分别表示b对θb求导得到的梯度;利用优化算法,例如,梯度下降法,来更新参数生成网络的参数。重复以上前向传播和反向传播过程,直到该参数生成网络收敛,即完成了该参数生成网络的训练。
可选地,在参数生成网络进行一定的回合训练之后,还可以进行收敛判断。收敛判断的准则可以是是否达到最大训练回合数,也可以是判断目标神经网络是否达到预设性能。该预设性能可以通过神经网络评价指标来判断,例如,判断目标神经网络的推理准确度等。如果该收敛判断为是,则结束训练;否则回到S430,用训练更新过的参数生成网络重新初始化目标神经网络,并进行下一步训练和收敛判断。重复以上过程,完成参数生成网络的训练。
可以理解的是,在本申请的实施例中,目标神经网络的参数(权重和偏置)是由参数生成网络生成的,因此无需训练。以上训练参数生成网络的过程是通过训练数据训练参数生成网络的参数的过程,即上述和其中0<l≤L+1。
可选地,在进行参数生成网络训练之前,对于满足PE性质的神经网络的任务,例如,无线资源分配任务,还可以对训练数据进行排序。对该训练数据进行排序可以理解为对该训练数据中的每一个样本的数据进行排序,例如,按照数据的值从大到小排序。对训练数据进行排序可以减少训练参数生成网络所需的样本数量。
此外,如果两个相同隐藏层层数的目标神经网络(层数为L)的输入分布相同且相互独立(例如,信道模值都服从瑞利分布),对训练数据进行排序,可以使得该两个目标神经网络中,相邻两层中相对标号相近的神经元之间的连接参数相近。即如果目标神经网络A和目标神经网络B的输入分布相同且相互独立,目标神经网络A的第l-1层第iA个神经元和第l层第jA个神经元之间连线的权重记为第l层第jA个神经元上的偏置为第l-1层和第l层神经元数量分别为Nl-1,A,Nl,A;目标神经网络B的第l-1层第iB个神经元和第l层第jB个神经元之间连线的权重为第l层第jB个神经元上的偏置为第l-1层和第l层神经元数量分别为Nl-1,B,Nl,B;若iA/(Nl-1,A+1)≈iB/(Nl-1,B+1),即目标神经网络A的第l-1层第iA个神经元在目标神经网络A的第l-1层的相对标号,约等于目标神经网络B的第l-1层第iB个神经元在目标神经网络B的第l-1层的相对标号,目标神经网络A的第l层第jA个神经元在目标神经网络A的第l层的相对标号,约等于目标神经网络B的第l层第jB个神经元在目标神经网络B的第l层的相对标号,则有
以无线资源分配问题为例,在不同的规模下(例如,参与无限资源分配的用户数不同),不同环境状态的分布相同且相互独立,经过排序后,不同规模下环境状态中相对标号相近的元素具有近似相等的均值。例如,考虑两种不同的规模的无线资源分配的场景,场景#1中目标神经网络的输入维度为10(例如,该场景中有10个用户),场景#2中目标神经网络的输入维度为20。在场景#1中,10个用户也可能有多种不同的部署位置,通过随机撒点的方式产生1000种部署子场景;同理,在场景#2中,也随机产生1000种子场景。那么1000种10个用户场景的子场景中,第2个用户的环境状态(假设其环境状态用1个元素表征)共有1000个值(对应1000种子场景),则对这1000个值取平均,得到了用户2的环境状态的均值,这个均值和1000种20个用户的子场景中的第4个用户的状态的均值是近似相等的。
图8为不同规模下目标神经网络偏置参数值与神经元相对标号的函数关系图,可以看出,如果将神经元的相对标号作为函数(参数神经网络)的输入,目标神经网络偏置参数值作为函数的输出,则可以通过插值操作,获得不同维度的目标神经网络的参数值。即本申请中参数生成网络对生成不同维度的目标神经网络具有很好的泛化性。
以上介绍了参数生成网络的获取及训练过程,完成参数生成网络的训练即可获得一组参数生成网络的模型,其可以部署在实际的应用场景(例如,无线通信系统)中,进行推理,获得所需的目标神经网络模型。以下结合图9介绍参数生成网络模型的推理过程。
S910,根据处理任务的规模,确定目标神经网络的规模。
其中,目标神经网络的规模可以用各隐藏层神经元数目Nl表示,其中0<l≤L+1。即根据处理任务的规模,确定目标神经网络的各隐藏层神经元数目。
S920,生成该目标神经网络的参数,得到目标神经网络的模型。
在确定目标神经网络各隐藏层神经元数量之后,可以利用上述训练好的参数生成网络生成目标神经网络的参数(包括权重和偏置),从而可以确定该目标神经网络。
S930,将推理数据输入该目标神经网络中,得到推理结果。
可选地,还可以将推理数据中的元素进行排序,再输入该目标神经网络中,得到推理结果。
S940,确定该处理任务的规模是否发生变化。
如果该处理任务的规模发生变化,则重新执行S910至S930。
根据本申请实施例的方法,在处理任务的规模发生变化时,参数生成网络可以以较低的复杂度生成不同规模的目标神经网络,即该参数生成网络具有泛化性。
为了便于更好地理解本申请实施例提供的神经网络的构建方法,下面结合图10和11以解决单小区无线下行功率控制问题为例来进行说明。如图10所示,该方法至少包括以下几个步骤。
S1010,确定用户总数K。
该用户总数K可以表示该小区中参与无线下行功率控制的用户数。
S1020,根据该用户总数K,确定目标神经网络的规模(隐藏层的数量L和各隐藏层的神经元数量Nl)。
其中,该目标神经网络用于解决无线下行功率控制的问题,即该目标神经网络可以输入下行信道状态信息,输出基站向该K个用户发送数据时的最优发射功率。该目标神经网络可以是全连接神经网络,则其参数种类为2,即权重参数和偏置参数。
S1030,获取2(L+1)个参数生成网络。
该参数生成网络用于生成该目标神经网络的权重和偏置。其中,L+1个参数生成网络可以用于生成权重(权重参数生成网络),另外L+1个参数生成网络用于生成偏置(偏置参数生成网络)。该参数生成网络的具体介绍参考S420。
S1040,利用该2(L+1)个参数生成网络获取该目标神经网络的参数。
通过该2(L+1)个参数生成网络可以生成该目标神经网络中的权重参数和偏置参数的初始值,后续,通过训练后的参数生成网络可以更新该初始参数。
S1050,对训练数据进行排序,利用该排序后训练数据训练该参数生成网络。
该训练数据中的每个数据样本(h,p*)包括信道状态信息h=[h1,...,hK]和该信道状态信息下最优的功率控制策略其中hk为第k个用户与基站之间的下行信道状态信息,为基站向第k个用户发送数据时的最优发射功率。对训练数据进行排序可以包括,对h=[h1,...,hK]中的k个元素根据其绝对值从大到小进行过排序,即h1≥h2≥h3≥...≥hK。训练该参数生成网络的过程和S440中类似,在此不再赘述。
根据以上步骤得到了2(L+1)个参数生成网络,该参数生成网络可以部署在基站侧,该参数生成网络可以用于生成不同规模的目标神经网络,即参数生成网络的推理过程。该参数生成网络的推理过程如图11中所示,该推理过程至少包括以下几个步骤。
S1110,确定当前功控周期内的用户数K1,并根据用户数K1确定目标神经网络#1的规模。
该步骤和S410中类似,在此不再赘述。
S1120,根据训练好的2(L+1)个参数生成网络生成目标神经网络#1的权重参数和偏置参数,得到目标神经网络#1。
S1130:获取该K1个用户的下行信道状态信息h=[h1,...,hK]。
该下行信道状态信息可以由用户通过信道估计得到,并反馈给基站。
S1140,将该K1个用户的下行信道状态信息按照从大到小排序,并输入目标神经网络#1中,得到功控结果p=[p1,...,pK]。
可选地,S1150,根据该功控结果,进行下行通信。
可选地,如果进入下一功控周期,则重复S1110至S1150。
下面结合图12对本申请实施例的神经网络的构建装置进行介绍。图12所示的神经网络构建装置可以用于执行本申请实施例的神经网络构建方法的各个步骤,该神经网络构建装置可以是电脑、服务器等运算能力足以用来构建神经网络的装置。
图12是本申请实施例的神经网络的构建装置的示意性框图。图12所示的装置1200包括处理单元1210,可选地,该装置1200还可以包括获取单元1220。
装置2000可以用于执行本申请实施例的神经网络的构建方法的步骤。例如,处理单元1210可以用于执行图4所示方法中的步骤S410至S440,或者执行图9所示方法中的步骤S910至S940;或者用于执行图10所示方法中的步骤S1010至S1050;或者执行图11所示方法中的S1110,S1120以及S1140。
可选地,装置2000还可以用于利用训练好的参数生成网络得到具有特定功能的目标神经网络,或者可以理解为利用训练好的参数生成网络生成能够执行特定任务的目标神经网络的模型,例如用于处理无线下行功率控制任务的目标神经网络模型,还可以是其他特定任务的模型。
其中,该获取单元可用于获取训练数据或推理数据,利用训练数据对参数生成网络进行训练,得到参数生成网络的模型;利用推理数据以及目标神经网络的模型得到处理任务的结果。例如,获取单元1220可以用于执行图11所示方法中的步骤S1130。
装置1200还可以通过获取单元1220获取训练好的参数生成网络的模型,该获取单元1220可以相当于图13所示的装置1300中的通信接口1330,通过该通信接口1330可以获得训练好的参数生成网络,该参数生成网络的训练可以通过离线训练完成;或者,获取单元1220也可以相当于图13所示的装置1300中的处理器1320,此时可以通过处理器1320从存储器1310中获取训练好的参数生成网络。
此外,上述图12所示的装置1200中的处理单元1210可以相当于图13所示的装置1300中处理器1320。
需要说明的是,上述装置1200以功能单元的形式体现。这里的术语“单元”可以通过软件和/或硬件形式实现,对此不作具体限定。
例如,“单元”可以是实现上述功能的软件程序、硬件电路或二者结合。所述硬件电路可能包括应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。
因此,在本申请的实施例中描述的各示例的单元,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
图13是本申请实施例的神经网络的构建装置的硬件结构示意图。图13所示的装置1300包括存储器1310、处理器13020、通信接口1330以及总线1340。其中,存储器1310、处理器1320、通信接口1330通过总线1340实现彼此之间的通信连接。
存储器1310可以是只读存储器(read only memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(random access memory,RAM)。存储器1310可以存储程序,当存储器1310中存储的程序被处理器1320执行时,处理器1320和通信接口1330用于执行本申请实施例的神经网络的构建方法的各个步骤。
处理器1320可以采用通用的中央处理器(central processing unit,CPU),微处理器,应用专用集成电路(application specific integrated circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路,以实现本申请实施例的神经网络的构建装置中的单元所需执行的功能,或者执行本申请实施例的神经网络的构建方法的各个步骤。
处理器1320还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请实施例的神经网络的构建方法的各个步骤可以通过处理器1320中的硬件的集成逻辑电路或者软件形式的指令完成。
上述处理器1320还可以是通用处理器、数字信号处理器(digital signalprocessing,DSP)、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所提供的神经网络的构建方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1310,处理器1320读取存储器1310中的信息,结合其硬件完成本申请实施例的神经网络的构建装置中包括的单元所需执行的功能,或者执行本申请实施例的神经网络的构建方法的各个步骤。
通信接口1330使用例如但不限于收发器一类的收发装置,来实现装置1300与其他设备或通信网络之间的通信。例如,可以通过通信接口1330发送推理结果所对应的控制参数。
总线1340可包括在装置1300各个部件(例如,存储器1310、处理器1320、通信接口1330)之间传送信息的通路。
需要说明的是,尽管上述装置1300仅仅示出了存储器、处理器、通信接口,但是在具体实现过程中,本领域的技术人员应当理解,装置1300还可以包括实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当理解,装置1300还可包括实现其他附加功能的硬件器件。此外,本领域的技术人员应当理解,装置1300也可仅仅包括实现本申请实施例所必须的器件,而不必包括图13中所示的全部器件。
本申请并未对本申请实施例提供的方法的执行主体的具体结构进行限定,只要能够通过运行记录有本申请实施例提供的方法的代码的程序,以根据本申请实施例提供的方法进行通信即可。例如,本申请实施例提供的方法的执行主体可以是网络设备,或者,网络设备中能够调用程序并执行程序的功能模块。
本申请的各个方面或特征可以实现成方法、装置或使用标准编程和/或工程技术的制品。本文中使用的术语“制品”可以涵盖可从任何计算机可读器件、载体或介质访问的计算机程序。例如,计算机可读介质可以包括但不限于:磁存储器件(例如,硬盘、软盘或磁带等),光盘(例如,压缩盘(compact disc,CD)、数字通用盘(digital versatile disc,DVD)等),智能卡和闪存器件(例如,可擦写可编程只读存储器(erasable programmableread-only memory,EPROM)、卡、棒或钥匙驱动器等)。
本文描述的各种存储介质可代表用于存储信息的一个或多个设备和/或其它机器可读介质。术语“机器可读介质”可以包括但不限于:无线信道和能够存储、包含和/或承载指令和/或数据的各种其它介质。
需要说明的是,当处理器为通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件时,存储器(存储模块)可以集成在处理器中。
还需要说明的是,本文描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的保护范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。此外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上,或者说对现有技术做出贡献的部分,或者该技术方案的部分,可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,该计算机软件产品包括若干指令,该指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。前述的存储介质可以包括但不限于:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (20)
1.一种神经网络的构建方法,其特征在于,包括:
根据参数生成网络生成目标神经网络的参数,所述参数生成网络的输入包括所述目标神经网络中神经元的相对标号的信息,所述神经元的相对标号表示所述神经元在第一神经网络层中的相对位置,所述第一神经网络层为所述目标神经网络中所述神经元所在的层;
根据所述目标神经网络的参数构建所述目标神经网络。
2.根据权利要求1所述的方法,其特征在于,在根据参数生成网络生成所述目标神经网络的参数之前,所述方法还包括:
获取N个所述参数生成网络;
其中,N由所述目标神经网络的参数种类M与所述目标神经网络的隐藏层数目L确定,M、L为正整数。
3.根据权利要求1或2所述的方法,其特征在于,所述目标神经网络包括第二神经网络层和第三神经网络层,所述第二神经网络层包括N1个神经元,所述第三神经网络层包括N2个神经元,所述根据所述参数生成网络生成所述目标神经网络的参数包括:
将所述第二神经网络层中的第i个神经元的相对标号以及所述第三神经网络层中的第j个神经元的相对标号输入第一参数生成网络,生成所述第二神经网络层中第i个神经元和所述第三神经网络层中第j个神经元之间连接的权重参数,所述第一参数生成网络为所述N个参数生成网络中用于生成所述第二神经网络层和所述第三神经网络层之间的权重参数的参数生成网络,其中,1≤i≤N1,1≤j≤N2。
4.根据权利要求1或2所述的方法,其特征在于,所述目标神经网络包括第二神经网络层,所述第二神经网络层包括N1个神经元,所述根据参数生成网络生成所述目标神经网络的参数包括:
将所述第二神经网络层中的第i个神经元的相对标号输入第二参数生成网络,生成所述第二神经网络层中第i个神经元上的偏置参数,所述第二参数生成网络为所述N个参数生成网络中用于生成所述第二神经网络层的偏置参数的参数生成网络,其中,1≤i≤N1。
5.根据权利要求1至4中任一项所述的方法,其特征在于,在根据参数生成网络生成所述目标神经网络的参数之前,所述方法还包括:
根据所述目标神经网络处理任务的规模确定所述目标神经网络的隐藏层数目L和所述L个隐藏层中每个隐藏层中神经元的数目,L为正整数。
6.根据权利要求1至5中任一项所述的方法,其特征在于,在根据参数生成网络生成所述目标神经网络的参数之前,所述方法还包括:
根据所述目标神经网络处理任务的训练数据训练所述参数生成网络。
7.根据权利要求6所述的方法,其特征在于,根据所述目标神经网络处理任务的训练数据训练所述参数生成网络包括:
将训练数据进行排序,所述训练数据为所述目标神经网络处理任务的训练数据;
将排序后的所述训练数据输入所述目标神经网络得到所述目标神经网络的输出;
根据损失函数更新所述参数生成网络的参数以训练所述参数生成网络,所述损失函数用于根据所述目标神经网络的输出以及所述训练数据的标签更新所述参数生成网络的参数。
8.根据权利要求7所述的方法,其特征在于,在根据参数生成网络生成所述目标神经网络的参数之后,所述方法还包括:
若所述目标神经网络处理任务的规模发生变化,根据所述处理任务的规模重新确定所述L个隐藏层中每个隐藏层中神经元的数目;
利用训练后的所述参数生成网络更新所述目标神经网络的参数。
9.一种神经网络的构建装置,其特征在于,包括:
处理单元,用于根据参数生成网络生成目标神经网络的参数,所述参数生成网络的输入包括所述目标神经网络中神经元的相对标号的信息,所述神经元的相对标号表示所述神经元在第一神经网络层中的相对位置,所述第一神经网络层为所述目标神经网络中所述神经元所在的层;
所述处理单元还用于根据所述目标神经网络的参数构建所述目标神经网络。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
获取单元,用于获取N个所述参数生成网络;
其中,N由所述目标神经网络的参数种类M与所述目标神经网络的隐藏层数目L确定,M、L为正整数。
11.根据权利要求9或10所述的装置,其特征在于,所述目标神经网络包括第二神经网络层和第三神经网络层,所述第二神经网络层包括N1个神经元,所述第三神经网络层包括N2个神经元,所述处理单元具体用于:
将所述第二神经网络层中的第i个神经元的相对标号以及所述第三神经网络层中的第j个神经元的相对标号输入第一参数生成网络,生成所述第二神经网络层中第i个神经元和所述第三神经网络层中第j个神经元之间连接的权重参数,所述第一参数生成网络为所述N个参数生成网络中用于生成所述第二神经网络层和所述第三神经网络层之间的权重参数的参数生成网络,其中,1≤i≤N1,1≤j≤N2。
12.根据权利要求9或10所述的装置,其特征在于,所述目标神经网络包括第二神经网络层,所述第二神经网络层包括N1个神经元,所述处理单元具体用于:
将所述第二神经网络层中的第i个神经元的相对标号输入第二参数生成网络,生成所述第二神经网络层中第i个神经元上的偏置参数,所述第二参数生成网络为所述N个参数生成网络中用于生成所述第二神经网络层的偏置参数的参数生成网络,其中,1≤i≤N1。
13.根据权利要求9至12中任一项所述的装置,其特征在于,所述处理单元还用于:
根据所述目标神经网络处理任务的规模确定所述目标神经网络的隐藏层数目L和所述L个隐藏层中每个隐藏层中神经元的数目,L为正整数。
14.根据权利要求9至13中任一项所述的装置,其特征在于,所述处理单元还用于:
根据所述目标神经网络处理任务的训练数据训练所述参数生成网络。
15.根据权利要求14所述的装置,其特征在于,所述处理单元具体用于:
将训练数据进行排序,所述训练数据为所述目标神经网络处理任务的训练数据;
将排序后的所述训练数据输入所述目标神经网络得到所述目标神经网络的输出;
根据损失函数更新所述参数生成网络的参数以训练所述参数生成网络,所述损失函数用于根据所述目标神经网络的输出以及所述训练数据的标签更新所述参数生成网络的参数。
16.根据权利要求15所述的装置,其特征在于,所述处理单元还用于:
若所述目标神经网络处理任务的规模发生变化,根据所述处理任务的规模重新确定所述L个隐藏层中每个隐藏层中神经元的数目;
利用训练后的所述参数生成网络更新所述目标神经网络的参数。
17.一种神经网络模型的运算装置,其特征在于,
包括处理器和存储器,所述存储器用于存储程序指令,所述处理器用于调用所述程序指令以执行如权利要求1至8中任一项所述的方法。
18.一种计算机可读存储介质,其特征在于,
所述计算机可读存储介质用于存储设备执行的程序代码,所述程序代码包括用于执行如权利要求1至8中任一项所述的方法。
19.一种包含指令的计算机程序产品,其特征在于,
当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1至8中任一项所述的方法。
20.一种芯片,其特征在于,
包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令以执行如权利要求1至8中任一项所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111271593.1A CN116090512A (zh) | 2021-10-29 | 2021-10-29 | 神经网络的构建方法和装置 |
EP22885672.0A EP4414891A1 (en) | 2021-10-29 | 2022-10-12 | Neural network construction method and apparatus |
PCT/CN2022/124843 WO2023071793A1 (zh) | 2021-10-29 | 2022-10-12 | 神经网络的构建方法和装置 |
US18/647,727 US20240273338A1 (en) | 2021-10-29 | 2024-04-26 | Neural network construction method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111271593.1A CN116090512A (zh) | 2021-10-29 | 2021-10-29 | 神经网络的构建方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116090512A true CN116090512A (zh) | 2023-05-09 |
Family
ID=86159126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111271593.1A Pending CN116090512A (zh) | 2021-10-29 | 2021-10-29 | 神经网络的构建方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240273338A1 (zh) |
EP (1) | EP4414891A1 (zh) |
CN (1) | CN116090512A (zh) |
WO (1) | WO2023071793A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108229526B (zh) * | 2017-06-16 | 2020-09-29 | 北京市商汤科技开发有限公司 | 网络训练、图像处理方法、装置、存储介质和电子设备 |
US11514327B2 (en) * | 2018-06-19 | 2022-11-29 | Orbai Technologies, Inc. | Apparatus and method for utilizing a parameter genome characterizing neural network connections as a building block to construct a neural network with feedforward and feedback paths |
CN109063829B (zh) * | 2018-06-22 | 2021-03-16 | 泰康保险集团股份有限公司 | 神经网络构建方法、装置、计算机设备和存储介质 |
CN110163345A (zh) * | 2019-05-09 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 一种神经网络处理方法、装置、设备及介质 |
CN112418392A (zh) * | 2020-10-21 | 2021-02-26 | 华为技术有限公司 | 一种神经网络构建方法以及装置 |
-
2021
- 2021-10-29 CN CN202111271593.1A patent/CN116090512A/zh active Pending
-
2022
- 2022-10-12 EP EP22885672.0A patent/EP4414891A1/en active Pending
- 2022-10-12 WO PCT/CN2022/124843 patent/WO2023071793A1/zh active Application Filing
-
2024
- 2024-04-26 US US18/647,727 patent/US20240273338A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240273338A1 (en) | 2024-08-15 |
EP4414891A1 (en) | 2024-08-14 |
WO2023071793A1 (zh) | 2023-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112434462B (zh) | 一种模型的获取方法及设备 | |
Shanthamallu et al. | A brief survey of machine learning methods and their sensor and IoT applications | |
CN112651511B (zh) | 一种训练模型的方法、数据处理的方法以及装置 | |
CN112116090B (zh) | 神经网络结构搜索方法、装置、计算机设备及存储介质 | |
JP2021532515A (ja) | 推薦方法と装置、コンピューティング装置、及びプログラム | |
CN113159283B (zh) | 一种基于联邦迁移学习的模型训练方法及计算节点 | |
CN112990211A (zh) | 一种神经网络的训练方法、图像处理方法以及装置 | |
CN112221159A (zh) | 一种虚拟道具推荐方法、装置及计算机可读存储介质 | |
CN113191479B (zh) | 联合学习的方法、系统、节点及存储介质 | |
CN112801265A (zh) | 一种机器学习方法以及装置 | |
CN113609337A (zh) | 图神经网络的预训练方法、训练方法、装置、设备及介质 | |
JP7214863B2 (ja) | 人工画像生成用コンピュータアーキテクチャ | |
CN114492723A (zh) | 神经网络模型的训练方法、图像处理方法及装置 | |
CN115552481A (zh) | 用于微调图像分类神经网络的系统和方法 | |
CN114581702A (zh) | 图像分类方法、装置、计算机设备及计算机可读存储介质 | |
CN115730631A (zh) | 联邦学习的方法和装置 | |
CN117711001B (zh) | 图像处理方法、装置、设备和介质 | |
CN117494775A (zh) | 训练神经网络模型的方法、电子设备、云端、集群及介质 | |
Chahal et al. | Deep learning: a predictive IoT data analytics method | |
CN117273105A (zh) | 一种针对神经网络模型的模块构建方法及装置 | |
WO2023174064A1 (zh) | 自动搜索方法、自动搜索的性能预测模型训练方法及装置 | |
CN112070205A (zh) | 一种多损失模型获取方法以及装置 | |
CN116090512A (zh) | 神经网络的构建方法和装置 | |
CN117093733A (zh) | 媒体分类模型的训练方法、媒体数据分类方法和装置 | |
CN115115016A (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 |