dev_AI_framework
레이어 자체가 자기 행렬 조각을 반환( 1번째 방법, 인덱스로 연결 관계 표현하기 )
명징직조지훈
2025. 5. 13. 11:52
예제 모델
model = SequentialMat()
model.add(DenseMat(3, input_dim=2)) # (2 → 3)
model.add(ActivationMat("sigmoid")) # sigmoid
입력 : x (1, 2)
1️⃣ op_matrix: 연산 종류 (정수 인코딩)
0 | const ← x (입력 노드) |
1 | const ← W (2×3) |
2 | const ← b (1×3) |
3 | matmul ← x @ W |
4 | add ← matmul + b |
5 | activation_sigmoid ← sigmoid(add) |
op_matrix = np.array([
0, # 0: input x
0, # 1: W
0, # 2: b
1, # 3: matmul
2, # 4: add
3 # 5: sigmoid
], dtype=np.int32)
2️⃣ input_matrix: 각 연산이 참조하는 입력 노드 인덱스
input_matrix = np.array([
[-1, -1], # x (입력)
[-1, -1], # W
[-1, -1], # b
[0, 1], # matmul(x, W)
[3, 2], # add(matmul, b)
[4, -1], # sigmoid(add)
], dtype=np.int32)
3️⃣ param_vector: 상수 노드의 값
param_vector = [
x, # input (사용자는 전달, 값 고정)
W, # weight (2×3)
b, # bias (1×3)
None, # matmul
None, # add
None # sigmoid
]
혹은 조금 더 확장해서 표현하는 건 어떨까?