CN116956991B - 多层感知机模型参数调整方法、装置、设备和存储介质 - Google Patents
多层感知机模型参数调整方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN116956991B CN116956991B CN202311219336.2A CN202311219336A CN116956991B CN 116956991 B CN116956991 B CN 116956991B CN 202311219336 A CN202311219336 A CN 202311219336A CN 116956991 B CN116956991 B CN 116956991B
- Authority
- CN
- China
- Prior art keywords
- training
- model
- user
- layer perceptron
- parameters
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000012549 training Methods 0.000 claims abstract description 297
- 238000011156 evaluation Methods 0.000 claims abstract description 50
- 238000012360 testing method Methods 0.000 claims description 78
- 238000012795 verification Methods 0.000 claims description 25
- 230000006870 function Effects 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 20
- 238000005457 optimization Methods 0.000 claims description 7
- 230000004913 activation Effects 0.000 claims description 6
- 238000010606 normalization Methods 0.000 claims description 4
- 230000008447 perception Effects 0.000 claims description 4
- 238000013528 artificial neural network Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 238000010200 validation analysis Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 239000000446 fuel Substances 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 229910003460 diamond Inorganic materials 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000003068 static effect Effects 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/04—Architecture, e.g. interconnection topology
- G06N3/0463—Neocognitrons
-
- 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/047—Probabilistic or stochastic 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/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (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)
- Probability & Statistics with Applications (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请涉及一种多层感知机模型生成方法、装置、计算机设备和存储介质。方法包括:接收用户输入数据;读取用户输入数据中携带的用户指定模型参数以及对应的用户指定模型值;将预定模型参数集合中的用户指定模型参数设置为用户指定模型值,并将除用户指定模型参数之外的其余模型参数设置为在默认取值范围内取随机值;以设置后的预定模型参数集合为约束条件,在预定感知机搜索空间中随机搜索以生成M个初始多层感知机模型架构;对每个初始多层感知机模型架构进行训练和评估,以确定M个经训练多层感知机模型和对应的M个第一性能评估值;输出具有最高第一性能评估值的经训练多层感知机模型。采用本方法能够灵活地根据用户需求生成多层感知机模型。
Description
技术领域
本申请涉及神经网络架构搜索技术领域,特别是涉及一种多层感知机模型生成方法、装置、计算机设备和存储介质。
背景技术
深度神经网络在各种领域中得到广泛应用。针对不同的任务和使用场景需求,需要设计不同的神经网络架构。具体来讲,神经网络中包含诸多架构上的复杂超参,这些超参可以严重影响神经网络的表现,并且根据不同的任务,这些超参的设定也不同。因此,往往需要研究人员随机设定或者根据经验来调整这些超参,以满足不同需求。但是以试错的方式设计网络超参的耗时且繁杂,能够找寻的架构有限,而且需要研发人员具有相当的专业知识和经验。
神经网络架构搜索(Neural Architecture Search,NAS)技术允许自动执行任务以发现更复杂的架构,基于NAS技术的架构生成工具,能够使用搜索策略在搜索空间中测试和评估大量架构,并从中选出满足需求的目标架构。
然而,目前已有的架构生成工具大多针对于更为复杂的卷积神经网络,并且针对较为复杂的数据类型,如图片和自然语言,缺乏适用于多层感知机模型且针对结构化数据的架构生成工具。已有的架构生成工具一般需要依赖于较为复杂的搜索算法等,这往往产生更为复杂的编程工具包依赖,甚至要求使用特定的操作系统,导致使用门槛高、使用不便等缺点。除此之外,这些已有架构生成工具的搜索空间参数往往较为固定,不能根据需求而灵活调整,难以满足用户的多样化需求。
发明内容
基于此,有必要针对上述至少一个技术问题,提供一种能够灵活根据用户需求调整参数的多层感知机模型生成方法、装置、计算机设备和存储介质。
一种多层感知机模型生成方法,包括:
接收用户输入数据;
读取所述用户输入数据中携带的用户指定模型参数以及对应的用户指定模型值;
将预定模型参数集合中的所述用户指定模型参数设置为所述用户指定模型值,并将所述预定模型参数集合中除所述用户指定模型参数之外的其余模型参数设置为在默认取值范围内取随机值;
以设置后的所述预定模型参数集合为约束条件,在预定感知机搜索空间中随机搜索以生成M个初始多层感知机模型架构;其中,M为正整数;
对所述M个初始多层感知机模型架构中的每个初始多层感知机模型架构进行训练和评估,以确定M个经训练多层感知机模型和对应的M个第一性能评估值;
从M个经训练多层感知机模型中,输出具有最高第一性能评估值的经训练多层感知机模型。
一种多层感知机模型生成装置,包括:
输入接收模块,用于接收用户输入数据;
输入读取模块,用于读取所述用户输入数据中携带的用户指定模型参数以及对应的用户指定模型值;
模型参数设置模块,用于将预定模型参数集合中的所述用户指定模型参数设置为用户指定模型值,并将所述预定模型参数集合中除所述用户指定模型参数之外的其余模型参数设置为在默认取值范围内取随机值;
模型搜索模块,用于以设置后的所述预定模型参数集合为约束条件,在预定感知机搜索空间中随机搜索以生成M个初始多层感知机模型架构;其中,M为正整数;
模型训练评估模块,用于对所述M个初始多层感知机模型架构中的每个初始多层感知机模型架构进行训练和评估,以确定M个经训练多层感知机模型和对应的M个第一性能评估值;
模型输出模块,用于从M个经训练多层感知机模型中,输出具有最高第一性能评估值的经训练多层感知机模型。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上所述的多层感知机模型生成方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的多层感知机模型生成方法的步骤。
上述多层感知机模型生成方法、装置、计算机设备和存储介质,可以针对多层感知机模型的特性,设计对应的预定模型参数集合,且集合中的每个参数具有预定义的默认取值范围。用户可以根据需求灵活地从集合中指定想要自定义的用户指定模型参数。其中,对于用户指定模型参数,采用用户指定模型值,而对于其余用户未指定的模型参数,则在默认取值范围内随机取值。如此,能够灵活地根据用户需求指定其中的部分参数的取值,同时确保剩余参数的取值的随机性,从而能够灵活地根据用户需求生成对应的初始多层感知机模型架构。此外,本申请可以生成所需个数的初始多层感知机模型架构,并从中训练、评估和选取第一性能评估值最优的经训练多层感知机模型,相较于仅生成单个初始多层感知机模型架构进行训练和评估,本申请能够搜索得到性能更优的经训练多层感知机模型。
附图说明
图1为一个实施例中多层感知机模型生成方法的流程示意图;
图2为一个实施例中预定模型参数集合设置步骤的流程示意图;
图3为一个实施例中初始多层感知机模型架构训练和评估步骤的流程示意图;
图4为一个实施例中预定训练参数集合设置步骤的流程示意图;
图5为一个实施例中针对M个初始多层感知机模型架构,确定M个经训练多层感知机模型和对应的M个训练损失值步骤的流程示意图;
图6为一个实施例中针对每个初始多层感知机模型架构,确定N个第一候选多层感知机模型和对应的N个训练损失值步骤的流程示意图;
图7为一个实施例中经训练多层感知机模型输出步骤的流程示意图;
图8为一个实施例中多层感知机模型生成装置的结构框图;
图9为一个实施例中计算机设备的内部结构图;
图10为另一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的多层感知机模型生成方法,可以应用于计算机设备中,该计算机设备例如可以是终端和/或服务器。该计算机设备可以具有人机接口,或者可以与具有人机接口的终端通信,以经由人机接口接收用户输入的用户输入数据,和/或经由人机接口向用户输出/展示信息。该计算机设备基于接收到的用户输入数据,执行本申请实施例的多层感知机模型生成方法,以生成和输出满足用户需求的经训练多层感知机模型。
例如,本申请方法可以由终端执行,该终端具有例如显示器、鼠标、键盘等输入/输出装置,用户利用输入装置向终端输入用户输入数据,终端执行本申请的多层感知机模型生成方法,并经由输出装置向用户输出所生成的经训练多层感知机模型。又例如,本申请方法可以由服务器执行,该服务器与终端通信连接,该终端具有例如显示器、鼠标、键盘等输入/输出装置,用户利用输入装置向终端输入用户输入数据,终端将用户输入的用户输入数据发送至服务器,服务器执行本申请的多层感知机模型生成方法,将生成的经训练多层感知机模型发送至终端,终端经由输出装置向用户输出所生成的经训练多层感知机模型。其中,终端可以但不限于是各种个人计算机、笔记本电脑、专用设备等,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图1所示,提供了一种多层感知机模型生成方法,包括以下步骤S110-S160:
步骤S110,接收用户输入数据。
当用户需要启用本申请的方法来生成所需的多层感知机模型时,用户可以经由例如键盘、鼠标等输入装置输入用户输入数据,从而在此步骤中,可以接收用户输入的用户输入数据。
在本申请中,系统中可以预先定义有针对多层感知机模型特性而设计好的可搜索参数集合。该可搜索参数集合中可以具有多种类型的参数。例如根据参数的类型和应用环节的不同,这些参数可以分类为预定模型参数集合、初始模型架构生成个数和预定训练参数集合。可搜索参数集合中的每个参数均具有预定的默认取值范围,默认取值范围定义了参数所有可选择设置的取值,默认取值范围可以仅包括单个默认取值,或者也可以包括多个默认取值或者默认取值区间。
在一个实施例中,预定模型参数集合包括以下一者或多者:模型总层数、模型中每层的感知机个数、模型形状、激活函数、损失函数、标准化层。
在一个实施例中,预定训练参数集合包括以下一者或多者:丢弃率、验证集划分比例、训练历元数、训练批次大小、学习率调节器、学习率调节器参数、优化方法。
在一个具体示例中,可搜索参数集合中可以包括的参数,以及每个参数的默认取值范围,可以如下所示:
a.模型总层数(‘Depth’),默认取值范围:[1, 5]区间内的整数;
此参数定义了网络的总层数;
b.模型中每层的感知机个数(‘Width’),默认取值范围:[2, 512]区间内的整数;
此参数定义了网络中每层的宽度,即每层的感知机个数;
c.模型形状(‘Shape’),默认取值范围:随机形状(‘Random’)、漏斗状(‘Funnel’)或菱形(‘Rhombus’);
此参数定义了网络的形状,其中:‘Random’指程序会随机生成每一层的感知机个数,‘Funnel’指程序会生成形状类似漏斗的网络结构,即每一层的感知机个数从输入到输入不断减少,‘Rhombus’指程序会生成枣核型结构,即每一层感知机个数先增加后减少,其中,可以定义感知机最多的层序数为总层数的二分之一取整。
d.激活函数(‘Activation’),默认取值范围:‘ReLU'、‘Tanh'或‘Sigmoid';
此参数定义了模型的激活函数;
e.损失函数(‘Loss_function’),默认取值范围:二分类交叉熵函数(‘BCE')或交叉熵函数(‘CE');
此参数定义了模型的损失函数;在一个改进示例中,程序可以自动根据用户输入数据中携带的训练标签中种类的个数,选用相应的损失函数。若训练标签中仅具有两个分类,即为二分类,则将此参数取值为‘BCE',否则,若训练标签中具有三个以上分类,则将此参数取值为‘CE';
f.是否增加标准化层(‘Normalization’),默认取值范围:启用(‘Norm'),即默认在模型前加一层标准化层;
此参数定义了是否在模型前增加一层标准化层,用户可以在用户输入数据中,指定该参数取值为禁用(‘None')以取消添加该标准化层;
g.初始模型架构生成个数(‘iter’),默认取值范围:10;
此参数定义了程序会生成的不同初始多层感知机模型架构的个数。
h.丢弃率(‘Dropout rate’),默认取值范围:0、0.1、0.2
此参数定义了丢弃概率。本程序没有定义丢弃出现在网络中的层位置,所以默认每层都设有丢弃并且每层的丢弃概率相同;
i.验证集划分比例(‘Val’),默认取值范围:0.2,即验证集比例为0.2。
此参数定义了验证集的划分比例,并且此参数隐含定义了是否禁用验证集。当本参数取默认值0.2时,未禁用验证集,在训练时会将获取的训练数据-训练标签对划分为80%为训练集,20%为验证集。用户可以在用户输入数据中,指定该参数取值为禁用(‘None')以取消验证集的划分,即直接将获取的训练数据-训练标签对全部划归为训练集,而不设置验证集。
j.训练历元数(‘Epoch’),默认取值范围:100;
此参数定义了每个初始多层感知机模型架构训练的历元数;
k.训练批次大小(‘Batch size’),默认取值范围:32、64;
此参数定义了训练时采用的训练批次大小,即在每个历元中,训练集被分成的训练批次的大小
l.学习率调节器(‘Lr_scheduler’),默认取值范围:‘Reduce'、‘Step'、‘Cos'
此参数定义了学习率调节器;
m.学习率调节器参数(‘Scheduler_para’),默认取值范围:10;
此参数定义了由‘Lr_scheduler’确定了选用哪种学习率调节器后,该选用的学习率调节器的参数取值;
n.优化方法(‘Optimizer’),默认取值范围:‘Adam'、‘SGD';
此参数定义了模型所使用的优化方法。
根据需求,经由输入装置,用户可以从可搜索参数集合中,选择指定其中部分或全部参数的取值,被指定的参数和对应的参数值将被包含在用户输入数据中。或者,用户也可以不指定任何参数的取值,此时用户输入数据中将不包含任何指定参数和对应的参数值。
用户输入的用户输入数据中,除了可以包括可搜索参数集合中的参数之外,还可以包括用户输入训练测试数据。基本的用户输入训练测试数据可以包括:训练数据(data_train)、训练标签(label_train)、测试数据(data_test)、测试标签(label_test)。根据需求,用户可以选择输入不同数据类型的用户输入训练测试数据,例如,用户可以选择:仅输入训练数据和训练标签对,而不输入测试数据;输入训练数据和训练标签对以及测试数据,而不输入测试标签;或者,输入训练数据和训练标签对以及测试数据和测试标签对。根据用户输入训练测试数据中包含的数据类型不同,本系统可以相应地执行不同的处理以输出不同数据,以灵活满足用户需求,这将在后面描述。
其中,本申请对感知机搜索空间进行设计,包括针对感知机模型特性而设计的可搜索参数集合,使得本申请所生成的感知机模型特别适用于结构化数据。在一个实施例中,本申请用户输入训练测试数据中包括的训练数据、测试数据限定为结构化数据,具体为电子医疗病历数据。所述结构化数据包括但不限于电子医疗病历数据,还可以为其他任何结构化高维数据。
其中,本申请所生成的感知机模型,适用于回归、分类、预测等任务类型。步骤S120,读取用户输入数据中携带的用户指定模型参数以及对应的用户指定模型值。
在此步骤中,从用户输入数据中读取用户指定模型参数以及对应的用户指定模型值。从而通过该读取操作,可以判断用户输入数据中是否携带有用户指定模型参数以及对应的用户指定模型值。
步骤S130,将预定模型参数集合中的用户指定模型参数设置为用户指定模型值,并将预定模型参数集合中除用户指定模型参数之外的其余模型参数设置为在默认取值范围内取随机值。
如图2所示,步骤S130可以包括步骤S131-S133:
步骤S131,判断用户输入数据中是否携带有用户指定模型参数以及对应的用户指定模型值。
当步骤S131中判断出用户输入数据中携带有用户指定模型参数以及对应的用户指定模型值时,执行步骤S132,将预定模型参数集合中的用户指定模型参数设置为用户指定模型值,并将预定模型参数集合中除用户指定模型参数之外的其余模型参数设置为在默认取值范围内取随机值。
当用户输入数据中携带有用户指定模型参数以及对应的用户指定模型值时,可以将预定模型参数集合中,被用户指定了取值的参数,即携带在用户输入数据中的用户指定模型参数,设置为携带在用户输入数据中的对应的用户指定模型值;而其中未被用户指定取值的参数,即未携带在用户输入数据中的模型参数,则针对每次生成一个初始多层感知机模型架构,均将其设置为该参数的默认取值范围内随机选取的一个值。
例如,如果用户输入数据中包括有用户指定模型参数‘Depth’,以及该参数对应的用户指定模型值为3,则将预定模型参数集合中的相应参数‘Depth’取值为3。又例如,如果用户输入数据中不包括用户指定模型参数‘Depth’,则在参数‘Depth’的默认取值范围内,即在[1, 5]区间内的整数中,随机选取一个取值,作为预定模型参数集合中的相应参数‘Depth’的取值。
当步骤S131中判断出用户输入数据中未携带用户指定模型参数以及对应的用户指定模型值时,执行步骤S133,将预定模型参数集合中的所有模型参数均设置为在默认取值范围内取随机值。
当用户输入数据中未携带有任何用户指定模型参数时,即用户未指定任何参数的取值时,可以看作是步骤S130中的一个特例,相当于步骤S130中所言的预定模型参数集合中除用户指定模型参数之外的其余模型参数,是预定模型参数集合中的全部参数的情形。则将预定模型参数集合中的所有模型参数中的每个模型参数,均设置为该参数的默认取值范围内随机选取的一个值。
步骤S140,以设置后的预定模型参数集合为约束条件,在预定感知机搜索空间中随机搜索以生成M个初始多层感知机模型架构;其中,M为正整数。
其中,本系统中可以预先构建有预定感知机搜索空间,该预定感知机搜索空间默认由如上所述的预定模型参数集合中参数的默认取值范围所约束,即,预定感知机搜索空间包含了可生成的处于预定模型参数集合中参数的默认取值范围内的所有可能的多层感知机的架构。
本申请采用了随机搜索方法在预定感知机搜索空间中执行搜索,即每次随机生成一个多层感知机结构。所有参数的生成在搜索空间内符合均匀分布。
本申请在预定感知机搜索空间中,进一步允许用户输入以指定参数取值来对各种参数取值进行个性化地定制,并且保留未指定的参数在默认取值范围内随机取值,从而可以灵活地根据用户需求固定某些参数值而随机其他参数值来在预定感知机搜索空间中执行搜索。本申请在生成每个初始多层感知机模型架构时,均会搜索确定一次参数取值,对于被用户指定的参数,固定取用户指定的值,而对于未被用户指定的参数,则生成每个模型时都在默认取值范围内进行一次随机取值,如此,在用户指定了某些参数的取值的情况下,所生成的M个初始多层感知机模型架构中由用户指定的参数的取值都是相同的,而未由用户指定的其余参数的取值则因随机取值而可能对于不同的模型有所不同。
其中,M可以根据用户输入数据而确定。在一个实施例中,多层感知机模型生成方法还可以包括:读取用户输入数据中携带的用户指定初始模型架构生成个数;当根据用户输入数据确定用户指定了用户指定初始模型架构生成个数时,确定M的值为用户指定初始模型架构生成个数;当根据用户输入数据确定用户未指定用户指定初始模型架构生成个数时,确定M的值为在默认取值范围内取随机值。因此,如果用户输入数据中携带了用户指定初始模型架构生成个数的参数,即用户指定了初始模型架构生成个数时,则按照用户指定的个数来生成初始多层感知机模型架构;而如果用户输入数据中未携带用户指定初始模型架构生成个数的参数,即用户未指定初始模型架构生成个数时,则按照初始模型架构生成个数参数的默认值来生成初始多层感知机模型架构。
步骤S150,对M个初始多层感知机模型架构中的每个初始多层感知机模型架构进行训练和评估,以确定M个经训练多层感知机模型和对应的M个第一性能评估值。
在本步骤中,分别对前述步骤生成的每个初始多层感知机模型架构进行训练和评估,以得到每个经训练多层感知机模型,以及每个经训练多层感知机模型对应的第一性能评估值。其中,第一性能评估值是用于评价经训练多层感知机模型的性能的值,第一性能评估值例如可以但不限于是,在训练过程中确定的多层感知机模型的训练损失值。
本申请对模型的训练和评估,可以通过多种方式实现。作为一种示例的实现方式,在一个实施例中,如图3所示,上述步骤S150可以包括步骤S151-S153:
步骤S151,读取用户输入数据中携带的用户指定训练参数以及对应的用户指定训练值;
如前所述,系统中可以预先定义有可搜索参数集合,可搜索参数集合中可以包括预定训练参数集合。在用户输入用户输入数据时,根据需求,用户可以通过输入或不输入用户指定训练参数来选择是否在预定训练参数集合中指定参数的取值,当用户选择了输入用户指定训练参数以指定参数的取值时,用户可以进一步从预定训练参数集合中选择指定部分或全部参数的取值。
因此,在此步骤中,可以从用户输入数据中读取用户指定训练参数以及对应的用户指定训练值。从而通过该读取操作,可以判断用户输入数据中是否携带有用户指定训练参数以及对应的用户指定训练值。
步骤S152,将预定训练参数集合中的用户指定训练参数设置为用户指定训练值,并将预定训练参数集合中除用户指定训练参数之外的其余训练参数设置为在默认取值范围内取随机值;
如图4所示,步骤S152可以包括步骤S1521-S1523:
步骤S1521,判断用户输入数据中是否携带有用户指定训练参数以及对应的用户指定训练值。
当步骤S1521中判断出用户输入数据中携带有用户指定训练参数以及对应的用户指定训练值时,执行步骤S1522,将预定训练参数集合中的用户指定训练参数设置为用户指定训练值,并将预定训练参数集合中除用户指定训练参数之外的其余训练参数设置为在默认取值范围内取随机值。
当用户输入数据中携带有用户指定训练参数以及对应的用户指定训练值时,可以将预定训练参数集合中,被用户指定了取值的参数,即携带在用户输入数据中的用户指定训练参数,设置为携带在用户输入数据中的对应的用户指定训练值;而其中未被用户指定取值的参数,即未携带在用户输入数据中的训练参数,则针对每训练一个初始多层感知机模型架构,均将其设置为该参数的默认取值范围内随机选取的一个值。
例如,如果用户输入数据中包括有用户指定训练参数‘Epoch’,以及该参数对应的用户指定训练值为50,则将预定训练参数集合中的相应参数‘Epoch’取值为50。又例如,如果用户输入数据中不包括用户指定训练参数‘Epoch’,则在参数‘Epoch’的默认取值范围内,随机选取一个取值,当如前述一个具体示例中所述的,‘Epoch’的默认取值范围内仅有一个取值100,则随机选取的取值为100,将该取值100作为预定训练参数集合中的相应参数‘Epoch’的取值。
当步骤S1521中判断出用户输入数据中未携带用户指定训练参数以及对应的用户指定训练值时,执行步骤S1523,将预定训练参数集合中所有训练参数均设置为在默认取值范围内取随机值。
当用户输入数据中未携带有任何用户指定训练参数时,即用户未指定任何参数的取值时,可以看做是步骤S152中的一个特例,相当于步骤S152中所言的预定训练参数集合中除用户指定训练参数之外的其余训练参数,是预定训练参数集合中的全部参数的情形。则将预定训练参数集合中的所有训练参数中的每个训练参数,均设置为该参数的默认取值范围内随机选取的一个值。
步骤S153,获取训练集,依照设置后的预定训练参数集合,利用获取的训练集对M个初始多层感知机模型架构中的每个初始多层感知机模型架构进行训练,以得到M个经训练多层感知机模型和对应的M个训练损失值,该对应的M个训练损失值作为对应的M个第一性能评估值。
在一个实施例中,如图5所示,步骤S153包括步骤S1531-S1532:
步骤S1531,获取训练集,依照设置后的预定训练参数集合,利用获取的训练集对M个初始多层感知机模型架构中的每个初始多层感知机模型架构进行N次训练,以针对每个初始多层感知机模型架构得到N个第一候选多层感知机模型和对应的N个训练损失值。
在一个实施例中,如图6所示,步骤S1531包括步骤S15311- S15315:
步骤S15311,根据用户输入数据判断用户是否指定禁用验证集。
示例地,可以根据用户输入数据中是否携带验证集划分比例的指定参数,来判断用户是否指定禁用验证集。当用户输入数据中携带了验证集划分比例的参数,并且指定了该参数的取值为‘None'时,判断用户指定了禁用验证集,否则,当户输入数据中未携带验证集划分比例的参数时,则默认启用验证集,可以判断用户未指定禁用验证集。
当根据用户输入数据确定用户未指定禁用验证集时,执行步骤S15312,从用户输入数据中获取用户输入的训练数据和训练标签对,将训练数据和训练标签对按照默认比例值划分为训练集和验证集;以及
步骤S15313,利用划分的训练集对M个初始多层感知机模型架构中的每个初始多层感知机模型架构进行N次训练,并在每次训练中利用划分的验证集对训练所得的模型进行验证以得到训练损失值,以针对每个初始多层感知机模型架构得到N个第一候选多层感知机模型和对应的N个训练损失值。
示例地,在步骤S15313中,可以针对M个初始多层感知机模型架构中每个初始多层感知机模型架构进行的N次训练中的每次训练,每次训练包括:依照设置后的预定训练参数集合,利用划分的训练集对每个初始多层感知机模型架构进行连续P个历元的训练,以确定P个历元中每个历元结束时的第二候选多层感知机模型,从而确定P个第二候选多层感知机模型;将P个第二候选多层感知机模型分别在划分的验证集上进行验证得到对应的P个训练损失值;从P个第二候选多层感知机模型中,选择训练损失值最小的第二候选多层感知机模型和对应的训练损失值,作为每个初始多层感知机模型架构进行的每次训练后的第一候选多层感知机模型和对应的训练损失值。重复执行上述每次训练的步骤达N次以完成N次训练,从而针对每个初始多层感知机模型架构得到N次训练后的N个第一候选多层感知机模型和对应的N个训练损失值。其中,P为正整数。
其中,所述连续P个历元的训练中的连续,是指上一历元训练结束时获得的经训练模型和模型参数值,继续用于下一历元的训练。
其中,可以在每执行完成一个历元的训练时,均通过比较当前历元的训练损失值与被保留的最小训练损失值的大小,来保留具有最小训练损失值的第二候选多层感知机模型,并丢弃非最小训练损失值的第二候选多层感知机模型,从而获取和确定P历元中的训练损失值最小的第二候选多层感知机模型和对应的训练损失值。
当根据用户输入数据确定用户指定禁用验证集时,执行步骤S15314,从用户输入数据中获取用户输入的训练数据和训练标签对,作为获取的训练集;以及
步骤S15315,利用划分的训练集对M个初始多层感知机模型架构中的每个初始多层感知机模型架构进行N次训练,并记录每次训练中的训练损失值,以针对每个初始多层感知机模型架构得到N个第一候选多层感知机模型和对应的N个训练损失值。
示例地,在步骤S15315中,可以针对M个初始多层感知机模型架构中每个初始多层感知机模型架构进行的N次训练中的每次训练,每次训练包括:依照设置后的预定训练参数集合,利用获取的训练集对每个初始多层感知机模型架构进行连续Q个历元的训练,以确定Q个历元全部结束时的一个第三候选多层感知机模型和对应的训练损失值,作为每个初始多层感知机模型架构进行的每次训练后的第一候选多层感知机模型和对应的训练损失值。重复执行上述每次训练的步骤达N次以完成N次训练,从而针对每个初始多层感知机模型架构得到N次训练后的N个第一候选多层感知机模型和对应的N个训练损失值;其中,Q为正整数。
其中,同理地,所述连续Q个历元的训练中的连续,是指上一历元训练结束时获得的经训练模型和模型参数值,继续用于下一历元的训练。
步骤S1532,将N个第一候选多层感知机模型中训练损失值最小的第一候选多层感知机模型用作经训练多层感知机模型,并将N个训练损失值的平均值用作经训练多层感知机模型对应的训练损失值,从而得到M个经训练多层感知机模型和对应的M个训练损失值,该对应的M个训练损失值作为对应的M个第一性能评估值;其中,N为正整数。
步骤S160,从M个经训练多层感知机模型中,输出具有最高第一性能评估值的经训练多层感知机模型。
本申请上述实施例中对模型的训练方法,随机生成M个初始多层感知机模型架构,并对每个初始多层感知机模型架构进行N次训练取平均训练损失值作为性能评价值,其中每次训练连续执行P或Q个历元的训练以选取最小训练损失值和对应的经训练多层感知机模型,如此,能够对模型的性能进行更准确地评估,并且选择出具有最优性能的模型。
在一个实施例中,如图7所示,步骤S160可以包括步骤S161-S164:
步骤S161,读取用户输入数据中携带的用户输入训练测试数据;
其中,在步骤S161之后,还可以包括步骤S1611,判断所携带的用户输入训练测试数据中包含哪种数据类型,即,第一数据类型,包括训练数据和训练标签对,而不包括测试数据;还是,第二数据类型,包括训练数据和训练标签对以及测试数据,而不包括测试标签;还是,第三数据类型,包括训练数据和训练标签对以及测试数据和测试标签对。
当用户输入训练测试数据中包括训练数据和训练标签对,而不包括测试数据时,执行步骤S162,从M个经训练多层感知机模型中,输出具有最高第一性能评估值的经训练多层感知机模型以及对应的损失函数值;
当用户输入训练测试数据中包括训练数据和训练标签对以及测试数据,而不包括测试标签时,执行步骤S163,从M个经训练多层感知机模型中,选择具有最高第一性能评估值的经训练多层感知机模型,利用选择的经训练多层感知机模型对测试数据进行预测以得到预测标签,输出具有最高第一性能评估值的经训练多层感知机模型以及预测标签;
当用户输入训练测试数据中包括训练数据和训练标签对以及测试数据和测试标签对时,执行步骤S164,从M个经训练多层感知机模型中,选择具有最高性能评估值的经训练多层感知机模型,利用选择的经训练多层感知机模型对测试数据进行预测以得到预测标签,将预测标签与测试标签比较以确定选择的经训练多层感知机模型的第二性能评估值,输出具有最高第一性能评估值的经训练多层感知机模型以及第二性能评估值。
本申请上述实施例中,可以根据用户输入的用户输入训练测试数据中的包含的数据类型的不同,智能化地输出不同的输出结果,从而智能地满足用户不同的训练和测试需求。
上述多层感知机模型生成方法中,可以针对多层感知机模型的特性,设计对应的预定模型参数集合,且集合中的每个参数具有预定义的默认取值范围。用户可以根据需求灵活地从集合中指定想要自定义的用户指定模型参数。其中,对于用户指定模型参数,采用用户指定模型值,而对于其余用户未指定的模型参数,则在默认取值范围内随机取值。如此,能够灵活地根据用户需求指定其中的部分参数的取值,同时确保剩余参数的取值的随机性,从而能够灵活地根据用户需求生成对应的初始多层感知机模型架构。此外,本申请可以生成所需个数的初始多层感知机模型架构,并从中训练、评估和选取第一性能评估值最优的经训练多层感知机模型,相较于仅生成单个初始多层感知机模型架构进行训练和评估,本申请能够搜索得到性能更优的经训练多层感知机模型。
目前已有的神经网络架构生成工具大多针对于更为复杂的卷积神经网络,并且针对较为复杂的数据类型,如图片和自然语言。除此之外,这些大型神经网络架构生成工具往往功能繁杂、使用门槛高,并不用户友好,且它们大多依赖于复杂的、高计算量的优化算法,如贝叶斯优化和强化学习。部分已有的工具会对不同的操作系统有依赖或者使用了相对老旧的深度学习框架,对目前的用户使用产生障碍。
与上述现有技术中已有的神经网络生成工具相比,本申请的多层感知机模型生成方法,可以仅针对结构化数据,不依赖于操作系统以及更为现代的深度学习框架与编程语言,有针对性的解决多层感知机的超参优化,并由简单易操作的随机搜索算法实现,方便并行运算,从而能够简化运算和提升运算效率。
应该理解的是,虽然图1至图7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1至图7中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
方法的程序实现
本申请各个实施例的方法,可以通过执行该方法的相应计算机程序实现。在一个具体示例中,该程序可以使用Python语言编写,并主要利用目前的主流机器学习框架和库PyTorch与sklearn完成。主要使用PyTorch生成网络结构,使用sklearn完成模型评估。程序可以主要包括八个python文件,分别为:“MLP_search.py”、“gen_layers.py”、“gen_models.py”、“optimizer.py”、“criterion.py”、“scheduler.py”、“train.py”和“test.py”。其中,“MLP_search.py”是程序的主要模块,调用其中的函数“search”即可完成网络架构搜索。“gen_layers.py” 用来生成网络层数以及每层感知机个数。其中的函数“gen_layers”会返回一个表示网络宽和深的列表。“gen_models.py”生成nn.Sequential模型。“optimizer.py”定义了优化器。“criterion.py”定义了损失函数。“scheduler.py” 定义了学习率调整方法。“train.py”和“test.py”用来进行训练与测试过程。
在算法实现中,程序可以将每一个模型定义为一个类,将用于搜索的模型参数(例如前述‘Depth’、‘Width’、‘Activation’等)设置为类变量,并且该类还定义了生成模型与训练模型两个类方法。可以通过搜索(search)函数在搜索空间中对模型进行搜索,在运行search函数时,函数会调用该类,并且使用类方法进行模型生成,训练与测试。在每次生成一个模型时,对于用户指定参数,则会将该参数的取值固定为用户指定值,而对于没有被用户指定的参数,则会在默认取值范围内随机选择参数的取值。在训练过程中,程序会根据默认值自动划分训练集与验证集,从而选择训练效果好的模型并减少过拟合。
在一个实施例中,如图8所示,提供了一种多层感知机模型生成装置800,包括:输入接收模块810、输入读取模块820、模型参数设置模块830、模型搜索模块840、模型训练评估模块850和模型输出模块860,其中:
输入接收模块810,用于接收用户输入数据;
输入读取模块820,用于读取所述用户输入数据中携带的用户指定模型参数以及对应的用户指定模型值;
模型参数设置模块830,用于将预定模型参数集合中的所述用户指定模型参数设置为用户指定模型值,并将所述预定模型参数集合中除所述用户指定模型参数之外的其余模型参数设置为在默认取值范围内取随机值;
模型搜索模块840,用于以设置后的所述预定模型参数集合为约束条件,在预定感知机搜索空间中随机搜索以生成M个初始多层感知机模型架构;其中,M为正整数;
模型训练评估模块850,用于对所述M个初始多层感知机模型架构中的每个初始多层感知机模型架构进行训练和评估,以确定M个经训练多层感知机模型和对应的M个第一性能评估值;
模型输出模块860,用于从M个经训练多层感知机模型中,输出具有最高第一性能评估值的经训练多层感知机模型。
关于多层感知机模型生成装置800的具体限定可以参见上文中对于多层感知机模型生成方法的限定,在此不再赘述。上述多层感知机模型生成装置800中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储多层感知机模型生成数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种多层感知机模型生成方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种多层感知机模型生成方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图9或图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图9或图10中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
接收用户输入数据;
读取所述用户输入数据中携带的用户指定模型参数以及对应的用户指定模型值;
将预定模型参数集合中的所述用户指定模型参数设置为所述用户指定模型值,并将所述预定模型参数集合中除所述用户指定模型参数之外的其余模型参数设置为在默认取值范围内取随机值;
以设置后的所述预定模型参数集合为约束条件,在预定感知机搜索空间中随机搜索以生成M个初始多层感知机模型架构;其中,M为正整数;
对所述M个初始多层感知机模型架构中的每个初始多层感知机模型架构进行训练和评估,以确定M个经训练多层感知机模型和对应的M个第一性能评估值;
从M个经训练多层感知机模型中,输出具有最高第一性能评估值的经训练多层感知机模型。
在其他实施例中,处理器执行计算机程序时还实现如上任意实施例所述方法的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收用户输入数据;
读取所述用户输入数据中携带的用户指定模型参数以及对应的用户指定模型值;
将预定模型参数集合中的所述用户指定模型参数设置为所述用户指定模型值,并将所述预定模型参数集合中除所述用户指定模型参数之外的其余模型参数设置为在默认取值范围内取随机值;
以设置后的所述预定模型参数集合为约束条件,在预定感知机搜索空间中随机搜索以生成M个初始多层感知机模型架构;其中,M为正整数;
对所述M个初始多层感知机模型架构中的每个初始多层感知机模型架构进行训练和评估,以确定M个经训练多层感知机模型和对应的M个第一性能评估值;
从M个经训练多层感知机模型中,输出具有最高第一性能评估值的经训练多层感知机模型。
在其他实施例中,计算机程序被处理器执行时还实现如上任意实施例所述方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种用于电子医疗病历的多层感知机模型参数调整方法,其特征在于,所述方法包括:
由终端通过所述终端的输入装置接收用户输入的用户输入数据,所述用户输入数据携带有用户输入训练测试数据,所述用户输入训练测试数据包括训练数据和训练标签对,所述训练数据为电子医疗病历数据;
由所述终端将所述用户输入数据发送至服务器;
由所述服务器读取所述用户输入数据中携带的用户指定模型参数以及对应的用户指定模型值;
由所述服务器将预定模型参数集合中的所述用户指定模型参数设置为所述用户指定模型值,并将所述预定模型参数集合中除所述用户指定模型参数之外的其余模型参数设置为在默认取值范围内取随机值;其中,所述预定模型参数集合包括模型总层数、模型中每层的感知机个数、模型形状、激活函数、损失函数、是否增加标准化层中的一者或多者;
由所述服务器以设置后的所述预定模型参数集合为约束条件,在预定感知机搜索空间中随机搜索以生成M个初始多层感知机模型架构;其中,M为正整数;
由所述服务器利用所述用户输入训练测试数据,对所述M个初始多层感知机模型架构中的每个初始多层感知机模型架构进行训练和评估,以确定M个经训练多层感知机模型和对应的M个第一性能评估值;
由所述服务器当所述用户输入训练测试数据中包括所述训练数据和训练标签对,而不包括测试数据时,从所述M个经训练多层感知机模型中,输出具有最高第一性能评估值的经训练多层感知机模型以及对应的损失函数值;
由所述服务器当所述用户输入训练测试数据中包括所述训练数据和训练标签对以及测试数据,而不包括测试标签时,从所述M个经训练多层感知机模型中,选择具有最高第一性能评估值的经训练多层感知机模型,利用选择的所述经训练多层感知机模型对所述测试数据进行预测以得到预测标签,输出具有最高第一性能评估值的经训练多层感知机模型以及所述预测标签;
由所述服务器当所述用户输入训练测试数据中包括所述训练数据和训练标签对以及测试数据和测试标签对时,从所述M个经训练多层感知机模型中,选择具有最高第一性能评估值的经训练多层感知机模型,利用选择的所述经训练多层感知机模型对所述测试数据进行预测以得到预测标签,将所述预测标签与测试标签比较以确定选择的所述经训练多层感知机模型的第二性能评估值,输出具有最高第一性能评估值的经训练多层感知机模型以及所述第二性能评估值。
2.根据权利要求1所述的用于电子医疗病历的多层感知机模型参数调整方法,其特征在于,所述由所述服务器将预定模型参数集合中的所述用户指定模型参数设置为所述用户指定模型值,并将所述预定模型参数集合中除所述用户指定模型参数之外的其余模型参数设置为在默认取值范围内取随机值,还包括:
根据所述用户输入数据中携带的所述用户输入训练测试数据中包括的所述训练标签中种类的个数,自动选用相应的损失函数。
3.根据权利要求1所述的用于电子医疗病历的多层感知机模型参数调整方法,其特征在于,所述利用所述用户输入训练测试数据,对所述M个初始多层感知机模型架构中的每个初始多层感知机模型架构进行训练和评估,以确定M个经训练多层感知机模型和对应的M个第一性能评估值,包括:
读取所述用户输入数据中携带的用户指定训练参数以及对应的用户指定训练值;
将预定训练参数集合中的所述用户指定训练参数设置为用户指定训练值,并将所述预定训练参数集合中除所述用户指定训练参数之外的其余训练参数设置为在默认取值范围内取随机值;
从所述用户输入训练测试数据中获取训练集,依照设置后的所述预定训练参数集合,利用获取的训练集对所述M个初始多层感知机模型架构中的每个初始多层感知机模型架构进行训练,以得到M个经训练多层感知机模型和对应的M个训练损失值。
4.根据权利要求3所述的用于电子医疗病历的多层感知机模型参数调整方法,其特征在于,所述从所述用户输入训练测试数据中获取训练集,依照设置后的所述预定训练参数集合,利用获取的训练集对所述M个初始多层感知机模型架构中的每个初始多层感知机模型架构进行训练,以得到M个经训练多层感知机模型和对应的M个训练损失值,包括:
从所述用户输入训练测试数据中获取训练集,依照设置后的所述预定训练参数集合,利用获取的训练集对所述M个初始多层感知机模型架构中的每个初始多层感知机模型架构进行N次训练,以针对每个初始多层感知机模型架构得到N个第一候选多层感知机模型和对应的N个训练损失值,将N个第一候选多层感知机模型中训练损失值最小的第一候选多层感知机模型用作经训练多层感知机模型,并将N个训练损失值的平均值用作经训练多层感知机模型对应的训练损失值,从而得到M个经训练多层感知机模型和对应的M个训练损失值;其中,N为正整数。
5.根据权利要求4所述的用于电子医疗病历的多层感知机模型参数调整方法,其特征在于,所述从所述用户输入训练测试数据中获取训练集,依照设置后的所述预定训练参数集合,利用获取的训练集对所述M个初始多层感知机模型架构中的每个初始多层感知机模型架构进行N次训练,以针对每个初始多层感知机模型架构得到N个第一候选多层感知机模型和对应的N个训练损失值,包括:
当根据所述用户输入数据确定用户未指定禁用验证集时,从所述用户输入训练测试数据中获取用户输入的所述训练数据和训练标签对,将所述训练数据和训练标签对按照默认比例值划分为训练集和验证集;以及,利用划分的训练集对所述M个初始多层感知机模型架构中的每个初始多层感知机模型架构进行N次训练,并在每次训练中利用划分的验证集对训练所得的模型进行验证以得到训练损失值,以针对每个初始多层感知机模型架构得到N个第一候选多层感知机模型和对应的N个训练损失值;
当根据所述用户输入数据确定用户指定禁用验证集时,从所述用户输入训练测试数据中获取用户输入的所述训练数据和训练标签对,作为获取的训练集;以及,利用划分的训练集对所述M个初始多层感知机模型架构中的每个初始多层感知机模型架构进行N次训练,并记录每次训练中的训练损失值,以针对每个初始多层感知机模型架构得到N个第一候选多层感知机模型和对应的N个训练损失值。
6.根据权利要求1所述的用于电子医疗病历的多层感知机模型参数调整方法,其特征在于,还包括:
读取所述用户输入数据中携带的用户指定初始模型架构生成个数;
当根据所述用户输入数据确定用户指定了所述用户指定初始模型架构生成个数时,确定所述M的值为所述用户指定初始模型架构生成个数;
当根据所述用户输入数据确定用户未指定所述用户指定初始模型架构生成个数时,确定所述M的值为在默认取值范围内取随机值。
7.根据权利要求3所述的用于电子医疗病历的多层感知机模型参数调整方法,其特征在于,所述预定训练参数集合包括以下一者或多者:
丢弃率、验证集划分比例、训练历元数、训练批次大小、学习率调节器、学习率调节器参数、优化方法。
8.一种用于电子医疗病历的多层感知机模型参数调整装置,其特征在于,所述装置包括:
输入接收模块,用于由终端通过所述终端的输入装置接收用户输入的用户输入数据,所述用户输入数据携带有用户输入训练测试数据,所述用户输入训练测试数据包括训练数据和训练标签对,所述训练数据为电子医疗病历数据;并由所述终端将所述用户输入数据发送至服务器;
输入读取模块,用于由所述服务器读取所述用户输入数据中携带的用户指定模型参数以及对应的用户指定模型值;
模型参数设置模块,用于由所述服务器将预定模型参数集合中的所述用户指定模型参数设置为用户指定模型值,并将所述预定模型参数集合中除所述用户指定模型参数之外的其余模型参数设置为在默认取值范围内取随机值;其中,所述预定模型参数集合包括模型总层数、模型中每层的感知机个数、模型形状、激活函数、损失函数、是否增加标准化层中的一者或多者;
模型搜索模块,用于由所述服务器以设置后的所述预定模型参数集合为约束条件,在预定感知机搜索空间中随机搜索以生成M个初始多层感知机模型架构;其中,M为正整数;
模型训练评估模块,用于由所述服务器利用所述用户输入训练测试数据,对所述M个初始多层感知机模型架构中的每个初始多层感知机模型架构进行训练和评估,以确定M个经训练多层感知机模型和对应的M个第一性能评估值;
模型输出模块,用于由所述服务器当所述用户输入训练测试数据中包括所述训练数据和训练标签对,而不包括测试数据时,从所述M个经训练多层感知机模型中,输出具有最高第一性能评估值的经训练多层感知机模型以及对应的损失函数值;由所述服务器当所述用户输入训练测试数据中包括所述训练数据和训练标签对以及测试数据,而不包括测试标签时,从所述M个经训练多层感知机模型中,选择具有最高第一性能评估值的经训练多层感知机模型,利用选择的所述经训练多层感知机模型对所述测试数据进行预测以得到预测标签,输出具有最高第一性能评估值的经训练多层感知机模型以及所述预测标签;以及由所述服务器当所述用户输入训练测试数据中包括所述训练数据和训练标签对以及测试数据和测试标签对时,从所述M个经训练多层感知机模型中,选择具有最高第一性能评估值的经训练多层感知机模型,利用选择的所述经训练多层感知机模型对所述测试数据进行预测以得到预测标签,将所述预测标签与测试标签比较以确定选择的所述经训练多层感知机模型的第二性能评估值,输出具有最高第一性能评估值的经训练多层感知机模型以及所述第二性能评估值。
9.一种用于电子医疗病历的多层感知机模型参数调整系统,包括终端和服务器,所述终端和所述服务器分别包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的用于电子医疗病历的多层感知机模型参数调整方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的用于电子医疗病历的多层感知机模型参数调整方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311219336.2A CN116956991B (zh) | 2023-09-21 | 2023-09-21 | 多层感知机模型参数调整方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311219336.2A CN116956991B (zh) | 2023-09-21 | 2023-09-21 | 多层感知机模型参数调整方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116956991A CN116956991A (zh) | 2023-10-27 |
CN116956991B true CN116956991B (zh) | 2024-01-09 |
Family
ID=88455099
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311219336.2A Active CN116956991B (zh) | 2023-09-21 | 2023-09-21 | 多层感知机模型参数调整方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116956991B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118051779B (zh) * | 2024-04-12 | 2024-07-16 | 清华大学 | 用于大模型训练的参数自动搜索方法、装置及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110188209A (zh) * | 2019-05-13 | 2019-08-30 | 山东大学 | 基于层次标签的跨模态哈希模型构建方法、搜索方法及装置 |
CN111914994A (zh) * | 2020-06-18 | 2020-11-10 | 北京百度网讯科技有限公司 | 多层感知机的生成方法、装置、电子设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220391690A1 (en) * | 2021-06-07 | 2022-12-08 | Microsoft Technology Licensing, Llc | Techniques for improving standardized data accuracy |
-
2023
- 2023-09-21 CN CN202311219336.2A patent/CN116956991B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110188209A (zh) * | 2019-05-13 | 2019-08-30 | 山东大学 | 基于层次标签的跨模态哈希模型构建方法、搜索方法及装置 |
CN111914994A (zh) * | 2020-06-18 | 2020-11-10 | 北京百度网讯科技有限公司 | 多层感知机的生成方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116956991A (zh) | 2023-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jamshidi et al. | Learning to sample: Exploiting similarities across environments to learn performance models for configurable systems | |
Annis et al. | Bayesian inference with Stan: A tutorial on adding custom distributions | |
Zliobaite et al. | Adaptive preprocessing for streaming data | |
US11704567B2 (en) | Systems and methods for an accelerated tuning of hyperparameters of a model using a machine learning-based tuning service | |
Deng et al. | An adaptive empirical Bayesian method for sparse deep learning | |
CN116956991B (zh) | 多层感知机模型参数调整方法、装置、设备和存储介质 | |
US20150199224A1 (en) | Method and Apparatus for Detection of Anomalies in Integrated Parameter Systems | |
CN108509627B (zh) | 数据离散化模型训练方法和装置、数据离散方法 | |
Bontempi et al. | From dependency to causality: a machine learning approach. | |
US20200293940A1 (en) | Machine learning model development with interactive model building | |
Ipek et al. | Efficient architectural design space exploration via predictive modeling | |
US11544493B2 (en) | Machine learning model development with interactive exploratory data analysis | |
Paliwal et al. | Regal: Transfer learning for fast optimization of computation graphs | |
US20230059708A1 (en) | Generation of Optimized Hyperparameter Values for Application to Machine Learning Tasks | |
Scheftelowitsch et al. | Multi-objective approaches to Markov decision processes with uncertain transition parameters | |
Puppo et al. | A framework based on finite mixture models and adaptive kriging for characterizing non-smooth and multimodal failure regions in a nuclear passive safety system | |
Zhou et al. | Estimating uncertainty intervals from collaborating networks | |
JP2021184139A (ja) | 管理計算機、管理プログラム、及び管理方法 | |
CN117454668B (zh) | 零部件失效概率的预测方法、装置、设备和介质 | |
CN111078500A (zh) | 运行配置参数的调整方法、装置、计算机设备和存储介质 | |
Bilodeau et al. | Relaxing the iid assumption: Adaptively minimax optimal regret via root-entropic regularization | |
Oh et al. | Stable Neural Stochastic Differential Equations in Analyzing Irregular Time Series Data | |
US11892507B2 (en) | Early detection of quality control test failures for manufacturing end-to-end testing optimization | |
JP2020201870A (ja) | ハイパーパラメータ管理装置、ハイパーパラメータ管理方法及びハイパーパラメータ管理プログラム製品 | |
Paigude et al. | Deep Learning Model for Work-Life Balance Prediction for Working Women in IT Industry |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |