2026/05/26 5

[밑바닥부터 시작하는 딥러닝 1] 09. SGD는 왜 지그재그로 가고, Adam은 무엇을 기억하는가

밑바닥부터 시작하는 딥러닝 1 - 매개변수 갱신 방법경사 하강법은 기울기를 따라 내려가면 된다는 단순한 아이디어에서 출발한다. 하지만 실제 손실 함수의 지형은 항상 둥근 그릇처럼 친절하지 않다.길게 늘어진 골짜기에서는 SGD가 지그재그로 흔들릴 수 있고, 이를 줄이기 위해 Momentum, AdaGrad, Adam 같은 방법이 등장한다.이번 글에서 잡을 것SGD는 현재 기울기만 보고 이동한다.Momentum은 과거 이동 방향, 즉 관성을 기억한다.AdaGrad는 매개변수별로 얼마나 많이 움직였는지 기억한다.Adam은 Momentum과 AdaGrad의 아이디어를 함께 사용한다.SGD의 지그재그길게 늘어진 그릇 모양의 지형에서는 한쪽 방향의 기울기가 훨씬 가파르다. SGD는 현재 위치의 가장 큰 기울기에 반..

[밑바닥부터 시작하는 딥러닝 1] 08. ReLU, Sigmoid, Affine 계층은 무엇을 기억하고 되돌려주는가

밑바닥부터 시작하는 딥러닝 1 - 계층 구현과 기울기 확인계산 그래프의 덧셈과 곱셈 규칙을 이해했다면, 이제 신경망의 실제 계층을 같은 관점으로 볼 수 있다.각 계층은 순전파 때 필요한 값을 저장하고, 역전파 때 상류에서 온 미분값을 자기 규칙에 맞게 변환해 하류로 보낸다.이번 글에서 잡을 것ReLU는 입력이 0 이하였던 위치를 mask로 기억한다.Sigmoid는 순전파 출력값을 기억한다.Affine은 행렬 곱과 편향 더하기를 담당한다.Softmax-with-Loss는 출력층과 손실 계산을 함께 묶는다.기울기 확인은 수치 미분과 역전파 결과를 비교해 구현 오류를 찾는 방법이다.계층을 보는 기준forward값 계산→저장x/out/mask→backward미분 전달계층 구현을 읽을 때는 코드 줄을 모두 외우기..

[밑바닥부터 시작하는 딥러닝 1] 07. 역전파는 최종 결과에서 시작해 책임을 거꾸로 나누는 계산이다

밑바닥부터 시작하는 딥러닝 1 - 계산 그래프와 오차역전파법수치 미분은 이해하기 쉽지만 느리다. 매개변수가 많아질수록 하나씩 흔들어보는 방식은 현실적이지 않다.오차역전파법은 최종 손실에서 시작해 각 노드가 저장해 둔 값을 꺼내며 거꾸로 이동하고, 그 과정에서 `dW`, `db`처럼 실제로 갱신에 필요한 기울기를 한 번의 backward 흐름으로 모은다.이번 글에서 잡을 것순전파는 입력에서 결과로 가는 계산이다.역전파는 결과에서 입력 방향으로 미분값을 전달하는 계산이다.덧셈 노드는 미분값을 그대로 흘린다.곱셈 노드는 순전파 때의 입력값을 서로 바꿔 곱한다.`z=x*y` 같은 곱셈 노드는 x 방향으로는 y를, y 방향으로는 x를 곱해 미분값을 보낸다.사과 쇼핑 예시사과 가격이 100원, 사과 개수가 2개, ..

[밑바닥부터 시작하는 딥러닝 1] 06. TwoLayerNet 코드는 외울 대상이 아니라 학습 루프의 조립도다

밑바닥부터 시작하는 딥러닝 1 - 신경망 학습 알고리즘4장 후반의 코드는 길어 보인다. 하지만 새 개념이 갑자기 쏟아지는 것이 아니다. 앞에서 배운 순전파, 손실 함수, 미니배치, 기울기 계산을 한 클래스 안에 모아둔 것이다.이 글의 목표는 코드를 한 줄씩 외우는 것이 아니라, 신경망 학습이 어떤 순서로 반복되는지 구조를 잡는 것이다.이번 글에서 잡을 것`params`는 가중치와 편향을 저장한다.`predict`는 순전파로 예측값을 만든다.`loss`는 예측값과 정답을 비교해 벌점을 계산한다.`gradient`는 손실을 줄이기 위한 방향을 계산한다.학습 루프는 미니배치 선택, 기울기 계산, 매개변수 갱신의 반복이다.클래스가 들고 있는 것구성역할읽는 관점paramsW1, b1, W2, b2 저장모델이 조정..

[밑바닥부터 시작하는 딥러닝 1] 05. 정확도 대신 손실 함수를 줄이는 이유

밑바닥부터 시작하는 딥러닝 1 - 미니배치, 수치 미분, 경사 하강법사람에게는 정확도가 가장 직관적이다. 100개 중 90개를 맞히면 90%라고 말하면 된다. 그런데 신경망 학습에서는 정확도보다 손실 함수를 더 중요하게 쓴다.이유는 미분 때문이다. 신경망은 매개변수를 어느 방향으로 바꿔야 좋아지는지 알아야 하고, 그 단서를 손실 함수의 변화에서 얻는다.이번 글에서 잡을 것미니배치는 전체 데이터 중 일부를 뽑아 학습하는 방식이다.정확도는 값이 뚝뚝 끊겨 미분 단서로 쓰기 어렵다.손실 함수는 연속적으로 변해서 매개변수 조정 방향을 알려준다.기울기는 각 매개변수를 어느 방향으로 바꿔야 손실이 줄어드는지 알려준다.미니배치는 표본 조사다훈련 데이터가 6만 장이라면 매번 전체 데이터를 모두 채점하는 것은 비효율적이..