AI관련해서 문서나 책을 읽을 때 항상 헷갈리는 것이 있다. 나는 항상 그래서 어떻게 무슨 근거로 모델이 결과를 낸다는 것이지? 하는 것이 의문이었다.
이 의문은 모델이 어떤 학습 목표와 손실함수를 기준으로 가중치를 조정하며 그 과정에서 각 레이어가 어떤 표현을 형성하는가, 그리고 이후 전이학습과 같은 파인튜닝을 통해 구하고자하는 값을 생성하도록 조정한다는 것에 대한 이해가 필요하다.
따라서 학습의 종류에 대해 먼저 이해하고 핸즈온LLM 책에 대해 기록해볼까 한다.
1. 지도학습
입력 데이터와 정답을 함께 주는 방식.
입력 X → 모델 → 예측값 ŷ
↓
정답 y와 비교
예를 들어
고양이 사진 → 고양이
개 사진 → 개
또는
집 크기, 위치, 연식 → 집값 5억 원
모델은 예측과 실제 정답의 차이를 줄이는 방향으로 가중치를 조정한다. (손실 = 예측값과 정답값의 차이)
지도학습은 크게 두 종류로 나뉜다.
분류
정해진 범주 중 하나를 고르는 문제
이메일 → 스팸 / 정상
사진 → 고양이 / 개
환자 데이터 → 질병 있음 / 없음
출력은 보통 각 클래스의 확률
고양이: 80%
개: 15%
기타: 5%
회귀
연속적인 숫자를 예측하는 문제
집 정보 → 집값
날씨 정보 → 내일 기온
사용자 정보 → 예상 구매액
지도학습의 특징
- 정답이 명확해서 학습과 평가가 쉬움
- 정확도, 평균, 오차 같은 지표를 사용할 수 있음
- 좋은 라벨 데이터가 많이 필요함
- 사람이 라벨을 만드는 비용이 필요함
- 학습 데이터가 실제와 다르면 성능이 떨어질 수 있음
2. 비지도 학습
정답 없이 데이터만 주고, 데이터 안의 구조나 규칙을 찾는 방식.
데이터 X만 제공
→ 모델이 데이터의 구조를 분석
사용자가 정한 목표 함수와 학습 알고리즘에 따라
모델이 데이터 X를 잘 설명하도록 가중치를 자동 조정한다.
예를 들어 고객 데이터가 있다고 해보자
나이, 방문 횟수, 구매액, 선호 상품
사람이 고객유형을 정해주지 않아도 모델이 비슷한 고객끼리 묶을수 있다
그룹 A: 자주 방문하고 소액 구매
그룹 B: 가끔 방문하고 고액 구매
그룹 C: 특정 상품만 반복 구매
군집화
비슷한 데이터끼리 묶는 방식
데이터 간 거리 계산
→ 가까운 데이터끼리 같은 그룹
예:
- 고객 세분화
- 뉴스 기사 그룹화
- 비슷한 이미지 묶기
K-means 라면 같은 그룹 안의 데이터와 그룹 중심 사이의 거리를 줄이는 것이 목표이다.

차원 축소
많은 특징을 더 적은 수의 특징으로 압축하는 방식
1,000차원 데이터
→ 중요한 특징만 남겨 2차원이나 10차원으로 압축
용도:
- 데이터 시각화
- 노이즈 제거
- 저장 공간 감소
- 다른 모델의 입력 단순화
대표적으로 PCA 있음
이상 탐지
일반적인 데이터 분포에서 멀리 떨어진 데이터를 찾는 방식
분포 학습
데이터가 어떤 규칙으로 생성될지를 확률적으로 학습하는 방식
비지도학습의 특징
- 사람이 라벨을 만들 필요가 없음
- 숨겨진 구조를 발견할 수도 있음
- 정답이 없어서 평가가 어려움
- 모델이 찾은 구조가 사람이 원하는 구조와 다를 수 있음
에를 들어 고양이와 개를 나누길 원했는데
밝은 사진 / 어두운 사진 으로 나눌 수 있다.
3. 자기지도학습
사람이 라벨을 붙이지는 않지만, 데이터 자체에서 입력과 정답을 자동으로 만드는 방식
학습 계산만 보면 지도학습과 매우 비슷하다
원본 데이터
→ 일부를 입력으로 사용
→ 나머지를 정답으로 사용
텍스트의 자기지도학습
GPT의 다음 토큰 예측:
원문: 나는 오늘 학교에 갔다
입력: 나는 오늘 학교에
정답: 갔다
Bert의 마스킹 학습:
원문: 나는 오늘 학교에 갔다
입력: 나는 오늘 [MASK]에 갔다
정답: 학교
사람이 직접 학교라고 정답을 라벨링한 것이 아니라 원래 문장에서 정답을 가져온 것이다.
이미지의 자기지도학습
사진일부를 가리고 복원할 수 있다.
원본 이미지
→ 일부 패치를 가림
→ 가려진 부분을 예측
또는 같은 사진을 변형해서 학습할 수도 있다.
원본 고양이 사진
├─ 일부 자르기
├─ 밝기 변경
└─ 좌우 반전
이 이미지들은 같은 원본에서 왔으므로 임베딩이 가까지게끔 한다.
같은 이미지의 변형 → 벡터 거리 감소
다른 이미지 → 벡터 거리 증가
이것을 대조학습 이라고 한다.
자기지도학습의 특징
- 사람이 라벨을 붙일 필요가 없음
- 학습할 때에는 명확한 정답 또는 목표가 있음
- 인터넷 텍스트나 이미지 처럼 대규모 데이터를 활용하기 좋음
- 사전학습에 매우 많이 활용됨
- 학습 목표가 실제 최종 작업과 완전히 같지 않을 수 있음
예를 들어 다음 단어 예측을 잘한다고 해서 바로 질문에 친절하게 답하는 것은 아니다, 이후에 미세조정이 필요
4. 준지도학습
라벨이 있는 데이터와 라벨이 없는 데이터를 함께 사용하는 방식
라벨 있는 사진: 1,000장
라벨 없는 사진: 100,000장
현실에서는 데이터는 많지만 라벨이 적은 경우가 많다
의사라벨(pseudo-labeling) 방식
먼저 라벨있는 데이터부터 학습
라벨 있는 데이터
→ 초기 모델 학습
그 다음 라벨 없는 데이터에 모델이 초기학습한 데이터 바탕으로 임시 정답을 붙인다.
사진 A → 고양이 99%
확신이 높은 예측을 정답처럼 사용해서 다시 학습하는 것을 pseudo-labeling이라 한다
준지도학습의 특징
- 적은 라벨로 많은 데이터를 활용할 수 있음
- 라벨링 비용을 줄일 수 있음
- 초기 모델이 틀리면 잘못된 라벨이 누적될 수 있음
- 라벨 데이터와 비라벨 데이터의 분포가 비슷해야 효과적이다
5. 강화학습
정답을 직접 알려주는 것이 아니라, 행동 결과에 대한 보상을 주는 방식.
현재 상태
→ 행동 선택
→ 환경 변화
→ 보상 획득
→ 다음 상태
게임을 예로 들면
적을 잡음 → +10점
게임에서 승리 → +100점
죽음 → -20점
모델은 어떤 상황에서 어떤 행동을 해야 장기적으로 가장 많은 보상을 획득하는지 학습한다.
기본 요소
- 상태 s: 현재 상황
- 행동 a: 모델이 선택할 수 있는 행동
- 보상 r: 행동 결과로 환경이 주는 점수
- 정책 : 상태에서 어떤 행동을 선택할지 정하는 규칙
- 환경: 행동을 받아 다음 상태와 보상을 돌려주는 대상

한 단게는 다음과 같이 표현한다.
현재 상태 확인
→ 행동 선택
→ 환경이 보상과 다음 상태 제공
→ 학습
→ 반복
무엇을 학습하는가
강화학습의 최종 목표는 보상 하나를 크게 받는 것이 아니라, 앞으로 받을 보상의 총합을 크게 만드는 것
예를 들어
행동 A
→ 지금 +10
→ 나중에 -100
행동 B
→ 지금 0
→ 나중에 +50
이면 장기적으로 B가 더 좋아서 B 행동을 하게 된다.
강화학습 특징
- 순차적인 의사결정에 적합
- 장기적인 결과를 고려할 수 있음
- 시행착오가 많이 필요함
- 보상 설계를 잘못하면 이상한 행동을 학습할 수 있음
- 실제 환경에서 학습하면 비용이나 위험이 클 수 있음