머신러닝과 딥러닝 개론

머신러닝

인공지능이란?

인위적으로 지능을 부여한 것

인공지능의 두 가지 방법론

규칙기반

  • 사람이 만든 규칙/패턴/관계를 사용하는 것.
  • 사람의 도메인이 중요

학습기반 (=머신러닝)

  • 컴퓨터가 만든 규칙/패턴/관계를 사용하는 것.
  • 학습 알고리즘데이터가 중요

머신러닝이란?

  • 컴퓨터가 '데이터 입출력 관계식'의 파라미터(Weight)를 찾는 것.
  • y값의 오차(cost)를 최소화 하는 파라미터를 찾는 것. min cost 

머신러닝이 파라미터(Weight)를 찾는 원리

  • 파라미터에 대한 오차의 기울기가, 0이 되는 방향으로 파라미터 업데이트
  • W(t+1) = W(t) - lr * Gradient  (lr: learning rate, 매우 작은 수)


머신러닝의 학습 전략

  • 성능 저조: underfit, overfit
  • 핸들링: 데이터, 모델 복잡도

  • 방법
    • underfit: 데이터 복잡도를 낮추고 모델 복잡도를 높인다.
    • overfit: 데이터 복잡도를 높이고 모델 복잡도를 낮춘다.

  • cost = 오차 + 모델 복잡도


딥러닝

퍼셉트론: 인공신경망

생물학적인 뉴런을 수학적으로 모델링함.

  • 입력층
    • 입력 노드
    • 선형연산기
      • WX = w1x1 + w2x2 ... b
      • 파라미터(weight) 갯수

  • 출력층
    • 분류기
    • 활성화함수, activation, sigmoid
    • S(WX) = 1 / ( 1+e^-wx )
    • ( 0, 1/2 )을 지나는 0 < y < 1 을 만족하는 함수
    • 출력 노드


다층 퍼셉트론: ML P

  • 입력층: 입력노드
    • 선형연산기
      • WX = w1x1 + w2x2 ... b
      • 파라미터(weight) 갯수

  • 은닉층: 은닉노드
    • 비선형 변환 ( 비선형의 선형화 또는 반대 )
    • 활성화함수, activation, sigmoid
    • S(WX) = 1 / ( 1+e^-wx )
    • ( 0, 1/2 )을 지나는 0 < y < 1 을 만족하는 함수

    • 선형연산기
      • WA = w1a1 + w2a2 ... b
      • 파라미터(weight) 갯수

  • 출력층: 출력노드
    • 분류기
    • 활성화함수, activation, sigmoid
    • S(WA) = 1 / ( 1+e^-wa )
    • ( 0, 1/2 )을 지나는 0 < y < 1 을 만족하는 함수


다층 퍼셉트론의 3가지 관점

  1. 은닉층의 활성화 함수가 비선형 경계선을 그린다.

  2. 활성화 함수가 비선형 데이터를 선형패턴화하는 역할을 한다.

  3. 데이터 변형기 역할을 한다.
    (비선형적인 입력 값이 계속해서 선형패턴화(변형)되어 출력 값으로 계산된다.)


역전파 알고리즘

다층 퍼셉트론의 학습 알고리즘

  • Chain-rule:
    • 합성함수의 도함수 구하는 법
    • 오차함수 전체의 기울기 = 각 부분함수의 기울기들의 곱

기울기 소실 문제

  • cost가 큼에도 불구하고, 파라미터에 대한 오차의 기울기가 0이 되어 학습이 중단됨.
  • sigmoid함수의 기울기 0~1/4 로 매우 작기 때문에, 입력층 쪽 기울기가 cost의 크기와 무관하게 0으로 소실 

기울기 소실 문제 극복 방법

  • 초기값 설정 (RBM, Xavier, he)
    • cost가 낮은 쪽에 가깝게 초기값을 설정
  • 활성화함수 변경(ReLU, Leaky ReLU, mish)
    • 활성화 함수로 sigmoid를 사용할 때 기울기가 작아지므로, 다른 함수로 변경


댓글 쓰기

다음 이전