ML/ML 기타

ML 용어

busy맨 2023. 7. 10. 13:57

인공지능, 머신러닝, 딥러닝

  • 위 그림처럼 딥러닝은 머신러닝의 한 종류이며, 머신러닝은 인공지능의 한 종류

모델

  • 머신러닝은 간단히 ‘데이터를 이용한 모델링 기법’이라고 표현
  • 다시 말하면, 데이터들 중에서 ‘모델’을 뽑아내는 기법
  • 모델은 머신러닝을 통해 얻을 수 있는 최종 결과물을 의미
  • 모델은 ‘가설(Hypothesis)’이라고도 함

 

과적합(Overfitting)

  • Overfitting은 학습 데이터에 너무 최적화를 하다보니, 실제 데이터와 차이가 많이 발생하는 모델을 만들게 되는 현상
  • 학습 데이터에도 Noise 등이 섞인 데이터들이 섞여 있을 수 있기 때문에 Overfitting을 방지하는 기법들을 적용해야 더 좋은 결과물이 나올 수 있음
  • 반대되는 경우는 Underfitting

  • 위 그림과 같이 Underfitting이 되면 너무 느슨한 모델이 생성되고, Overfitting이 발생하면 너무 과한 모델이 생성

 

Regularization, Validation

  • Noise와 같이 일반적이지 않은 학습 데이터가 많이 섞여 있을 경우 Overfitting이 발생할 수 있음
  • Regularization은 학습 데이터를 조금 희생하더라도 모델을 최대한 간단하게 만들어서 Overfitting을 방지하는 기법
  • 하지만 Regularization은 눈으로 보고 쉽게 확인할 수 있지 않기 때문에 학습 과정에서의 Overfitting 여부를 판단하기가 쉽지 않음 
  • 그래서 Overfitting 여부를 손쉽게 판단하기 위해서 ‘검증(Validation)’ 기법을 적용
  • 검증용 데이터는 학습용 데이터에는 포함시키지 않고, 모델의 성능 검증에만 사용

  • 위 그림과 같이 학습 데이터의 일부(보통 80%는 학습용, 20%는 검증용)를 떼어내서 검증용으로 사용
  • 그리고 아래 이미지와 같이 검증용 데이터를 고정하지 않고 무작위로 바꿔가면서 사용하는 ‘교차검증(Cross Validation)’ 기법도 존재

분류(Classification), 회귀(Regression)

  • 분류와 회귀는 비슷하면서도 약간의 차이가 존재
  • 둘다 입력데이터로 {입력, 정답}의 형태를 가짐
  • 하지만 분류의 경우 정답은 ‘범주’의 형태가 되고, 회귀의 경우 정답은 ‘값’의 형태가 된다는 점에서 차이
  • 분류와 회귀 둘 다 지도 학습(Supervised Learning)에 해당
    • 비지도 학습(Unsupervised Learning)의 비슷한 데이터들끼리 묶어주는 기능인  ‘군집화(Clustering)’과 헷갈리는 경우가 있는데 서로 차이가 있기 때문에 구분을 해야함

 

신경망

  • 신경망(Neural Network)는 사람의 두뇌 모양을 흉내내서 만든 모델로 수많은 노드들과 각 노드들간의 가중치로 이루어짐
  • 학습 데이터를 이용해서 학습을 하면서 그 결과값에 따라 각 노드들간의 가중치를 조금씩 바꿔가는 학습 방법

델타 규칙

  • 델타 규칙은 Adaline, Widrow-Hoff 규칙이라고도 하며, 주어진 정보에 따라 단층 신경망의 가중치를 체계적으로 바꾸어주는 규칙

어떤 output 노드에서 오차가 발생했다면, output 노드와 input 노드간 연결 가중치는 input 노드의 출력과 output 노드의 오차에 비례해서 조절한다.

 

델타 규칙을 수식으로 표현하면 다음과 같다.

  • 오차가 크면 가중치를 많이 조절하고, 오차가 작으면 가중치를 적게 조절
  • 여기서 α는 학습률을 의미하며 0보다 크고 1보다 작거나 같은 값을 가짐
  • 학습률이 너무 높으면 정답 근처에서 수렴을 못하는 경우가 발생할 수 있고,
    너무 낮으면 학습 속도가 아주 느릴 수 있음

 

재학습 및 epoch

  • 델타 규칙은 정답을 한 번에 바로 찾는게 아니라 반복적인 학습 과정을 통해 정답을 찾아가는 방식이기 때문에
    한 번 학습한 데이터라고 하더라도 전체 학습 데이터를 반복해서 학습하기도 함
  • epoch는 학습 데이터를 한번씩 모두 학습시킨 횟수를 의미
  • ‘epoch = 10’이라면 학습 데이터를 총 10번씩 학습 시킨 것을 의미

오차 역전파(Backpropagation)

  • 델타 학습법만으로는 신경망의 모든 노드들을 학습시킬 수 없음
  • 특히 은닉(Hidden) 계층은 오차의 정의조차 되어 있지 않고, 정답 또한 정해져 있어서 학습이 불가능
  • 출력층에서부터 시작해 거꾸로 추적해가며 오차에 따라 가중치를 조절하는 방법인 오차 역전파 알고리즘을 통해 학습 문제 해결

 

경사각 소실(Vanishing Gradient)

  • 신경망의 계층을 깊게 할수록 성능이 더 떨어지는 원인
    • 경사각 소실(Vanishing Gradient)
    • 과적합(Overfitting)
    • 많은 계산량
  • 활성화 함수(Activation Function)으로 많이 사용하는 시그모이드(Sigmoid) 함수는 최대 기울기가 0.3을 넘지 않음
  • 즉, 곱하면 곱할수록 0에 가까워지고 결국 0이 되는 현상이 발생해서 기울기가 사라짐
  • 대안으로 시그모이드 함수대신 ReLU 함수를 사용해서 해결

'ML > ML 기타' 카테고리의 다른 글

Beyond GNNs: More Deep Models on Graphs  (0) 2024.09.30
GRU 2  (0) 2024.07.24
GRU 1  (0) 2024.07.17
경사 하강법의 문제  (0) 2023.07.06