Post

[Deep Learning Basic] 02_딥러닝 입문(딥러닝과 선형회귀 개념), 신경망(Neural Network) 훈련원리

✏️ Edit
[Deep Learning Basic] 02_딥러닝 입문(딥러닝과 선형회귀 개념), 신경망(Neural Network) 훈련원리

1. 딥러닝이란?

  • 전통 머신러닝과 딥러닝 비교
 전통 머신러닝딥러닝
특징- 깊은 전문 지식 필요
- 특성(feature) 설정이 매우 중요
- 도메인 지식과 수학적 지식이 상대적으로 덜 필요
- 중요한 특성을 스스로 학습하여 가중치 부여
적용- 수동으로 선택된 특성을 기반으로 모델을 학습- 여러 층(layer)을 통해 내부 파라미터를 자동으로 학습
- 원시 데이터(raw data)를 거의 그대로 사용 가능 (예: 컴퓨터 비전, 자연어 처리 등)
  • 딥러닝과 통계학의 비교
 통계학딥러닝
데이터의 양제한된 데이터로부터 최상의 결과 도출충분한 양의 데이터가 필요
이상치이상치는 제거 필요 누락된 값은 평균으로 대체이상치(outlier) 포함하여 훈련해도 유연하게 처리 가능

2. 선형 회귀(Linear Regression)

단변수 선형 회귀

하나의 변수(원인)이 어떠한 가설의 근거가 됨

  • 가설: y = a + bx
  • 목적: 하나의 독립 변수(x)와 종속 변수(y) 사이의 선형 관계 모델링
  • 비용 함수(Cost Function): MSE (Mean Squared Error), 모델의 예측 오류 측정
  • 성능 지표: 결정계수 (R²), 값이 1에 가까울수록 모델의 성능이 좋음

다변수 선형 회귀

  • 모델: 두 개 이상의 독립 변수를 포함, 복잡한 실제 상황 모델링 가능

신경망을 이용한 선형 회귀

  • 신경망은 비선형성을 모델링할 수 있어, 단변수와 다변수 모두에서 유용

3. 신경망(Neural Network) 훈련원리

Gradient Descent (경사하강법)

  • 목적: 실제값과 예측값의 차이(손실)를 최소화하는 parameter 발견
  • 방법: 손실 함수의 기울기(gradient)를 계산하고, 그 기울기가 0으로 수렴하도록 parameter 조절

Backpropagation(오차역전파)

  • 손실함수를 최소화하는 방향으로 신경망 전체의 파라미터가 업데이트되도록 하는 기법
    • 각각의 input data에 대하여 각각의 레이어별로 forward pass output 값을 계산
    • Output 레이어의 손실함수 값을 계산
    • backpropagation을 손실함수의 기울기를 전달계의 레이어로 전달
    • error term의 값에 따라 각 레이어의 가중치를 업데이트

손실함수

  • 비용함수, 목적함수 등으로 불림
  • 경사하강법이 가능하도록 미분 가능한 함수를 정의
대표적 손실 함수
  • 선형회귀: MSE
  • 이진분류: Binary Cross-entropy
    • y는 0 혹은 1인 경우만 존재
  • 다중분류: Categorical Crossentropy (Softmax Loss)

epoch

전체 데이터셋이 신경망을 통해 한 번 처리된 것

  • epoch은 모델 훈련 시 하이퍼파라미터로 횟수 지정
  • 하나의 epoch은 한번에 처리하기 어려운 사이즈이기 때문에 여러 개의 batch로 나누어 처리한다.
  • 파라미터 훈련을 위해서는 여러 번의 epoch 반복이 필요
  • one epoch 내에서 반복 횟수 = 전체 샘플 사이즈 / 배치 사이즈
    • 1 epoch = 4 iterations = 2000/ 50

Hpyer-parameter

종류

  • 러닝 레이트
  • 모멘텀 기간
  • dropout rate - overfitting 방지
  • 배치 사이즈

결정 기준

  • 정해진 룰이 없음
  • 유사한 모델 참조
  • 경험에 의한 게싱
  • Grid search - 종류별로 다 해보는 것