dev_AI_framework

실제에서 적용 방안, 계산 그래프의 단일 행렬 연산으로의 표현

명징직조지훈 2025. 5. 18. 15:21

0 과 1로 구성된 연결 행렬 E 를 기반으로 

연산이 수행될 때마다 그 1이 의미하는 연결 위치를 실제 값으로 치환하면서, 

입력값  -> 연산 결과 -> 다시 E 에 저장하는 방식으로

모든 forward 흐름과 중간값을 하나의 행렬 E 에 계속 누적해나가는 구조 설계

이 구조 자체로 역전파도 가능

 

E (초기 상태):
  0  0  1  0
  0  0  1  0
  0  0  0  1
  0  0  0  0

해석:
- (0,2), (1,2): 입력값 → 노드 2
- (2,3): 노드 2 → 노드 3

---

1단계: 입력값 치환
  E[0,2] ← x₁
  E[1,2] ← x₂

E 상태:
  0  0  x₁  0
  0  0  x₂  0
  0  0   0   1
  0  0   0   0

---

2단계: 노드 2 연산 결과 계산
- x₃ = x₁·w₀₂ + x₂·w₁₂
- E[2,3] = x₃

E 상태:
  0  0  x₁   0
  0  0  x₂   0
  0  0   0  x₃
  0  0   0   0

 

✅ 핵심 개념 정리

E[i][j] = 1 (초기) 노드 i → j 연결 존재 (아직 계산되지 않음)
E[i][j] = x 실제 계산 결과 또는 입력값이 전달됨
E[i][j] 값이 치환됨 계산이 수행되어 값이 전달된 상태
forward는 E를 overwrite E는 값 누적 메모리로 작동

 

🧠 역전파가 가능한 이유

연결 정보는 **위치(E[i][j])**에 그대로 있고,
해당 위치에 들어간 값은 forward 결과로 저장되어 있으므로,
이를 기반으로 역전파 시 필요한 모든 정보를 재구성 가능.