|
Download README.md from ubinet/U-MIND: direct link, hf CLI and curl.
- Browser
- Download file 7.61 kB
-
https://huggingface.co/ubinet/U-MIND/resolve/main/README.md
- Command line
-
hf download hf://ubinet/U-MIND/README.md
-
curl -L -o README.md https://huggingface.co/ubinet/U-MIND/resolve/main/README.md
7.61 kB
| # Urban Mobility Integrated Neural Dynamics (U-MIND) | |
| ## 📖 Model Summary | |
| **Urban Mobility Integrated Neural Dynamics (U-MIND)** constitutes the specialized algorithmic core (Layer 2) of the "Traffic Large Model" architecture. Unlike monolithic Large Language Models (LLMs), **U-MIND** is engineered as a **collaborative cluster of four parallel micro-models**, specifically optimized for the physical constraints of urban transportation. It functions as the high-precision reasoning engine that grounds the L1 model's intent understanding into accurate, mathematically rigorous mobility forecasts by fusing static road semantics with dynamic sensor streams. | |
| The **U-MIND** cluster integrates four specialized engines: | |
| 1. **PM (Perception Engine):** Captures high-frequency dynamics and implicit couplings. | |
| 2. **RM (Representation Engine):** Encodes static topology and semantic patterns. | |
| 3. **FM (Fusion Engine):** Aligns heterogeneous multimodal data. | |
| 4. **PredM (Evolution Engine):** Forecasts future spatio-temporal states. | |
| --- | |
| ## 🏗️ Model Architecture | |
| The cluster adopts a **Parallel Collaborative Architecture**, where each model specializes in a specific domain of the urban traffic system. | |
| ### 1. PM: Perception Model | |
| * **Role:** **Dynamic State Extractor** | |
| * **Core Function:** Processes raw, noisy sensor data (Flow, Speed, Occupancy). It utilizes 1D convolution and adaptive pooling to extract short-term trends and denoise signal fluctuations caused by random events. | |
| * **Key Capability:** Identifies traffic anomalies (e.g., sudden congestion) and compresses high-dimensional time-series into a compact context fingerprint. | |
|  | |
| ### 2. RM: Representation Model | |
| * **Role:** **Semantic Pattern Encoder** | |
| * **Core Function:** Focuses on the static and semi-static attributes of the road network (POI distribution, road geometry). It learns a low-dimensional manifold representation of diverse traffic patterns (e.g., "Residential Area" vs. "Business District"). | |
| * **Key Capability:** Distinguishes between different functional zones based on their daily peak-hour signatures (morning/evening rush). | |
|  | |
| ### 3. FM: Fusion Model | |
| * **Role:** **Cross-Modal Aligner** | |
| * **Core Function:** Acts as the bridge between ground traffic, rail transit, and environmental factors. It employs Multi-Head Attention to dynamically weigh different data sources based on real-time contexts (e.g., increasing rail weight during rainy days). | |
| * **Key Capability:** Resolves the heterogeneity between static embeddings and dynamic flows, outputting a unified multimodal context vector. | |
|  | |
| ### 4. PredM: Prediction Model | |
| * **Role:** **Future State Estimator** | |
| * **Core Function:** A specialized graph-based predictor that models the propagation of traffic waves. It combines dilated convolutions for long-range temporal reception with graph structures for spatial dependency. | |
| * **Key Capability:** Provides high-precision forecasts for both urban ground and rail mobility demands, serving as the calculation engine for the upper-layer applications. | |
|  | |
| --- | |
| ## 💻 Usage: Simulation & Loading | |
| This section demonstrates how to generate physics-consistent simulated data and load the pre-trained model weights. | |
| ```python | |
| import torch | |
| import numpy as np | |
| # Assuming model definitions (PM, RM, FM, PredM) are imported | |
| from urban_mobility_models import PerceptionModel, RepresentationModel, FusionModel, SpatioTemporalPredictor | |
| class DataSimulator: | |
| """ | |
| Used to generate synthetic data that reflects the characteristics of urban traffic, covering four tasks: perception, representation, fusion, and prediction. | |
| """ | |
| @staticmethod | |
| def sim_perception_data(batch_size=32, seq_len=24, sensors=5): | |
| """1. [PM] Simulate Sensor Data: Adds Rush Hour & Random Noise""" | |
| data = np.random.normal(50, 15, (batch_size, seq_len, sensors)) | |
| # Add rush hour patterns (Morning 8am / Evening 6pm) | |
| t = np.arange(seq_len) | |
| rush = 30 * (np.exp(-0.5*((t-8)/2)**2) + np.exp(-0.5*((t-18)/2)**2)) | |
| return torch.FloatTensor(data + rush[:, np.newaxis]) | |
| @staticmethod | |
| def sim_representation_data(batch_size=32, feat_dim=32): | |
| """2. [RM] Simulate Static Patterns: Residential vs Commercial zones""" | |
| data = np.zeros((batch_size, feat_dim)) | |
| for i in range(batch_size): | |
| # Residential peaks at 8am/8pm; Commercial peaks at 1pm | |
| if np.random.rand() > 0.5: | |
| data[i, 8] += 2.0; data[i, 20] += 1.5 # Residential | |
| else: | |
| data[i, 13] += 2.0 # Commercial | |
| return torch.FloatTensor(data + np.random.normal(0, 0.5, data.shape)) | |
| @staticmethod | |
| def sim_fusion_data(batch_size=32): | |
| """3. [FM] Simulate Multimodal Data: Ground, Rail, Weather""" | |
| ground = np.random.normal(0, 1, (batch_size, 32)) | |
| # Rail correlated with ground + random variance | |
| rail = 0.6 * ground[:, :24] + 0.4 * np.random.normal(0, 1, (batch_size, 24)) | |
| # Weather (Environment) | |
| env = np.random.normal(0, 1, (batch_size, 16)) | |
| return [torch.FloatTensor(d) for d in [ground, rail, env]] | |
| @staticmethod | |
| def sim_prediction_data(batch_size=32, nodes=20, time_steps=12): | |
| """4. [PredM] Simulate Graph Inputs: History Flow + Adjacency Matrix""" | |
| # Historical flow sequence | |
| history = torch.randn(batch_size, nodes, time_steps) | |
| # Static Graph Adjacency Matrix (sparse connection) | |
| adj = torch.eye(nodes) + (torch.rand(nodes, nodes) > 0.8).float() | |
| return history, adj | |
| def load_and_verify_cluster(): | |
| # 1. Initialize Models | |
| pm = PerceptionModel(input_dim=5, hidden_dim=64, output_dim=32) | |
| rm = RepresentationModel(input_dim=32, hidden_dim=64, representation_dim=16) | |
| fm = FusionModel(input_dims=[32, 24, 16], hidden_dim=512, output_dim=48) | |
| pred_m = SpatioTemporalPredictor(num_nodes=20, in_dim=12) | |
| # 2. Load Pre-trained Weights | |
| print("Loading L2 Cluster Weights...") | |
| pm.load_state_dict(torch.load('perception_model.pth')) | |
| rm.load_state_dict(torch.load('representation_model.pth')) | |
| fm.load_state_dict(torch.load('fusion_model.pth')) | |
| pred_m.load_state_dict(torch.load('prediction_model.pth')) # Hypothetical check | |
| print(">>> All L2 Models Loaded Successfully.") | |
| # 3. Generate & Forward Simulation Data | |
| print("\nRunning Simulation Inference:") | |
| # PM | |
| pm_out = pm(DataSimulator.sim_perception_data()) | |
| print(f"PM (Perception) Output: {pm_out.shape} - Dynamic Context Extracted") | |
| # RM | |
| rm_out, _ = rm(DataSimulator.sim_representation_data()) | |
| print(f"RM (Representation) Output: {rm_out.shape} - Semantic Node Embeddings") | |
| # FM | |
| fm_out, attn = fm(DataSimulator.sim_fusion_data()) | |
| print(f"FM (Fusion) Output: {fm_out.shape} - Multimodal Aligned Context") | |
| # PredM | |
| hist, adj = DataSimulator.sim_prediction_data() | |
| pred_out = pred_m(hist, adj) | |
| print(f"PredM (Prediction) Output: {pred_out.shape} - Future Demand Forecast") | |
| if __name__ == "__main__": | |
| load_and_verify_cluster() | |
| ``` | |
| --- | |
| ## ⚙️ Intended Use | |
| * **Integrated Mobility Orchestration** | |
| * Cooperative scheduling of buses and subways based on fused demand. | |
| * **Resilient Traffic Management** | |
| * Rapid response to anomalies (accidents, extreme weather) detected by the Perception engine. | |
| * **Urban Planning Analytics** | |
| * Utilizing Representation Model embeddings to analyze the functional evolution of city districts. | |