반응형
활성함수를 쓰는 것은 목적에 따라 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에서 많이 사용한다.
반응형
'공부공간 > Deep Learning' 카테고리의 다른 글
[딥러닝 강의정리] logistic regression (0) | 2020.04.09 |
---|---|
[딥러닝 강의 정리] linear classification (0) | 2020.04.07 |
[딥러닝 강의 정리] Linear-regression (0) | 2020.04.02 |
[딥러닝 강의정리] 2_Machine Learning Basics (0) | 2020.03.26 |
[딥러닝 정리] 개념정리, 딥러닝의 활용 (0) | 2020.03.23 |