Privacy-preserving datasets
收藏数据集概述
数据集简介
本工作引入了一种使用条件变分自编码器(CVAE)的新方法,该方法在从大型预训练视觉基础模型中提取的特征向量上进行训练。基础模型能够有效检测和表示跨不同领域的复杂模式,使CVAE能够忠实地捕捉给定数据分布的嵌入空间,生成多样化、尊重隐私且潜在无限的合成特征向量集。
数据处理流程
- 特征提取:利用大型预训练模型提取并存储特征嵌入和相应的标签。这些嵌入既捕捉了局部信息也捕捉了上下文信息,同时自然地降低了维度。
- CVAE训练:使用这些嵌入在条件变分自编码器(CVAE)上进行训练,以捕捉训练分布,条件是各自的类别标签。
- 合成特征生成:在CVAE的冻结解码器上动态生成新的合成特征向量,条件是类别标签。这不仅确保了数据匿名性,还增加了数据多样性和模型鲁棒性。
数据集创建与处理
创建数据库
bash python create_db.py --dataset [dataset] --backbone [backbone]
数据库存储在assets/database/[train|val|test].npz下。
数据匿名化
bash
python anonymize.py --dataset [dataset]
--anonymizer [kSAME|cvae]
--k [k, set if anonymizer == kSAME]
--seed [random seed, set if anonymizer == cvae]
匿名化数据库存储在assets/database/train_[anonymizer_id].npz下。
训练与评估
bash python probing.py --dataset [dataset] --anonymizer [identity|kSAME|cvae] --k [k, set if anonymizer == kSAME] --seed [random seed] --output_root [where to store output logs]
对于噪声测试嵌入的训练和评估,使用以下命令: bash
for kSAME
python probing_noise.py --dataset [dataset]
--anonymizer [kSAME]
--k [k]
--seed [random seed]
--sigma [standard deviation of the injected noise]
--output_root [where to store output logs]
bash
for CVAE - online data generation
python probing_noise_cvae.py --dataset [dataset]
--anonymizer [cvae-online]
--variance [sampling variance of CVAE]
--seed [random seed]
--sigma [standard deviation of the injected noise]
--output_root [where to store output logs]




