Model summary
This repository contains trained autoencoder checkpoints for mouse-dynamics-based account takeover detection in video games. The models were trained as one-class verification models using only genuine data from a target user. During inference, each input window is reconstructed by the autoencoder, and the reconstruction error is used as the anomaly score.
A lower reconstruction error indicates that the input resembles the target user's training behavior. A higher reconstruction error indicates that the input deviates from the learned target-user profile.
Models
These are one-class verification models. A checkpoint under user1/ only verifies whether a sample resembles user 1.
- mlp-ae.pt: MLP autoencoder using aggregate window-level features.
- lstm-ae.pt: LSTM autoencoder using sequential window features.
- tcn-ae.pt: TCN autoencoder using sequential window features.
Each model is trained only on genuine data from the target user. During inference, reconstruction error is used as the anomaly score.
Checkpoint Contents
Each .pt file is a PyTorch checkpoint dictionary saved with torch.save.
Common fields:
- model_name: model identifier, such as mlp, lstm, or tcn
- model_type: display name, such as MLP-AE
- target_user_id: target user for the one-class model
- model_state_dict: trained PyTorch model weights
- threshold: decision threshold computed from validation reconstruction scores
- hyperparameters: windowing, filtering, and training settings
MLP-AE checkpoints additionally contain:
- input_type: "aggregate"
- agg_dim
- agg_feature_columns
- agg_scaler_mean
- agg_scaler_scale
LSTM-AE and TCN-AE checkpoints additionally contain:
- input_type: "sequence"
- seq_shape
- seq_feature_columns
- seq_continuous_idx
- seq_scaler_mean
- seq_scaler_scale
Loading example:
import torch
checkpoint = torch.load("checkpoints/user1/mlp-ae.pt", map_location="cpu")
print(checkpoint["model_name"])