{ "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" }