신경망에서의 활성화 기능의 차이


15

신경망의 활성화 기능 유형을 연구했습니다. 함수 자체는 매우 간단하지만 응용 프로그램의 차이점은 명확하지 않습니다.

원하는 이진 / 연속 출력에 따라 논리 함수와 선형 함수를 구별하는 것이 합리적이지만 단순 선형 함수에 비해 시그 모이 드 함수의 장점은 무엇입니까?

ReLU는 나를 위해 특히 이해하기 어렵습니다. 예를 들어 양의 입력의 경우 선형처럼 동작하지만 음의 경우 "평평한"기능을 사용하는 요점은 무엇입니까? 이것의 직관은 무엇입니까? 아니면 단순한 시행 착오일까요?

답변:


16

CV : pros / cons를 가진 신경망에서 활성화 기능의 포괄적 인 목록 에 대해 비슷한 질문이 제기되었습니다 .

아래 답변 중 하나를 복사합니다.

그 중 하나는 아니지만 전체 목록은 다음과 같습니다. http://cs231n.github.io/neural-networks-1/

일반적으로 사용되는 활성화 기능

모든 활성화 함수 (또는 비선형 성 )는 단일 숫자를 사용하고 특정 고정 수학 연산을 수행합니다. 실제로 발생할 수있는 몇 가지 활성화 기능이 있습니다.

여기에 이미지 설명을 입력하십시오여기에 이미지 설명을 입력하십시오

왼쪽 : Sigmoid 비선형 성이 실수를 [0,1] 사이로 스쿼시합니다. 오른쪽 : tanh 비선형 성이 실수를 [-1,1] 사이로 스쿼시합니다.

S 자형. S 자형 비선형 성은 수학 형식 가지며 왼쪽의 위 이미지에 표시되어 있습니다. 이전 섹션에서 언급했듯이 실제 값은 0에서 1 사이의 범위로 "분할"됩니다. 특히 큰 음수는 0이되고 큰 양수는 1이됩니다. 시그 모이 드 함수는 역사적으로 자주 사용되었습니다. 그것은 전혀 발생하지 않는 것 (0)에서 가정 된 최대 주파수 (1)에서 완전 포화 된 발사까지 뉴런의 발사 속도로 잘 해석되기 때문입니다. 실제로, 시그 모이 드 비선형 성은 최근에 선호도가 떨어지고 거의 사용되지 않습니다. 두 가지 주요 단점이 있습니다.σ(엑스)=1/(1+이자형엑스)

  • S 자형은 그라디언트를 포화시키고 죽입니다 . 시그 모이 드 뉴런의 매우 바람직하지 않은 특성은 뉴런의 활성화가 0 또는 1의 꼬리에서 포화 될 때 이들 영역에서의 구배가 거의 0이라는 것이다. 역 전파 동안이 (로컬) 그라디언트는 전체 목표에 대한이 게이트 출력의 그라디언트로 곱해질 것입니다. 따라서, 국부 구배가 매우 작은 경우, 구배를 효과적으로 "사멸 (kill)"시킬 것이며, 신호를 뉴런을 통해 그 무게로 그리고 재귀 적으로 데이터로 거의 흐르지 않을 것이다. 또한, 포화를 방지하기 위해 시그 모이 드 뉴런의 무게를 초기화 할 때 특히주의해야합니다. 예를 들어, 초기 무게가 너무 크면 대부분의 뉴런이 포화되어 네트워크가 거의 배우지 않습니다.
  • S 자형 출력은 0 중심이 아닙니다 . 신경망에서 나중에 처리 계층의 뉴런이 곧 중심에 있지 않은 데이터를 수신하기 때문에 바람직하지 않습니다. 뉴런으로 들어오는 데이터가 항상 양수인 경우 (예 : 에서 ), 역 전파 동안 가중치 의 기울기 는 모두 양수 또는 음수 (전체 식의 기울기에 따라 다름 엑스>0에프=엑스+에프). 이것은 가중치에 대한 기울기 업데이트에서 바람직하지 않은 지그재그 역학을 야기 할 수있다. 그러나 이러한 그라디언트가 데이터 일괄 처리에 추가되면 가중치에 대한 최종 업데이트는 가변적 인 징후를 가질 수 있으며이 문제를 다소 완화 할 수 있습니다. 따라서 이는 불편하지만 위의 포화 활성화 문제와 비교할 때 덜 심각한 결과를 초래합니다.

tanh 비선형 성은 위 이미지의 오른쪽에 표시되어 있습니다. 실수 값을 [-1, 1] 범위로 스쿼시합니다. 시그 모이 드 뉴런과 마찬가지로 활성화는 포화되지만 시그 모이 드 뉴런과 달리 출력은 0 중심입니다. 따라서, 실제로는 제 1 비선형 성이 S 자형 비선형 성보다 항상 바람직하다. 또한 tanh 뉴런은 단순히 스케일링 된 시그 모이 드 뉴런이며 특히 다음을 보유합니다. .(엑스)=2σ(2엑스)1

여기에 이미지 설명을 입력하십시오여기에 이미지 설명을 입력하십시오

왼쪽 : 정류 선형 단위 (ReLU) 활성화 기능. x <0 일 때 0, x> 0 일 때 기울기 1로 선형 . 오른쪽 : Krizhevsky et al. (pdf) tanh 장치와 비교하여 ReLU 장치와의 수렴이 6 배 개선되었음을 나타내는 종이.

RELU. Rectified Linear Unit은 지난 몇 년 동안 매우 인기를 얻었습니다. 함수 합니다. 다시 말해, 활성화는 단순히 0으로 임계 값이됩니다 (왼쪽 위 이미지 참조). ReLU 사용에 대한 몇 가지 장단점이 있습니다.에프(엑스)=최대(0,엑스)

  • (+) 시그 모이 드 / 탄 함수와 비교하여 확률 적 구배 하강의 수렴 을 크게 가속시키는 것으로 밝혀졌다 (예를 들어 Krizhevsky et al. 에서 6의 인자 ). 이것은 선형의 비 포화 형태 때문이라고 주장합니다.
  • (+) 값 비싼 연산 (지수 등)을 포함하는 탄 / 시그 모이 드 뉴런과 비교하여 ReLU는 단순히 0의 활성화 매트릭스를 임계 값으로하여 구현할 수 있습니다.
  • (-) 불행하게도, ReLU 장치는 훈련 중에 깨지기 쉬우 며 "죽을"수 있습니다. 예를 들어, ReLU 뉴런을 통해 흐르는 큰 구배는 뉴런이 데이터 포인트에서 다시 활성화되지 않는 방식으로 가중치가 업데이트되도록 할 수 있습니다. 이 경우 장치를 통해 흐르는 그라디언트는 그 시점부터 영원히 0이됩니다. 즉, ReLU 장치는 데이터 매니 폴드에서 노크 될 수 있기 때문에 훈련 중에 비가 역적으로 죽을 수 있습니다. 예를 들어 학습 속도가 너무 높게 설정되어 있으면 네트워크의 40 % 정도가 "사망"(즉, 전체 교육 데이터 세트에서 활성화되지 않는 뉴런)이 될 수 있습니다. 학습 속도를 올바르게 설정하면 문제가 덜 자주 발생합니다.

새는 ReLU. 새는 ReLU는 "dying ReLU"문제를 해결하려는 시도 중 하나입니다. x <0 일 때 함수가 0이 아니라 누출 ReLU는 작은 음의 기울기를가집니다 (0.01 정도). 즉, 함수는 여기서 는 작은 상수입니다. 어떤 사람들은 이러한 형태의 활성화 기능으로 성공을보고하지만 그 결과가 항상 일치하지는 않습니다. Kaiming He et al., 2015에 의해 정류기에 심층 분석 에서 소개 된 PReLU 뉴런에서 볼 수 있듯이 네거티브 영역의 기울기는 각 뉴런의 매개 변수로 만들 수 있습니다 . 그러나 현재 작업 전반에 걸친 이점의 일관성은 현재 불분명합니다.에프(엑스)=1(엑스<0)(α엑스)+1(엑스> =0)(엑스)α

여기에 이미지 설명을 입력하십시오

Maxout . 가중치와 데이터 사이의 내적에 비선형 성이 적용되는 기능적 형태 를 갖지 않는 다른 유형의 단위가 제안되었습니다 . 상대적으로 인기있는 선택 중 하나 는 ReLU 및 누출 버전을 일반화하는 Maxout 뉴런 (최근 Goodfellow 등이 소개 함 )입니다. Maxout 뉴런은 함수를 계산합니다 . ReLU와 Leaky ReLU는이 형식의 특별한 경우입니다 (예 : ReLU의 경우 w_1최대 ( w T 1 x + b 1 , w T 2 x + b 2 ) w 1 , b 1 = 0에프(엑스+)최대(1엑스+1,2엑스+2)1,1=0). 따라서 Maxout 뉴런은 ReLU 장치 (선형 작동 체제, 포화 없음)의 모든 이점을 누리고 단점이 없습니다 (ReLU 죽기). 그러나 ReLU 뉴런과 달리 모든 단일 뉴런에 대한 매개 변수 수를 두 배로 늘려서 총 매개 변수 수가 많아집니다.

이것으로 가장 일반적인 뉴런 유형과 활성화 기능에 대한 논의를 마칩니다. 마지막으로, 동일한 네트워크에서 다른 유형의 뉴런을 혼합하여 일치시키는 것은 매우 드물지만 그렇게하는 데 근본적인 문제는 없습니다.

TLDR : " 어떤 뉴런 유형을 사용해야합니까? "ReLU 비선형 성을 사용하고 학습 속도에주의를 기울이고 네트워크에서 "죽은"단위의 비율을 모니터링하십시오. 이것이 문제가 될 경우 Leaky ReLU 또는 Maxout을 사용해보십시오. S 자형을 사용하지 마십시오. tanh를 시도하지만 ReLU / Maxout보다 더 나빠질 것으로 예상하십시오.


라이센스 :


MIT 라이센스 (MIT)

저작권 (c) 2015 Andrej Karpathy

이 소프트웨어 및 관련 문서 파일 (이하 "소프트웨어")의 사본을 사용하는 사람에게는 사용, 복사, 수정, 병합 권한을 포함하여 제한없이 소프트웨어를 처리 할 수있는 권한이 무료로 부여됩니다. 다음 조건에 따라 소프트웨어의 사본을 게시, 배포, 하위 사용권 허가 및 / 또는 판매하고 소프트웨어를 제공받은 사람에게 허용합니다.

상기 저작권 고지 및이 허가 고지는 소프트웨어의 모든 사본 또는 상당 부분에 포함됩니다.

본 소프트웨어는 상품성, 특정 목적에의 적합성 및 비 침해에 대한 보증을 포함하되 명시 적이든 묵시적이든 어떠한 종류의 보증없이 "있는 그대로"제공됩니다. 어떠한 경우에도 저자 또는 저작권 소유자는 계약, 불법 행위 또는 기타 행위, 소프트웨어 또는 소프트웨어의 사용 또는 기타 거래로 인해 발생하는 모든 청구, 손해 또는 기타 책임에 대해 책임을지지 않습니다. 소프트웨어.*


감사합니다.이 요약은 약간의 통찰력을 제공하지만 솔직하게도 여전히 세부 사항을 직관적으로 이해할 수는 없습니다 (예 : ReLU가 "SGD의 수렴을 크게 가속화하는 이유"). 결론에 따르면 Maxout이 최고이며 그 끝입니다. 그러나 Maxout이 가장 인기있는 패키지 (예 : Keras)로 구현되지 않았다는 사실과는 별도로, 적어도 마지막 레이어에는 다른 유형을 배치 해야하는 것이 합리적입니다 (예 : 이중 분류를위한 시그 모이 드).
Hendrik
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.