AI VIDEO BRIEFING

딥러닝 손실 함수 총정리: MSE·Huber·크로스 엔트로피부터 센터 로스·트리플렛 로스까지

카네기멜런대 딥러닝 수업 자료를 바탕으로 회귀·분류·임베딩 학습에 쓰이는 손실 함수를 네 갈래로 정리했다. 각 손실이 어떤 오차에 더 큰 기울기를 주는지, 파이토치에서 흔한 실수는 무엇인지 살핀다.

손실 함수는 모델이 어떤 실수를 먼저 고칠지 정한다 — CMU 딥러닝 수업의 손실 함수 정리 영상 대표 이미지

핵심 메시지

  • 손실은 화면에 찍히는 하나의 숫자가 아니라 역전파에서 기울기를 정하는 설계 결정이며, 손실을 고른다는 것은 모델이 어떤 실수를 가장 열심히 고칠지 고르는 일이다.
  • 손실은 오차 크기를 재는 계열, 정답에 준 확률을 재는 계열, 임베딩을 직접 빚는 계열, 쌍이나 삼중항을 비교하는 계열의 네 갈래로 묶어 이해하는 편이 공식 암기보다 유용하다.
  • 파이토치의 크로스 엔트로피는 소프트맥스를 안에 포함하므로 앞에서 한 번 더 적용하면 목적함수가 바뀌고 기울기가 약해진다.
  • 분류를 맞히는 목표와 비교에 쓸 만한 임베딩을 얻는 목표는 서로 관련은 있지만 다른 목표이며, 검색·인증·제로샷 전이에는 표현 공간의 거리와 각도가 의미를 가져야 한다.
  • 쌍이나 삼중항에 기반한 손실에서는 어떤 표본을 뽑느냐가 어떤 관계가 기울기를 만드는지를 결정한다.

쉽게 이해하기

이 영상은 카네기멜런대학교 딥러닝 강의의 리사이테이션 자료로, 손실 함수를 실전 관점에서 정리한다. 발표자는 손실이 예측과 정답을 비교해 하나의 스칼라를 내놓고 역전파가 그 스칼라를 모든 학습 파라미터에 대해 미분한다는 기본 흐름부터 짚는다. 여기서 중요한 점은 같은 예측과 같은 정답을 받고도 손실에 따라 전혀 다른 기울기가 뒤로 흘러간다는 것이다. 어떤 손실은 큰 오차를 작은 오차보다 약간 더 나쁘게 취급하고, 다른 손실은 큰 오차 하나가 갱신 전체를 지배하게 만든다.

회귀에서는 잔차, 즉 예측에서 정답을 뺀 값이 그대로 오차가 된다. 부호가 있는 잔차는 체계적 편향을 진단하는 데는 유용하지만 양수와 음수가 평균에서 상쇄되기 때문에 학습 손실로는 부족하다. 평균절대오차는 부호를 없애고 벌점이 선형으로 커져 기울기 크기가 거의 일정하므로 동떨어진 이상치에 비교적 덜 흔들리고, 평균제곱오차는 벌점이 제곱으로 커져 큰 실수에 비례 이상으로 큰 갱신을 만든다. 후버 손실은 0 근처에서는 이차식처럼 매끄럽고 문턱을 넘어가면 선형으로 바뀌어 극단적인 잔차의 영향력을 줄인다.

다중 클래스 분류에서는 모델이 클래스마다 제약 없는 점수인 로짓을 내고 소프트맥스가 이를 합이 1인 확률로 바꾸며, 크로스 엔트로피는 정답 클래스에 준 확률의 음의 로그를 취한다. 그래서 확신을 갖고 틀린 예측이 애매하게 틀린 예측보다 훨씬 큰 벌점을 받는데, 이는 정확도만 보아서는 사라지는 정보다. 강연에서는 손으로 계산한 값과 파이토치가 계산한 값이 모두 0.43으로 일치하는 예를 들어 공식을 확인하고, 파이토치가 원시 로짓과 정수 클래스 인덱스를 받는다는 입력 규약을 강조한다. 반면 독립적인 예·아니오 판정이 여러 개일 때는 시그모이드와 이진 크로스 엔트로피를 하나로 합친 수치적으로 안정적인 연산을 써야 하며, 소박하게 옮겨 적은 공식은 확률이 부동소수점상 정확히 0이나 1로 반올림된 뒤 로그를 취하면서 NaN을 만들어 낸다.

후반부는 목표 자체를 바꾼다. 고정된 클래스 집합을 나누는 분류기는 결정 경계만 잘 그으면 성공이지만, 검색·인증·제로샷 전이에서는 표현 자체가 쓸모 있어야 한다. 그래서 같은 클래스의 표본은 뭉치고 다른 클래스의 표본은 멀어지거나 다른 방향을 향하도록 만드는 손실들이 등장한다. 센터 로스는 클래스마다 학습되는 중심을 두고 임베딩과 정답 중심 사이의 제곱 거리를 줄이며, 보통 크로스 엔트로피에 계수를 곱해 더하는 보조 목적함수로 쓴다. 계수가 너무 작으면 뭉치는 효과가 없고 너무 크면 군집을 뭉개는 데 매달려 분류 성능이 약해진다.

각도 기반 손실은 임베딩과 클래스 가중치를 모두 L2 정규화해 내적이 코사인 유사도가 되게 만든다. 벡터 길이가 지름길로 쓰이지 못하고 방향만 남으며, 코사인 값의 범위가 좁으므로 스케일을 곱해 학습이 가능한 크기로 되돌린다. 여기에 여백을 더하는 방식은 두 갈래다. 각도에 상수를 곱하는 방식은 각도가 커질수록 정답 점수를 더 공격적으로 깎고, 코사인에서 고정된 양을 빼는 방식은 해석이 쉽다. 강연 예제에서는 여백이 0일 때 손실이 1이던 것이 0.25에서 약 3.8로 올랐고, 0에서 0.4까지 키우자 손실이 1에서 6까지 꾸준히 상승했다.

주요 인사이트

  • 대조 손실은 두 임베딩을 받아 같은 클래스면 거리의 제곱만큼 벌점을 물리지만, 다른 클래스면 거리가 정해 둔 여백보다 가까울 때만 벌점을 문다. 즉 충분히 멀어진 쌍은 더 이상 기울기를 만들지 않는다.
  • 트리플렛 손실은 기준점과 같은 클래스 표본 사이의 거리가 다른 클래스 표본 사이의 거리보다 최소한 여백만큼 작아야 한다는 상대적 순서를 강제한다. 강연의 출력 예에서 쉬운 삼중항의 손실은 0이었고, 어려운 삼중항은 약 0.2, 배치 내 하드 마이닝은 약 0.5로 아홉 기준점 중 여섯 개가 활성 상태였다.
  • 표본 추출 정책 자체가 하이퍼파라미터다. 거의 모든 삼중항이 쉬우면 손실이 0에 몰려 학습이 멈추고, 반대로 늘 가장 극단적인 표본만 고르면 잡음이 섞이거나 라벨이 잘못된 표본을 잡아 학습이 불안정해진다. 하드 또는 세미하드 마이닝은 그 사이에서 정보량 있는 비교를 유지하려는 시도다.
  • 마지막 실습은 2차원 임베딩과 세 클래스 예측을 내놓는 작은 모델에 크로스 엔트로피와 가중치 0.05의 센터 로스를 함께 쓴다. 정확도는 약 93%였지만 발표자는 이 숫자가 요점이 아니라 두 손실이 각각 클래스를 가르는 일과 클래스 내부를 조이는 일을 나누어 맡는다는 구조가 요점이라고 강조한다.
  • 손실 선택은 이름부터 고르는 것이 아니라 과제 구조에서 출발한다. 모델 출력이 무엇인지, 타깃이 어떻게 부호화돼 있는지, 어떤 기하 구조를 개선하고 싶은지, 어떤 예제가 가장 큰 기울기를 만들어야 하는지를 먼저 정한 뒤 손실을 고르는 순서다.

자주 묻는 질문

회귀에서 MSE와 MAE, 후버 손실 중 무엇을 골라야 하나?

큰 잔차가 무엇을 뜻하는지에 달렸다. 큰 오차가 믿을 만한 신호이고 특히 비용이 크다면 평균제곱오차가 강한 영향력을 주는 편이 낫고, 극단값이 잡음일 수 있다면 평균절대오차나 후버 손실이 더 안전하다. 후버는 이상치에 반응은 하되 제곱항이 제한 없이 커지지는 않게 막아 준다.

파이토치에서 크로스 엔트로피를 쓸 때 흔한 실수는?

소프트맥스를 미리 적용한 뒤 그 출력을 크로스 엔트로피에 넘기는 것이다. 이 연산은 로그 소프트맥스와 음의 로그 우도를 수치적으로 안정적인 방식으로 이미 합쳐 두었기 때문에, 소프트맥스를 두 번 적용하면 목적함수가 달라지고 유용한 기울기가 약해진다.

센터 로스 같은 임베딩 손실은 왜 따로 필요한가?

분류기는 결정 경계만 제대로 그으면 내부 표현이 다소 흩어져 있어도 성공으로 친다. 하지만 검색이나 인증, 제로샷 전이에서는 표현 공간의 거리와 각도가 의미를 가져야 하므로 같은 클래스가 뭉치는 조밀성과 다른 클래스가 벌어지는 분리를 명시적으로 요구하는 손실이 필요하다.

하이퍼파라미터를 손대기 전에 확인할 것은?

강연은 텐서 모양, 타깃 부호화 방식, 축약 방식, 표본 추출, 가중치, 기울기 흐름을 먼저 검증하라고 정리한다. 좋은 손실은 우리가 원하는 행동을 최적화하기 쉽게 만들어 주는 손실이며, 그 전제가 어긋나 있으면 하이퍼파라미터 조정은 헛수고가 되기 쉽다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식