본문 바로가기

dev_AI_framework

Regression 에서 오류 발생, XOR 은 잘 되는데 왜...? - 해결완료

 

  • 학습 경로에서 중간 텐서 해제 금지
    기존 train_step_entry → run_graph_with_loss_cuda() 호출은 forward 직후 중간 출력들을 해제했다. 이어지는 backward가 MATMUL의 입력(예: Flatten 출력)까지 필요로 하는데 포인터가 무효라서 그래디언트가 무의미(0/쓰레기) → 파라미터 미갱신 → MSE 고정.
    수정 후 train_step_entry가 손실을 직접 계산하고, 중간 텐서를 유지한 채 바로 backward로 넘어가므로 가중치가 정상 갱신된다. XOR은 우연히 터지지 않았을 뿐, 회귀에서는 더 민감하게 드러났다.

 

  • y_true shape와 배치 크기 정합
    이전엔 y_true의 per‑sample shape만 기록되어 총 요소수 계산이 어긋났다. MSE의 정규화와 인덱싱이 배치 미반영으로 틀어져 그래디언트 스케일이 비정상적이었다. y_true shape 보정과 N=B*C 기준 손실 계산으로 스케일이 정상화되어 수렴한다.