본문 바로가기
AI Research/Deep Learning

[딥러닝 기본지식] 활성화 함수(Activation Function)의 이해 - 활성화 함수란?

by ga.0_0.ga 2023. 3. 3.
728x90
반응형

이번 게시물에서는 활성함수가 필요한 이유에 대해 작성하겠습니다.

▶활성화 함수(Activation Function)란?

활성화 함수는 한 노드의 출력값을 활성화를 일으킬 것인지를 결정하고 활성화를 일으킨다면 어느 정도의 세기로 활성화를 일으킬지 그 값을 결정해주는 함수라고 할 수 있습니다. 이전에, 그리고 현재 많이 쓰이고 있는 활성화 함수로는 Sigmoid, ReLu, tanh등이 있습니다. 이들의 공통점은 모두 비선형 함수라는 점입니다. 이렇게 비 선형 함수를 활성화 함수로 사용했을 때 가장 큰 장점은 층을 깊게 쌓을 수 있다는 점입니다. 그렇다면 왜 층을 깊게 쌓을 수 있는 것일까요?

▶비선형함수를 활성화 함수로 사용했을 때 층을 깊게 쌓을 수 있는 이유?

신경망에서 층을 쌓는다는 의미는 '이전 층의 특징 값들을 weight sum하여 새로운 특징 값을 만들어 내는 것'입니다. 이 과정을 여러번 반복하여 여러 층을 쌓고, 또 반복해서 학습을 하다보면 처음 입력으로 주어지는 수 많은 특징 값들로 부터 생성된 수 많은 특징 값들이 추출되어 모델이 훨씬 더 상세한 정보를 학습하게 됩니다.

이전 게시물에 언급했듯이 입력층과 출력층을 제외하고 가운데 위치한 층들을 은닉층(hidden layer)라고 합니다.

그런데 이 은닉층들을 깊게 여러 층 쌓을 때 비선형 변환을 거치지 않으면 아무리 깊게 층을 쌓아도 결국 층을 하나만 쌓는 것과 동일한 효과를 얻을 수 밖에 없습니다. 이 부분을 그림과 수식으로 자세히 설명해보겠습니다. 먼저 서로 다른 층에 활성화 함수로 사용하게 될 선형함수들입니다.

x=10일때 이 입력값을 차례대로 두 함수에 통과시켜보겠습니다.

그런데, 아래 그림처럼 선형함수인 이 두 함수를 꼭 다른 층에 두고 순차적으로 통과시키지 않아도 같은 결과를 얻을 수 있습니다. 결국 층 하나를 쓰는 것과 같은 결과를 얻게 되는 것입니다.

확장해서 생각해보면 층을 3층, 4층, ... ,100층 이상을 쌓는다 해도 활성화 함수로 계속 선형 함수만을 사용한다면 좋은 효과를 얻기는 어렵습니다.

이를 해결하기 위한 것이 바로 활성화 함수로 비선형 함수를 사용하는 것입니다. 바로 이전 층의 선형 결합으로 새로운 특징 값이 만들어지면, 그 값을 다음 층으로 전달하기 전에 비선형 변환을 시켜주면 됩니다. 즉, 딥러닝이란 선형 맞춤(linear fitting)과 비선형 변환을 차곡차곡 쌓아올린 구조라고 설명할 수 있습니다. 아래는 이를 그림으로 표현한 것입니다.

비선형 변환을 거치면 은닉층의 공간이 왜곡되게 됩니다. 입력으로 주어지는 데이터를 잘 분류할 수 있는 선들을 긋고 이 공간들을 잘 왜곡해 합하는 것을 반복하는 구조가 되는 것입니다. 아래 그림에서 빨간선과 파란선의 영역을 구분하려면, 왼쪽처럼 그냥 선 하나만 그어서는 절대 정확하게 구분할 수 없습니다. 하지만 공간을 왜곡한다면 오른쪽처럼 정확하게 구분선을 그릴 수 있습니다. (그림 출처)

예시를 통해 한번 더 설명해보겠습니다. 입력으로 들어오는 사진 속에서 '강아지'를 검출해내는 작업을 할때, 강아지는 털 길이, 색, 크기, 눈 모양, 꼬리 길이...등등 많은 특징들이 조합된 정보들로 표현될 것입니다. 이는 단순히 선형 구분으로는 식별해낼 수 없으며, 앞서 설명한대로 선을 긋고, 왜곡하고, 다시 합하는 과정을 반복하여 복잡한 공간 속에서의 최적의 구분선을 만들어 내야 합니다. 이를 위해서는 반드시 비선형 변환 과정이 필요하며, 이 역할을 바로 오늘날 많이 쓰이고 있는 Sigmoid, ReLu, tanh 과 같은 비선형 함수들이 해주고 있는 것입니다.

참고 자료들 :

참고 1 : https://www.philgineer.com/2021/08/23-1.html

참고 2 : https://slownews.kr/41461

참고 3 : http://www.gisdeveloper.co.kr/?paged=8&cat=132 (공간 시각화)

728x90
반응형

댓글