如今,在一些疾病的诊断领域,AI的准确率已经超过了医生。
靠谱的诊断结果背后,是建立海量数据集上的机器学习。
但实际上,可用于训练的医疗数据非常分散,想要把世界各地的数据都集合起来又会引发对数据所有权、隐私性、保密性、安全性的担忧,甚至数据垄断的威胁……
常用的方法如联邦学习,可以解决上述的一些问题,但该模型的参数由“中央协调员”( central coordinator)处理,造成了“权力”的集中,且它的星形架构也导致容错性降低。
就没有好的解决办法吗?
有,Nature封面为我们刊登了一种叫做Swarm Learning(群体学习,SL)的全新机器学习方法!
该方法结合了边缘计算、基于区块链的对等网络,无需“中央协调员”,超越了联邦学习,可以在不违反隐私法的情况下集合来自世界各地的任何医疗数据。
研究人员用了四个异质性疾病(结核病、COVID-19、白血病和肺部病变),来验证了Swarm Learning方法使用分布式数据来诊断疾病的可行性。
具体如何实现?
群体学习方法采用去中心化的架构,用私人许可的区块链技术实现。
整个Swarm网络由多个Swarm边缘节点组成,节点之间通过该网络来共享参数,每个节点使用私有数据和网络提供的模型来训练自己的模型。
该方法提供安全措施,以支持通过私有许可区块链技术保证数据的所有权、安全性和机密性。
其中,只有预先授权的参与者才能加入,且新节点的加入是动态的,通过适当的授权措施来识别参与者,并通过区块链智能合约注册,让参与者获得模型,执行本地模型训练。
直到本地模型训练到满足定义的同步条件后,才可以通过Swarm的API交换模型参数,并在新一轮训练开始之前,合并新的参数配置来更新模型。
△ 群体学习与其他机器学习方法的架构对比
因此该群体学习方法具有以下特点:
可以将数据所有者的医疗数据保存在本地; 不需要交换原始数据,因此可减少数据流量(data traffic); 可以提供高水平地数据安全保护; 无需中央管理员就可保证分散成员安全、透明和公平地加入; 允许所有成员同等权利地合并参数; 保护机器学习模型免受攻击。
为了验证该方法基于分布式数据开发诊断疾病功能的可行性,研究人员用它来诊断四种疾病。
区分轻度和重度 COVID-19 ,表现优于单个节点
首先是白血病。
研究人员将超过12000多个的样本数据“孤立”到各个节点,以模拟中现实世界中分布在世界各地的医疗中心。
再用群体学习训练这些数据再去诊断未知病人,他们发现,无论如何改变各个节点的样本分布情况,群体学习方法的诊断准确率均优于单个节点。
接着使用群体学习识别结核病或肺部病变患者,结果也是如此,且减少训练样本的数量以后,群体学习的预测效果虽然下降,但仍优于任何一个单独的节点。
紧跟疫情,研究人员也检测了群体学习对于诊断新冠病毒的效果。
结果显示,在区分轻度和重度 COVID-19 时,群体学习的表现优于单个节点。
最后,研究人员表示,群体学习作为一个去中心化的学习方法,有望取代目前跨机构医学研究中的数据共享模式,在保证数据隐私等方面的情况下,帮助AI获得更丰富全面的数据,为AI诊断疾病提供更高的准确率。
论文地址: https://www.nature.com/articles/s41586-021-03583-3
GitHub代码:
https://github.com/schultzelab/swarm_learning