Chap2.ANN

s2ul3·2022년 10월 3일
0

1. 퍼셉트론

  • 활성화 함수로 step function을 사용 → step func는 미분 불가능하므로 역전파를 할 수 없음.
  • XOR문제 연산 불가 → 해결책 : 다층 퍼셉트론(MLP)

2. 다층 퍼셉트론(MLP)

  • 활성화 함수로 비선형 함수인 sigmoid사용 (혹은 tanH, RELU)
    - why? 경사하강법을 통한 모델의 최적화가 가능하기 때문. 즉 역전파 가능.

    활성화함수
    -sigmoid : 0~1 사이값, 이진분류
    (오차가 역전파될 때 층을 한번 거칠 때마다 sigmoid의 도함수가 곱해진다. sigmoid의 도함수의 최댓값은 0.25이기 때문에 곱해질 때마다 오차가 점점 줄어드는 기울기 소실 문제 발생 --> ReLU 사용)
    -ReLU : 0보다 작은 값-->0
    -softmax : 다중분류

3. 딥러닝

  • 순전파(feed forward propagation)

    • 데이터를 입력한 후 출력값을 얻는 과정
  • 손실함수 : 출력값과 정답값의 차이를 구하는 함수

    • 회귀 : 평균제곱오차 (MSE, RMSE)
    • 분류 : 크로스 엔트로피
      • 이진분류 : Binary cross entropy (sigmoid)
      • 다중분류 : categorical cross entropy (softmax)
  • 최적화(optimization) : 손실 함수의 값을 최저로 만드는 과정

    • 이때 사용되는 최적화 방법을 옵티마이저(optimizer)라고 부름.

    • 대표적인 옵티마이저 : 경사하강법 (gradient descent)

      • 뜻 : 모델의 매개변수의 미분값을 구한 후 그 미분값의 반대방향으로 매개변수를 조절

      • 배치(batch) 경사 하강법 : 전체 데이터를 모두 사용해서 기울기 계산
        → 문제점 : local minima 문제, gradient vanishing 문제 발생, 학습 속도 매우 느림

      • 확률적 경사 하강법(SGD)

        • 배치 크기가 1인 경사 하강법

        • 매 step에서 1개의 샘플 무작위 추출 → 그 샘플의 기울기 계산

        • 주로 손실함수가 매우 불규칙하고, 로컬 미니멈이 많을 때 사용됨.

          → 장 : 속도 빠름
          → 문제점 : 매개변수가 지그재그로 불안정하게 변함. 모델이 최적화가 안 될 수도 있음.

      • 미니배치 경사 하강법

        • 배치경사하강법과 SGD의 절충안
        • 정해진 양만큼 계산해서 매개변수를 최적화 하는 방법
        • 배치 사이즈 : 매개변수 조정을 위해 한번에 처리하는 데이터의 양, 주로 2의 n제곱
          (기본값 32)
        • 스텝 : 미니 배치를 사용해 매개변수를 몇번 조정할 건지
        • 가장 많이 사용됨.
      • 모멘텀(momentum)

        • SGD에다가 이전의 이동값도 고려한 것.
        • local minimum에 빠지더라도 앞으로 나아가서 local minimum을 탈출하게 만듦.
        • 그렇다고 모멘텀이 항상 global minimum에 도달한다고 장담은 할 수 없음.
      • 아다그라드(Adagrad)

        • 각 매개변수에 각기 다른 학습률 적용
        • 변화가 빈번한 가중치 : 학습률 작게
        • 변화가 적은 가중치 : 학습률 높게
        • word2vec이나 Glove에 유용
        • 기울기의 제곱을 연산에 활용 → 문제점 : 학습이 진행될수록 갱신 강도가 약해짐
      • 알엠에스프롭 (RMSprop)

        • 아다그라드의 문제점 (값이 무한히 커지는 것)을 방지하고자 제안된 방법
        • 지수 이동평균을 이용
        • 아담 (Adam)
        • 모멘텀과 RMSprop을 합친 경사 하강법
  • 역전파 (back propagation)

    • 옵티마이저는 손실함수의 값을 최저로 하기위해 역전파를 사용해 매개변수를 변경함.
    • 순전파의 반대방향으로 이뤄짐

    --> 손실을 줄이기 위해 경사 하강법을 이용해 오차 역전파를 진행한다. 경사 하강법은 출력층부터 입력층까지 미분한 값들을 점점 곱해가면서 가중치를 수정한다.

profile
statistics & computer science

0개의 댓글