基于区块链的医疗影像数据人工智能检测模型*

2022-11-15 05:56源,谭迪,魏剑,盖
网络安全与数据管理 2022年10期
关键词:网络结构卷积服务器

陈 思 源,谭 艾 迪,魏 双 剑,盖 珂 珂

(1.北京理工大学 计算机学院,北京 100081;2.北京理工大学长三角研究院(嘉兴),浙江 嘉兴 314019;3.中国船舶工业综合技术经济研究院,北京 100081;4.北京理工大学 网络空间安全学院,北京100081)

0 引言

医院每天产生和诊断大量的医疗影像,据统计在医疗数据中,影像数据占数据总量的90%以上。随着医疗检测设备的更新换代和不断增加,影像数据以每年超过30%的增长速度急剧增加。与此形成鲜明对比的是,医生数量缓慢增长,这使得影像诊断如阅读分析CT(计算机断层扫描)等工作对医生造成的负担日益加剧,经验缺乏与工作量增大容易造成误诊。随着大数据和人工智能技术的发展,利用计算机辅助诊断,使用基于人工智能的目标检测技术帮助医生做出快速判断,对减轻医生负担、增加诊断准确率、提高就诊效率而言就显得十分必要且具有现实意义。

目标检测技术因其广泛的现实应运用场景备受学术界和工业界关注。随着计算机算力的不断提升,目标检测技术蓬勃发展,衍化出双阶段和单阶段两大类。

Faster R-CNN[1]、R-FCN[2]和FPN[3]都属于双阶段,该类算法在基于特征提取的基础上,在目标对象上生成候选区域,再对其区域进行分类和回归,用矩形框确定准确位置信息并判定类别。双阶段类算法中,R-CNN[4]是最早的深度学习目标检测算法,显著提升了目标检测平均精准度(mean Average Precison,mAP);He[5]通过引入空间金字塔池化层(Spatial Pyramid Pooling,SPP)提出SPP-NET,检测效率较R-CNN大幅提高;Fast R-CNN[9]改 进了R-CNN的池化核,将候选区域映射成统一尺度的特征向量,提高了模型训练效率。一般的,双阶段类算法具有较高的精度。

YOLO[6],SSD[7]和RetinaNet[8]等属于单阶段目标检测算法。该类算法一次性实现候选区域的生成、分类和回归。YOLO网络结构简单,具有速度快、实时性较好的特点,是单阶段类算法的代表。SSD通过对不同卷积层预设锚盒提取特征,优化了对多尺度目标的检测。YOLOv3延续了之前版本Darknet结构的使用,同时引入残差结构,提高了小尺度目标的检测精度。总的看来单阶段类算法具有较高的效率。

然而,目标检测确保预测精准的必要前提是需要大量准确数据。训练样本过小,会导致学习效果不佳。错误的数据更是可能产生误导性的结果。为了获得大量数据,在医院、研究中心等机构间共享医疗数据是简单高效的解决方案,但是中心化的医疗数据存储不利于数据分享,容易催生倒卖数据的黑色产业,更不利于对患者隐私的保护。区块链是一种分布式的数据账本,可以在零信任基础的用户之间实现安全的数据共享。将区块链用于医疗数据存储和共享,这意味着用户可以得到更多的训练数据,产生更好的训练模型,得到更准确的诊断预测结果,并有助于数据集的丰富和更新。除此之外,区块链有助于帮助AI解释自己,使AI的“黑匣子”存在被人类理解的可能。区块链的数据公布于链上且不可篡改,拥有清晰的数据审计基础,不仅可以提高数据和模型的可信度,还可以提供一条清晰的路径来追溯计算机决策的过程,消除人们对AI诊断的顾虑。

本文提出了一种新的医疗影像数据人工智能检测模型,该模型使用区块链网络,利用智能合约实现医疗影像数据共享,通过密码学技术保证数据安全和隐私保护。

1 基于深度学习的目标检测

基于深度学习的目标检测算法,其性能主要取决于网络结构,常见的网络结构结构有卷积神经网络和残差网络结构等。

1.1 卷积神经网络

卷积神经网络结构一般分为下列层级:

(1)输入层

输入一般为图片,经过输入层的运算处理,可转化为三维像素矩阵,三个维度分别代表图像的长宽和色彩的通道数。黑白图片通道数为1,彩色图片通道数为3。经过输入层后,三维矩阵再通过不同网络结构进行变换,直到最后的全连接层为止。

(2)卷积层

卷积层用于提取特征。输入矩阵通过卷积核得到输出矩阵。卷积核也是一个三维矩阵,它的长和宽是通常为3×3或5×5。因为卷积操作两个矩阵的深度必须是一致的,所以滤波器的深度不可以改变,必须和输入层矩阵的深度一致。卷积核还需要人工设置个数,它的个数决定了输出层矩阵深度的大小。

(3)池化层

池化层用于压缩数据尺寸大小,减少参数个数,在加快网络计算速度的同时又能够防止过拟合问题的出现。

池化层通过使用过滤器在矩阵上进行滑动,根据过滤器计算方式为取最大值还是平均值,分为平均池化和最大池化。平均池化与目标区域所有值都有关,所以对图像背景信息的保留更为完整,而最大值池化并非与所有值有关,因此突出保留边缘纹理信息,这是识别目标的重要特征,所以图像识别大多使用最大值池化法。

(4)全连接层

全连接层的作用类似于分类器,用于实现特征到样本空间的映射,可以通过采用尺寸1×1的卷积核的卷积层替代。

(5)softmax层

如图1所示,softmax层往往作为深度神经网络的最后一层,作为多分类的输出,输出值为不同分类的概率。最后一次全连接神经元的个数n即为需要分类的种数。之后将所有的经过softmax运算得到最终的输出,softmax运算公式为:

图1 softmax层结构

softmax运算相当于将输入值映射为0~1之间的实数,并且所有的输出值和为1,正好可以把输出值看作为判断为该类别的概率,所以它可以作为分类问题中卷积神经网络的输出。

1.2 残差网络结构

随着深层卷积网络深度不断增加,出现了准确率反而降低的网络的退化现象,其本质就是因为信息丢失而出现了过拟合问题。在网络层数较多的情况,经卷积处理的图片会使得原本差别很大的图像变得相似,那么这种情况下的分类结果过会出现误差,问题的解决办法就是提高泛化性和差异性,由此产生了残差网络,其结构如图2所示。残差结构通过断开式设计,将之前层级中的数据直接输入到后面数据层中,设x为输入,拟合函数映射设为H(x),定义残差映射F(x)=H(x)-x,则原始的映射函数H(x)可表示为F(x)+x。

图2 残差网络结构

2 区块链

区块链是一种变革式的数据存储技术,又称分布式账本,是比特币的底层技术,利用数字签名、散列函数等密码学技术,结合P2P网络实现的去信任、无法篡改的分布式数据库[10]。数据存储在称为区块的结构中,这些区块通过散列以链形式相互连接(通常每个块还包括时间戳和通过其散列指向前一个块的链接)。这些块具有报头和内容。由于区块之间按一定规则顺序相连,随着参与者和区块数量的增加,在没有网络共识的情况下,要修改任何信息都是极其困难的。

从区块链技术实现的层面来看,区块链并不是计算机领域某一单一技术的改良或革新,而是多种跨领域成熟技术的完美结合。当这些技术不再以独立的身份孤立存在,而是以新的方式相互融合,创造了一种全新的数据承载模式[11]。

区块链迅速为人们所熟知,并广泛应用于大数据、物联网[12-16]等多个领域,得益于其本身具有的多种出众特性,其中去中心、透明性和可溯源性、不可篡改性是其最为突出的优势:

(1)去中心化

相较于传统的中心化服务器存储,区块链避免了使用单一节点存储、更新数据的弊端,取而代之的是由所有参与方共同维护网络数据。这种方式不仅提高了系统的安全性,同时使网络数据不会因为某一寡头存在而使整个网络被更改和控制。

(2)透明性和可溯源性

区块链面向所有接入节点开放,以比特币为例,所有接入节点均可以查询区块链中的任意交易,每一节点都有权保存全部交易账本,因此是面对交易透明的。于此同时,区块之间以链式结构首尾相连,按上链时间先后顺序记录数据,因此实现了交易可溯源[17]。

(3)不可篡改性

区块链上的数据上链前需运行共识算法,达成共识后方可上链。共识算法种类很多,以比特币为例,其采用工作量证明(POW)共识算法,链上交易需经过6个区块后才能被确认为交易成功,这使得算力在50%以下的攻击者想要篡改链上数据几乎不可能实现[18],由此保证了不可篡改性。

3 模型设计

模型结构如图3所示,目的是要充分利用各医院的医疗影像数据,在众多机构参与的情况下形成海量的数据集,从而训练得到更好的全局模型。对于某一训练任务,服务器对任务进行细分,明确学习的对象、相关设备、应用的类型(如CT图)、训练集的格式、训练模型(如卷积神经网络)、训练要求(如学习率)等。为了保证各方原始数据不泄露,对k家医院,它们各自拥有nk个数据点,设本地模型权重为wt,学习率为η,医院在本地训练其模型,并将更新参数记录在区块链上,再由服务器聚合得到全局模型。

图3 模型结构

参数更新公式如下:

本地权重更新:

全局权重更新:

各医院节点充当区块链矿工,以工作量证明的共识机制(PoW)将更新参数记录到区块链中,以此基于贡献的原则激励数据共享。

为了保证数据安全,采用加密数据上链。各医院拥有自身密钥{PKj,SKj}{j=1,2,3,…,K}。 服务器提出任务txi时,生成临时密钥串上标代表任务批次,下标代表医院编号,并使用对应医院的密钥加密后广播,因此各医院只能得到自己的临时密钥。各医院使用自身临时密钥对数据加密并做哈希后再将数据上链。在区块链中,每个区块对应某一学习任务txi,对每家医院而言,只能通过解密方式查看自己的数据,其他链上数据呈现加密乱码,由此保护各医院数据的独立安全。

除此之外,考虑两种现实需求:(1)医院想借助服务器诊断CT图,除服务器给出的结果外,医院还需判断该结果的准确率;(2)医院A需要医院B的链上数据以优化自己的本地模型。

对于(1),过程如图4所示,设医院H需服务器对CT图x0进行诊断,得到病因y0。为了不暴露患者隐私,医院H不想服务器知道需要诊断的具体为哪张CT图,为此引入图x1,x2,…,xt作为混淆输入。x1,x2,…,xt为 已 被 正 确 诊 断 的CT图,x1,x2,…,xt对应诊断结果y1,y2,…,yt。{x0,{x1,y1},{x2,y2},…,{xt,yt}}被H提交至智能合约,智能合约再将{x0,x1,x2,…,xt}发送服务器。由于没有收到y1,y2,…,yt,服务器无法识别真实需要判断的CT图x0,无差别地对所有输入进行判断,将所有判断结果{y0,y1,…,yt}

图4 申请服务器诊断流程

对于(2),过程如图5所示,设医院A向智能合约发送请求SKA(request),希望得到区块txi上医院B的数据dataB,智能合约验证医院A的签名后,转发请求至医院B。医院B将链上对应数据解密,使用加密dataB,并用SKB签名后发送给智能合约。随后智能合约验证签名并转发医院A,医院A使用自己的临时密钥SKA解密得到医 院A对解密后的数据用医院B的临时密钥加密并做哈希运算,查看结果与链上数据是否一致,从而可以判断医院B是否交付真实数据。

图5 申请数据流程

4 结论

本文提出了一种基于区块链的医疗影像数据人工智能检测模型。该模型基于区块链网络结合加密和签名技术,采用各方本地训练模型、在链上聚合更新权重的方式实现数据安全共享并避免了原始数据泄露。本文还细化提出了医院共享数据、判断服务器诊断准确率的方法。

猜你喜欢
网络结构卷积服务器
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
快递网络结构研究进展
基于AutoML的保护区物种识别①
PowerTCP Server Tool
BlackJumboDog
从滤波器理解卷积
2018年全球服务器市场将保持温和增长
基于傅里叶域卷积表示的目标跟踪算法
基于互信息的贝叶斯网络结构学习