데이터로그😎
[MLP] 03. 활성화 함수 (Activation Function) 본문
단층 퍼셉트론의 한계였던 '비선형성'을 극복하기 위한 대안이 다층 퍼셉트론이다.
다층 퍼셉트론은 선형 관계만 표현할 수 있는 layer를 여러 개 구축함으로써 비선형적인 관계도 다룰 수 있다.
이에 관한 내용은 아래 글에서 확인 가능하다.
단층 퍼셉트론의 단점
단층 퍼셉트론은 결과가 0 또는 1밖에 없어서 출력이 다채롭지 못하다. 이 한계를 극복하기 위해 "활성화 함수(Activation Function)"가 등장했다.
활성화 함수 (Activation Function)
- 은닉층과 출력층의 뉴런에서 출력값을 결정하는 함수
- 활성화 함수는 비선형 함수여야 한고, 선형연산인 wx + b에 비선형성을 부여해준다.
- 선형연산의 단계 (Z -> a)
- 선형연산인 wx + b 를 수행한다.
- 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)
- 의미 없는 feature 삭제, 의미있는 feature 살려주는 방법
- x<0이면 0이 되어버리고, x>0이면 양수 x값이 그대로 나옴
- 결과값은 x,0중에 더 큰게 나옴. 즉, 음수값은 사용하지 않겠다는 것.
- 사용처: 이미지 학습, 일반 딥러닝 문제에 범용적으로 쓰임
- 예시: 고양이 사진에서 배경 제거하고 고양이만 뽑고 싶다면?
- 고양이(파란 네모)에 양수 값, 배경(빨간 네모)에 음수 값을 준 채 LeRU 함수를 통과하면 배경은 0, 고양이는 1이 된다.
- 이미지에서 의미 없는 부분을 날려주기 위해 LeRU가 사용된다.
2-1. LeRU (Leakly Rectified Linear Unit)
- 음수라고 데이터 다 버려버리면 데이터가 아깝지 않을까? 해서 나온 방식
- 양수일때는 ReLU와 똑같이 x값, 음수일 때는 ReLU와 달리 약간은 사용. 아주 작은 값(0.01x) 반영
- 사용처: (자율주행, 보안업체..)
3. 하이퍼볼릭 탄젠트 (hyperbolic tangent)
- 입력값을 -1~1 사이의 값으로 변환
- 단어와 단어의 관계를 정의할 때 사용
- 벡터 사용해서 방향성 설정
- 값의 방향성 설정
- 사용처: 텍스트 처리에서 자주 쓰임
- 예: 잘생김 = [1,2] 라 가정하자.
- 이 때, "못생김 = -0.99*잘생김" 이라 할 수 있다.
- 차은우 = 0.9*잘생김 = [0.9,1.8]
4. Softmax (다중 분류)
- 소프트 맥스를 적용한 결과의 총합은 항상 1
- 각각의 결과물은 항상 0~1 사이.
- 값의 형태는 벡터 형식이며, "각 클래스로 분류될 확률"을 의미한다.
- 아래 그림을 해석해보면 어떤 데이터가 들어왔을 때 1번 클래스일 확률(예측값 y1hat) 20%, 2번 클래스일 확률 30%, 3번 클래스일 확률 50%
- 따라서 소프트 맥스 결과값이 가장 큰 3번 클래스(50%)가 정답으로 결정됨.
'딥러닝' 카테고리의 다른 글
[DNN] DNN 설계 단계 - ② 손실함수, ③ 최적화 (1) | 2023.12.02 |
---|---|
[DNN] 02. DNN 설계 단계 - ① 레이어 설계 (0) | 2023.11.28 |
[DNN] 01. DNN 기본 용어 (0) | 2023.11.28 |
[MLP] 02. 단층(SLP), 다층 퍼셉트론 (MLP) (1) | 2023.11.28 |
[MLP] 01. 퍼셉트론의 개념 (0) | 2023.11.28 |