개요
이전 섹션(신경망이란?)에서 신경망은 뉴런으로 구성된 함수이며 뉴런도 함수라는 것을 배웠습니다.
뉴런은 계속해서 2개의 하위 기능으로 나눌 수 있습니다.
- n 요소 선형 함수: g(x1,...,xn)
- 단항 비선형 함수: h(x)
뉴런이 나타내는 기능은 다음과 같습니다.
f(x1,...,xn)=h(g(x1,...,xn))
선형 함수 g(x1,...,xn)
선형 함수의 형식은 다음과 같습니다.
g(x1,...,xn)=w1x1+...,wnxn+b
그 중 w1,...,wn,b는 모두 매개변수이며 선형 함수마다 매개변수가 다릅니다.
단항 선형 함수
n=1, g(x1)=w1x1+b일 때 함수 이미지는 직선입니다.
이진 선형 함수
n=2, g(x1,x2)=w1x1+w2x2+b일 때 함수 이미지는 평면입니다.
n 요소 선형 함수
n>2일 때 함수 이미지는 초평면입니다. 3D를 넘어서는 시각화는 편리하지 않습니다. 그러나 그 특성이 직선적이라고 상상할 수 있습니다.
비선형 함수 h(x)
비선형 함수는 선형 함수와 다른 함수라는 이름에서 이해하기 쉽습니다. 선형 함수는 직선이고 비선형 함수는 곡선입니다. 가장 일반적인 sigmoid 함수와 같은:
활성화 기능
신경망에서는 이 단항 비선형 함수를 활성화 함수라고 부릅니다. 몇 가지 일반적인 활성화 기능에 대해서는 지식 기반의 활성화 기능을 참조하십시오. 여기서:
- Linear: f(x)=x는 선형 함수이므로 비선형 함수를 사용하지 않습니다.
- Softmax 는 특수한 경우입니다. 엄밀히 말하면 활성화 함수가 아닙니다.
필요성
비선형 활성화 함수 다음에 선형 함수가 와야 하는 이유는 무엇입니까?
이 때문입니다:
- 뉴런이 모두 선형 함수라면 뉴런으로 구성된 신경망도 선형 함수입니다.
예를 들면 다음과 같습니다.
- f1(x,y)=w1x+w2y+b1
- f2(x,y)=w3x+w4y+b2
- f3(x,y)=w5x+w6y+b3
그러면 전체 신경망이 나타내는 함수는 다음과 같습니다.
==f3(f1(x1,x2,x3),f2(x1,x2,x3))w5(w1x1+w2x2+b1)+w6(w3x2+w4x3+b2)+b3(w1w5)x1+(w2w5+w3w6)x2+(w4w6)x3+(w5b1+w6b2+b3)
이것은 삼항 선형 함수입니다.
- 우리가 구성해야 하는 목적 함수는 다양한 함수를 포함하며 선형 함수는 그 중 하나일 뿐입니다.
우리는 신경망이 선형 함수뿐만 아니라 임의의 함수를 시뮬레이션할 수 있기를 바랍니다. 그래서 우리는 비선형 활성화 함수를 추가하고 선형 함수를 "구부렸습니다".
완전한 뉴런
완전한 뉴런은 선형 함수와 비선형 활성화 함수를 결합하여 더 흥미롭고 강력하게 만듭니다.
단항 함수
n=1, g(x1)=w1x1+b일 때 sigmoid 활성화 함수를 사용하여 뉴런의 해당 함수는 다음과 같습니다.
h(g(x))=sigmoid(wx+b)
기능 이미지는 다음과 같습니다.
이진 함수
n=2, g(x1,x2)=w1x1+w2x2+b일 때 sigmoid 활성화 함수를 사용하여 뉴런의 해당 함수는 다음과 같습니다.
h(g(x))=sigmoid(w1x1+w2x2+b)
기능 이미지는 다음과 같습니다.
n-요소 함수
시각화 문제로 인해 여기에서는 전적으로 내 상상에 달려 있습니다! 😥
질문
신경망이 뉴런 조합에서 복잡한 기능을 시뮬레이션할 수 있는 이유는 무엇입니까?
간단한 뉴런을 통해 조금 더 복잡한 기능을 시뮬레이션하는 방법을 직관적으로 상상할 수 있습니다.