Seeeni Tech Diary

[AI] ML 기초 + Optimizer 본문

AI

[AI] ML 기초 + Optimizer

seyeon0207 2024. 5. 11. 14:14

0. ML 기본 용어 정리

0) 기본 용어

  • Accuracy: 정확도

    • 전체 데이터에 대한 예측 오류 수
  • Back Propagation: 역전파

  • weight: 가중치

    • 입력층에서 다음 은닉층으로 데이터를 전달할 때 각 데이터의 중요도를 전달하기 위해 사용하는 곱의 계수
  • feature: 특성

image

  • Batch

    • 모델 학습에서 데이터셋을 일정 크기로(batch size) 나누어 가중치를 업데이트 하는 데 이 때 나눠지는 부분 데이터셋을 batch라고 함
  • epoch

    • 전체 데이터 셋에 대해 한 번 학습을 완료한 상태를 의미 (1 epoch)
  • Categorical Data (범주형 데이터) vs Numeric Data (수치형)

image

  • Classification(분류) vs Regression(회귀)

    • 당도, 색깔, 수확 시기 등으로 어떤 과일인지 예상하는 문제
    • 날씨, 지역에 따른 배추의 가격을 예상하는 문제
  • loss function (loss == cost): 손실함수

    • loss: 손실, 실제 값과 예측값 사이의 차이
    • 얼마나 다른지를 나타냄 → 모델의 수행 정도
  • Underfitting vs Overfitting

image

  • Overfitting(과적합)

    • Train Data에 모델이 너무 가깝게 맞춰져 새로운 데이터에 대해서 대응하지 못하는 상태
    • 모델이 Train Data의 미세한 패턴까지 기억
    • 주로 Train Data의 크기가 작을 때 나타남
  • Underfitting(과소적합)

    • 과적합과 반대되는 개념으로, Train Data로 학습한 이후에도 모델이 일반화되지 않은 상태
  • optimization: 최적화

  • learning rate: 학습률

    • 가중치를 얼마나 업데이트할지 결정하는 파라미터
  • Normalization(정규화) vs Standardization(표준화)
    image

  • 서로 다른 feature의 크기를 통일하기 위해 크기를 변환하는 것

  • 정규화

    • 값의 범위를 0 ~ 1 사이의 값으로 바꿔주는 것
  • 표준화

    • 값의 범위를 평균 0, 분산 1이 되도록 바꿔주는 것
  • NN(Neural Network): 신경망

    • CNN: 합성곱 신경망

1. Optimizer

  • Optimization(최적화)
  • Optimizer
    • loss function의 최솟값을 낼 수 있도록 가중치를 업데이트 하는 알고리즘

image

image

2. Optimizer 종류

1) Gradient-Descent (경사 하강법)

  • loss를 최소화하는 가중치와 편향을 찾는 알고리즘

  • 그래프 상의 임의의 점에서 출발

  • 그래프 상에서 조금씩 움직이며 loss가 최소화될 때를 찾음

  • 이때 움직이는 크기를 step size 또는 learning rate라고 함

  • 기본적으로 한 번 학습 시 모든 데이터 셋을 이용함(느림)

  • 문제점1

    • step size가 너무 클 때 최솟값으로 수렴하지 못하고 발산하게 됨
    • step size가 너무 작으면 최솟값을 찾는데 오랜 시간이 걸림

    image

  • 문제점2: Local Minimum

    • 전체에서 가장 작은 값을 찾지 못하고 일정 범위에서 가장 작은 값을 찾아 수렴할 수도 있음

image

2) SGD(Stochastic Gradient Descent 확률적 경사하강법)

image

  • Gradient Descent가 모든 학습 데이터를 사용한다면, SGD는 전체 데이터에서 랜덤하게 일부 데이터를 추출하여 가중치 갱신
  • 여기서 나눈 데이터 묶음의 크기가 batch size
  • 장점: 시간 단축할 수 있다
  • 단점: local minimum 문제 해결 못함

3) Momentum

image

  • momentum(관성): 외부에서 힘을 받지 않은 한 운동 상태 지속하는 성질
  • 이전 이동 방향을 기억하며 이전의 기울기 크기 고려하여 추가로 이동
  • local minimum 해결
    • 이전 기울기 고려하여 추가로 이동해서 global minimum 찾음
    • 도달 이후 관성에 의해 움직일 수 없기 때문에 움직임을 멈춤
  • 설정 해야 하는 새로운 하이퍼 파라미터가 있어 적절한 값을 찾아줘야 함
    • 매 업데이트 마다 감소시킬 관성

4) Adam (Adaptive Moment Estimation)

  • Momentum에서 관성으로 빨리 굴러갔다면 Adam은 탐색을 위해 속도를 줄여감

  • 작동 방식

    • 모델 가중치 무작위 초기화
    • 학습 데이터의 미니 배치 무작위 선택
    • 미니 배치에서 손실함수 계산
    • 손실 함수 기울기 계산
    • 기울기 사용해 가중치 업데이트
  • 장점

    • 하이퍼 파라미터 값에 민감하지 않음
    • 빠름
    • global minimum을 찾을 수 있음
  • 단점

    • 메모리 사용량이 큼
    • 하이퍼 파라미터 조정이 필요한 경우도 있음
Comments