NVIDIA NCA-GENL 시험 노트개념 정리18 MIN
머신러닝 세 갈래와 과적합
지도·비지도·강화학습이 갈리는 기준, 손실 함수와 경사하강법이 도는 방식, 과적합과 편향-분산 트레이드오프, 그리고 L1·L2·드롭아웃 정규화를 NCA-GENL의 첫 도메인에 맞춰 정리합니다.
NCA-GENL은 생성형 AI 시험이지만 배점이 가장 큰 도메인은 「Core Machine Learning and AI Knowledge」입니다. 프롬프트나 RAG를 묻기 전에 모델이 어떻게 배우는가를 먼저 묻는다는 뜻입니다. 이 노트는 그 바닥을 깝니다 — 학습 방식 세 갈래, 학습을 굴리는 두 부품(손실 함수와 경사하강법), 그리고 학습이 실패하는 두 방향과 그것을 막는 정규화입니다.
학습 방식 세 갈래
갈래를 가르는 질문은 하나입니다. 데이터에 정답이 붙어 있는가, 그리고 정답 대신 무엇이 있는가.
지도학습과 정답표
지도학습(supervised learning)은 입력마다 정답 라벨이 붙은 데이터로 배우는 방식입니다. 「이 메일은 스팸」·「이 집값은 4억 2천」처럼 맞혀야 할 값이 데이터에 이미 적혀 있고, 모델은 자기 예측과 그 값의 차이를 줄이는 쪽으로 움직입니다.
맞히는 값이 갈래이면 분류(classification), 연속된 수이면 회귀(regression)입니다. 스팸 여부는 분류이고 집값은 회귀입니다. 시험에서 이 둘을 가르는 기준은 「출력이 정해진 몇 개 중 하나인가, 아니면 눈금 위 아무 값이나 될 수 있는가」입니다.
LLM도 사전학습 단계에서는 지도학습의 틀 안에 있습니다. 사람이 라벨을 붙이지는 않지만 다음 토큰이 곧 정답이라 라벨을 따로 만들 필요가 없을 뿐입니다. 이런 방식을 자기지도학습(self-supervised learning)이라 부르고, 05편의 사전학습 이야기가 여기서 이어집니다.
비지도학습과 구조 찾기
비지도학습(unsupervised learning)은 라벨 없는 데이터에서 구조를 찾는 방식입니다. 맞혀야 할 값이 없으므로 「맞았다·틀렸다」를 잴 수 없고, 대신 데이터가 어떻게 뭉쳐 있는지·어느 축이 정보를 많이 담는지를 봅니다.
대표적인 것이 비슷한 것끼리 묶는 군집화(clustering)와 축을 줄이는 차원 축소(dimensionality reduction)입니다. 고객을 성향별로 나누는 일, 임베딩 수천 차원을 2차원 그림으로 눌러 보는 일이 각각 여기 속합니다. 09편에서 PCA와 t-SNE를 다시 봅니다.
강화학습의 보상 신호
강화학습(reinforcement learning)은 행동을 하고 보상을 받아 배우는 방식입니다. 정답표가 없고, 대신 환경이 「좋았다·나빴다」를 점수로 돌려줍니다. 한 수 한 수의 정답을 아무도 모르지만 판이 끝나면 이겼는지는 아는 바둑이 전형적인 자리입니다.
LLM 쪽에서 이 갈래가 등장하는 자리가 RLHF(사람 피드백 기반 강화학습)입니다. 어떤 답이 정답인지는 못 적어도 두 답 중 어느 쪽이 나은지는 사람이 고를 수 있고, 그 선호를 보상으로 바꿔 모델을 미는 방식입니다. 시험에서는 「라벨 대신 보상이 있으면 강화학습」이라는 한 줄로 충분히 갈립니다.
| 갈래 | 데이터에 있는 것 | 대표 과제 |
|---|---|---|
| 지도학습 | 입력과 정답 라벨 | 분류, 회귀 |
| 비지도학습 | 입력만 | 군집화, 차원 축소 |
| 강화학습 | 행동에 대한 보상 | 제어, 게임, RLHF |
손실 함수와 경사하강법
학습은 두 부품이 맞물려 돕니다. 하나는 얼마나 틀렸는지 재는 자이고, 다른 하나는 어느 쪽으로 얼마나 움직일지 정하는 규칙입니다.
손실 함수가 재는 것
손실 함수(loss function)는 모델의 예측과 정답의 차이를 하나의 수로 압축하는 함수입니다. 이 수가 작을수록 좋은 모델이고, 학습이란 이 수를 낮추는 일입니다.
회귀에는 오차를 제곱해 평균 내는 평균제곱오차(MSE)를 씁니다.
제곱하는 이유는 둘입니다. 부호를 없애 과 이 상쇄되지 않게 하고, 큰 오차에 더 큰 벌을 줍니다. 대신 이상치 하나가 손실을 통째로 지배할 수 있어, 그것이 싫으면 절댓값을 쓰는 MAE로 바꿉니다.
분류에는 교차 엔트로피(cross-entropy)를 씁니다. 정답 갈래에 모델이 매긴 확률이 낮을수록 손실이 커지는 함수이고, 언어 모델이 다음 토큰을 고를 때 쓰는 손실도 이것입니다.
경사하강법의 한 걸음
경사하강법(gradient descent)은 손실이 가장 가파르게 줄어드는 방향으로 파라미터를 조금씩 옮기는 방법입니다. 그 방향을 알려 주는 것이 기울기(gradient)이고, 기울기의 반대쪽이 내려가는 쪽입니다.
여기서 가 학습률(learning rate)입니다. 손실 에서 , 이면 기울기는 이고, 한 걸음 뒤 는 이 됩니다. 최솟값 쪽으로 조금 옮겨 간 것이고, 이 걸음을 수천 번 되풀이하는 것이 학습입니다.
한 걸음을 계산하는 데 데이터 전부를 쓰면 배치 경사하강법, 한 개만 쓰면 확률적 경사하강법, 수십~수백 개 묶음을 쓰면 미니배치 방식입니다. 실무와 시험에서 말하는 SGD는 대개 미니배치 쪽을 가리킵니다.
학습률이 정하는 보폭
학습률은 보폭입니다. 너무 작으면 최솟값에 닿기 전에 시간이 다 가고, 너무 크면 골짜기를 건너뛰어 손실이 오히려 커지거나 발산합니다. 학습이 시작부터 손실이 튀며 망가지면 가장 먼저 의심할 값이 학습률입니다.
그래서 실무에서는 고정값 대신 처음에 크게 두었다가 점점 줄이는 학습률 스케줄을 씁니다. 이 이야기는 13편의 하이퍼파라미터 탐색에서 다시 나옵니다.
과적합과 과소적합
학습은 두 방향으로 실패합니다. 덜 배우거나, 너무 외웁니다.
두 곡선이 갈리는 자리
과적합(overfitting)은 학습 데이터의 잡음까지 외워 처음 보는 데이터에서 무너지는 상태입니다. 학습 정확도는 0.99인데 검증 정확도가 0.72라면 그 간격 자체가 진단입니다. 반대로 과소적합(underfitting)은 모델이 데이터의 규칙조차 못 잡은 상태로, 학습 정확도도 검증 정확도도 함께 낮습니다.
그래서 두 숫자를 함께 봐야 합니다. 검증 점수 하나만 보면 낮은 이유가 둘 중 어느 쪽인지 알 수 없고, 처방이 정반대입니다 — 과적합에는 모델을 누르거나 데이터를 늘리고, 과소적합에는 모델을 키우거나 더 학습시킵니다.
편향-분산 트레이드오프
같은 현상을 오차의 성분으로 갈라 보는 틀이 편향-분산 트레이드오프입니다. 편향(bias)은 모델이 너무 단순해 진짜 관계를 못 담아 생기는 오차이고, 분산(variance)은 학습 데이터가 조금만 바뀌어도 결과가 크게 흔들려 생기는 오차입니다.
곡선 데이터에 직선을 맞추면 편향이 큽니다(과소적합). 점 열 개에 9차 다항식을 맞추면 모든 점을 지나가지만 데이터가 하나만 바뀌어도 곡선이 요동칩니다 — 분산이 큰 쪽이고 이것이 과적합입니다. 모델을 키우면 편향이 줄고 분산이 늘어나므로, 총오차가 가장 낮은 지점은 둘 사이 어딘가입니다.
정규화 세 가지
정규화(regularization)는 모델이 학습 데이터를 외우지 못하도록 일부러 제약을 거는 기법을 통틀어 부르는 말입니다. 값의 범위를 맞추는 전처리(스케일링)와 한국어 이름이 겹치니 문맥으로 갈라 읽어야 합니다.
L1과 L2 페널티
가중치가 커질수록 모델은 특정 입력에 예민해집니다. 그러니 손실에 가중치 크기에 대한 벌금을 더해 두면 모델이 스스로 가중치를 누릅니다.
L1은 절댓값을 더하므로 쓸모없는 가중치를 정확히 으로 만듭니다. 그래서 자연히 피처 선택의 효과가 납니다. L2는 제곱을 더하므로 모든 가중치를 고르게 줄이되 0으로 만들지는 않습니다. 「필요 없는 피처를 아예 떨어내고 싶다」는 시나리오면 L1, 「전반적으로 완만한 모델을 원한다」면 L2입니다. 가 클수록 제약이 세지고, 지나치면 과소적합으로 넘어갑니다.
드롭아웃
드롭아웃(dropout)은 학습 중 각 스텝마다 뉴런 일부를 무작위로 꺼 버리는 기법입니다. 특정 뉴런 몇 개에만 의존하는 지름길이 막히므로 신경망이 여러 경로로 답을 만들게 됩니다.
시험에서 자주 걸리는 자리는 추론할 때는 끈다는 점입니다. 학습에서만 뉴런을 끄고, 예측할 때는 모든 뉴런을 켠 채 크기를 보정합니다. 예측이 실행할 때마다 달라지면 서비스로 쓸 수 없기 때문입니다.
데이터와 시간으로 막는 법
모델을 누르는 대신 데이터를 늘리거나 학습을 일찍 끊는 길도 있습니다. 데이터 증강(augmentation)은 원본을 뒤집고 자르고 바꿔 학습 데이터를 불리는 방법이고, 조기 종료(early stopping)는 검증 손실이 더 이상 안 줄어드는 지점에서 학습을 멈추는 방법입니다.
넷 중 무엇을 고를지는 상황이 정합니다. 데이터를 더 구할 수 있으면 그것이 언제나 가장 강한 처방이고, 못 구하면 정규화와 조기 종료로 버팁니다. 그리고 모델을 줄이는 것도 정규화의 한 형태입니다 — 파라미터가 적으면 외울 여력 자체가 줄어듭니다. NCA-GENL은 이 넷을 상황과 짝지어 묻는 편이라, 정의만이 아니라 「어느 상황에 어느 처방인가」로 외워 두는 편이 답을 빨리 고르게 합니다.
연습 문제
라벨이 없는 사용자 로그 50만 건을 성향별로 몇 개 묶음으로 나누려 합니다. 이 과제의 갈래는?
① 지도학습 · 분류
② 지도학습 · 회귀
③ 비지도학습
④ 강화학습③. 맞혀야 할 정답 라벨도, 행동에 돌아오는 보상도 없습니다. 데이터 안의 구조만 보고 묶는 군집화이므로 비지도학습입니다.손실 에서 이고 학습률이 일 때, 경사하강법 한 걸음 뒤의 는?
①
②
③
④②. 기울기는 이므로 에서 입니다. 입니다. 기울기가 음수라 파라미터는 커지는 쪽으로 움직입니다.예측이 , 실제가 일 때 MSE는?
①
②
③
④②. 오차는 이고 제곱하면 입니다. 합이 이고 4로 나누면 입니다.학습 정확도 0.98, 검증 정확도 0.71로 벌어졌습니다. 데이터를 더 구할 수 없을 때 가장 먼저 시도할 것은?
① 은닉층을 두 개 더 쌓는다
② 학습 에폭을 세 배로 늘린다
③ 드롭아웃과 L2 정규화를 건다
④ 학습률을 10배로 올린다③. 두 점수의 간격이 크게 벌어진 과적합입니다. ①·②는 외울 여력과 시간을 더 주는 쪽이라 간격을 더 벌리고, ④는 과적합과 무관하게 학습을 불안정하게 만듭니다.입력 피처 200개 중 실제로 쓸모 있는 것만 남기고 나머지 가중치를 0으로 떨어내고 싶습니다. 알맞은 것은?
① L1 정규화
② L2 정규화
③ 드롭아웃
④ 조기 종료①. 절댓값 페널티는 가중치를 정확히 0으로 보내 피처 선택 효과를 냅니다. L2는 고르게 줄이되 0으로는 보내지 않고, ③·④는 가중치를 떨어내는 기법이 아닙니다.드롭아웃을 쓴 모델을 서비스에 올렸더니 같은 입력에 매번 다른 답이 나옵니다. 원인은?
① 학습률이 너무 크다
② 추론 때도 드롭아웃이 켜져 있다
③ L2 계수가 너무 작다
④ 배치 크기가 너무 작다②. 드롭아웃은 학습에서만 뉴런을 끕니다. 추론 모드로 전환하지 않으면 매 호출마다 다른 뉴런이 꺼져 출력이 흔들립니다.점 10개에 9차 다항식을 맞췄더니 모든 점을 정확히 지납니다. 이 모델의 상태는?
① 편향이 높고 분산이 낮다
② 편향이 낮고 분산이 높다
③ 편향과 분산이 모두 낮다
④ 편향과 분산이 모두 높다②. 학습 데이터를 완벽히 지나가므로 편향은 거의 없지만, 점 하나만 바뀌어도 곡선이 요동치는 전형적인 고분산 과적합입니다.

