경사하강법으로 학습할 때 손실이 튀거나 거의 줄지 않습니다. 기울기와 학습률을 어떻게 해석하고 조정하나요?
잠깐, 답변을 보기 전에
먼저 내 말로 설명해 볼까요?
답변과 점검 포인트 펼치기답변 접기
구두 답변
정의를 외우기보다, 원리와 조건을 연결해 설명해 보세요.
기울기는 현재 파라미터를 조금 바꿀 때 손실이 어느 방향으로 얼마나 변하는지를 나타내고, 경사하강법은 그 반대 방향으로 파라미터를 움직입니다. 학습률은 그 이동의 보폭이므로 기울기와 같은 개념이 아닙니다. 손실이 튀거나 발산하면 큰 학습률만 의심하지 말고 입력·타깃 스케일, 배치의 이상치, 잘못된 라벨, 수치 overflow, 모델 구조까지 확인하겠습니다. 반대로 거의 줄지 않으면 학습률이 너무 작거나 기울기가 사라지는지, 데이터 신호 자체가 있는지 분리해 보겠습니다.
보폭과 손실 곡선을 함께 봅니다
간단한 갱신은 파라미터 = 파라미터 - 학습률 × 기울기로 생각할 수 있습니다. 같은 방향의 기울기가 반복될 때 학습률이 너무 크면 최소점을 건너뛰어 손실이 진동하거나 발산합니다. 너무 작으면 안정적으로 보이지만 평평한 구간을 지나가는 데 오래 걸리고, 검증 성능이 좋아지기 전에 계산 예산이 소진될 수 있습니다. 한 번의 손실보다 초기 여러 step의 train·validation 곡선, gradient norm, 파라미터 norm을 기록하고, 같은 seed와 배치 조건에서 넓은 학습률 후보를 비교하겠습니다.
특징마다 값의 범위가 크게 다르면 손실 지형이 한 방향으로 길고 좁아져 한 학습률로 모든 방향을 안정적으로 이동하기 어렵습니다. 평균·분산은 훈련 데이터에서만 계산해 입력을 표준화하고, 검증·운영 데이터에는 그 통계를 그대로 적용합니다. 타깃 규모가 지나치게 크면 타깃 스케일을 조정한 뒤 예측을 원래 단위로 되돌리는지 확인하겠습니다. 이런 전처리는 업데이트 조건을 안정화하는 것이지 누수나 라벨 오류를 고치는 방법은 아닙니다.
발산을 단순한 튜닝 문제로 보지 않습니다
gradient norm이 특정 배치에서 폭발하면 gradient clipping이 한시적으로 갱신을 제한할 수 있습니다. 그러나 clipping으로 계속 잘라야 한다면 학습률·입력 스케일·초기화·모델 깊이·손실 정의를 먼저 점검하겠습니다. Adam 같은 적응형 최적화기는 파라미터별 갱신 크기를 조절하고, 학습률 decay는 학습이 진행됨에 따라 전체 보폭을 줄이는 도구입니다. 어느 쪽도 잘못된 정답이나 데이터 누수를 자동으로 제거하지 않습니다. optimizer를 바꾼 뒤 좋아졌다면 원인을 해결했다고 단정하지 말고 일반화 성능과 재현성을 다시 평가하겠습니다.
배치 크기가 바뀌면 기울기 추정의 잡음과 갱신 빈도가 함께 바뀝니다. 큰 배치는 방향이 매끄러워질 수 있지만 한 번의 업데이트가 비싸고, 작은 배치는 noise가 커져 탐색성이 생기는 대신 손실이 튈 수 있습니다. 따라서 배치 크기만 바꾸고 같은 학습률을 유지하지 말고, 실제 step 수·샘플 수·검증 성능을 동일한 기준으로 비교하겠습니다. warmup은 초기 큰 업데이트를 피할 때, decay는 학습 후반의 보폭을 줄여 안정적인 수렴을 노릴 때 사용하되 곡선과 비용으로 효과를 확인합니다.
검증은 의도적으로 작은 학습률부터 큰 학습률까지 탐색하고, exploding gradient와 vanishing gradient를 gradient norm의 크기만으로 단정하지 않습니다. 층별 gradient, 파라미터 norm, loss의 유한값 여부, 입력·라벨 샘플을 함께 확인하겠습니다. 학습률을 낮추면 항상 더 좋은 최소점에 간다는 보장은 없으므로, 안정적으로 감소하면서 보지 않은 데이터 성능과 계산 비용이 좋은 범위를 선택하겠습니다.
득점 포인트
이해가 드러나는 지점을 확인해 보세요.
- 기울기의 방향·크기와 학습률의 보폭을 구분하고 큰 값의 진동·작은 값의 정체를 곡선으로 진단한다.
- 특징·타깃 스케일, 배치 잡음, gradient norm을 함께 확인해 학습률 하나로 원인을 단정하지 않는다.
- clipping·Adam·warmup·decay를 도구로 사용하되 데이터 오류와 일반화 문제를 자동 해결한다고 보지 않는다.
감점 포인트
놓치기 쉬운 조건과 오해를 짚어 보세요.
- 기울기가 크면 항상 큰 보폭으로 움직여야 한다고 말한다.
- 손실 발산을 학습률 하나의 문제로 단정하고 스케일·라벨·수치 문제를 조사하지 않는다.
- Adam이나 clipping을 적용하면 발산 원인과 일반화 문제가 모두 해결된다고 주장한다.
더 파고들 거리
하나 더 질문하며 이해의 범위를 넓혀 보세요.
- 배치 크기와 학습률을 함께 바꿉니다. 업데이트 횟수·gradient noise·처리 샘플 기준을 어떻게 맞춰 비교하나요?
- warmup과 decay를 적용한 학습이 좋아 보입니다. 검증 성능·동일 계산 예산·수렴 시점을 어떻게 비교하나요?
- 층별 gradient norm과 파라미터 norm을 기록해 exploding과 vanishing을 구분해 보세요.
득점·감점 포인트는 학습용 자기 점검 기준이며, 특정 회사의 실제 채점표가 아닙니다.
원리부터 공부하고 싶다면
답변을 보충하는 개념·예제·슈도코드를 읽어 보세요.