{"text_format":"1","workbook":"xlsx","n_sheets":2,"sheets":["행렬미분_구현","수식_설명"],"not_rendered":{"charts":1,"images":0,"macros":1,"external_links":0,"defined_names":0,"comments":1,"pivot_tables":0},"unopened":[],"bounds":{"document_bytes":16777216,"sheet_cells":100000,"rows_first":2000,"rows_last":500,"rows_between":2000,"halvings":0,"cell_chars":16384,"cell_head_chars":4096},"cells_cut":0,"cells_raw":0,"read":"whole","date_system":"1900"}

{"sheet":"행렬미분_구현","index":0,"n_rows":33,"n_cols":14,"rows_kept":33,"cut":false,"hidden":false,"merged":[]}
["learning rate",0.01,null,"랜덤값",0.83266397050322505,null,"Y=W1*X1 + W2*X2 + BIAS"]
["w1",3,null,null,null,null,"LOSS=(Y_P - Y_T)^2"]
["w2",-2]
["bias",2]
[]
["x1","x2","Y","Y_pred","Loss"]
[-2.3806759329500542,0.27690998230736241,{"$f":"A7*$B$2+B7*$B$3+$B$4+$E$1","v":-4.8631837929616619},{"$f":"MMULT(A7:B7,$D$24:$D$25)+$H$24","v":2.0783307217565994E-2}]
[1.5765191205640416,-0.99277238896890996,{"$f":"A8*$B$2+B8*$B$3+$B$4+$E$1","v":9.5477661101331694},{"$f":"MMULT(A8:B8,$D$24:$D$25)+$H$24","v":0.36783348797368987}]
[-1.6428306060343272,2.7547881199379578,-7.605404087475673,1.0356097207714199]
[-2.213827469748332,1.3789211544702518,-6.5666607476822758,0.43985691011492167]
[1.6645252928841732,1.7819432747961086,4.2623532995635269,1.3565852047554725]
[1.0966689572529829,0.98966456022318994,4.1433417218157942,0.96571638752871303]
[-7.0891028818103941E-2,1.5681932246583026,-0.51639556526769193,0.93468942286678502]
[0.50091278885292878,0.72964211955738012,2.8761180979472512,0.75555729961566875]
[0.60302512725426149,1.6192923749694961,1.4031546023270174,1.087357356690176]
[-2.5635253272899332,-3.0182087976590832E-2,-4.7975478354133934,-0.12326879624979348]
[]
[]
[]
[]
[]
[]
["x1",null,0.2,"W",null,"XW",0.4,"b",null,"Y_P","x2","Y_T",null,"loss"]
[-2.3806759329500542,0.27690998230736241,0.35,0.2,null,{"$f":"MMULT(A24:B24,D24:D25)","v":-0.37921669278243403},null,0.4,null,{"$f":"F24+H24","v":2.0783307217565994E-2},null,-4.8631837929616619,null,{"$f":"(J24-L24)^2","v":23.853134635633094}]
[null,null,null,0.35]
[]
[null,null,"행렬미분","dL_dW",null,null,null,"dL_dbias"]
[null,null,null,{"$f":"MMULT(TRANSPOSE(A24:B24),J24-L24)","v":-11.627142932716554},null,null,null,{"$f":"J24-L24","v":4.8839671001792277}]
[null,null,null,1.3524192433003701]
[]
[null,null,null,"w_new",null,null,null,"B_new"]
[null,null,null,{"$f":"D24-$B$1*D28","v":0.31627142932716557},null,null,null,{"$f":"H24-$B$1*H28","v":0.35116032899820776}]
[null,null,null,{"$f":"D25-$B$1*D29","v":0.3364758075669963}]

{"sheet":"수식_설명","index":1,"n_rows":82,"n_cols":23,"rows_kept":82,"cut":false,"hidden":false,"merged":[]}
[]
["수식 설명",null,null,null,null,null,null,null,null,null,"목적",null,null,null,null,null,null,null,null,null,"7. Gradient의 정체"]
[null,null,"출력 = 입력 × 가중치 → 오차 계산 → 미분 → 가중치 업데이트",null,null,null,null,null,null,null,null,"딥러닝은 입력에 가중치를 곱해 출력을 만들고, 오차를 미분해 가중치를 업데이트하는 과정",null,null,null,null,null,null,null,null,null,"각 가중치가 손실에 미치는 영향의 방향과 크기"]
[]
[null,"모델:",null,null,null,null,null,null,null,null,"1. 모델 정의",null,null,null,null,null,null,null,null,null,"8. 경사하강법 (Gradient Descent)"]
[null,null,"y = w₁·x₁ + w₂·x₂ + b",null,null,null,null,null,null,null,null,"신경망은  y = XW + b 형태의 선형모델을 여러 레이어로 쌓은 구조",null,null,null,null,null,null,null,null,null,"Gradient 반대 방향으로 가중치를 조금씩 이동시키는 최적화 알고리즘"]
[null,null,"입력 특성 x₁, x₂에 가중치 w₁, w₂를 곱하고 편향 b를 더해 예측값 y를 계산",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"W_new = W_old - η × ∂L/∂W"]
[null,null,null,null,null,null,null,null,null,null,"2. 행렬을 쓰는 이유",null,null,null,null,null,null,null,null,null,null,"η (학습률): \"조금씩\"의 크기를 결정하는 hyperparameter"]
[null,"손실 함수:",null,null,null,null,null,null,null,null,null,"딥러닝은 고차원 데이터를 GPU로 병렬 처리하기 때문에 행렬 연산 필수"]
[null,null,"L = (y_예측 - y_true)²",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"9. 전체 학습 루프"]
[null,null,"예측값(y_예측)과 실제값(y_true) 간의 차이를 제곱한 값 (평균제곱오차, MSE)",null,null,null,null,null,null,null,"3. 순전파 (Forward Pass)",null,null,null,null,null,null,null,null,null,null,"딥러닝은 예측 → 오차 → 미분 → 업데이트를 반복하는 자동 최적화 시스템"]
[null,null,null,null,null,null,null,null,null,null,null,"입력 데이터가 층층이 통과하며 예측값을 만드는 과정",null,null,null,null,null,null,null,null,null,"반복:"]
[null,"그래디언트(기울기) 계산:",null,null,null,null,null,null,null,null,null,null,"X → Layer 1 → Layer 2 → ... → 예측값 ŷ",null,null,null,null,null,null,null,null,null,"1. 순전파: 예측값 계산"]
[null,null,null,"각 파라미터에 대한 손실 함수의 편미분을 계산",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"2. 손실 계산: 오차 측정"]
[null,null,null,"∂L/∂w₁ = (y_예측 - y_true) · x₁",null,null,null,null,null,null,"4. 손실함수",null,null,null,null,null,null,null,null,null,null,null,"3. 역전파: gradient 계산"]
[null,null,null,"∂L/∂w₂ = (y_예측 - y_true) · x₂",null,null,null,null,null,null,null,"손실함수는 모델 예측과 실제값 사이의 오차를 수치화한 것",null,null,null,null,null,null,null,null,null,null,"4. 가중치 업데이트: W -= η × gradient"]
[null,null,null,"∂L/∂b = (y_예측 - y_true)",null,null,null,null,null,null,null,null,"예: MSE, Cross-Entropy",null,null,null,null,null,null,null,"10. Backprop의 핵심"]
[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"Backprop = 연쇄법칙(Chain Rule)을 역방향으로 행렬 형태로 구현한 것"]
[null,"작동 원리",null,null,null,null,null,null,null,null,"5. 학습의 핵심"]
[null,null,"1. 그래디언트가 양수면 → 가중치를 감소시켜야 손실이 줄어듬",null,null,null,null,null,null,null,null,"손실을 줄이기 위해 가중치를 어느 방향으로, 얼마나 바꿔야 하는지",null,null,null,null,null,null,null,null,"11. 모든 모델의 공통 구조"]
[null,null,"2. 그래디언트가 음수면 → 가중치를 증가시켜야 손실이 줄어듬",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"모든 딥러닝 모델은 내부적으로 행렬곱 + 미분 + 업데이트 구조를 공유"]
[null,null,"3. 이 그래디언트에 학습률(learning rate)을 곱해서 파라미터를 조금씩 업데이트",null,null,null,null,null,null,null,"6. 역전파 (Backpropagation)",null,null,null,null,null,null,null,null,null,null,null,"행렬곱 + 활성화함수 + 미분 + 업데이트 구조를 공유"]
[null,null,null,null,null,null,null,null,null,null,null,"연쇄법칙을 역방향으로 적용해 손실을 각 가중치로 미분하여 gradient를 구하는 과정",null,null,null,null,null,null,null,null,null,null,"차이는 층의 연결 방식과 연산 종류뿐"]
[null,null,null,null,null,null,null,null,null,null,null,null,"출력층 → 은닉층 → 입력층 방향으로 gradient 전달",null,null,null,null,null,null,null,"결론"]
[null,null,null,null,null,null,null,null,null,null,null,null,"∂L/∂W를 계산 (손실이 가중치에 대해 얼마나 민감한가)",null,null,null,null,null,null,null,null,"딥러닝: 고차원 공간에서 Loss를 최소화하는 수학적 최적화 문제"]
[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"AI는 Loss landscape 위에서 W를 조금식 이동시키는(gradient descent로 최적점을 찾는) 알고리즘"]
[]
[]
[null,"미분 학습 노트"]
[null,null,"어디로 얼마나 움직일지 알려주는 방향표"]
[]
[]
[null,null,"딥러닝 경사하강법 미분"]
[null,null,null,"(WX + b − Y)² 을 왜 미분하는지",null,null,"-> 최소로 만들기"]
[null,null,null,"정답과 예측의 차이를 줄이기 위해"]
[null,null,null,null,"오차=(예측−정답)2",null,null,null,null,null,null,null,null,null,null,null,null,null,null,"정리"]
[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"제곱 → 2가 나옴"]
[null,null,"1단계 이해. 예측식부터 이해",null,null,null,null,null,null,null,null,"6단계. 치환",null,null,null,null,null,null,null,null,"1단계 미분 → 오차 크기"]
[null,null,null,"예측값=WX+b",null,null,null,null,null,null,null,"(WX+b−Y)2","-> ","z=WX+b−Y",null,null,null,null,null,null,"2 단계 미분"]
[null,null,null,null,"X : 입력 (예: 공부시간)",null,null,null,null,null,null,"단순화",null,null,null,null,null,null,null,null,null,"W → X가 붙음"]
[null,null,null,null,"W : 기울기 (공부시간이 늘면 점수가 얼마나 오르나)",null,null,null,null,null,null,null,"L = z^2",null,null,null,null,null,null,null,null,"b → 1만 남음"]
[null,null,null,null,"b : 절편 (아무것도 안 해도 기본 점수)",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"W는 입력에 영향, b는 전체를 이동"]
[null,null,null,"단순 직선 공식"]
[null,null,null,null,null,null,null,null,null,null,null,"7단계. 1단계 미분"]
[null,null,null,null,null,null,null,null,null,null,null,null,"dz / dL ​= 2z"]
[null,null,"2단계 이해. 손실함수"]
[null,null,null,"L=(WX+b−Y)^2 -> 이 값을 최소화하는 게 목표",null,null,null,null,null,null,null,null,"2(WX+b−Y)"]
[]
[null,null,null,"제곱 이유"]
[null,null,null,null,"음수 제거",null,null,null,null,null,null,"8단계. 2단계 미분"]
[null,null,null,null,"차이가 클수록 더 크게 마이너스 보상",null,null,null,null,null,null,null,"W, b"]
[null,null,null,null,null,null,null,null,null,null,null,null,null,"W를 바꾸면 오차가 얼마나 변하는지"]
[null,null,"3단계 이해. 미분",null,null,null,null,null,null,null,null,null,null,"b를 바꾸면 오차가 얼마나 변하는지"]
[null,null,null,"이 값을 조금 바꾸면, 결과가 얼마나 변하는지 확인"]
[null,null,null,null,"W를 조금 바꾸면 → 오차가 얼마나 변하는지",null,null,null,null,null,null,"9단계. W에 대해 미분하면 왜 X가 붙는지"]
[null,null,null,null,"b를 조금 바꾸면 → 오차가 얼마나 변하는지",null,null,null,null,null,null,null,"WX + b − Y 를 W로 미분"]
[null,null,null,"이걸 알아야 다음 단계인 어디로 움직일지 알 수 있음",null,null,null,null,null,null,null,null,null,"WX → X (W가 1 늘면 WX는 X만큼 늘어남)"]
[null,null,null,null,null,null,null,null,null,null,null,null,null,"b → 상수 → 0"]
[null,null,"4단계 이해. 미분 기호 d/dz의 의미",null,null,null,null,null,null,null,null,null,null,"Y → 상수 → 0"]
[null,null,null,"(d / zd​) * (z)^2",null,null,null,null,null,null,null,null,"d/Wd * ​(WX+b−Y) = X"]
[null,null,null,null,"z가 변할 때, z²는 얼마나 변하는지 ",null,null,null,null,null,null,null,"입력 X가 클수록 가중치 변화도 큼"]
[null,null,null,null,"변화율을 확인하는 단계",null,null,null,null,null,null,"w 결과값"]
[null,null,null,null,null,null,null,null,null,null,null,null,"dL/Dw = 2(WX + b - Y ) *X"]
[null,null,"5단계 이해. 왜 z²를 미분하면 2z인지",null,null,null,null,null,null,null,null,null,"입력 X가 클수록 가중치 변화도 큼"]
[null,null,null,"z → z + 조금"]
[null,null,null,"z² → 얼마나 커질지",null,null,null,null,null,null,null,"10단계. b에 대해 미분하면 왜 X가 없는지"]
[null,null,null,null,null,null,null,null,null,null,null,null,"“WX + b − Y 를 b로 미분 결과"]
[null,null,"d/zd​(z^2)=2z",null,null,null,null,null,null,null,null,null,null,"WX → b랑 무관 → 0"]
[null,null,null,"값이 클수록 → 변화도 더 큼",null,null,null,null,null,null,null,null,null,"b → 1"]
[null,null,null,null,null,null,null,null,null,null,null,null,null,"Y → 상수 → 0"]
[null,null,null,null,null,null,null,null,null,null,null,null,"따라서"]
[null,null,null,null,null,null,null,null,null,null,null,null,null,"d/db * ​(WX+b−Y)=1"]
[]
[null,null,null,null,null,null,null,null,null,null,null,"b의 결과값"]
[null,null,null,null,null,null,null,null,null,null,null,null,"dL/db = 2(WX + b - Y )"]
[null,null,null,null,null,null,null,null,null,null,null,null,"b는 전체를 위아래로 이동시키는 역할"]
[]
[null,null,null,null,null,null,null,null,null,null,null,"11단계. 경사하강법 업데이트 (실전"]
[null,null,null,null,null,null,null,null,null,null,null,null,"W←W−η⋅2(WX+b−Y)X"]
[null,null,null,null,null,null,null,null,null,null,null,null,"b←b−η⋅2(WX+b−Y)"]
[]
[null,null,null,null,null,null,null,null,null,null,null,"η (에타) = 학습률 = 얼마나 한 번에 움직일지"]