File size: 4,550 Bytes
ddedd58
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
{
  "architectures": ["Visual_Cortex_Amygdala"],
  "model_type": "visual-valence-model",
  "task": "image-valence-regression",
  "source_repo": "https://github.com/lab-smile/FearConditioningAI",
  "source_module": "models.VGG_Model",
  "paper": "https://arxiv.org/abs/2607.19327",

  "backbone": {
    "name": "vgg16",
    "pretrained_on": "imagenet-1k",
    "batch_norm": false,
    "frozen": true
  },

  "shortcut_pathway": {
    "name": "middleroad",
    "source_vgg_layer_index": 10,
    "pooling": {
      "middleroad_maxpool": {"kernel_size": 29, "stride": 14},
      "global_maxpool_output_size": 2,
      "maxpool1": {"kernel_size": 5, "stride": 3},
      "maxpool2": {"kernel_size": 9, "stride": 5},
      "maxpool3": {"kernel_size": 13, "stride": 7},
      "adaptive_avgpool_output_sizes": [1, 2]
    },
    "attention": {
      "type": "efficient_channel_attention",
      "reference": "https://doi.org/10.1109/CVPR42600.2020.01155",
      "conv1d_kernel_size": 3
    },
    "fc_layers": {
      "input_size": 1024,
      "hidden_sizes": [1024, 512],
      "dropout": 0.5
    }
  },

  "valence_module": {
    "name": "VCA_FC",
    "input_size": 4608,
    "input_composition": {"highroad_features": 4096, "middleroad_features": 512},
    "hidden_sizes": [1024, 1024],
    "dropout": 0.5,
    "output_size": 1,
    "output_activation": "sigmoid",
    "output_rescale_range": [1, 9],
    "output_semantics": "valence rating (1 = extreme displeasure, 9 = extreme pleasure)"
  },

  "input": {
    "image_size": 224,
    "channels": 3,
    "normalize_mean": [0.485, 0.456, 0.406],
    "normalize_std": [0.229, 0.224, 0.225]
  },

  "checkpoints": {
    "stage0_videoframe_pretrain": {
      "filename": "vca_ckvideo_batch128_lr2e-5_epoch20.pth",
      "stage": "Stage 0 (trained from scratch on Videoframe)",
      "trained_on": ["Cowen & Keltner (2017) Videoframe"],
      "input_layout": "full-frame (no quadrant cropping)",
      "val_pearson_r": 0.386,
      "val_mse": 0.043
    },
    "stage1_iaps_finetune": {
      "filename": "vca_IAPS_batch10_lr2e-4_epoch23.pth",
      "stage": "Stage 1 (fine-tuned on full-size IAPS)",
      "trained_on": ["Cowen & Keltner (2017) Videoframe", "IAPS full-size"],
      "input_layout": "full-frame (no quadrant cropping)",
      "val_pearson_r": 0.538,
      "val_mse": 0.192
    },
    "pre_conditioning": {
      "filename": "base_model_vca_IAPS_quadrant.pth",
      "stage": "Stage 2 (quadrant fine-tuning), before Pavlovian conditioning",
      "trained_on": ["Cowen & Keltner (2017) Videoframe", "IAPS full-size", "IAPS quadrant-cropped"],
      "input_layout": "quadrant-cropped (US in quadrant 4)",
      "val_pearson_r": null,
      "val_mse": null,
      "note": "See paper for definitive evaluation numbers."
    },
    "post_conditioning_epoch1": {
      "filename": "base_model_conditioned_orientation_epoch1.pth",
      "stage": "Stage 3 (Pavlovian conditioning), epoch 1 of 100",
      "trained_on": ["Cowen & Keltner (2017) Videoframe", "IAPS full-size", "IAPS quadrant-cropped", "IAPS Conditioning (US) x Gabor patch (CS)"],
      "input_layout": "quadrant-cropped (CS in quadrant 2, US in quadrant 4)",
      "val_pearson_r": 0.660,
      "val_mse": 0.466,
      "note": "Early/under-trained snapshot, kept for provenance; not representative of the final model."
    },
    "post_conditioning": {
      "filename": "base_model_conditioned_orientation_epoch100.pth",
      "stage": "Stage 3 (Pavlovian conditioning), epoch 100 (final, used in the paper)",
      "trained_on": ["Cowen & Keltner (2017) Videoframe", "IAPS full-size", "IAPS quadrant-cropped", "IAPS Conditioning (US) x Gabor patch (CS)"],
      "input_layout": "quadrant-cropped (CS in quadrant 2, US in quadrant 4)",
      "val_pearson_r": null,
      "val_mse": null,
      "note": "See paper for definitive evaluation numbers.",
      "conditioning_paradigm": {
        "cs_stimulus": "Gabor patch (45 deg or 135 deg orientation)",
        "us_stimulus": "IAPS image (unpleasant paired with 45 deg CS, pleasant paired with 135 deg CS)",
        "cs_quadrant": 2,
        "us_quadrant": 4
      }
    }
  },

  "checkpoint_format": {
    "type": "torch.save dict",
    "keys": ["model", "epoch", "best_per", "best_loss", "state_dict", "optimizer"],
    "state_dict_key": "state_dict",
    "note": "Load with model.load_state_dict(checkpoint['state_dict'], strict=False); the 'model' key is a pickled model object retained for reproducibility but should not be trusted/unpickled directly."
  },

  "license": "mit"
}