데이터로그😎

[MLP] 03. 활성화 함수 (Activation Function) 본문

딥러닝

[MLP] 03. 활성화 함수 (Activation Function)

지연v'_'v 2023. 11. 28. 17:43

단층 퍼셉트론의 한계였던 '비선형성'을 극복하기 위한 대안이 다층 퍼셉트론이다. 

다층 퍼셉트론은 선형 관계만 표현할 수 있는 layer를 여러 개 구축함으로써 비선형적인 관계도 다룰 수 있다. 

이에 관한 내용은 아래 글에서 확인 가능하다.

 

[딥러닝] 02. 단층, 다층 퍼셉트론

퍼셉트론의 개념에 대한 글은 아래 링크에서 확인 가능합니다. [딥러닝] 01. 퍼셉트론의 개념 ❓딥러닝 딥러닝은 머신러닝의 한 분야입니다. 인간의 뇌 구조에서 영감을 받아 구축된 "인공 신경

fine-1004.tistory.com


단층 퍼셉트론의 단점

단층 퍼셉트론은 결과가 0 또는 1밖에 없어서 출력이 다채롭지 못하다. 이 한계를 극복하기 위해 "활성화 함수(Activation Function)"가 등장했다.

 

활성화 함수 (Activation Function)

  • 은닉층과 출력층의 뉴런에서 출력값을 결정하는 함수
  • 활성화 함수는 비선형 함수여야 한고, 선형연산인 wx + b에 비선형성을 부여해준다.
  • 선형연산의 단계 (Z -> a)
    1. 선형연산인 wx + b 를 수행한다.
      선형함수
    2. z를 a에 넣은 후, 0보다 큰지 작은지를 비교한다.
      • a = activation(z) : 비선형성을 부여해주는 함수

활성화 함수

활성화 함수의 종류

로지스틱
(시그모이드)
이진분류 활성화 함수
ReLU 이미지 처리의 은닉층 활성화 함수
하이퍼볼릭 탄젠트 텍스트 처리의 은닉층 활성화 함수
softmax 출력층(다중분류)

 

 

1. 로지스틱 함수 (시그모이드)

로지스틱 함수

  • Linear regression에 시그모이드 함수 적용하면 로지스틱 함수
  • 최대값 1 최소값 0
  • 모든 값을 모두 0~1사이로 변환.
  • 어떤 값을 확률적으로 해석할 수 있게 도와주는 함수.
    • 예) σ(x) = 0.7 이라는 것은 "1일 확률이 70%, 0일 확률이 30% 다" 를 의미한다.

 

2. ReLU (Rectified Linear Unit)

ReLU

  • 의미 없는 feature 삭제, 의미있는 feature 살려주는 방법
  • x<0이면 0이 되어버리고, x>0이면 양수 x값이 그대로 나옴
  • 결과값은 x,0중에 더 큰게 나옴. 즉, 음수값은 사용하지 않겠다는 것.
  • 사용처: 이미지 학습, 일반 딥러닝 문제에 범용적으로 쓰임
    • 예시: 고양이 사진에서 배경 제거하고 고양이만 뽑고 싶다면?
    • 고양이(파란 네모)에 양수 값, 배경(빨간 네모)에 음수 값을 준 채 LeRU 함수를 통과하면 배경은 0, 고양이는 1이 된다.
    • 이미지에서 의미 없는 부분을 날려주기 위해 LeRU가 사용된다.

 

2-1. LeRU (Leakly Rectified Linear Unit)

LeRU

  • 음수라고 데이터 다 버려버리면 데이터가 아깝지 않을까? 해서 나온 방식
  • 양수일때는 ReLU와 똑같이 x값, 음수일 때는 ReLU와 달리 약간은 사용. 아주 작은 값(0.01x) 반영
  • 사용처: (자율주행, 보안업체..)

 

3. 하이퍼볼릭 탄젠트 (hyperbolic tangent)

tanh

  • 입력값을 -1~1 사이의 값으로 변환
  • 단어와 단어의 관계를 정의할 때 사용
  • 벡터 사용해서 방향성 설정
  • 값의 방향성 설정
  • 사용처: 텍스트 처리에서 자주 쓰임
    • 예: 잘생김 = [1,2] 라 가정하자.
    • 이 때, "못생김 = -0.99*잘생김" 이라 할 수 있다.
    • 차은우 = 0.9*잘생김 = [0.9,1.8]

4. Softmax (다중 분류)

softmax

  • 소프트 맥스를 적용한 결과의 총합은 항상 1
  • 각각의 결과물은 항상 0~1 사이.
  • 값의 형태는 벡터 형식이며, "각 클래스로 분류될 확률"을 의미한다.

SOFTMAX

 

  • 아래 그림을 해석해보면 어떤 데이터가 들어왔을 때 1번 클래스일 확률(예측값 y1hat) 20%, 2번 클래스일 확률 30%, 3번 클래스일 확률 50%
  • 따라서 소프트 맥스 결과값이 가장 큰 3번 클래스(50%)가 정답으로 결정됨.