【医学图像隐私保护】PLAN方法:解决 GAN 生成医学图像 Latent 空间中的隐私保护

PLAN方法:解决 GAN 生成医学图像 Latent 空间中的隐私保护方法

    • PLAN 原理
      • StyleGAN 生成视网膜图
      • k-SALSA 生成视网膜图
      • PLAN方法 生成视网膜图
    • 总结

 


PLAN 原理

论文:https://arxiv.org/abs/2307.02984

代码:https://github.com/perceivelab/PLAN

 

生成对抗网络 (GAN) 已经证明了其生成与目标分布匹配的合成样本的能力(比如 Sytle GAN 生成视网膜图)。

然而,从隐私角度来看,使用 GAN 作为数据共享的代理并不是一个安全的解决方案,因为它们往往会在latent空间中嵌入接近重复的真实样本。

最近的研究通过在潜在空间中聚合样本来解决这个问题,是受到k-匿名原则的启发,但这样做的缺点是将数据集的大小减少了k倍。

PLAN方法旨在通过提出一种隐空间(Latent Space)导航策略来缓解这个问题,该策略能够生成多种合成样本,这些样本可以支持深度模型的有效训练,同时以原则性的方式解决隐私问题。

我们的方法利用辅助身份分类器作为指导,以非线性的方式在潜在空间中的点之间行走,最小化与真实样本近似副本的碰撞风险。

论文实证,给定潜在空间中任意一对随机点,我们的行走策略比线性插值更安全。

然后,我们将寻路策略与k-same方法结合起来,并在结核病分类和『糖尿病视网膜病变分类』的两个基准测试中进行了测试,使用我们的方法生成的样本训练模型可以减轻性能下降,同时保持隐私保护。

对于糖尿病视网膜病变分类,使用了APTOS眼底图像数据集,这个数据集包含被眼科医生按照严重程度分为五级的视网膜图像。

为了模拟医学应用中常见的数据量有限的情况,随机选择了950张图像,均匀分布在各个类别中。

所有图像都被调整大小到256×256,并按照70%、10%、20%的比例划分为训练集、验证集和测试集。
 

StyleGAN 生成视网膜图

比如使用StyleGAN来生成视网膜图:

  1. 训练数据收集:首先收集大量真实的视网膜图像作为训练数据集。
  2. 训练StyleGAN:使用这些真实的视网膜图像来训练StyleGAN模型。这个训练过程通过不断的迭代,让生成器(G)学习如何产生看起来真实的视网膜图像,而鉴别器(D)学习如何区分真实图像和生成图像。
  3. 生成图像:训练完成后,可以通过向生成器输入潜在空间中的随机点,生成新的视网膜图像。

但是,如果直接从GAN生成数据,可能会有隐私泄露的风险,特别是在图像与个人健康数据紧密相关的情况下。

因为 GAN 会在 latent 空间中嵌入接近重复的真实样本。
 

k-SALSA 生成视网膜图

k-SALSA是一个应用了k-匿名原则的算法,它在生成合成的视网膜底片图像时尝试保持隐私。

k-SALSA通过将k个真实样本合并成一个合成样本来实现这一点,这样可以保证合成样本不会直接映射回任何个体的真实样本。

选择真实样本:从真实数据集中选择k组样本。

样本聚合:将这k组样本在潜在空间中聚合,生成一个合成样本。这样做的目的是确保任何合成的图像都不会直接对应于任何一个具体的真实样本,从而增加了隐私保护。

风格对齐:k-SALSA方法特别提出了局部风格对齐策略,以确保合成的图像在视觉上类似于原始数据,保持了医学上的有效性,同时避免了暴露任何个人的特定特征。

但通过这种方法生成的数据集大小会减少k倍。

因为每k个真实样本只生成了一个合成样本。

如果原始数据集有N个样本,那么应用k-SALSA之后,只会有 N/k 个合成样本,这显著减少了数据集的大小。
 

PLAN方法 生成视网膜图

而使用PLAN方法生成视网膜图像则添加了隐私保护的步骤:

  1. 使用身份和辅助分类器:在训练过程中,PLAN方法会利用一个身份分类器来识别和隔离与个体身份相关的特征,并使用一个辅助分类器来确保保留与视网膜图像分类相关的特征。
  2. 隐私保护的潜在空间导航:在潜在空间中,PLAN方法会找到一条路径,这条路径上的点可以生成视网膜图像,同时避免泄露任何个人的特定特征。
  3. 生成合成样本:沿着这条导航路径,PLAN方法可以生成新的视网膜图像,这些图像在保留了用于诊断或分析所需特征的同时,不会泄露个人身份信息。

PLAN方法提供了一个额外的隐私保护框架,允许在生成视网膜图像的同时减少潜在的隐私风险。

  • 使用专门的身份分类器来隔离个体身份特征,同时利用辅助分类器确保合成图像保留医学上重要的分类特征。
  • PLAN方法通过在潜在空间中寻找一条安全路径来生成新的视网膜图像
  • 该路径的点被优化以避免生成任何可以追溯到训练集中个体的图像

在这里插入图片描述
PLAN方法 具体步骤:

  1. GAN训练:首先,需要使用真实的视网膜底片图像来训练一个GAN模型,这个模型能够学习和复现真实视网膜图像的分布。在这一阶段,模型的生成器(G)将能够从潜在空间(W)中产生新的图像(X)。

  2. 潜在空间优化:一旦模型被训练好,接下来的步骤是在潜在空间中定义和优化一个隐私保护的轨迹。这意味着我们要找到一组潜在向量 W ‾ ) \overline{W}) W),使得从这些向量生成的图像与训练集中的图像有足够的差异,以保护个人隐私。这个过程需要避免那些可能对应于真实视网膜图像的潜在区域。

    计算潜在空间中轨迹的等距离损失 L d i s t = ∑ i = 1 T − 1 ∥ w ˉ i , w ˉ i + 1 ∥ 2 2 \mathcal{L}_{\mathrm{dist}}=\sum_{i=1}^{T-1}\left\|\bar{\mathbf{w}}_i,\bar{\mathbf{w}}_{i+1}\right\|_2^2 Ldist=i=1T1wˉi,wˉi+122

    这个公式是计算潜在空间中轨迹的“等距离损失”,确保在潜在空间中导航时,连续点之间的距离大致保持一致,以此促进样本多样性并防止模式崩溃。

    • L d i s t \mathcal{L}_{\mathrm{dist}} Ldist:这是等距离损失的表示,用于度量潜在空间中连续点之间的距离。
    • ∑ i = 1 T − 1 \sum_{i=1}^{T-1} i=1T1:这表示对所有T步中的连续点对进行求和。
    • ∥ w ˉ i , w ˉ i + 1 ∥ 2 2 \left\|\bar{\mathbf{w}}_i,\bar{\mathbf{w}}_{i+1}\right\|_2^2 wˉi,wˉi+122:这是计算两个连续潜在点 w ˉ i \bar{\mathbf{w}}_i wˉi w ˉ i + 1 \bar{\mathbf{w}}_{i+1} wˉi+1 之间的欧几里得距离(L2范数)的平方。
       

    用于在PLAN方法中优化潜在空间的路径,确保生成的合成样本具有多样性,同时避免生成与真实样本过于接近的图像

     

    身份损失-隐私保护导航 L i d = ∑ i = 1 T K L [ ϕ i d ( G ( w ˉ i ) ) ∥ U ( 1 / n i d ) ] \mathcal{L}_{\mathrm{id}}=\sum_{i=1}^T\mathrm{KL}[\phi_{id}(G(\bar{\mathbf{w}}_i))\parallel\mathcal{U}(1/n_{\mathrm{id}})] Lid=i=1TKL[ϕid(G(wˉi))U(1/nid)]

    • L i d \mathcal{L}_{\mathrm{id}} Lid:这是身份损失的表示,用于评估生成样本的隐私保护程度。
    • ∑ i = 1 T \sum_{i=1}^T i=1T:这表示对所有生成的潜在点进行求和。
    • K L [ ϕ i d ( G ( w ˉ i ) ) ∥ U ( 1 / n i d ) ] \mathrm{KL}[\phi_{id}(G(\bar{\mathbf{w}}_i))\parallel\mathcal{U}(1/n_{\mathrm{id}})] KL[ϕid(G(wˉi))U(1/nid)]:这是计算 KL 散度,用于衡量由辅助网络 ϕ i d \phi_{id} ϕid 在点 w ˉ i \bar{\mathbf{w}}_i wˉi 上生成的样本的身份分类分布与均匀分布 U ( 1 / n i d ) \mathcal{U}(1/n_{\mathrm{id}}) U(1/nid) 之间的差异。这里的 ϕ i d \phi_{id} ϕid 是身份分类器, G ( w ˉ i ) G(\bar{\mathbf{w}}_i) G(wˉi) 是根据潜在点 w ˉ i \bar{\mathbf{w}}_i wˉi 生成的样本,而 U ( 1 / n i d ) \mathcal{U}(1/n_{\mathrm{id}}) U(1/nid) 是均匀分布,表示所有身份的平均可能性。
    • n i d n_{\mathrm{id}} nid:这表示数据集中不同身份的数量。
       

    用于优化生成样本的身份不确定性,通过最大化与均匀分布的KL散度,来确保生成样本不会与任何特定的训练样本相似

     

    正确分类-保持类别一致性 L c l a s s = ∑ i = 1 T C E [ ϕ c l a s s ( G ( w ˉ i ) ) , y ] \mathcal{L}_{\mathrm{class}}=\sum_{i=1}^T\mathrm{CE}\left[\phi_{\mathrm{class}}(G(\bar{\mathbf{w}}_i)),y\right] Lclass=i=1TCE[ϕclass(G(wˉi)),y]

    • L c l a s s \mathcal{L}_{\mathrm{class}} Lclass:这是类别一致性损失的表示,用于评估生成样本的类别准确性。
    • ∑ i = 1 T \sum_{i=1}^T i=1T:这表示对所有生成的潜在点进行求和。
    • C E [ ϕ c l a s s ( G ( w ˉ i ) ) , y ] \mathrm{CE}\left[\phi_{\mathrm{class}}(G(\bar{\mathbf{w}}_i)),y\right] CE[ϕclass(G(wˉi)),y]:这是计算交叉熵(Cross-Entropy)损失,用于衡量由辅助分类网络 ϕ c l a s s \phi_{\mathrm{class}} ϕclass 在点 w ˉ i \bar{\mathbf{w}}_i wˉi 上生成的样本的预测分类与实际分类 (y) 之间的差异。这里的 ϕ c l a s s \phi_{\mathrm{class}} ϕclass 是用于执行原始数据集分类的辅助分类器,而 G ( w ˉ i ) G(\bar{\mathbf{w}}_i) G(wˉi) 是根据潜在点 w ˉ i \bar{\mathbf{w}}_i wˉi 生成的样本。
    • y y y:这是目标类别标签,表示每个生成样本应该属于的类别。
       

    用于确保在潜在空间中生成的样本不仅隐私安全,而且在医学上具有正确的分类属性。
     

    总损失函数 L P L A N = L d i s t + λ 1 L i d + λ 2 L l a b e l \mathcal{L}_{\mathrm{PLAN}}=\mathcal{L}_{dist}+\lambda_1\mathcal{L}_{id}+\lambda_2\mathcal{L}_{label} LPLAN=Ldist+λ1Lid+λ2Llabel

    • L P L A N \mathcal{L}_{\mathrm{PLAN}} LPLAN:这是PLAN方法的总损失函数。
    • L d i s t \mathcal{L}_{\mathrm{dist}} Ldist:等距离损失,确保潜在空间导航过程中生成的连续样本之间的距离大致一致,促进样本多样性。
    • λ 1 L i d \lambda_1\mathcal{L}_{\mathrm{id}} λ1Lid:身份损失,乘以权重因子 (\lambda_1),用于最大化生成样本的身份不确定性,以增强隐私保护。
    • λ 2 L c l a s s \lambda_2\mathcal{L}_{\mathrm{class}} λ2Lclass:类别一致性损失,乘以权重因子 (\lambda_2),用于确保生成样本在医学分类上的准确性。
    • λ 1 和 λ 2 \lambda_1 和 \lambda_2 λ1λ2:这些是权重系数,用于平衡不同损失函数对总损失的贡献。

     
    这个总损失函数结合了三个关键因素:样本多样性、隐私保护和类别准确性,以生成对下游任务(如疾病诊断)有用且隐私安全的合成医学图像。
     

  3. 合成数据集生成:通过优化的轨迹,我们可以在潜在空间中安全地移动,生成新的合成视网膜底片图像,这些图像既不会揭露个人身份,也包含了临床上有意义的特征,使其适合于如疾病诊断这样的下游任务。

  4. 实际应用:在实际应用中,我们可能会使用一个k-same方法来产生一些合成的视网膜底片图像,然后利用PLAN在这些样本之间的潜在空间进行导航,以增加数据集的大小,同时保留隐私保护。生成的扩展数据集然后可以用来训练下游的分类器 ϕ d o w n \phi_{down} ϕdown,仅使用合成样本。

上面很多,但其实就 2 步:

  • 生成合成视网膜底片图像前需要进行的GAN训练步骤,这是为了让生成器学会如何从潜在空间产生新图像,这些图像在视觉上与真实的视网膜底片图像相似。

  • 一旦GAN训练完成,就进行潜在空间优化,以确保新生成的图像在保护隐私的同时,仍然具有临床应用所需的特征。

使用PLAN方法生成视网膜图像可以比作一种“照相术”:

  1. 拍摄准备(GAN训练):想象一下你有一个非常先进的相机(GAN模型),这个相机可以学习怎样拍摄出看起来像真实视网膜的照片。

    首先,你需要给这个相机展示很多真实的视网膜照片,让它学习这些照片的样子。

    这个学习过程就像是在给相机“训练”。

  2. 拍摄技巧(潜在空间优化):现在相机已经学会了怎样拍出像真实视网膜的照片,接下来的问题是怎样在拍照时保护人们的隐私。

    这就需要用到一些特殊的拍摄技巧:

    • 保持多样性:确保每张照片都有点不同,不要让它们看起来太相似,就像不断改变拍摄角度和设置。
    • 保护身份:用一个特殊的滤镜(身份分类器),确保照片中的人无法被识别。
    • 确保准确性:即使使用滤镜,也要确保照片中的重要特征(如视网膜的医学特征)被保留下来。
  3. 生成照片(生成合成样本):通过这些技巧,相机现在可以生成既看起来像真实视网膜又不会泄露个人信息的照片了。

  4. 实际应用:这些生成的照片可以被用于各种目的,比如帮助医生学习如何诊断眼病,而不必担心泄露病人的隐私信息。

 


总结

  1. 问题:如何生成与真实视网膜图像相似但不泄露个人隐私的图像?

    • 解法:GAN训练
    • 原因:GAN能够学习和模仿真实视网膜图像的分布特征。
  2. 问题:在生成图像的同时,如何确保不泄露任何个人的特定特征?

    • 解法:身份分类器
    • 原因:身份分类器能够识别和隔离与个体身份相关的特征,减少泄露隐私的风险。
  3. 问题:如何保证生成的视网膜图像在医学上有用,即保持必要的医学特征?

    • 解法:辅助分类器
    • 原因:辅助分类器能够确保合成图像保留与视网膜图像分类相关的医学特征。
  4. 问题:如何在潜在空间中安全导航以生成多样化且隐私安全的样本?

    • 解法:潜在空间优化
    • 原因:通过在潜在空间中优化特定轨迹,可以控制生成样本的多样性和隐私安全性。
  5. 问题:在优化过程中,如何量化和平衡不同的目标,例如样本多样性、隐私安全性和类别准确性?

    • 解法:总损失函数
    • 原因:通过结合等距离损失、身份损失和类别一致性损失,可以量化并平衡这些目标。

特征组成:

  • 特征1:GAN的能力在于学习和模仿真实数据的分布。
  • 特征2:身份分类器的关键在于能隔离与个人身份相关的特征。
  • 特征3:辅助分类器的作用是保持生成图像的医学相关性。
  • 特征4:潜在空间优化允许精确控制生成样本的特性。
  • 特征5:总损失函数是多目标优化过程的量化和平衡工具。

PLAN方法 = GAN的学习能力 + 身份分类器的隔离特征 + 辅助分类器的医学保持能力 + 潜在空间优化的控制能力 + 总损失函数的平衡能力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/648120.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电商价格监测准确率如何保证

品牌做电商价格监测的前提是为了找出网络渠道中的破价链接,只有精准到筛选出破价链接,才能进行针对性的治理,比如经销渠道,只有当品牌拿出其破价的证据,才能对授权渠道进行规则管控,非授权渠道也是如此&…

HTML5与App封装技术将网站一键打包成App

HTML5:跨平台的利器HTML5作为一种先进的网页标记语言,其最大的优势在于跨平台性。开发者仅需编写一次代码,即可在各种操作系统和设备上运行,无需为每个平台单独开发App。这种“编写一次,运行处处”的模式,大…

系统架构15 - 软件工程(3)

软件过程模型 瀑布模型特点缺点 原型化模型特点两个阶段不同类型注意 螺旋模型V 模型特点 增量模型特点 喷泉模型基于构件的开发模型(CBSD)形式化方法模型敏捷模型特点“适应性” (adaptive) 而非“预设性” (predictive)“面向人的” (People-oriented) 而非“面向过程的” (P…

如何使用 WebRTC 与 Kurento 建立视频会议 App

本文作者 WebRTC Ventures 工程师。在 RTC 2018 实时互联网大会上,WebRTC Ventures 的资深软件工程师,将围绕 WebRTC 开发带来经验分享。欢迎访问RTC 开发者社区,与更多WebRTC开发者交流经验。 了解 WebRTC 如何工作的一种简单方式是通过学习…

golang入门

学习方法 1、在实践中学 2、适当的囫囵吞枣,有可能学到后面,对前面的疑问焕然大悟 3、注重整体,刚开始不要去扣细节 安装 需要配置3个环境变量,如果.msi文件安装时设置好了就不需要了,自己可以检查下 GOROOT&…

VUE--VUEX

一、什么是Vuex Vuex就是一个vue的状态(数据)管理工具,是vue项目实现大范围数据共享的技术方案。能够方便、高效的实现组件之间的数据共享。 Vuex的好处: (1)数据的存储一步到位,不需要层层传递…

权威媒体报道 | 百分点科技谈“数据要素×”

近日,国家数据局等17部门联合印发《“数据要素”三年行动计划(2024—2026年)》,引起广泛关注,作为数据要素技术厂商代表,百分点科技CTO刘译璟接受经济日报、中国高新技术产业导报采访,结合产业现…

<蓝桥杯软件赛>零基础备赛20周--第17周--并查集

报名明年4月蓝桥杯软件赛的同学们,如果你是大一零基础,目前懵懂中,不知该怎么办,可以看看本博客系列:备赛20周合集 20周的完整安排请点击:20周计划 每周发1个博客,共20周。 在QQ群上交流答疑&am…

《微信小程序开发从入门到实战》学习九十三

7.1 视图容器组件 7.1.3 swiper与swiper-item组件 swiper组件的显示效果如下图所示: indicator-dots、indicator-color和indicator-active-color三个属性用于设置swiper组件下方的指示点。设置指示点的颜色时,可以使用HexColor,也可以使用r…

读懂比特币—bitcoin代码分析(五)

今天的代码分析主要是 bitcoin/src/init.cpp 文件中的三个函数:AppInitSanityChecks、AppInitLockDataDirectory、AppInitInterfaces,下面我们来说明这三个函数是用来干什么的,并逐行解读函数代码,先贴出源代码如下: …

C++ 程序使用 OpenCV 库来创建一个图像金字塔,然后将这些图像合并成一张大图

文章目录 源码文件功能解读编译文件 源码文件 #include <iostream> #include <vector> #include <string> #include <opencv2/opencv.hpp>int main() {// 这里应该有代码来生成或加载一系列图像到 imagePyramidstd::vector<cv::Mat> imagePyram…

AWS 专题学习 P10 (Databases、 Data Analytics)

文章目录 专题总览1. Databases1.1 选择合适的数据库1.2 数据库类型1.3 AWS 数据库服务概述Amazon RDSAmazon AuroraAmazon ElastiCacheAmazon DynamoDBAmazon S3DocumentDBAmazon NeptuneAmazon Keyspaces (for Apache Cassandra)Amazon QLDBAmazon Timestream 2. Data & …

8.12用最少数量的箭引爆气球(LC452-M)

452. 用最少数量的箭引爆气球 - 力扣&#xff08;LeetCode&#xff09; 算法&#xff1a; 局部最优&#xff1a;当气球出现重叠&#xff0c;一起射&#xff0c;所用弓箭最少。 全局最优&#xff1a;把所有气球射爆所用弓箭最少。 为了让气球尽可能的重叠&#xff0c;需要对…

5JS语句

表达式在JavaScript中是短语&#xff0c;那么语句&#xff08;statement&#xff09;就是JavaScript整句或命令。 表达式计算出一个值&#xff0c;但语句用来执行以使某件事发生。诸如赋值和函数调用这些有副作用的表达式&#xff0c;是可以作为单独的语句的&#xff0c;这种把…

光控自动照明灯电路原理图

原理图&#xff1a; 电路原理&#xff1a; R1和R2构成分压电路&#xff0c;当环境光线较强时&#xff0c;光敏电阻阻值较小&#xff0c;R2上的电压较小&#xff0c;无法使三极管Q1导通&#xff0c;此时三极管的集电极没有电流通过&#xff0c;发光二极管DS不亮。当光线较暗时&…

Spring Boot3整合MyBatis Plus

目录 1.前置条件 2.导坐标 3.配置数据源 4.mybatis-plus基础配置 5.配置mapper扫描路径 6.MyBatis Plus代码生成器整合 1.导坐标 2.编写代码生成逻辑 7.整合Druid连接池 1.前置条件 已经初始化好一个spring boot项目且版本为3X&#xff0c;项目可正常启动 初始化教程…

昂首资本闪耀石家庄交易技术峰会,尽释行业进取之姿

“2024年石家庄交易技术峰会”在中国河北石家庄举办&#xff0c;Anzo Capital昂首资本作为2024年交易峰会的独家赞助商出席本次活动&#xff0c;Anzo Capital 魄力超前&#xff0c;尽显行业进取之姿。 “开门红”——作为2024年的首场交易技术峰会&#xff0c;“石家庄交易技术…

幻兽帕鲁专用服务器设置,与好友畅玩

创建幻兽帕鲁服务器1分钟部署教程&#xff0c;阿里云和腾讯云均推出幻兽帕鲁服务器专属优惠服务器和部署教程&#xff0c;4核16G和4核32G配置可选&#xff0c;阿腾云atengyun.com分享1分钟自建幻兽帕鲁Palworld服务器教程&#xff0c;附阿里云和腾讯云专属幻兽帕鲁优惠价格表&a…

DAY10_SpringBoot—SpringMVC重定向和转发RestFul风格JSON格式SSM框架整合Ajax-JQuery

目录 1 SpringMVC1.1 重定向和转发1.1.1 转发1.1.2 重定向1.1.3 转发练习1.1.4 重定向练习1.1.5 重定向/转发特点1.1.6 重定向/转发意义 1.2 RestFul风格1.2.1 RestFul入门案例1.2.2 简化业务调用 1.3 JSON1.3.1 JSON介绍1.3.2 JSON格式1.3.2.1 Object格式1.3.2.2 Array格式1.3…

cocos creator 碰撞系统

设置碰撞组件 * 添加组件中添加碰撞组件 3种组件类型&#xff0c;矩形碰撞&#xff0c;圆形碰撞&#xff0c; 多边形碰撞 开启碰撞检测 start() {//开启碰撞管理器let cm cc.director.getCollisionManager()cm.enabled true//绘制碰撞检测边界线。用于调试cm.enabledDebug…