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生成数据,可能会有隐私泄露的风险,特别是在图像与个人健康数据紧密相关的情况下。
 

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/640984.shtml

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

相关文章

kingbase常用SQL总结之统计大小

概述 数据库运维中,我们需要总结一些常用的SQL语句,无论是日常巡检、故障排查或是死锁分析,都可以随时拿来用,提升工作效率,下面是一些常见的经典SQL或者是笔者自己工作过程中用到的常用的SQL,整理记录以备不时之需。…

SpringBoot 统计更多Api接口日志信息

第1步:基本配置了解 Further Reading : SpringBoot 统计API接口用时该使用过滤器还是拦截器? 第2步:丰富LogInterceptor(主体流程) 日志打印放afterCompletion是为了兼容异常场景也可以记录日志 import com.zhang…

【LeetCode27】 移除元素

27. 移除元素 快慢型双指针 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不…

vulhub之redis篇

CVE-2022-0543 | redis的远程代码执行漏洞 简介 CVE-2022-0543 该 Redis 沙盒逃逸漏洞影响 Debian 系的 Linux 发行版本,并非 Redis 本身漏洞, 漏洞形成原因在于系统补丁加载了一些redis源码注释了的代码 原理分析 redis一直有一个攻击面,就是在用户连接redis后,可以通过ev…

企业微信开发:本地运行一个页面应用

问题 在开发环境本地运行一个页面应用,将网页URL配置到企业微信的应用主页网址中,此时应用在企业微信中能够正常打开网页吗? 结论是:能够正常访问页面。 能够访问的前提 能够访问的前提条件,企业微信客户端所在的网…

界面控件DevExpress ASP.NET Data Grid组件 - 可快速处理各类型数据!(一)

由DevExpress开发的快速且功能完整的ASP.NET Web Forms的Data Grid组件,从全面的数据塑造和数据过滤选项到十多个集成数据编辑器,该套件提供了帮助用户构建极佳数据所需的一些,没有限制! P.S:DevExpress ASP.NET Web …

k8s--helm

什么是helm?在没有这个helm之前,deployment service ingress helm的作用 通过打包的方式,把deployment service ingress等打包在一块,一键式的部署服务,类似yum安装 官方提供的一个类似与安装仓库额功能,…

Linux C语言开发(十)vim基本操作

目录 一.什么是vim 二.vim的进入与退出 三.vim的基本模式 四.vim的命令行模式操作

SPA vs MPA vs PWA

1、单页面应用程序(SPA) ① 什么是 SPA SPA 全称为 Single-Page Application,表示单页面应用程序。 也就是说只有一个 HTML 文件的 Web 应用,我们通过 Vue 开发的项目其实就是典型的 SPA应用 在单页面应用程序中,我…

C语言——结构体讲解

目录 一、结构体类型的声明 二、结构体变量的定义和初始化 三、结构体的重命名 四、结构体的自引用 五、结构体内存对齐 六、结构体传参 七、结构体实现位段 7.1 什么是位段 7.2 位段的声明和使用 7.3 位段的空间大小计算 7.4 位段的内存分配 7.5 位段的跨平…

计算机网络-物理层基本概念(接口特性 相关概念)

文章目录 总览物理层接口特性星火模型给出的相关概念解释(仅供参考) 总览 求极限传输速率:奈氏准则,香农定理(背景环境不一样) 编码:数据变成数字信号 调制:数字信号变成模拟信号 信…

Elasticsearch:2023 年 Lucene 领域发生了什么?

作者:来自 Elastic Adrien Grand 2023 年刚刚结束,又是 Apache Lucene 开发活跃的一年。 让我们花点时间回顾一下去年的亮点。 社区 2023 年,有: 5 个次要版本(9.5、9.6、9.7、9.8 和 9.9),1 …

51单片机LED点阵屏

LED点阵屏 LED点阵屏是一种由许多小型LED灯组成的矩阵式显示屏。这些LED灯可以是单色、双色或全彩的,它们排列成行和列的网格,可以根据需要点亮来显示图像、文字或动画等内容。LED点阵屏广泛应用于户外广告牌、室内显示、交通信号灯、电子价格标签和其他…

【设计模式】字节三面:请举例阐释访问者模式

今天我们要一起探讨的主题是一种设计模式——访问者模式(Visitor Pattern)。我将从最基础的概念、应用场景,再到实例代码的展示,全方位的为大家剖析访问者模式。而且,我保证,你即使是编程新手,也能理解并开始应用这个设…

如何在 Ubuntu 22.04 上安装 Linux、Apache、MySQL、PHP (LAMP) 堆栈

前些天发现了一个人工智能学习网站,通俗易懂,风趣幽默,最重要的屌图甚多,忍不住分享一下给大家。点击跳转到网站。 如何在 Ubuntu 22.04 上安装 Linux、Apache、MySQL、PHP (LAMP) 堆栈 介绍 “LAMP”堆栈是一组开源软件&#…

uniapp 在static/index.html中添加全局样式

前言 略 在static/index.html中添加全局样式 <style>div {background-color: #ccc;} </style>static/index.html源码&#xff1a; <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"utf-8"><meta http-…

HCIA——21C/S、P2P、peer的选择

学习目标&#xff1a; 计算机网络 1.掌握计算机网络的基本概念、基本原理和基本方法。 2.掌握计算机网络的体系结构和典型网络协议&#xff0c;了解典型网络设备的组成和特点&#xff0c;理解典型网络设备的工作原理。 3.能够运用计算机网络的基本概念、基本原理和基本方法进行…

安全通信网络

1.网络架构 1&#xff09;应保证网络设备的业务处理能力满足业务高峰期需要。 设备CPU和内存使用率的峰值不大于设备处理能力的70%。 在有监控环境的条件下&#xff0c;应通过监控平台查看主要设备在业务高峰期的资源&#xff08;CPU、内存等&#xff09;使用 情况&#xff…

ES已有mapping下,新增字段且设置初始值

开发过程中随着业务的发展&#xff0c;内容累计&#xff0c;中途需要添加新的字段&#xff0c;并且设置初始值。 # 先查询原来的mapping GET test_index/_mapping # 新增字段 PUT test_index/_mapping {"properties": {"name": {"type": "…

【笔记】Disable APN 禁用数据连接的逻辑(Android KaiOS)

简介 通过OTA/OMADM 运营商服务器可以下发消息实现disable APN&#xff0c;从而影响Data PDN建立。APN被disable了会导致无法正常上网。 在Android 和 KaiOS 系统实现上有区别&#xff0c;不过都是通过carrier_enabled 这类字段实现判断控制。 Android&#xff1a;上层 Tele…