chore: initial commit — unified project repo

Merged code repo (CompanionGuard-RL) into single project-level git.
Reorganized root: docs/, reference/, experiments/, tmp/active|archives/.
Gitignored: data/, checkpoints/, .venv, experiment logs, tmp/archives.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-14 11:28:42 +08:00
commit bd1f51c496
85 changed files with 20568 additions and 0 deletions

View File

@@ -0,0 +1,121 @@
# Multimodal noise configuration for robustness experiments (P0-4)
# Each variant defines noise applied per modality.
# Run: python scripts/preprocess/generate_noise.py \
# --config configs/noise_configs.yaml \
# --data_dir $ZSY/multimodal_affect/data/iemocap
variants:
# ── Variant 1: Light Gaussian across all modalities ───────────────────
- name: gaussian_light
description: "Mild Gaussian noise on all modalities (σ=0.05)"
noise:
text:
type: gaussian
intensity: 0.05
audio:
type: gaussian
intensity: 0.05
visual:
type: gaussian
intensity: 0.05
# ── Variant 2: Heavy Gaussian ─────────────────────────────────────────
- name: gaussian_heavy
description: "Strong Gaussian noise on all modalities (σ=0.20)"
noise:
text:
type: gaussian
intensity: 0.20
audio:
type: gaussian
intensity: 0.20
visual:
type: gaussian
intensity: 0.20
# ── Variant 3: Missing modality audio dropped ───────────────────────
- name: missing_audio
description: "Audio features zeroed out (100% drop)"
noise:
text:
type: gaussian
intensity: 0.0
audio:
type: masking
intensity: 1.0 # mask ALL dims
visual:
type: gaussian
intensity: 0.0
# ── Variant 4: Missing modality visual dropped ──────────────────────
- name: missing_visual
description: "Visual features zeroed out"
noise:
text:
type: gaussian
intensity: 0.0
audio:
type: gaussian
intensity: 0.0
visual:
type: missing_modality
intensity: 1.0
# ── Variant 5: Text word-drop ─────────────────────────────────────────
- name: text_word_drop_30
description: "30% token dropout in text modality"
noise:
text:
type: word_drop
intensity: 0.30
audio:
type: gaussian
intensity: 0.0
visual:
type: gaussian
intensity: 0.0
# ── Variant 6: Audio feature masking ─────────────────────────────────
- name: audio_masking_50
description: "50% of audio feature dimensions masked"
noise:
text:
type: gaussian
intensity: 0.0
audio:
type: masking
intensity: 0.50
visual:
type: gaussian
intensity: 0.0
# ── Variant 7: Realistic mixed noise ─────────────────────────────────
- name: realistic_mixed
description: >
Realistic scenario: moderate text corruption, noisy audio,
partial visual occlusion
noise:
text:
type: word_drop
intensity: 0.15
audio:
type: gaussian
intensity: 0.10
visual:
type: occlusion
intensity: 0.25
# ── Variant 8: Asynchronous noise (time-shifted audio) ───────────────
- name: audio_time_mask
description: "Audio time-step masking (30%) simulates dropped frames"
noise:
text:
type: gaussian
intensity: 0.0
audio:
type: time_mask
intensity: 0.30
visual:
type: gaussian
intensity: 0.0