퐈니썬's LIfe - 잘 실패하자 RSS 태그 관리 글쓰기 방명록
Nonlinearity (1)
2022-01-19 14:22:52
728x90
반응형

 

<Introduction>

뉴럴 네트워크의 각각 뉴런에 들어오는 입력값의 총합을 출력값으로 변환하는 함수를 "활성화함수 (activation function)" 라고 합니다. 대개 활성화함수의 종류를 보면, "비선형함수"를 고집합니다. 이에 대한 이유를 간단히 정리하고자합니다. 

 

<출처> https://hwk0702.github.io/ml/dl/deep%20learning/2020/07/09/activation_function/

 

<NonLinearlity>

검색해본바에의해 활성화함수 종류만 찾아보아도, "비선형성"이라는 말이 기본적으로 확인 할 수 있었습니다. 그렇다면 왜 활성화 함수는 비선형성을 지녀야할까요?

 

'''

선형함수인 h(x)=cx 를 활성화함수로 사용한 3층 네트워크를 떠올려 보세요.

이를 식으로 나타내면 y(x)=h(h(h(x))) 가 됩니다. 이는 실은 y(x)=ax 와 똑같은 식입니다. a=c3 (c의 세제곱임) 이라고만 하면 끝이죠.

즉, 은닉층이 없는 네트워크로 표현할 수 있습니다. 뉴럴네트워크에서 층을 쌓는 혜택을 얻고 싶다면 활성화함수로는 반드시 비선형 함수를 사용해야 합니다.

'''

 

즉, 역전파 알고리즘에 의해 활성화함수의 미분값이 곱해지면서 계산되는데, 선형함수의 경우 상수값이 곱해지는 단일층과 다를게 없으므로, 은닉층을 가진 뉴럴네트워크를 만들기 위해서, 각 레이어의 뉴런들의 weight 값들이 갱신 되기 위해서는 "활성화함수는 비선형성을 지녀야한다"

 

728x90
반응형