Seeeni Tech Diary
[AI] ML 기초 + Optimizer 본문
0. ML 기본 용어 정리
0) 기본 용어
Accuracy: 정확도
- 전체 데이터에 대한 예측 오류 수
Back Propagation: 역전파
weight: 가중치
- 입력층에서 다음 은닉층으로 데이터를 전달할 때 각 데이터의 중요도를 전달하기 위해 사용하는 곱의 계수
feature: 특성
Batch
- 모델 학습에서 데이터셋을 일정 크기로(batch size) 나누어 가중치를 업데이트 하는 데 이 때 나눠지는 부분 데이터셋을 batch라고 함
epoch
- 전체 데이터 셋에 대해 한 번 학습을 완료한 상태를 의미 (1 epoch)
Categorical Data (범주형 데이터) vs Numeric Data (수치형)
Classification(분류) vs Regression(회귀)
- 당도, 색깔, 수확 시기 등으로 어떤 과일인지 예상하는 문제
- 날씨, 지역에 따른 배추의 가격을 예상하는 문제
loss function (loss == cost): 손실함수
- loss: 손실, 실제 값과 예측값 사이의 차이
- 얼마나 다른지를 나타냄 → 모델의 수행 정도
Underfitting vs Overfitting
Overfitting(과적합)
- Train Data에 모델이 너무 가깝게 맞춰져 새로운 데이터에 대해서 대응하지 못하는 상태
- 모델이 Train Data의 미세한 패턴까지 기억
- 주로 Train Data의 크기가 작을 때 나타남
Underfitting(과소적합)
- 과적합과 반대되는 개념으로, Train Data로 학습한 이후에도 모델이 일반화되지 않은 상태
optimization: 최적화
learning rate: 학습률
- 가중치를 얼마나 업데이트할지 결정하는 파라미터
Normalization(정규화) vs Standardization(표준화)
서로 다른 feature의 크기를 통일하기 위해 크기를 변환하는 것
정규화
- 값의 범위를 0 ~ 1 사이의 값으로 바꿔주는 것
표준화
- 값의 범위를 평균 0, 분산 1이 되도록 바꿔주는 것
NN(Neural Network): 신경망
- CNN: 합성곱 신경망
1. Optimizer
- Optimization(최적화)
- Optimizer
- loss function의 최솟값을 낼 수 있도록 가중치를 업데이트 하는 알고리즘
2. Optimizer 종류
1) Gradient-Descent (경사 하강법)
loss를 최소화하는 가중치와 편향을 찾는 알고리즘
그래프 상의 임의의 점에서 출발
그래프 상에서 조금씩 움직이며 loss가 최소화될 때를 찾음
이때 움직이는 크기를 step size 또는 learning rate라고 함
기본적으로 한 번 학습 시 모든 데이터 셋을 이용함(느림)
문제점1
- step size가 너무 클 때 최솟값으로 수렴하지 못하고 발산하게 됨
- step size가 너무 작으면 최솟값을 찾는데 오랜 시간이 걸림
문제점2: Local Minimum
- 전체에서 가장 작은 값을 찾지 못하고 일정 범위에서 가장 작은 값을 찾아 수렴할 수도 있음
2) SGD(Stochastic Gradient Descent 확률적 경사하강법)
- Gradient Descent가 모든 학습 데이터를 사용한다면, SGD는 전체 데이터에서 랜덤하게 일부 데이터를 추출하여 가중치 갱신
- 여기서 나눈 데이터 묶음의 크기가 batch size
- 장점: 시간 단축할 수 있다
- 단점: local minimum 문제 해결 못함
3) Momentum
- momentum(관성): 외부에서 힘을 받지 않은 한 운동 상태 지속하는 성질
- 이전 이동 방향을 기억하며 이전의 기울기 크기 고려하여 추가로 이동
- local minimum 해결
- 이전 기울기 고려하여 추가로 이동해서 global minimum 찾음
- 도달 이후 관성에 의해 움직일 수 없기 때문에 움직임을 멈춤
- 설정 해야 하는 새로운 하이퍼 파라미터가 있어 적절한 값을 찾아줘야 함
- 매 업데이트 마다 감소시킬 관성
4) Adam (Adaptive Moment Estimation)
Momentum에서 관성으로 빨리 굴러갔다면 Adam은 탐색을 위해 속도를 줄여감
작동 방식
- 모델 가중치 무작위 초기화
- 학습 데이터의 미니 배치 무작위 선택
- 미니 배치에서 손실함수 계산
- 손실 함수 기울기 계산
- 기울기 사용해 가중치 업데이트
장점
- 하이퍼 파라미터 값에 민감하지 않음
- 빠름
- global minimum을 찾을 수 있음
단점
- 메모리 사용량이 큼
- 하이퍼 파라미터 조정이 필요한 경우도 있음
'AI' 카테고리의 다른 글
[데이터 전처리] 시험 공부하다가 양식이 만든 썰 - 아스키 아트 (0) | 2023.08.01 |
---|
Comments