한국어
ENN-PyTorch의 모델은 입력 feature를 token으로 변환하고, Fuser와 Collector를 거쳐 base prediction과 refined prediction을 만든 뒤, SigmoidGate로 residual 반영량을 제어해 최종 예측을 생성한다.
일반적인 encoder + linear head 구조로만 보기에는 부족하다. 입력 정규화와 embedding, spatial/temporal token encoding, task-level token fusion, residual refinement, bounded gating, calibration이 하나의 forward 흐름 안에서 연결된다.
모델의 핵심 산식은 다음과 같다.
assembled = base prediction
enhanced = refined prediction
delta = enhanced - assembled
p = SigmoidGate(...)
y_hat = assembled + p * delta
여기서 중요한 점은 delta를 그대로 더하지 않는다는 것이다. SigmoidGate가 출력 경계와 token 통계를 바탕으로 p를 계산하고, 이 값으로 residual 반영량을 조절한다.
English
The ENN-PyTorch model converts input features into tokens, produces a base prediction and a refined prediction through Fuser and Collector, and then uses SigmoidGate to control how much residual is applied to produce the final prediction.
It is not enough to understand the model as a typical encoder plus linear head. Input normalization and embedding, spatial and temporal token encoding, task-level token fusion, residual refinement, bounded gating, and calibration are connected inside a single forward flow.
The core equation of the model is the following.
assembled = base prediction
enhanced = refined prediction
delta = enhanced - assembled
p = SigmoidGate(...)
y_hat = assembled + p * delta
The important point is that delta is not added directly. SigmoidGate computes p based on output boundaries and token statistics, and this value controls how much of the residual is applied.
한국어
모델 forward는 입력 변환, token 생성과 결합, refinement와 gating, 출력 보정의 네 단계로 나눠 볼 수 있다. Scaler는 입력 전처리와 출력 보정 양쪽에 걸쳐 있고, Fuser와 Collector는 각각 base prediction과 refinement 후보를 만든다.
English
The model forward flow can be divided into four stages: input transformation, token creation and fusion, refinement and gating, and output correction. Scaler spans both input preprocessing and output correction, while Fuser and Collector produce the base prediction and the refinement candidate respectively.
flowchart TD
A["입력 feature<br/>Input Features"] --> B["입력 전처리<br/>Input Preprocessing<br/>TensorDict or raw Tensor"]
B --> C["Embedding / Scaler<br/>feature embedding<br/>normalize_x"]
C --> D["Template<br/>spatial / temporal token encoding"]
D --> E["Fuser / Perceiver<br/>task token fusion"]
E --> F["assembled<br/>base prediction"]
E --> G["Collector<br/>token refinement"]
G --> H["enhanced<br/>refined prediction"]
F --> I["delta = enhanced - assembled"]
H --> I
I --> J["SigmoidGate<br/>compute p"]
J --> K["y_hat = assembled + p * delta"]
K --> L["calibration"]
L --> M["denormalization"]
M --> N["prediction"]