교육/AI+X 융합 교육

[딥러닝] Activation function

딜레이레이 2021. 8. 26. 02:44

Perceptron

: 다수의 입력으로부터 하나의 결과를 내보내는 알고리즘

 

각 노드의 가중치와 입력치를 곱한 것을 모두 합한 값이 활성함수에 의해 판단되는데, 그 값이 임계치(보통 0)보다 크면 뉴런이 활성화되고 결과값으로 1을 출력한다. 뉴런이 활성화되지 않으면 결과값으로 -1을 출력한다. 

 

기본 수식 : y = wx + b

위 사진에서 우리는 y값을 만족하는 w, b값을 찾을 것이다. 

 

우리는 원하는 출력값을 뽑아내는 w(weight 가중치), b(bias 편향) 값을 찾아야한다. 초기에는 이 값들이 랜덤하게 정해지게 된다. optimizer가 loss값을 보고 w, b값을 조정하는 과정의 반복을 통해 w, b값을 찾아낸다. 이것이 학습하는 과정이다.

 

 

MLP

  • perceptron layer가 여러 개 겹쳐있는 것

Hidden layer는 input layer와 output layer 사이의 layer를 말한다. 이 hidden layer에서는 비선형 함수인 activation function을 이용하여 선형 함수인 perceptron layer의 output값을 바꿔줌으로써 더욱더 다양한 추론을 가능하게 하고, 값의 범위를 줄여서 loss값 계산을 수월하게 한다.

 

※ 비선형은 선형이 아닌 함수라면 무엇이든 비선형 함수이다. 즉, 직선이 아니면 모두 비선형 함수이다.

 

 

 

Loss Function

  • 모델에게 수치값으로 오차를 알려주는 역할

Optimizer

  • loss값을 보고 w, b 값을 조정해준다.
  • 그리고 조정된 w, b 값을 넣고 계산을 해서 다시 w, b 값을 조정해준다
  • 이 과정을 반복
  • 이것이 모델이 학습하는 과정이다.

 

 

 

Activation function

  • active한지 inactive한지 바꿔주는 함수. 즉, 수치값을 0 또는 1의 신호값으로 바꿔줌
  • Linear
    • x축은 input, y축은 output이라 하자
    • 아래의 그래프는 Activation function을 쓰지 않았거나 Linear Activation function을 사용한 것

 

 

Sigmoid

  • Activation function의 일종.
  • 비선형 함수
  • 어떤 값이 들어오든 0~1 사이값으로 만들어줌
  • Hidden layer에서 쓰이는 모든 activation function의 특징
    1. 비선형
      => 더욱더 다양한 추론 가능하게 해줌
    2. 범위를 줄여줌
      => loss값이 지나치게 커지는 것을 방지
  • 데이터 전처리를 통해 값의 범위를 줄여준다면 loss값도 줄어듦 
    =>그러면 optimizer가 그걸 보고 정답 찾기도 수월해짐
  • 근데 MLP에서는 1번째 layer의 output이 다시 0~1 사이 값이 나오지 않는다면 미리 0~1 사이의 값으로 normalization해준 의미가 없음
    =>hidden layer에서 activation function 사용
  • 2개로 분류할 때 output layer에서 사용