CAFR — Cooperative Caching in VEC via Async FL + MARL
Trinity College Dublin MSc Dissertation (2025–26)
This repository contains trained model weights for the CAFR framework — a cooperative content caching system for Vehicular Edge Computing (VEC) that combines Asynchronous Federated Learning (AFL) and Multi-Agent Deep Reinforcement Learning (MARL).
Models in this repo
| File | Description |
|---|---|
fl_autoencoder.pt |
FL global AutoEncoder (3883→100→3883), trained over 30 async FL rounds on MovieLens-1M |
dqn_agent1_cs*.pt |
RSU1 Dueling DQN policy, trained for each cache size ∈ {50,100,150,200,250,300,350,400} |
dqn_agent2_cs*.pt |
RSU2 Dueling DQN policy (cooperative MARL partner to agent1) |
System Architecture
- FL model: AutoEncoder trained on vehicle rating data to rank content popularity
- RL agents: Two cooperative Dueling DQNs (CTDE — centralised training, decentralised execution)
- Shared state: RSU1 cache ∥ RSU2 cache (normalised popularity ranks)
- Action space: {0=keep, 1=replace 5 items}
- Reward: joint delay-minimisation signal (incentivises cache diversity)
Key Results (epochs=30, local_ep=10)
| Cache Size | MCAF Hit Rate | vs ε-Greedy | Request Delay |
|---|---|---|---|
| 50 | 11.94% | +0.84pp | 34.37ms |
| 200 | 34.09% | +-1.11pp | 30.33ms |
| 400 | 52.44% | +-1.48pp | 26.65ms |
Dataset
MovieLens-1M (proxy for vehicular content requests): 3,883 movies · 6,040 users · mapped to 15 vehicles via clustering
Loading a model
import torch
from model import DuelingDQN
agent = DuelingDQN(input_dim=100, num_actions=2) # cs=50: input=100
agent.load_state_dict(torch.load("dqn_agent1_cs50.pt", map_location="cpu"))
agent.eval()
Citation
Cooperative Caching in Vehicular Edge Computing via Asynchronous Federated Learning and Deep Reinforcement Learning, IEEE 2023. Extended by Niraj Bharambe, Trinity College Dublin, 2026.