신경망에서 몇 가지 내용을 읽었으며 단일 계층 신경망의 일반적인 원리를 이해합니다. 추가 레이어의 필요성을 이해하지만 왜 비선형 활성화 함수가 사용됩니까?
이 질문은 다음과 같습니다 : 역 전파에 사용되는 활성화 함수의 파생물은 무엇입니까?
신경망에서 몇 가지 내용을 읽었으며 단일 계층 신경망의 일반적인 원리를 이해합니다. 추가 레이어의 필요성을 이해하지만 왜 비선형 활성화 함수가 사용됩니까?
이 질문은 다음과 같습니다 : 역 전파에 사용되는 활성화 함수의 파생물은 무엇입니까?
답변:
활성화 기능의 목적은 네트워크에 비선형 성 을 도입 하는 것입니다
결과적으로 설명 변수와 비선형 적으로 변하는 응답 변수 (일명 대상 변수, 클래스 레이블 또는 점수)를 모델링 할 수 있습니다.
비선형 출력 (- 이것 단어 인 직선을 렌더링하는 출력과 동일하지 입력의 선형 조합으로부터 재생 될 수 없다는 것을 의미 아핀 ).
그것을 생각하는 또 다른 방법 : 네트워크에 비선형 활성화 함수가 없으면 NN은 레이어 수에 관계없이 단일 레이어 퍼셉트론처럼 작동합니다.이 레이어를 합하면 또 다른 선형 함수가 제공되므로 (위의 정의 참조).
>>> in_vec = NP.random.rand(10)
>>> in_vec
array([ 0.94, 0.61, 0.65, 0. , 0.77, 0.99, 0.35, 0.81, 0.46, 0.59])
>>> # common activation function, hyperbolic tangent
>>> out_vec = NP.tanh(in_vec)
>>> out_vec
array([ 0.74, 0.54, 0.57, 0. , 0.65, 0.76, 0.34, 0.67, 0.43, 0.53])
백프로 프 ( 쌍곡 탄젠트 )에 사용되는 공통 활성화 함수 는 -2에서 2까지 평가되었습니다.
그러나 매우 제한된 경우에 선형 활성화 기능을 사용할 수 있습니다. 실제로 활성화 기능을 더 잘 이해하려면 일반적인 최소 제곱 또는 선형 회귀를 보는 것이 중요합니다. 선형 회귀 분석은 입력 값과 결합 할 때 설명 변수와 목표 변수간에 최소 수직 효과를 초래하는 최적의 가중치를 찾는 것을 목표로합니다. 요컨대, 예상 출력에 아래와 같이 선형 회귀가 반영되면 선형 활성화 기능을 사용할 수 있습니다. 그러나 아래 두 번째 그림에서와 같이 선형 함수는 원하는 결과를 얻지 못합니다. (중간 그림). 그러나 아래에 표시된 비선형 함수는 원하는 결과를 생성합니다.
선형 활성화 기능이있는 신경망은 아키텍처가 얼마나 복잡한 지에 관계없이 한 층 깊이에서만 유효하기 때문에 활성화 함수는 선형 일 수 없습니다. 네트워크 입력은 일반적으로 선형 변환 (입력 * 가중치)이지만 실제 환경과 문제는 비선형입니다. 들어오는 데이터를 비선형으로 만들기 위해 활성화 함수라는 비선형 매핑을 사용합니다. 활성화 기능은 특정 신경 기능의 존재를 결정하는 의사 결정 기능입니다. 0과 1 사이에 매핑되며 0은 기능이 없음을 의미하고 1은 기능이 있음을 의미합니다. 불행히도, 가중치에서 발생하는 작은 변화는 0 또는 1 만 취할 수 있기 때문에 활성화 값에 반영 될 수 없습니다. 따라서 비선형 함수는이 범위에서 연속적이고 차별화되어야합니다. 신경망은 -infinity에서 + infinite까지 모든 입력을받을 수 있어야하지만, 경우에 따라 {0,1} 또는 {-1,1} 사이의 출력에 매핑 할 수 있어야합니다. 활성화 기능이 필요합니다. 신경망에서의 목표는 가중치와 입력의 비선형 조합을 통해 비선형 결정 경계를 생성하는 것이기 때문에 활성화 함수에 비선형 성이 필요합니다.
신경망에서 선형 활성화 함수 만 허용하면 출력은 입력 의 선형 변환 일 뿐이므로 범용 함수 근사값 을 형성하기에 충분하지 않습니다 . 이러한 네트워크는 행렬 곱셈으로 표현 될 수 있으며 그러한 네트워크에서 매우 흥미로운 동작을 얻을 수 없습니다.
모든 뉴런이 아핀 활성화 함수 (즉, 선형 활성화 함수의 일반화 인 상수 및 형태 f(x) = a*x + c
인 활성화 함수)를 갖는 경우에도 마찬가지 입니다. 입력에서 출력으로 아핀 변환 이 발생합니다. 별로 흥미롭지 않습니다.a
c
신경망은 출력 계층에서와 같이 선형 활성화 기능을 가진 뉴런을 매우 잘 포함 할 수 있지만, 네트워크의 다른 부분에서 비선형 활성화 기능을 가진 뉴런 회사가 필요합니다.
참고 : 흥미로운 예외는 DeepMind의 합성 그라디언트 입니다. 이는 작은 신경망을 사용하여 활성화 값이 지정된 역 전파 패스의 그라디언트를 예측하고 숨겨진 레이어가없는 신경 네트워크를 사용하여 벗어날 수 있음을 발견했습니다. 선형 활성화 만 가능합니다.
선형 활성화 및 임의의 수의 숨겨진 층을 갖는 피드-포워드 신경망은 숨겨진 층이없는 선형 신경망과 동일하다. 예를 들어 두 개의 숨겨진 레이어가 있고 활성화되지 않은 신경망을 생각해 봅시다.
y = h2 * W3 + b3
= (h1 * W2 + b2) * W3 + b3
= h1 * W2 * W3 + b2 * W3 + b3
= (x * W1 + b1) * W2 * W3 + b2 * W3 + b3
= x * W1 * W2 * W3 + b1 * W2 * W3 + b2 * W3 + b3
= x * W' + b'
여러 선형 변환 조합을 하나의 변환으로 대체 할 수 있고 여러 바이어스 항의 조합이 단일 바이어스이기 때문에 마지막 단계를 수행 할 수 있습니다. 선형 활성화를 추가하더라도 결과는 동일합니다.
그래서 우리는이 신경망을 단일 층 신경망으로 대체 할 수있었습니다. 이것은 층으로 확장 될 수 있습니다 n
. 이것은 레이어를 추가해도 선형 신경망의 근사 력이 전혀 증가하지 않음을 나타냅니다. 비선형 함수를 근사화하려면 비선형 활성화 함수가 필요하며 대부분의 실제 문제는 매우 복잡하고 비선형입니다. 실제로 활성화 함수가 비선형 일 때, 충분히 많은 숨겨진 단위를 가진 2 계층 신경망은 보편적 인 함수 근사치 인 것으로 입증 될 수 있습니다.
"이 논문은 Stone-Weierstrass Theorem과 Gallant and White의 코사인 스 쿼셔를 사용하여 브리티시 스쿼시 기능을 사용하는 표준 멀티 레이어 피드 포워드 네트워크 아키텍처가 원하는 정도의 정확도로 거의 모든 관심 기능을 근사 할 수 있음을 확립합니다. 단위를 사용할 수 있습니다. " ( Hornik et al., 1989, Neural Networks )
스 쿼싱 함수는 예를 들어 시그 모이 드 활성화 함수와 같이 [0,1]에 매핑되는 비선형 활성화 함수입니다.
비선형 활성화 함수 의 논리를 이해하려면 먼저 활성화 함수가 사용되는 이유를 이해해야합니다. 일반적으로 실제 문제에는 사소하지 않은 비선형 솔루션이 필요합니다. 따라서 비선형 성을 생성하는 함수가 필요합니다. 기본적으로 활성화 함수는 입력 값을 원하는 범위로 매핑하면서이 비선형 성을 생성하는 것입니다.
그러나 선형 활성화 함수는 선형 회귀와 같은 숨겨진 레이어가 필요하지 않은 매우 제한된 경우에 사용할 수 있습니다. 숨겨진 계층의 수와는 무관하게,이 네트워크는 단 한 단계로 수행 될 수있는 입력의 선형 조합을 생성 할 것이기 때문에 이러한 종류의 문제에 대해 신경망을 생성하는 것은 무의미합니다. 즉, 단일 레이어처럼 동작합니다.
연속적인 차별화 와 같은 활성화 기능에 대한 몇 가지 더 바람직한 특성이 있습니다. 우리는 역 전파를 사용하기 때문에 우리가 생성하는 함수는 언제라도 구별 할 수 있어야합니다. 나는 강하게에서 활성화 기능에 대한 위키 피 디아 페이지를 확인하기 위해 조언을 여기에 주제의 더 나은 이해를 할 수 있습니다.
몇 가지 좋은 답변이 있습니다. Christopher M. Bishop의 "Pattern Recognition and Machine Learning"책을 지적하는 것이 좋습니다. 여러 ML 관련 개념에 대한 심층적 인 통찰력을 얻는 데 도움이되는 책입니다. 229 쪽에서 발췌 (5.1 항) :
네트워크에있는 모든 숨겨진 장치의 활성화 기능이 선형 인 경우 그러한 네트워크에 대해 숨겨진 장치가없는 동등한 네트워크를 항상 찾을 수 있습니다. 이는 연속 선형 변환의 구성 자체가 선형 변환이라는 사실에서 비롯됩니다. 그러나 숨겨진 단위의 수가 입력 또는 출력 단위의 수보다 적 으면 네트워크에서 생성 할 수있는 변환은 입력에서 출력으로의 가장 일반적인 선형 변환이 아닙니다. 숨겨진 단위. 12.4.2 절에서 우리는 선형 단위의 네트워크가 주요 성분 분석을 일으킨다는 것을 보여준다. 그러나 일반적으로 선형 단위의 다층 네트워크에는 거의 관심이 없습니다.
가능한 한 간단하게 설명하겠습니다.
신경망은 패턴 인식에 사용됩니까? 패턴 찾기는 매우 비선형 기술입니다.
인수를 위해 모든 단일 뉴런에 대해 선형 활성화 함수 y = wX + b를 사용하고 y> 0-> class 1 else class 0과 같은 것을 설정한다고 가정하십시오.
이제 우리는 제곱 오차 손실을 사용하여 손실을 계산하고 다시 전파하여 모델이 잘 학습하도록 할 수 있습니까?
잘못된.
마지막 숨겨진 레이어의 경우 업데이트 된 값은 w {l} = w {l}-α * X입니다.
마지막으로 숨겨진 두 번째 레이어의 경우 업데이트 된 값은 w {l-1} = w {l-1}-α * w {l} * X입니다.
i 번째 마지막 숨겨진 계층의 경우, 업데이트 된 값은 w {i} = w {i}-α * w {l} ... * w {i + 1} * X입니다.
이로 인해 모든 가중치 행렬을 곱하여 다음과 같은 가능성을 얻을 수 있습니다. A) w {i} 소멸 구배로 인한 변화 거의 없음 B) w {i} 변화 구배로 인해 급격하고 부정확하게 변화 C) w {i} 변화 우리에게 좋은 점수를 줄만큼
C가 발생하는 경우 우리의 분류 / 예측 문제는 아마도 단순한 선형 / 로지스틱 회귀 기반의 것으로 아마도 처음에는 신경망이 필요하지 않았 음을 의미합니다!
NN이 아무리 강력하고 강력하게 조정 되더라도 선형 활성화 기능을 사용하면 비선형 요구 패턴 인식 문제를 해결할 수 없습니다.
전혀 요구되는 것은 아닙니다. 실제로, 정류 된 선형 활성화 기능 은 큰 신경망에서 매우 유용합니다. 그래디언트를 계산하는 것이 훨씬 빠르며 최소 경계를 0으로 설정하여 희소성을 유발합니다.
자세한 내용은 다음을 참조하십시오 : https://www.academia.edu/7826776/Mathematical_Intuition_for_Performance_of_Rectified_Linear_Unit_in_Deep_Neural_Networks
편집하다:
정류 된 선형 활성화 함수를 선형 함수라고 부를 수 있는지에 대한 논의가있었습니다.
예, x = 0 지점에서 선형이 아니기 때문에 기술적으로 비선형 함수이지만 다른 모든 지점에서 선형이라고 말하는 것이 여전히 옳으므로 여기서 nitpick하는 것이 유용하지 않다고 생각합니다.
나는 정체성 기능을 선택할 수 있었지만 여전히 그렇 겠지만 최근 인기 때문에 ReLU를 예로 선택했습니다.
f(x) = a*x
(선형 활성화 함수의 유일한 유형이기 때문에) 형태로 활성화 함수를 가지고 있었을 것입니다. 이것은 비선형 활성화 함수와 결합하지 않는 한 활성화 함수로 쓸모 가 없습니다. ).