CNN이 사라지는 그라디언트 문제를 피하는 방법


15

나는 convoloutional 신경 네트워크에 대해 많은 것을 읽었으며 그들이 사라지는 기울기 문제를 어떻게 피하는지 궁금해하고있었습니다. 나는 딥 신념 네트워크가 단일 레벨 자동 인코더 또는 다른 사전 훈련 된 얕은 네트워크를 쌓아서이 문제를 피할 수 있다는 것을 알고 있지만 CNN에서 어떻게 피할 수 있는지 모르겠습니다.

Wikipedia 에 따르면 :

"위에서 언급 한"소멸 구배 문제 "에도 불구하고 GPU의 뛰어난 처리 능력으로 인해 많은 계층을 가진 딥 피드 포워드 신경망에서 일반 역 전파를 실현할 수 있습니다."

GPU 처리로이 문제가 해결되는 이유를 모르겠습니다.


2
Wikipedia 기사에서 GPU가 사라지는 그라디언트 문제를 해결하는 데 도움이되는 이유를 정당화하지 않았습니까? 그래디언트가 작더라도 GPU가 너무 빠르기 때문에 GPU 덕분에 많은 단계를 수행하여 매개 변수를 개선 할 수 있습니까?
Charlie Parker

2
바로 그거죠. 소실점 그라디언트 문제는 하위 계층 가중치가 매우 작은 속도로 업데이트되는 이유이므로 네트워크를 훈련시키는 데 영원히 필요합니다. 그러나 GPU와 마찬가지로 더 많은 GPU 처리로 더 짧은 시간에 더 많은 계산 (즉, 가중치에 대한 더 많은 업데이트)을 수행 할 수 있으므로 사라지는 그라디언트 문제는 어느 정도 사라 집니다.
Sangram

@CharlieParker, 당신은 정교한 수 있습니까 GPU's are fast correlated with vanishing gradients, 나는 다중 행렬 곱셈을 처리하기 위해 큰 메모리 대역폭을 가진 빠른 논리를 이해할 수 있습니다! 하지만 파생 상품과 어떤 관계가 있는지 설명해 주시겠습니까? 사라지는 그라데이션 문제는 체중 초기화와 함께 더 많은 일을 할 것 , 그것을하지 않습니다!
Anu

답변:


13

소멸 구배 문제는 우리가 구배 하강과 함께 작은 학습 속도를 사용해야하며, 수렴하기 위해서는 많은 작은 단계가 필요합니다. 각 단계마다 시간이 오래 걸리는 느린 컴퓨터가있는 경우 문제가됩니다. 하루에 더 많은 단계를 수행 할 수있는 빠른 GPU가 있다면 이것은 문제가되지 않습니다.

소실 그라디언트 문제를 해결하는 방법에는 여러 가지가 있습니다. CNN의 가장 큰 효과는 S 자형 비선형 단위에서 정류 선형 단위로 전환 한 것입니다. 오차 가 가중치 w i j ~ y j 만 에 의존 하는 간단한 신경망을 고려한다면 , 여기서Ewijyj

yj=f(iwijxi),

그 그라디언트는

wijE=Eyjyjwij=Eyjf(iwijxi)xi.

만약 로지스틱 시그 모이 드 함수이고, F는 " 큰 입력뿐만 아니라 입력의 작고 0에 가까울 것이다. 경우 f는 정류 수단은 선형이며fff

유도체는 포지티브 입력에 대한 부정적인 입력 제로 1이다. 또 다른 중요한 기여는 가중치를 올바르게 초기화하는 것입니다. 이 문서는 문제를 더 자세히 이해하기위한 좋은 자료 인 것 같습니다 (아직 읽지는 않았지만).

f(u)=max(0,u),

http://jmlr.org/proceedings/papers/v9/glorot10a/glorot10a.pdf


2
나는 정류 된 선형 단위에 대해 조금 당황합니다. 예. 시그 모이 드 등의 경우 그라디언트는 종종 매우 작습니다. 그러나 정류 된 선형 단위의 경우 종종 정확히 0입니다. 그렇게 나쁘지 않습니까? 따라서 단위의 무게가 불행한 경우 절대로 변하지 않습니다.
Hans-Peter Störr

2
이에 대해 생각하면 누수 및 / 또는 시끄러운 ReLU가 이러한 이유로 사용 중일 수 있습니다.
선 사이드

5
첫 번째 문장이 왜 사실입니까? 즉, 소실 구배 문제는 구배 하강과 함께 작은 학습 속도를 사용해야하므로 수렴하기 위해 많은 작은 단계가 필요합니다. " 사라지는 기울기 문제를 처리하기 위해 왜 작은 학습 속도가 필요한가요? 그라디언트가 사라져 그라디언트가 이미 작 으면 작게 만들면 상황이 더 나빠질 것으로 예상했을 것입니다.
찰리 파커

2
좋은 질문입니다, 나는 그 진술을 더 잘 설명해야합니다. 소실 그라디언트 문제는 모든 그라디언트가 작다는 것이 아니라 (큰 학습 속도를 사용하여 쉽게 수정할 수 있음), 네트워크를 통해 역 전파됨에 따라 그라디언트가 사라지는 것입니다. 즉, 그라디언트는 일부 레이어에서는 작지만 다른 레이어에서는 큽니다. 큰 학습 속도를 사용하면 일부 그라디언트가 크기 때문에 전체가 폭발하므로 작은 학습 속도를 사용해야합니다. 더 많은 하이퍼 파라미터를 도입하는 대신 여러 학습 속도를 사용하는 것이 문제를 해결하는 또 다른 방법입니다.
Lucas

3
나는 학습률이 폭발적인 기울기 문제 와 관련이 있다고 주장한다 . 과도하게 낮은 학습 속도로 그라디언트를 축소하면 사라지는 그라디언트를 전혀 막을 수는 없으며 학습 속도가 상당히 느려지므로 효과가 지연됩니다. 비선형 성을 반복적으로 적용하고 작은 값을 곱하면 효과 자체가 발생합니다. 물론 컴퓨팅 속도로 인해 더 작은 학습 속도로 이동하는 경향이 있지만 상태 공간이 얼마나 잘 탐색되는지 (안정된 조건) 제어하기 때문에 사라지는 그라디언트와 관련이 없습니다.
runDOSrun
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.