[24 de novembro de 2024] Adicionamos um novo sintetizador SOTA HP REaLTabFormer ao SynMeter! Experimente!
[18 de setembro de 2024] Adicionamos um novo sintetizador SOTA HP TabSyn ao SynMeter! Experimente!
Crie um novo ambiente conda e configure:
conda create -n synmeter python==3.9
conda activate synmeter
pip install -r requirements.txt # install dependencies
pip install -e . # package the library
Altere o dicionário base em ./lib/info/ROOT_DIR
:
ROOT_DIR = root_to_synmeter
./dataset
../exp/evaluators
.python scripts/tune_evaluator.py -d [dataset] -c [cuda]
Fornecemos um objetivo de ajuste unificado para ajuste de modelo, assim, todos os tipos de sintetizadores podem ser ajustados com apenas um único comando:
python scripts/tune_synthesizer.py -d [dataset] -m [synthesizer] -s [seed] -c [cuda]
Após o ajuste, uma configuração deve ser gravada em /exp/dataset/synthesizer
, o SynMeter pode usá-la para treinar e armazenar o sintetizador:
python scripts/train_synthesizer.py -d [dataset] -m [synthesizer] -s [seed] -c [cuda]
Avaliando a fidelidade dos dados sintéticos:
python scripts/eval_fidelity.py -d [dataset] -m [synthesizer] -s [seed] -t [target]
Avaliando a privacidade dos dados sintéticos:
python scripts/eval_privacy.py -d [dataset] -m [synthesizer] -s [seed]
Avaliando a utilidade dos dados sintéticos:
python scripts/eval_utility.py -d [dataset] -m [synthesizer] -s [seed]
Os resultados das avaliações devem ser salvos no dicionário correspondente /exp/dataset/synthesizer
.
Uma vantagem do SynMeter é fornecer a maneira mais fácil de adicionar novos algoritmos de síntese; são necessárias três etapas:
./synthesizer/my_synthesiszer
./exp/base_config
../synthesizer
, que contém três funções: train
, sample
e tune
.Então, você está livre para ajustar, executar e testar o novo sintetizador!
Método | Tipo | Descrição | Referência |
---|---|---|---|
MST | PD | O método utiliza modelos gráficos probabilísticos para aprender a dependência de marginais de baixa dimensão para síntese de dados. | Papel, Código |
PrivSyn | PD | Um sintetizador DP não paramétrico, que atualiza iterativamente o conjunto de dados sintético para fazê-lo corresponder aos marginais de ruído alvo. | Papel, Código |
Método | Tipo | Descrição | Referência |
---|---|---|---|
CTGAN | HP | Uma rede adversária generativa condicional que pode lidar com dados tabulares. | Papel, Código |
PATÊ-GAN | PD | O método usa a estrutura Private Aggregation of Teacher Ensembles (PATE) e a aplica a GANs. | Papel, Código |
Método | Tipo | Descrição | Referência |
---|---|---|---|
TVAE | HP | Uma rede VAE condicional que pode lidar com dados tabulares. | Papel, Código |
Método | Tipo | Descrição | Referência |
---|---|---|---|
GuiaDDPM | HP | Use modelo de difusão para síntese de dados tabulares | Papel, Código |
TabSyn | HP | Use modelo de difusão latente e VAE para síntese. | Papel, Código |
Difusão de mesa | PD | Gerando conjuntos de dados tabulares sob privacidade diferencial. | Papel, Código |
Método | Tipo | Descrição | Referência |
---|---|---|---|
Ótimo | HP | Use LLM para ajustar um conjunto de dados tabular. | Papel, Código |
REaLTabFormer | HP | Use GPT-2 para aprender a dependência relacional de dados tabulares. | Papel, Código |
Métricas de fidelidade : consideramos a distância de Wasserstein como uma métrica de fidelidade baseada em princípios, que é calculada por todas as marginais unidirecionais e bidirecionais.
Métricas de privacidade : desenvolvemos o Membership Disclosure Score (MDS) para medir os riscos de privacidade dos membros dos sintetizadores HP e DP.
Métricas de utilidade : usamos afinidade de aprendizado de máquina e erro de consulta para medir a utilidade dos dados sintéticos.
Consulte nosso artigo para obter detalhes e usos.
Muitos algoritmos de síntese excelentes e bibliotecas de código aberto são usados neste projeto: