데이터를 기반으로

활성화 함수(Activation Function) 본문

데이터 분석(Python)/딥러닝(Deep Learning)

활성화 함수(Activation Function)

이노후 2022. 9. 5. 01:35
728x90
반응형

활성화 함수에 대해 이해하기 앞서

 

뉴럴 네트워크를 이용한 학습 프로세스를 알아야한다.

 

해당 설명에서는 간략히 큰 과정만 정의한 것이니, 정확한 과정은 추후 정리할 예정이다.

 

[ 뉴럴 네트워크의 학습 과정 ]

 

1. 데이터가 input 된다.

2. 활성화 함수를 통해 Feed-Forward 를 진행한다.(각 은닉층 별 가중치를 추출하며 학습)

3. 손실함수(Cost Function)의 값을 최소화하기 위해 오차 역전파법(back propagation)을 통해 가중치를 업데이트 한다.

4. 2번과 3번의 과정을 반복하며 손실함수를 최소화하며 예측을 잘 할 수 있는 가중치들을 찾아 셋팅한다.

 

위 과정에서 층마다(layer) 각각 사용하는 함수를 활성함수로 지칭한다.

 

4번에 설명된 가중치를 셋팅하기 위해 순방향 + 역방향(역전파) 이렇게 1번의 싸이클을 1 epoch라고 칭한다.

 

왜 활성화 함수는 비선형 함수만 사용 가능할까?

 

비선형 함수를 사용해야하는 이유는 크게 3가지이다.

- XOR 문제를 해결하기 위해(선형 함수로는 해결 불가능)

- 선형 함수를 여러번 합성함수로 적용해도 결국 선형 함수 이므로 여러 층을 쌓아 학습하는데 효과를 볼 수 없다.

- 역전파를 진행할 때 선형함수를 미분하게 되면 결국 상수값이 나오며 이는 loss를 줄이는 과정에서 의미가 없어진다.

 

 

이렇게 뉴럴 네트워크를 이용한 학습을 하기 위해서 Layer들은 모두 비선형 함수를 사용해야한다.

728x90
반응형