一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于区块链的神经网络多端融合训练方法与流程

2021-12-14 22:57:00 来源:中国专利 TAG:


1.本发明涉及人工智能及区块链领域,具体涉及一种基于区块链的神经网络多端融合训练方法。


背景技术:

2.随着医疗技术与人工智能技术的发展,各医院纷纷利用先进的医疗设备来诊断疾病,将病人的病情以图像数据的方式可视化出来,辅助医师更加快速准确的诊断出病情和确定治疗方案。最常用的技术是利用dnn网络分割医疗图像数据,获得图像上器官的病灶区域,或者利用dnn网络对医疗图像分类。由于不同医院的医疗图像数据涉及到病人隐私问题,不能共享,再加上医疗图像数据标注困难,需要专业人员进行标注,导致各医院可用于神经网络训练的数据集规模不会太大,使得各医院训练的网络不能都具有较高的准确率。
3.为了充分利用各医院的数据集,获得一个准确的网络,需要将各医院训练的网络的参数进行融合,正如联邦学习的思想一样,但是由于各医院数据的数据不能共享,导致不能在训练网络之前对训练集的进行数据筛选和数据清洗,导致不同医院的医疗图像数据的特征分布不一致,有的医院的医疗数据可能更多的描述一些特征,另一个医院的医疗图像数据更多的描述另外一些其他的特征。除此之外,不同医院的数据标注标准和能力,以及数据的规模不一致,都会影响神经网络的参数的融合结果的准确性。


技术实现要素:

4.本发明提供一种基于区块链的神经网络多端融合训练方法,以解决现有的医疗信息无法共享,且各医院之间数据规模不一致的问题。
5.本发明的基于区块链的神经网络多端融合训练方法采用如下技术方案:步骤一:获取各医院带标签的医疗图像数据进行训练得到各医院的dnn网络,计算各医院dnn网络在测试集上的准确率,获取准确率最高的dnn网络对应的医院产生一个新区块,将该医院的dnn网络存储在新区块中并将新区块链接在区块链上;步骤二:各医院利用最新区块存储的dnn网络,计算各医院的测试集在该dnn网络上的准确率,得到所有医院的准确率集合s1;各医院根据最新区块存储的dnn网络的参数重新训练网络,利用重新训练的dnn网络计算各医院在测试集上的新准确率,得到所有医院的准确率集合s2;对所有医院重新训练的dnn网络参数求均值,将该均值作为新参数得到一个新dnn网络,提取s2中准确率最高的dnn网络对应的医院产生一个区块,将新dnn网络与s1中的准确率存储在该医院产生的区块中,将该区块作为最新区块进行迭代,所述区块为融合区块;步骤三:将产生的融合区块按产生次序排列,得到各医院在融合区块上的准确率变化序列,对各医院的准确率变化序列进行均值滤波,根据滤波结果计算各医院的表征能力与医院之间的特征差异,利用各医院的表征能力及医院之间的特征差异对医院进行分类,并确定dnn网络的融合策略;
步骤四:保持dnn网络的融合策略不变,利用被选择的医院训练的dnn网络生成一组新的融合区块,确定dnn网络是否收敛;若dnn网络收敛,则确定该融合策略为最终的融合方法,若dnn网络未收敛,改变dnn网络的融合策略直至网络收敛。
6.得到准确率的方法,是将医院所有带标签的医疗图像数据作为数据集,其中80%作为训练集,20%作为测试集,利用训练集训练出dnn网络的参数,并计算出各医院的dnn网络在其测试集上的准确率。
7.各医院的表征能力的计算方法如下:式中:为该医院的表征能力;为准确率变化序列的长度,即融合区块的数量;对应区块链上的一个区块;为准确率变化序列的均值滤波结果。
8.医院之间的特征差异的计算方法如下:式中:为医院1与医院2之间的特征差异;表示医院2的准确率变化序列的波动序列;表示医院1的准确率变化序列的波动序列;表示波动序列的长度;其中波动序列的计算公式如下:式中:表示各医院的波动序列;为各医院的准确率变化序列。
9.医院之间的边权值的计算方法如下:式中:为医院1的表征能力;为医院2的表征能力;为医院1与医院2之间的边权值。
10.确定dnn网络的融合策略的过程如下:以各医院为节点,计算医院之间的边权值,得到一个图结构数据,对图结构数据上的节点分类,对每个类别中的所有医院,计算出各医院被选择的概率提取符合条件的医院。
11.计算各医院被选择的概率的方法如下:对于分类后包含医院数量最多的类别s,该类别中所有医院被选择概率都为1.0;除包含医院数量最多的类别的其他类别中,各医院被选择的概率为:式中:为该医院被选择的概率;表示类别s中所有医院之间边权值中的最大边权值;为医院n与类别s中所有医院的边权值中的最小边权值。
12.所述融合策略不变即为各医院被选择的概率不变。
13.本发明的有益效果是:本发明的目的是将各医院训练的网络的参数进行融合后在进行训练,并根据融合后的网络在各医院的训练集上的表征能力以及在不同医院训练集上提取到的特征的差异,获得网络的融合策略。然后通过不断的改变融合策略,最终获得能够准确提取出所有医院数据特征的网络。
附图说明
14.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
15.图1为本发明实施例提供的一种流程结构示意图。
具体实施方式
16.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
17.本发明的一种基于区块链的神经网络多端融合训练方法的实施例,如图1所示。
18.以下具体展开描述:步骤一:各医院训练各自的神经网络,并存储在区块链上。
19.1.对各医院构建一个语义分割网络,本实施例中所有医院使用现有的u

net网络。将医院所有带标签的医疗图像数据作为数据集,数据集中80%作为训练集,20%作为测试集;利用训练集训练出语义分割网络的参数,并计算出各医院训练出的语义分割网络在各医院测试集上的准确率。本实施例后续用dnn网络(deep neural networks,深度神经网络,简称神经网络)来指代这个语义分割网络。
20.2.将各医院训练出dnn网络的参数以及计算出的每个dnn网络在测试集上的准确率共享出去,然后获取准确率最大的dnn网络对应的医院,使该医院产生新区块,并且将该医院训练的dnn网络存储进这个新的区块中,将该区块连接在区块链上,并给予该医院奖励。
21.3.将根据dnn网络的准确率大小来决定哪个医院产生的区块可以被连接在区块链上的过程视为一个共识机制,并且通过给予奖励激励医院训练出准确率更高的dnn网络;医院可以通过标注更多更全面的数据集,或者这对数据进行筛选清洗来保证数据分布合理,以此来提高训练的dnn网络的准确率。
22.步骤二、各医院重新训练区块链上存储的dnn网络,并将各医院训练的dnn网络参数进行融合后存储在区块链上,迭代该步骤得到多组融合区块。
23.1.读取区块链上最新的区块上存储的一个dnn网络,各医院利用自己的测试集计算这个dnn网络的准确率,将所有医院获得的多个准确率记为集合s1。然后各医院利用自己的训练集在这个dnn网络的原有参数的基础上重新训练dnn网络,使得dnn网络再次收
敛,各医院计算出重新训练后dnn网络在医院a的测试集上的准确率,获得所有医院的准确率a2,记为集合s2。
24.2.各医院将重新训练之前的dnn网络在测试集上的准确率以及重新训练后的dnn网络在测试集上的准确率,以及各医院重新训练后的dnn网络的参数共享给其他医院。
25.3.获取s2中的准确率的最大值对应的dnn网络对应的医院a产生一个新区块,对所有医院共享的dnn网络的参数求均值,然后以该均值作为一个dnn网络新的参数,这个dnn网络就是所有医院的dnn网络融合后的dnn网络,然后将这个dnn网络以及s1中的准确率存储在医院a产生的新区块中,并将这个新区块连接在区块链上,这个新的区块称为融合区块。
26.4.不断迭代步骤二产生新的融合区块,区块上存储的dnn网络不断的融合着所有医院的数据特征。将新产生的k(本实施例中k=30)个融合区块看作一组融合区块,当产生k各融合区块后,按照步骤二所述去产生下一组融合区块。
27.步骤三、根据区块链上存储的dnn网络,获取dnn网络在各医院的训练集上的表征能力以及在不同医院训练集上提取到的特征的差异,获得dnn网络融合策略。
28.1.假设新产生k个融合区块后,下一个融合区块是应该由医院a生成(具体判断由哪个医院产生的见步骤一.3的共识机制),那么医院a获取区块链上的前k个融合区块上存储的各医院的准确率,即这前k个融合区块中,每个融合区块都存储一个步骤二所述的s1(这里获得的s1表示的是dnn网络被融合后、被重新训练之前在所有医院测试集上的准确率的集合),根据这一组融合区块产生的先后顺序,各医院在该组融合区块上存储的这些准确率构成一个准确率变化序列,假设其中的任意一个医院b的准确变化序列为,k表示序列的长度,表示序列中的第个元素值,其中对应区块链上的一个区块。序列中的每个元素表示每次融合后的dnn网络在医院b的测试集上的准确率,用于表征融合后的dnn网络是否学习到医院b的训练集数据特征。
29.2.对于其中一个医院b的准确率变化序列,对该序列进行均值滤波,滤波结果为,与等长,令 表示融合后的dnn网络对医院b的表征能力。越大说明dnn网络经过不断的融合之后对医院b的训练集具有将较强的表征能力。
30.3.假设医院c的准确率变化序列为,令表征融合后的dnn网络对医院b和医院c的训练集上所提取的特征准确率的差异,简称为医院b和医院c的特征差异,具体计算方法为:首先对分别进行均值滤波,获得等长度的序列;然后获取波动序列,以及波动序列。(表示两个序列相减,其结果是序列中对应元素相减,两个序列相减的结果仍是一个等长度的序列)。
31.和表示准确率变化序列为和中每个元素相比平均值的波动变化序列。那么医院b和医院c的特征差异
表示中的第个元素,表示上的第个元素与平均值的差异。表示上的第个元素的与均值的差异与上的第个元素的与均值的差异的差值的绝对值。越大,说明序列与中元素的变化趋势刚好相反,例如的元素变大时,的元素变小;或者的元素变小时,的元素变大。
32.接下来根据融合dnn对各医院的训练集的表征能力,以及医院与医院的特征差异,对医院进行分类,并获取dnn网络的融合策略。
33.1.以各医院为节点,任意两个医院b、c的边权值为,即如果dnn网络对两个医院的表征能力差别大,且两个医院的特征差异大,那么这两个医院的边权值就大,至此获取一个图结构数据,利用谱聚类算法对这个图结构数据上的节点进行分类,可以获得多个类别。同一个类别中的医院表示融合的dnn网络无法同时提取这些医院的训练集的特征,因此需要改变dnn网络的融合方法。
34.2.改变dnn网络的融合方法如下所述:当新产生k个融合区块后,医院a(即集合中准确率最大的网络对应的医院)需要再产生一个新区块时,首先a获取到所有医院共享的dnn网络,然后医院a获得了多个类别,每个类别都是医院的集合。之前医院a融合dnn网络的做法是对所有医院的dnn网络参数取均值进行融合,但是这种融合方法会使得融合的dnn网络无法同时提取这些类别中的医院的训练集的特征,因此医院a不能再对所有的医院的dnn网络取均值,而是要以一定概率选择出一些合适的医院,然后在对这些医院的dnn网络取均值。
35.3.各医院被选择的概率计算方法如下:对于这些类别中包含医院数量最多的类别s,s中各医院被选择的概率为1.0,原因是dnn网络无法同时提取医院数量较多的s类别中的这些医院的训练集的特征,因此需要将这些医院的dnn网络进行融合,使得融合后的dnn网络更多包含s中医院的dnn网络的特征信息,使得融合后的dnn网络被重新训练后变得能够同时提取这些医院的训练集的特征。
36.4.对于s之外的其他医院中的任意一个医院n被选择的概率为,表示s中所有医院之间的边权值中最大的边权值,该值越小说明越需要再融合进一些其他医院的dnn网络。表示医院n与类别s中所有医院的边权值中最小的边权值,该值越大表示dnn网络除了不能同时提取s中的医院的训练集的特征之外,也不太能同时提取到医院n的训练集的特征,因此越大越需要以较大的概率选择医院n,将医院n训练的dnn网络融合进去。
37.4.至此,医院a在获得类别s后也获得了各医院的被选择概率,然后以这个概率去选择各医院,有的医院会被选择到,有的不会被选择到,获取选择到的这些医院的dnn网络,并计算这些dnn网络参数的均值,然后医院a将该均值作为一个dnn网络的参数。至此医院a根据一个类别s融合出一个dnn网络,并生成一个新区块,最终医院a将融合后的dnn网络存储在新区块中,除此之外,还需像步骤一一样将准确率集合s1存储进区块中,并将该区块连接在区块链上,给予该医院奖励。根据各医院的被选择概率选择医院并且获得融合dnn网络的过程就是dnn网络的融合策略,如果各医院的被选择概率保持不变,那么就认为dnn网络的融合策略不变,如果各医院的被选择概率发生变化,那么就认为dnn网络的融合策略发生
改变。
38.步骤四、保持dnn网络的融合策略不变,利用融合策略中被选择的医院和步骤二中产生融合区块的方法生成一组新的融合区块,直至网络收敛。
39.1.保持dnn网络的融合策略保持不变,再生成k个新的融合区块,再生成k个融合区块之后,迭代本实施例的步骤三的过程,直至dnn网络收敛。在这个过程中不断的根据dnn网络能否同时提取多个医院之间的特征来改变dnn网络的融合策略,使得dnn网络学习到正确的特征、避免各医院数据的分布差异和不均衡以及数据异常所引起的dnn网络准确率低的问题。
40.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献