본문 바로가기

공부공간/Deep Learning

[activation function] 활성화 함수를 쓰는 이유

반응형

 

활성함수를 쓰는 것은 목적에 따라 sigmoid를 사용할 수도 있고 reLu를 사용할 수도 있다.(물론 tanh, gelu, ... 많다)

 

그렇다면 활성함수를 쓰는데 있어서 어떤 목적들이 있을까?

 

1) 어찌되었건 y_hat 값을 0~1사이의 값으로 반환해야 하는 경우. (binary classification 문제)

0~1 사이의 값으로 반환하기 위해서는 여러 layer를 거쳐서 마지막에 sigmoid 함수를 사용하면 된다.

 

2) 비선형성을 위해 활성함수를 사용한다.

비선형성은 왜 필요할까?

만약 w,b를 구하는 과정이 비선형이 아니고 모두 선형의 수식들만 거친다면 무슨 일이 일어날까? 아무리 몇백개의 layer를 거쳐도 y=wTx + b의 꼴이 나올것이다. 즉, 어떻게 해도 복잡한 구조의 식을 가지지 못한다는 것이다.

 

따라서 deep learning의 의미가 없어진다. deep learning으로는 사람이 일반적으로 생각하기 힘든 복잡한 수식을 컴퓨터로 찾아준다는 데에서 의미가 있는데 복잡한 수식을 유추해 낼 수 없는 모델이 되어버리는 것이다.

 

정리하자면 복잡한 수식을 표현하기 위해 비선형성이 필요하고 이를 위해 relu같은 activation function을 사용한다.

이 때, relu는 deep 해져도 sigmoid와 달리 기울기 소멸문제에서 강인하기 때문에 deep layer에서 많이 사용한다.

 

 

반응형