医疗数据集优化方法及设备与流程

文档序号:30306368发布日期:2022-06-05 06:09阅读:163来源:国知局
医疗数据集优化方法及设备与流程

1.本发明涉及网络通信技术领域,具体涉及一种医疗数据集优化方法及设备。


背景技术:

2.深度学习(dl,deep learning)是机器学习(ml,machine learning)领域中一个新的研究方向。深度学习是学习样本数据的内在规律和表示层次,它的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。
3.深度学习是一类模式分析方法的统称,就具体研究内容而言,主要涉及三类方法:基于卷积运算的神经网络系统,即卷积神经网络(cnn);基于多层神经元的自编码神经网络,包括自编码(auto encoder)以及近年来受到广泛关注的稀疏编码两类(sparse coding),以多层自编码神经网络的方式进行预训练,进而结合鉴别信息进一步优化神经网络权值的深度置信网络(dbn)。与传统的学习方法相比,深度学习方法预设了更多的模型参数,因此模型训练难度更大,根据统计学习的一般规律知道,模型参数越多,需要参与训练的数据量也越大。
4.深度学习技术的使用往往依赖于大量的样本对模型进行训练,鉴于所需要的数据集规模之大,其中极易存在冗余样本和噪声样本,即对深度模型优化没有贡献或产生负面影响的样本,导致机器学习模型的训练效率较低。


技术实现要素:

5.本技术提供了一种医疗数据集优化方法及设备,提高了机器学习模型的训练效率,该技术方案如下。
6.一方面,提供了一种医疗数据集优化方法,所述方法包括:
7.获取医疗数据集;所述医疗数据集中包含各个医疗样本数据;
8.针对每个所述医疗样本数据,分别通过各个神经网络模型对所述医疗样本数据进行处理,获得所述医疗样本数据对应的各个熵;所述神经网络模型用于对所述医疗样本数据进行推理计算;
9.将各个所述医疗样本数据各自对应的各个熵构建为熵矩阵;
10.对所述医疗数据集进行划分,获得各个医疗数据子集;
11.针对每个医疗数据子集,通过所述熵矩阵计算所述医疗数据子集中样本的多样性、覆盖性及均衡性,并基于所述医疗数据子集中医疗样本数据的多样性、覆盖性及均衡性对所述医疗数据子集进行更新,获得目标数据子集;
12.基于各个所述目标数据子集,构建优化后的医疗数据集。
13.再一方面,提供了一种医疗数据集优化装置,所述装置包括:
14.医疗数据集获取模块,用于获取医疗数据集;所述医疗数据集中包含各个医疗样本数据;
15.样本数据处理模块,用于针对每个所述医疗样本数据,分别通过各个神经网络模
型对所述医疗样本数据进行处理,获得所述医疗样本数据对应的各个熵;所述神经网络模型用于对所述医疗样本数据进行推理计算;
16.熵矩阵构建模块,用于将各个所述医疗样本数据各自对应的各个熵构建为熵矩阵;
17.数据子集划分模块,用于对所述医疗数据集进行划分,获得各个医疗数据子集;
18.数据子集更新模块,用于针对每个医疗数据子集,通过所述熵矩阵计算所述医疗数据子集中样本的多样性、覆盖性及均衡性,并基于所述医疗数据子集中医疗样本数据的多样性、覆盖性及均衡性对所述医疗数据子集进行更新,获得目标数据子集;
19.数据集优化模块,用于基于各个所述目标数据子集,构建优化后的医疗数据集。
20.在一种可能的实现方式中,所述熵矩阵构建模块,用于
21.将各个所述医疗样本数据各自对应的各个熵作为元素,以生成为所述熵矩阵;
22.所述熵矩阵的行数为所述医疗样本数据的个数;所述熵矩阵的列数为所述神经网络模型的个数。
23.在一种可能的实现方式中,所述数据子集更新模块,还用于,
24.在所述熵矩阵中读取所述医疗数据子集中各个医疗样本数据所对应的元素值;
25.将医疗数据子集中各个医疗样本数据所对应的元素值的和,与神经网络模型的个数的比值,确定为所述医疗数据子集中医疗样本数据的多样性。
26.在一种可能的实现方式中,所述熵矩阵构建模块,还用于,
27.将所述熵矩阵的元素中,大于目标滑动因子的元素转换为1,并将所述熵矩阵的元素中,小于目标滑动因子的元素转换为0,以获得更改矩阵;
28.针对每个神经网络模型,在所述更改矩阵中获取所述神经网络模型对所述医疗数据子集中各个医疗样本数据进行处理所得到的元素,并求和以得到响应计数;
29.计算所述更改矩阵中各个元素的平均值,以获得响应平均值;
30.计算所述响应平均值与所述响应计数之间的标准差,以获得所述神经网络模型对应的响应偏差;
31.将所述响应计数与所述响应偏差的比值,按照神经网络模型的类别进行求和,获得所述医疗数据子集的均衡性;
32.将所述响应计数与所述更改矩阵的元素个数的比值,按照神经网络模型的类别进行求和,获得所述医疗数据子集的覆盖性。
33.在一种可能的实现方式中,所述数据子集更新模块,还用于,
34.基于所述医疗数据子集中医疗样本数据的多样性、覆盖性及均衡性进行加权求和,获得所述医疗数据子集对应的适应度;
35.根据所述医疗数据子集的适应度,对所述医疗数据子集进行迭代更新,并将迭代更新后的医疗数据子集确定为所述目标数据子集。
36.在一种可能的实现方式中,所述数据子集更新模块,还用于,
37.在第n轮迭代更新过程中,将医疗数据子集中的至少一个医疗样本数据,替换为除所述医疗数据子集之外的医疗样本数据,以获得中间医疗数据子集,n的起始值为1;
38.根据所述熵矩阵计算所述中间医疗数据子集的适应度,并将所述中间医疗数据子集以及所述医疗数据子集中适应度更高的,确定为第n轮迭代更新后的医疗数据子集;
39.若n小于预设轮数时,则再次执行将医疗数据子集中的至少一个医疗样本数据,替换为在所述医疗数据子集之外的医疗样本数据的操作;
40.若n达到所述预设轮数时,将所述第n轮迭代更新后的医疗数据子集确定为所述目标数据子集。
41.在一种可能的实现方式中,所述各个神经网络模型包括m个小替代模型以及n个检查点模型;所述m个小替代模型为对目标初始模型的卷积层和/或池化层的层数缩减后得到的模型,或者,所述m个小替代模型为训练精度小于预设阈值的网络模型;所述n个检查点模型为与目标初始模型的模型结构相同;
42.所述目标初始模型为对医疗样本数据进行推理计算的神经网络模型。
43.在一种可能的实现方式中,所述装置还包括:
44.模型缩减模块,用于对所述目标初始模型的卷积层和/或池化层的层数进行缩减,获得m个小初始模型;
45.初始训练模块,用于根据所述医疗数据集分别对m个小初始模型进行训练,获得训练后的m个小替代模型;
46.数据集选取模块,用于根据所述医疗数据集,对所述目标初始模型进行p轮预训练,并根据预训练后的目标神经网络模型在医疗数据集中选取训练数据集;
47.模型参数获取模块,用于根据所述训练数据集,对所述目标初始模型进行t轮迭代训练,并获取最后n轮迭代过程中目标初始模型的模型参数;
48.检查点模型获取模块,用于基于最后n轮迭代过程中的目标初始模型的模型参数,构建所述n个检查点模型。
49.再一方面,提供了一种计算机设备,所述计算机设备中包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述医疗数据集优化方法。
50.又一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现上述的医疗数据集优化方法。
51.再一方面,提供了一种计算机程序产品还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的医疗数据集优化方法。
52.本技术提供的技术方案可以包括以下有益效果:
53.在训练对医疗数据进行处理的神经网络模型之前,计算机设备先获取到医疗数据集中的各个医疗样本数据,通过各个神经网络模型分别对各个医疗样本数据进行处理,并通过处理结果构建出熵矩阵;计算机设备还对医疗数据集划分为各个医疗数据子集,并通过熵矩阵计算医疗数据子集的多样性、均衡性和覆盖性,以对各个医疗数据子集进行更新,从而获得各个目标数据子集,此时各个目标数据子集组合即可以得到优化后的医疗数据集。上述方案,通过多个神经网络模型对医疗样本数据进行处理,各个医疗样本数据与神经网络模型所对应的熵矩阵,并通过各个医疗数据子集分别在熵矩阵中体现出的信息量计算多样性、均衡性和覆盖性,从而更好的评判各个医疗数据子集中医疗样本数据的好坏程度,进而对各个医疗数据子集进行更新,得到各个目标数据子集以组合得到优化后的医疗数据
集,提高了优化后的医疗数据集中的各个医疗样本数据与神经网络模型的匹配程度,从而提高了通过优化后的医疗数据集进行神经网络模型训练的训练效果。
附图说明
54.为了更清楚地说明本技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
55.图1是根据一示例性实施例示出的一种模型训练系统的结构示意图。
56.图2是根据一示例性实施例示出的医疗数据集优化方法的方法流程图。
57.图3是根据一示例性实施例示出的医疗数据集优化方法的方法流程图。
58.图4示出了本技术实施例涉及的一种机器学习模型预训练示意图。
59.图5示出了深度学习中训练时间与准确率关系示意图。
60.图6示出了一种模型网络层数与准确率关系示意图。
61.图7示出了本技术实施例涉及的一种数据集优化的逻辑框架图。
62.图8是根据一示例性实施例示出的数据集优化装置的结构方框图。
63.图9是根据本技术一示例性实施例提供的一种计算机设备示意图。
具体实施方式
64.下面将结合附图对本技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
65.应理解,在本技术的实施例中提到的“指示”可以是直接指示,也可以是间接指示,还可以是表示具有关联关系。举例说明,a指示b,可以表示a直接指示b,例如b可以通过a获取;也可以表示a间接指示b,例如a指示c,b可以通过c获取;还可以表示a和b之间具有关联关系。
66.在本技术实施例的描述中,术语“对应”可表示两者之间具有直接对应或间接对应的关系,也可以表示两者之间具有关联关系,也可以是指示与被指示、配置与被配置等关系。
67.本技术实施例中,“预定义”可以通过在设备(例如,包括终端设备和网络设备)中预先保存相应的代码、表格或其他可用于指示相关信息的方式来实现,本技术对于其具体的实现方式不做限定。
68.在对本技术所示的各个实施例进行说明之前,首先对本技术涉及到的几个概念进行介绍。
69.1)ai(artificial intelligence,人工智能)
70.人工智能(artificial intelligence),英文缩写为ai。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专
家系统等。人工智能从诞生以来,理论和技术日益成熟,应用领域也不断扩大,可以设想,未来人工智能带来的科技产品,将会是人类智慧的“容器”。人工智能可以对人的意识、思维的信息过程的模拟。人工智能不是人的智能,但能像人那样思考、也可能超过人的智能。
71.用来研究人工智能的主要物质基础以及能够实现人工智能技术平台的机器就是计算机。除了计算机科学以外,人工智能还涉及信息论、控制论、自动化、仿生学、生物学、心理学、数理逻辑、语言学、医学和哲学等多门学科。人工智能学科研究的主要内容包括:知识表示、自动推理和搜索方法、机器学习和知识获取、知识处理系统、自然语言理解、计算机视觉、智能机器人、自动程序设计等方面。
72.2)机器学习(machine learning,ml)
73.机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
74.本技术实施例中提供的医疗数据集优化方法可以应用于具有较强数据处理能力的计算机设备中。该医疗数据集优化方法可以在对机器学习模型进行正式训练之前,对医疗数据集进行优化处理,以便通过优化后的医疗数据集对机器学习模型进行训练。可选的,该机器学习模型可以是医疗图像分类模型可以实现对输入的医疗图像进行处理,得到对应于输入的医疗图像的类别。在一种可能的实现方式中,本技术实施例提供的医疗图像分类模型可以应用于个人计算机、工作站或服务器中,即通过个人计算机、工作站以及服务器中至少一者进行医疗图像分类模型的训练或应用。
75.图1是根据一示例性实施例示出的一种模型训练系统的结构示意图。可选的,该模型训练系统中包含服务器110以及终端120。其中,终端120与服务器110之间通过通信网络进行数据通信,该通信网络可以是有线网络也可以是无线网络。
76.可选的,当该模型训练系统用于在医疗领域中对医疗图像进行识别时,终端120中安装有具有图像处理功能的应用程序,该应用程序可以是专业图像处理应用程序、医疗类应用程序、或者具有图像处理功能的ai应用程序,本技术实施例对此不做限定。
77.可选的,该终端120可以是具有图像采集组件的终端设备,该图像采集组件用于获取图像并存储与终端120中的数据存储模块中;该终端120还可以是具有数据传输接口的终端设备,该数据传输接口用于接收具有图像采集组件的图像采集设备所采集到的图像数据。
78.可选的,该终端120可以是智能手机、平板电脑,膝上便携式笔记本电脑等移动终端,也可以是台式电脑、投影式电脑等终端,或是具有数据处理组件的智能终端,本技术实施例对此不设限制。
79.服务器110可以实现为一台服务器,也可以实现为一组服务器构成的服务器集群,其可以是物理服务器,也可以实现为云服务器。在一种可能的实现方式中,服务器110是终端120中应用程序的后台服务器。
80.在本技术实施例的一种可能的实现方式中,服务器110通过预先设置的医疗数据集(包括各个医疗样本图像)对医疗图像分类模型进行训练,其中医疗数据集中可以包含不
同类别的医疗样本图像提取出的特征,各个医疗样本图像均存在各自的类别标注信息(即标签值)。当服务器110对该医疗图像分类模型的训练过程完成后,通过有线网络或无线网络,将该训练好的医疗图像分类模型发送至终端120中。
81.而在本技术实施例中,服务器在对医疗图像分类模型进行训练之前,还需要对各个医疗样本图像所构成的医疗数据集予以优化,从而使得优化后的医疗数据集中对机器学习模型的训练效果更好。
82.终端120接收到该训练好的医疗图像分类模型,并将该医疗图像分类模型所对应的数据信息(例如权重信息)发送至具有识别分类功能的应用程序中,以便用户使用该应用程序时,可以对输入的特征进行识别分类处理。
83.可选的,上述服务器可以是独立的物理服务器,也可以是由多个物理服务器构成的服务器集群或者是分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)、以及大数据和人工智能平台等技术运计算服务的云服务器。
84.可选的,该系统还可以包括管理设备,该管理设备用于对该系统进行管理(如管理各个模块与服务器之间的连接状态等),该管理设备与服务器之间通过通信网络相连。可选的,该通信网络是有线网络或无线网络。
85.可选的,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网,但也可以是其他任何网络,包括但不限于局域网、城域网、广域网、移动、有限或无线网络、专用网络或者虚拟专用网络的任何组合。在一些实施例中,使用包括超文本标记语言、可扩展标记语言等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层、传输层安全、虚拟专用网络、网际协议安全等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
86.图2是根据一示例性实施例示出的医疗数据集优化方法的方法流程图。该方法由计算机设备执行,该计算机设备可以是如图1所示的模型训练系统中的服务器或终端。如图2所示,该医疗数据集优化方法可以包括如下步骤:
87.步骤201,获取医疗数据集。
88.在本技术实施例中,该医疗数据集中包含各个医疗样本数据。
89.可选的,该医疗样本数据可以是医疗图像数据以及扫查视频数据中的至少一者。
90.当医疗样本数据为医疗图像数据时,根据本技术实施例所示方案,可以对医疗图像数据所构成的医疗数据集进行优化,以便根据优化后的医疗数据集对神经网络模型进行训练,使得训练后的神经网络模型可以对医疗图像数据进行处理(例如实现分类、标注等任务)。
91.同理,当医疗样本数据为扫查视频数据时,根据本技术实施例所示方案,可以对扫查视频数据中所组成的医疗数据集进行优化,以便根据优化后的医疗数据集对神经网络模型进行训练,从而使得训练后的神经网络模型可以对扫查视频数据进行处理(例如实现分类、标注等任务)。
92.步骤202,针对每个该医疗样本数据,分别通过各个神经网络模型对该医疗样本数据进行处理,获得该医疗样本数据对应的各个熵。
93.其中,该神经网络模型用于对该医疗样本数据进行推理计算。例如,该神经网络模型可以是resnet(残差网络)模型,如resnet50模型。
94.在一种可能的实现方式中,由于resnet(残差网络)可以存在不同的模型层数,且不同层数的残差网络对特征的提取深度不同,因此可以采取至少两种层数的神经网络模型,分别对医疗样本数据进行处理,从而得到医疗样本数据在不同结构的神经网络模型的处理结果,以计算得到不同结构的神经网络模型对医疗样本数据进行处理后所得到的熵。
95.在一种可能的实现方式中,神经网络模型可以是需要进行训练的神经网络模型,该神经网络模型此时可以是设置好初始参数的神经网络模型,或者该神经网络模型可以是经过预训练的神经网络模型。
96.此时通过神经网络模型对该医疗样本数据进行处理后,得到的各个医疗样本数据的熵,即代表了该神经网络模型在对该医疗样本数据进行提取所得到的信息量。
97.可选的,该医疗样本数据的熵的计算公式为:
[0098][0099]
其中,x为数据样本,为概率分布,代表参加训练的机器学习模型。
[0100]
步骤203,将各个该医疗样本数据各自对应的各个熵构建为熵矩阵。
[0101]
可选的,在获取到各个医疗样本数据,分别通过各个神经网络模型进行处理后得到的熵值时,此时对于其中的一个医疗样本数据来说,可以将该医疗样本数据分别通过各个神经网络模型(以模型个数为10为例)所得到的十个熵值,作为熵矩阵的其中一行的十个元素。因此,每个医疗样本数据都能计算得到十个熵值,此时将各个熵值按照医疗样本数据的编号以及神经网络模型的编号进行排序(例如以医疗样本数据的编号做为行号,以神经网络模型的编号作为列号),即可以得到熵矩阵。
[0102]
步骤204,对该医疗数据集进行划分,获得各个医疗数据子集。
[0103]
该计算机设备中包含医疗数据集,该医疗数据集中包含各个医疗样本数据,此时计算机设备在该医疗数据集中任意获取到n个医疗样本数据从而构建为医疗样本序列,也就是医疗数据子集。
[0104]
在一种可能的实现方式中,各个医疗数据子集中的医疗样本数据互不相同,即各个医疗样本序列互不重叠。
[0105]
步骤205,针对每个医疗数据子集,通过该熵矩阵计算该医疗数据子集中样本的多样性、覆盖性及均衡性,并基于该医疗数据子集中医疗样本数据的多样性、覆盖性及均衡性对该医疗数据子集进行更新,获得目标数据子集。
[0106]
由于在上述步骤中,计算出了通过各个神经网络模型分别对医疗数据集中的各个医疗样本数据进行处理后得到的熵,所构成的熵矩阵,在该熵矩阵中,实际上每个元素可以表征着神经网络模型对医疗样本数据进行处理后得到的信息量。
[0107]
此时由于各个医疗数据子集中包含着不同的医疗样本数据,根据该医疗样本数据,则可以查询到各个医疗数据子集中的各个医疗样本数据在熵矩阵中所对应到的值,从而判定出该医疗数据子集中的医疗样本数据的多样性、覆盖性以及均衡性,从而综合考量该医疗数据子集其中样本的好坏程度,以便确定是否需要对该医疗数据子集中的样本进行
更新。
[0108]
例如,当获取到某个医疗数据子集所对应的多样性、覆盖性以及均衡性,且多样性、覆盖性以及均衡性所对应的值的和,指示该医疗数据子集中的样本情况不佳,此时则可以将医疗数据子集中的部分样本替换为其他样本(如随机替换),从而实现对医疗数据子集中的样本进行更新。
[0109]
步骤206,基于各个该目标数据子集,构建优化后的医疗数据集。
[0110]
当获取到各个目标数据子集后,此时目标数据子集是基于神经网络模型进行优化过的集合,因此通过各个目标数据子集所合并成的医疗数据集对机器学习模型进行训练,具备有比原医疗数据集更好的数据训练效果,从而提高了对机器学习模型的训练效率。
[0111]
综上所述,在训练对医疗数据进行处理的神经网络模型之前,计算机设备先获取到医疗数据集中的各个医疗样本数据,通过各个神经网络模型分别对各个医疗样本数据进行处理,并通过处理结果构建出熵矩阵;计算机设备还对医疗数据集划分为各个医疗数据子集,并通过熵矩阵计算医疗数据子集的多样性、均衡性和覆盖性,以对各个医疗数据子集进行更新,从而获得各个目标数据子集,此时各个目标数据子集组合即可以得到优化后的医疗数据集。上述方案,通过多个神经网络模型对医疗样本数据进行处理,各个医疗样本数据与神经网络模型所对应的熵矩阵,并通过各个医疗数据子集分别在熵矩阵中体现出的信息量计算多样性、均衡性和覆盖性,从而更好的评判各个医疗数据子集中医疗样本数据的好坏程度,进而对各个医疗数据子集进行更新,得到各个目标数据子集以组合得到优化后的医疗数据集,提高了优化后的医疗数据集中的各个医疗样本数据与神经网络模型的匹配程度,从而提高了通过优化后的医疗数据集进行神经网络模型训练的训练效果。
[0112]
图3是根据一示例性实施例示出的医疗数据集优化方法的方法流程图。该方法由计算机设备执行,该计算机设备可以是如图1所示的模型训练系统中的服务器或终端。如图3所示,该医疗数据集优化方法可以包括如下步骤:
[0113]
步骤301,获取医疗数据集。
[0114]
在本技术实施例中,该医疗数据集则为需要对神经网络模型进行训练的医疗样本数据所构成的初始的集合,在通过医疗数据集中的各个医疗样本数据,对神经网络模型进行训练之前,可以先将初始的医疗数据集拆分为各个医疗样本子集,以通过后续步骤对各个医疗样本子集进行处理,从而实现对初始的医疗数据集进行优化处理,提高对神经网络模型的训练效率。
[0115]
步骤302,针对每个该医疗样本数据,分别通过各个神经网络模型对该医疗样本数据进行处理,获得该医疗样本数据对应的各个熵。
[0116]
在本技术实施例的一种可能的实现方式中,该各个神经网络模型包括m个小替代模型以及n个检查点模型;该m个小替代模型为对目标初始模型的卷积层和/或池化层的层数缩减后得到的模型,或者,该m个小替代模型为训练精度小于预设阈值的网络模型;该n个检查点模型为与目标初始模型的模型结构相同;该目标初始模型为对医疗样本数据进行推理计算的神经网络模型。
[0117]
由于resnet模型层数的增加对准确率的提升很小,然而却需要大量的时间来训练模型。如图4所示,其示出了一种模型网络层数与准确率关系示意图。
[0118]
如图5所示,其示出了深度学习中训练时间与准确率关系示意图。在神经网络模型
的实际训练过程中第14分钟模型能够达到9%的top1错误率,而接下来12分钟的训练仅将模型的top1错误率降至7.6%,因此训练时长越长时,迭代轮数越多,训练准确率虽然提高了,但是训练效率却显著下降。因此本技术实施例中还提出了一种对目标初始模型的训练方法,可以在减小训练轮数的前提下,尽可能地的保证了训练效果,提高了训练效率。
[0119]
因此在本技术实施例的一种可能的实现方式中,神经网络模型被设计为包括模块a以及模块b两种类型的神经网络模型,模块a中通过以上两种方式集成为m个resnet的小替代模型既能很大程度减小集成模型在整个数据集上训练时间,也能获取m个小替代模型对数据集中每一个样本的信息响应。模块b为单个大resnet模型的checkpoint(检测点)集成。
[0120]
当神经网络模型为不同类型,也就是多个神经网络模型时,此时计算各个医疗样本数据的熵时,需要计算通过多个神经网络模型,对医疗样本数据进行处理时,分别得到的熵值。也就是所得的每个样本对应不同模型的信息量α
j,e
构建成一个熵矩阵,即ent=[α
j,e
]
n,(m+n)
,其中每一行为数据集d中的一例样本,共n行,每一列为步骤一中集成模型的一个模型,共m+n列。
[0121]
根据原模型和其小替代模型之间的rank-order相关性,本技术实施例中可以通过构建小的替代模型在时间和模型推理精度上权衡,即构建出m个小替代模型,从而降低了小部分的准确率,但却节省了大量的训练时间。
[0122]
在一种可能的实现方式中,对该目标初始模型的卷积层和/或池化层的层数进行缩减,获得m个小初始模型;
[0123]
根据该医疗数据集分别对m个小初始模型进行训练,获得训练后的m个小替代模型;
[0124]
根据该医疗数据集,对该目标初始模型进行p轮预训练,并根据预训练后的目标神经网络模型在医疗数据集中选取训练数据集;
[0125]
根据该训练数据集,对该目标初始模型进行t轮迭代训练,并获取最后n轮迭代过程中目标初始模型的模型参数;
[0126]
基于最后n轮迭代过程中的目标初始模型的模型参数,构建该n个检查点模型。
[0127]
也就是说,在生成checkpoint模型的过程中,由于checkpoint模型中的模型卷积层和/或池化层的层数较多,若对n个checkpoint模型都依次进行训练需要花费大量的时间,因此在本技术实施例中,可以通过对checkpoint模型选择好训练数据集,并在根据训练数据集对神经网络模型进行t轮迭代训练,并保存t轮迭代训练中最后n轮迭代过程中目标初始模型的模型参数,对于最后n轮迭代过程中的目标初始模型,在每轮迭代过程中都会对模型参数进行更新,因此根据每次更新后的模型参数,都可以构建为一个与目标初始模型的结构相同,但参数不同的检查点模型。
[0128]
在一种可能的实现方式中,将该医疗数据集中随机选择的第一数量的医疗数据移出至训练数据集;
[0129]
通过该第一数量的医疗数据训练该目标初始模型;
[0130]
获取该医疗数据集中每个医疗数据的信息量;
[0131]
根据获取到的该信息量将该医疗数据集中满足预设条件的医疗数据移出至该训
练数据集,并通过满足该预设条件的医疗数据再次训练该目标初始模型,该预设条件包括信息量排名在前m位,或者信息量大于限定阈值;
[0132]
若该训练数据集的样本量小于预设值,则再次执行该获取该医疗数据集中每个医疗数据的信息量的步骤;
[0133]
若该训练数据集的样本量达到该预设值时,将当前的训练数据集确定为最终选取得到的训练数据集,该预设值小于该医疗数据集中的医疗数据的总量。
[0134]
以下以第一数量为ns/8为例,对上述迭代训练过程进行说明。
[0135]
请参考图6,其示出了本技术实施例涉及的一种神经网络模型预训练示意图。如图6所示,为减小模型在整个数据集上的训练时间,本技术实施例采用了一种增长式数据读取方法。医疗数据集其中每个xj∈x为一条数据样本,每个yj∈y为其对应的标签。m
acq
是由单个resnet模型n个checkpoint(一组n个不同模型参数),也就是n个相同结构不同参数的神经网络模型集成而得的查询模型(也就是m个小替代模型和n个检查点模型),为上述增长式数据读取方法所选择的训练集,其中ns为用于训练m
acq
的样本量。首先在医疗数据集d中均匀随机采样ns/8个样本作为初始训练样本s,用上述所得样本训练模型采用熵作为获得函数,即采用熵作为获得函数,即计算数据集d中每个样本的信息量α,将数据集d中α最大的ns/8个样本移入至训练集s中,如果数据集s的样本量小于ns,则继续进行下一次迭代操作,直至数据集s样本量大于等于ns停止。通过以上该数据集读入方式仅需在初始训练样本s基础上再迭代两次即可获得最终的数据集s,根据此数据集s训练而得最终模型比如,在一种可能的实施例中,第一数量为ns/8,且之后每次迭代选取的数量分别为ns/8、ns/4、ns/2,则在累计迭代4次之后即可得到最终的数据集s。上述仅以按照以上迭代方式来举例说明,实际实现时,在迭代截止时,选取的数据集的数量可能大于s,本实施例在此并不做限定。
[0136]
可选的,上述方案中的第一数量还可以是ns/4、ns/2或其他数量,以第一数量为ns/4举例,通过上述方案选取ns/4个样本作为初始训练样本,用上述所得样本训练模型采用熵作为获得函数,即采用熵作为获得函数,即计算数据集d中每个样本的信息量α,将数据集d中α最大的ns/4个样本移入至训练集s中,此时仅需在初始训练样本s基础上再迭代两次即可获得最终的数据集s。
[0137]
同理,上述方案中的第一数量为其他数量时,只需要迭代上述步骤直至训练数据集的样本量满足要求(如数量多于ns与指定比值的乘积)即可。
[0138]
步骤303,将各个该医疗样本数据各自对应的各个熵构建为熵矩阵。
[0139]
在一种可能的实现方式中,将各个该医疗样本数据各自对应的各个熵作为元素,以生成为该熵矩阵;该熵矩阵的行数为该医疗样本数据的个数;该熵矩阵的列数为该神经网络模型的个数。
[0140]
或者,在另一种可能的实现方式中,该熵矩阵的行数为该神经网络模型的个数,此
时熵矩阵的行号则为各个神经网络模型的编号,该熵矩阵的列数为该医疗样本数据的个数,此时熵矩阵的列号则为医疗样本数据的编号。
[0141]
步骤304,对该医疗数据集进行划分,获得各个医疗数据子集。
[0142]
在一种可能的实现方式中,该各个医疗数据子集是按照指定子集数量进行划分的,即在对医疗数据集进行划分之前,可以预先设置好划分的医疗数据子集的数量,并将医疗数据集中的各个医疗样本数据随机分配至各个医疗数据子集中,从而实现对医疗数据集的划分。
[0143]
在另一种可能的实现方式中,该各个医疗数据子集的划分个数是以该医疗数据集中的医疗样本数据的个数确定的,当计算机设备需要对医疗数据集进行划分时,可以随机选取出医疗样本数据,并当取出指定数量的医疗样本数据时,将取出的医疗样本数据构建为一个医疗数据子集;并且计算机重新开始新一轮的医疗样本数据的取出操作,直至医疗数据集中的数量小于指定值。
[0144]
步骤305,针对每个医疗数据子集,通过该熵矩阵计算该医疗数据子集中样本的多样性、覆盖性及均衡性。
[0145]
在一种可能的实现方式中,在该熵矩阵中读取该医疗数据子集中各个医疗样本数据所对应的元素值;将医疗数据子集中各个医疗样本数据所对应的元素值的和,与神经网络模型的个数的比值,确定为该医疗数据子集中医疗样本数据的多样性。
[0146]
即对于样本多样性表征的计算,计算机设备可以通过式即对于样本多样性表征的计算,计算机设备可以通过式获得医疗样本数据xj的多样性表征。
[0147]
在一种可能的实现方式中,将该熵矩阵的元素中,大于目标滑动因子的元素转换为1,并将该熵矩阵的元素中,小于目标滑动因子的元素转换为0,以获得该更改矩阵。
[0148]
针对每个神经网络模型,在该更改矩阵中获取该神经网络模型对该医疗数据子集中各个医疗样本数据进行处理所得到的元素,并求和以得到响应计数;
[0149]
计算更改矩阵中各个元素的平均值,以获得响应平均值;
[0150]
计算该响应平均值与该响应计数之间的标准差,以获得该神经网络模型对应的响应偏差;
[0151]
将该响应计数与该响应偏差的比值,按照神经网络模型的类别进行求和,获得该医疗数据子集的均衡性;
[0152]
将该响应计数与该更改矩阵的元素个数的比值,按照神经网络模型的类别进行求和,获得该医疗数据子集的覆盖性。
[0153]
也就是说,计算机设备通过设定一滑动因子th,将ent矩阵转换成0-1矩阵,即mat
01
=[zo
j,e
]
n,(m+n)
。当ent矩阵中元素大于等于滑动因子,则mat
01
中相应位置元素为1,否则为0。
[0154]
并且计算机设备还可以设定c
model
(seq,e)=∑
seq
mat
01
(seq,e)为第e个模型对于医疗数据子集seq的响应计数,而为其响应平均值,则响应偏差为可得,所选医疗数据子集
seq对于第e个模型的均衡性可通过式对于第e个模型,医疗数据子集seq的覆盖性可通过
[0155]
步骤306,基于该医疗数据子集中医疗样本数据的多样性、覆盖性及均衡性对该医疗数据子集进行更新,获得目标数据子集。
[0156]
在一种可能的实现方式中,基于该医疗数据子集中医疗样本数据的多样性、覆盖性及均衡性进行加权求和,获得该医疗数据子集对应的适应度;
[0157]
根据该医疗数据子集的适应度,对该医疗数据子集进行迭代更新,并将迭代更新后的医疗数据子集确定为该目标数据子集。
[0158]
也就是说,计算机设备可以通过适应度函数求出各个医疗样本数据的适应度,适应度函数fitness(seq)三项分别为:∑
j=seq diversity(xj),∑
e balance(seq,e)和∑
e coverage(seq,e)。适应度函数表达为:(医疗数据子集中各个样本的信息量,该医疗数据子集与各个模型的相关性,该医疗数据子集的覆盖性)
[0159][0160]
示意性地,即三项属性具备等同重要度。
[0161]
在一种可能的实现方式中,在第n轮迭代更新过程中,将医疗数据子集中的至少一个医疗样本数据,替换为除该医疗数据子集之外的医疗样本数据,以获得中间医疗数据子集,n的起始值为1;
[0162]
根据该熵矩阵计算该中间医疗数据子集的适应度,并将该中间医疗数据子集以及该医疗数据子集中适应度更高的,确定为第n轮迭代更新后的医疗数据子集;
[0163]
若n小于预设轮数时,则再次执行将医疗数据子集中的至少一个医疗样本数据,替换为在该医疗数据子集之外的医疗样本数据的操作;
[0164]
若n达到该预设轮数时,将该第n轮迭代更新后的医疗数据子集确定为该目标数据子集。
[0165]
也就是说,在对医疗数据子集进行迭代更新的过程中,可以不断地将医疗数据子集中的医疗样本数据,替换为除医疗数据子集之外的其他医疗样本数据,从而得到与该医疗数据子集对应的中间医疗数据子集;
[0166]
此时在通过上述步骤中的适应度计算方法,分别计算医疗数据子集的适应度,以及中间医疗数据子集的适应度,在获取医疗数据子集的适应度,以及中间医疗数据子集的适应度后,可以将在该迭代轮次中的医疗数据子集与中间医疗数据子集进行适应度对比。
[0167]
当医疗数据子集与中间医疗数据子集中,医疗数据子集的适应度更高时,则说明将医疗数据子集进行替换操作后,反而降低了医疗数据子集与神经网络模型的匹配程度,此时保持医疗数据子集不变。
[0168]
相应的,当医疗数据子集与中间医疗数据子集中,中间医疗数据子集的适应度更高时,则说明将医疗数据子集进行替换操作后,提高了医疗数据子集与机器学习模型的匹配程度,此时可以直接将中间医疗数据子集更新为医疗数据子集。
[0169]
在一种可能的实现方式中,计算机设备将医疗数据集d按照标签分为互不相交的医疗数据子集subk。针对每一医疗数据子集subk,k∈[1,2,...,k],从subk中随机选取m(m大于等于1)个样本至seqk作为待检验数据子集,并使即先按照待检验数据子集复制出对应的候选数据子集,在子集sub
k-seqk中随机选取一例样本代替中一例样本,从而完成复制出的候选数据子集中的医疗样本数据的替换。
[0170]
此时比较待检验数据子集与候选数据子集的适应度,并将适应度高的更新为待检验数据子集,当迭代步骤小于指定数量时,继续对待检验数据子集进行迭代,当迭代步骤达到指定数量,将待检验数据子集作为目标数据子集。
[0171]
步骤307,将各个目标数据子集组合为优化后的医疗数据集。
[0172]
请参考图7,其示出了本技术实施例涉及的一种数据集优化的逻辑框架图。如图7所示。在对数据集进行优化时,可以先构建各个替代模型(即小替代模型)以及各个checkpoint模型,从而构建出查询集成模型。计算机设备通过查询集成模型对各医疗样本数据进行处理,从而构建出熵矩阵ent=[α
j,e
]
n,(m+n)
;此时计算机设备再通过滑动因子th,将ent矩阵转换成0-1矩阵,即mat
01
=[zo
j,e
]
n,(m+n)

[0173]
当完成上述计算后,对于不同的医疗数据子集,可以分别计算其对应的样本多样性表征、响应计数及覆盖性,并通过如步骤305所示的优化算法,得到医疗样本数据所构成的目标数据子集,并将各个目标数据子集合并作为最终的医疗数据集。
[0174]
综上所述,在训练对医疗数据进行处理的神经网络模型之前,计算机设备先获取到医疗数据集中的各个医疗样本数据,通过各个神经网络模型分别对各个医疗样本数据进行处理,并通过处理结果构建出熵矩阵;计算机设备还对医疗数据集划分为各个医疗数据子集,并通过熵矩阵计算医疗数据子集的多样性、均衡性和覆盖性,以对各个医疗数据子集进行更新,从而获得各个目标数据子集,此时各个目标数据子集组合即可以得到优化后的医疗数据集。上述方案,通过多个神经网络模型对医疗样本数据进行处理,各个医疗样本数据与神经网络模型所对应的熵矩阵,并通过各个医疗数据子集分别在熵矩阵中体现出的信息量计算多样性、均衡性和覆盖性,从而更好的评判各个医疗数据子集中医疗样本数据的好坏程度,进而对各个医疗数据子集进行更新,得到各个目标数据子集以组合得到优化后的医疗数据集,提高了优化后的医疗数据集中的各个医疗样本数据与神经网络模型的匹配程度,从而提高了通过优化后的医疗数据集进行神经网络模型训练的训练效果。
[0175]
图8是根据一示例性实施例示出的数据集优化装置的结构方框图。所述装置包括:
[0176]
医疗数据集获取模块801,用于获取医疗数据集;所述医疗数据集中包含各个医疗样本数据;
[0177]
样本数据处理模块802,用于针对每个所述医疗样本数据,分别通过各个神经网络模型对所述医疗样本数据进行处理,获得所述医疗样本数据对应的各个熵;所述神经网络模型用于对所述医疗样本数据进行推理计算;
[0178]
熵矩阵构建模块803,用于将各个所述医疗样本数据各自对应的各个熵构建为熵矩阵;
[0179]
数据子集划分模块804,用于对所述医疗数据集进行划分,获得各个医疗数据子集;
[0180]
数据子集更新模块805,用于针对每个医疗数据子集,通过所述熵矩阵计算所述医疗数据子集中样本的多样性、覆盖性及均衡性,并基于所述医疗数据子集中医疗样本数据的多样性、覆盖性及均衡性对所述医疗数据子集进行更新,获得目标数据子集;
[0181]
数据集优化模块806,用于基于各个所述目标数据子集,构建优化后的医疗数据集。
[0182]
在一种可能的实现方式中,所述熵矩阵构建模块,用于,
[0183]
将各个所述医疗样本数据各自对应的各个熵作为元素,以生成为所述熵矩阵;
[0184]
所述熵矩阵的行数为所述医疗样本数据的个数;所述熵矩阵的列数为所述神经网络模型的个数。
[0185]
在一种可能的实现方式中,所述数据子集更新模块,还用于,
[0186]
在所述熵矩阵中读取所述医疗数据子集中各个医疗样本数据所对应的元素值;
[0187]
将医疗数据子集中各个医疗样本数据所对应的元素值的和,与神经网络模型的个数的比值,确定为所述医疗数据子集中医疗样本数据的多样性。
[0188]
在一种可能的实现方式中,所述熵矩阵构建模块,还用于,
[0189]
将所述熵矩阵的元素中,大于目标滑动因子的元素转换为1,并将所述熵矩阵的元素中,小于目标滑动因子的元素转换为0,以获得更改矩阵;
[0190]
针对每个神经网络模型,在所述更改矩阵中获取所述神经网络模型对所述医疗数据子集中各个医疗样本数据进行处理所得到的元素,并求和以得到响应计数;
[0191]
计算更改矩阵中各个元素的平均值,以获得响应平均值;
[0192]
计算所述响应平均值与所述响应计数之间的标准差,以获得所述神经网络模型对应的响应偏差;
[0193]
将所述响应计数与所述响应偏差的比值,按照神经网络模型的类别进行求和,获得所述医疗数据子集的均衡性;
[0194]
将所述响应计数与所述更改矩阵的元素个数的比值,按照神经网络模型的类别进行求和,获得所述医疗数据子集的覆盖性。
[0195]
在一种可能的实现方式中,所述数据子集更新模块,还用于,
[0196]
基于所述医疗数据子集中医疗样本数据的多样性、覆盖性及均衡性进行加权求和,获得所述医疗数据子集对应的适应度;
[0197]
根据所述医疗数据子集的适应度,对所述医疗数据子集进行迭代更新,并将迭代更新后的医疗数据子集确定为所述目标数据子集。
[0198]
在一种可能的实现方式中,所述数据子集更新模块,还用于,
[0199]
在第n轮迭代更新过程中,将医疗数据子集中的至少一个医疗样本数据,替换为除所述医疗数据子集之外的医疗样本数据,以获得中间医疗数据子集;
[0200]
根据所述熵矩阵计算所述中间医疗数据子集的适应度,并将所述中间医疗数据子集以及所述医疗数据子集中适应度更高的,确定为第n轮迭代更新后的医疗数据子集;
[0201]
若n小于预设轮数时,则再次执行将医疗数据子集中的至少一个医疗样本数据,替换为在所述医疗数据子集之外的医疗样本数据的操作;
[0202]
若n达到所述预设轮数时,将所述第n轮迭代更新后的医疗数据子集确定为所述目标数据子集。
[0203]
在一种可能的实现方式中,所述各个神经网络模型包括m个小替代模型以及n个检查点模型;所述m个小替代模型为对目标初始模型的卷积层和/或池化层的层数缩减后得到的模型,或者,所述m个小替代模型为训练精度小于预设阈值的网络模型;所述n个检查点模型为与目标初始模型的模型结构相同;
[0204]
所述目标初始模型为对医疗样本数据进行推理计算的神经网络模型。
[0205]
在一种可能的实现方式中,所述装置还包括:
[0206]
模型缩减模块,用于对所述目标初始模型的卷积层和/或池化层的层数进行缩减,获得m个小初始模型;
[0207]
初始训练模块,用于根据所述医疗数据集分别对m个小初始模型进行训练,获得训练后的m个小替代模型;
[0208]
数据集选取模块,用于根据所述医疗数据集,对所述目标初始模型进行p轮预训练,并根据预训练后的目标神经网络模型在医疗数据集中选取训练数据集;
[0209]
模型参数获取模块,用于根据所述训练数据集,对所述目标初始模型进行t轮迭代训练,并获取最后n轮迭代过程中目标初始模型的模型参数;
[0210]
检查点模型获取模块,用于基于最后n轮迭代过程中的目标初始模型的模型参数,构建所述n个检查点模型。
[0211]
综上所述,在训练对医疗数据进行处理的神经网络模型之前,计算机设备先获取到医疗数据集中的各个医疗样本数据,通过各个神经网络模型分别对各个医疗样本数据进行处理,并通过处理结果构建出熵矩阵;计算机设备还对医疗数据集划分为各个医疗数据子集,并通过熵矩阵计算医疗数据子集的多样性、均衡性和覆盖性,以对各个医疗数据子集进行更新,从而获得各个目标数据子集,此时各个目标数据子集组合即可以得到优化后的医疗数据集。上述方案,通过多个神经网络模型对医疗样本数据进行处理,各个医疗样本数据与神经网络模型所对应的熵矩阵,并通过各个医疗数据子集分别在熵矩阵中体现出的信息量计算多样性、均衡性和覆盖性,从而更好的评判各个医疗数据子集中医疗样本数据的好坏程度,进而对各个医疗数据子集进行更新,得到各个目标数据子集以组合得到优化后的医疗数据集,提高了优化后的医疗数据集中的各个医疗样本数据与神经网络模型的匹配程度,从而提高了通过优化后的医疗数据集进行神经网络模型训练的训练效果。
[0212]
请参阅图9,其是根据本技术一示例性实施例提供的一种计算机设备示意图,所述计算机设备包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述方法。
[0213]
其中,处理器可以为中央处理器(central processing unit,cpu)。处理器还可以为其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
[0214]
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施方式中的方法对应的程序指令/模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施方式中的方法。
[0215]
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0216]
在一示例性实施例中,还提供了一种计算机可读存储介质,用于存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行以实现上述方法中的全部或部分步骤。例如,该计算机可读存储介质可以是只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、只读光盘(compact disc read-only memory,cd-rom)、磁带、软盘和光数据存储设备等。
[0217]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由下面的权利要求指出。
[0218]
应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1