비선형 활성화 함수: 선형 연산 결과 뒤에 적용되어 퍼셉트론의 출력을 변형시키기 위해 추가한 장치
다층 퍼셉트론에서의 은닉계층은 비선형 활성화 함수를 사용하여 선형 연산 결과를 변형시키고 이를 통해 퍼셉트론의 최종 출력 결과를 만들어 낸다.
다층 퍼셉트론에서 은닉계층의 뒤에는 또다른 은닉계층 또는 출력계층이 존재한다. 따라서 각 계층의 선형 연산 사이마다 비선형 활성화 함수가 존재하게 된다.
(단, 출력계층에는 비선형 활성화 함수를 두지 않는다)
그렇다면 왜 다층 퍼셉트론에는 꼭 비선형 활성화 함수를 사용할까?
선형 처리는 여러 단계를 거듭해도 하나의 선형 처리로 나타낼 수 있기 때문이다.
직렬로 연결되고 비선형 활성화 함수를 사용하지 않는 두 퍼셉트론을 보자.
첫 계층 퍼셉트론의 입력값, 가중치, 편향을 각각 x, a, b라고 하자. (편의상 입력값과 출력값이 스칼라인 퍼셉트론으로 생각하도록 하자. 벡터를 사용해도 같은 결과가 나온다)
해당 퍼셉트론의 연산 결과를 h라고 할 때,
h = ax + b가 된다.
두번째 계층 퍼셉트론의 입력값은 첫번째 계층 퍼셉트론의 출력값인 h가 되고, 가중치와 편향값을 각각 c와 d라고 할 때, 두번째 계층 퍼셉트론의 연산결과 y는 다음과 같다.
y = ch + d
이를 풀어서 써본다면
y = c(ax + b) + d = cax + cb + d 이다.
입력값 x와 출력값 y를 제외한 나머지 값이 모두 정해진 경우 이 식의 계수 또한 숫자로 대치할 수 있다.
이는 두 층의 퍼셉트론으로 계산한 결과는 결국 한 층의 계산으로도 처리가 가능했다는 사실을 보여준다.
(입력값, 가중치, 편향, 출력값이 각각 x, ca, cb + d, y인 단층 퍼셉트론)
비선형 활성화 함수가 없는 다층 퍼셉트론은 단층 퍼셉트론이 대체할 수 있기 때문에 굳이 다층 퍼셉트론을 만들 이유가 없다.
비선형 활성화 함수를 이용하여 결과값들을 바꿔준다면 이러한 선형성의 한계에서 벗어날 수 있다. 이를 통해 다양한 퍼셉트론 출력을 만들 수 있기 때문에 다층 퍼셉트론의 각 계층 사이에는 비선형 활성화 함수를 사용한다.