Deep Learning

비선형 함수를 사용하는 이유 (신경망, 선형함수 비교)

햇농nongnong 2022. 5. 31. 09:42

비선형 함수


  • 계단 함수 시그모이드 함수의 또 다른 공통점 : 모두 비선형 함수
  • 시그모이드 함수 : 곡선, 계단 함수 : 구부러진 직선  = 모두 비선형 함수로 분류됨

 

선형함수와 비선형함수

  • 함수란 어떤 값을 입력하면 그에 따른 값을 돌려주는 '변환기'
  • 선형 함수 : 변환기에 무언가 입력했을 때 출력이 입력의 상수배만큼 변하는 함수
    f(x) = ax + b ; a와 b는 상수 - 즉, 선형 함수는 곧은 1개의 직선
  • 비선형 함수 : '선형이 아닌' 함수
    즉, 직선 1개로는 그릴 수 없는 함수

 

활성화 함수로 반드시 '비선형 함수' 를 사용해야 함

  • 신경망에서는 활성화 함수로 "비선형 함수" 를 사용해야 함
    선형 함수를 사용하면 안됨 - 선형함수를 이용하면 신경망의 층을 깊게 하는 의미가 없어짐
  • 선형 함수는 층을 아무리 깊게 해도 결국 은닉층이 없는 것과 똑같음
    ex) 선형함수인 h(x) = cx 를 활성화 함수로 사용한 3층 네트워크
           y(x) = h(h(h(x)))
           y(x) = c * c * c * x ; 곱셈을 세 번 수행하지만 = 이것은 y(x) = ax 와 똑같은 식 ( a = c^3)
  • 즉, 은닉층이 없는 네트워크로 표현 가능
  • 따라서 선형 함수를 활성화 함수로 이용하면 여러 층으로 구성하는 이점을 살릴 수 없음

 

 

 

 

 

 Reference

  • 밑바닥부터 시작하는 딥러닝