신경망에 왜 경사 하강을 사용합니까?


22
  1. 역 전파 알고리즘을 사용하여 신경망을 훈련 할 때, 경사 하강 법이 가중치 업데이트를 결정하는데 사용된다. 내 질문이있다 : 오히려 천천히 일정한 무게에 대한 최소한의 포인트를 찾을 그라데이션 하강 방법을 사용하는 것보다, 왜 우리는 단지 파생 설정하지 , 그리고 오차를 최소화하는 무게 값 를 찾으 십니까?d(Error)dw=0w

  2. 또한 역 전파의 오차 함수가 최소가되는 이유는 무엇입니까? 대신 오류 기능이 최대라는 것을 알 수 없습니까? 임의의 가중치 및 입력 벡터를 가진 임의의 숨겨진 노드가있는 네트워크가 항상 약간의 오류 기능을 제공하도록 보장하는 스쿼시 기능의 특정 속성이 있습니까?


2
모든 캡 타이틀은 표준이 아니며 (여러분을 둘러보십시오) 여기 및 다른 곳에서는 환영받지 않는 소리로 널리 사용되지 않습니다.
Nick Cox

@ 닉 콕스 내 사과
Minaj

머신 러닝 모델에서 숨겨진 변수 또는 잠재 변수가 사용될 때마다 최적화 (거의?)가 항상 비선형, 볼록하지 않고 최적화하기가 더 어렵습니다.
Vladislavs Dovgalecs

답변:


30
  1. 우리는 할 수 없기 때문에. 가중치 w 의 함수 인 최적화 표면 는 비선형이며 d S ( w )에 대한 닫힌 형태 솔루션이 없습니다.S(w)w.dS(w)dw=0

  2. 정의에 따라 구배 하강. 내림차순으로 고정 점에 도달하면 (로컬) 최소값 또는 안 장점이어야하지만 로컬 최대 값은 아닙니다.


함수가 오목한 경우 갈 수있는 유일한 방법은 아래쪽으로 있기 때문에 그래디언트 괜찮은 점은 영원히 내려갑니다. 오류 표면이 오목하지 않다고 보장됩니까? 또한 왜 오류 함수의 미분이 닫힌 양식 솔루션을 갖지 않는지 분명하지 않습니다. K - 1 형식의 오차가 아님 여기서 K는 상수? 이 함수는 상당히 차별화되고 결과적으로 분석적으로 해결할 수 있습니다. 내가 분명히 볼 수없는 것이 있기 때문에 명확하게 알려주세요. K11+eΣwx
미나 즈

8
일반적으로 사용되는 모든 오류 함수의 이론상 최소값이 0이므로이 오류가 발생할 수 없습니다. 오류는 음수가 될 수 없습니다.
Marc Claesen

2
1의 또 다른 가능한 해석은 "그것이 우리가하는 것과 정확히 일치합니다. 방정식은 기울기 하강을 사용하여 해결됩니다."
Matthew Drury

1
그라디언트에 대한 닫힌 형태가 분명히 있습니다 (그래서 우리는 그라디언트 하강을 효율적으로 수행하는 방법입니다). 문제는 닫힌 형태가 아닙니다. 그라디언트의 루트 = 0
seanv507

@ seanv507 그것이 내가 말하려는 의도입니다. 혼란을 드려 죄송합니다. 내 게시물을 수정했습니다.
Marc Claesen

10

Marc Claesen의 대답에 따르면, 지역 최대 값으로 초기화하거나 운이 잘못되거나 잘못 된 비율 매개 변수로 인해 그라데이션 하강 로컬 최대 값에서 멈출 있다고 생각합니다 . 로컬 최대 값은 그라디언트가없고 알고리즘은 수렴 된 것으로 생각합니다. 그렇기 때문에 종종 다른 시작점에서 여러 번 반복을 실행하고 그 과정에서 값을 추적합니다.


1
나는 당신이 이미 일부 공감대를 끌어 들이고있는 것처럼 당신의 서문 주석을 편집했습니다! 사이트에 오신 것을 환영합니다!
Matthew Drury

감사! 나는 그것이 의견인지 대답인지 확실하지 않았으며, 그 첫 번째 대답이 그 자체에 기초하여 망각으로 다운 투표되기를 원하지 않았습니다.
Jared Becksfort

6

뉴턴 유형의 방법에서 각 단계에서 d ( error )를 해결합니다.문제의선형화 된또는 대략적인 버전의 경우 d w =0입니다. 그런 다음 새로운 점에 대해 문제가 선형화되고 수렴 될 때까지 프로세스가 반복됩니다. 어떤 사람들은 신경망을 위해 그것을 해왔지만 다음과 같은 단점이 있습니다.(오류)=0

  • 이차 미분 (헤 시안, 특히 헤 시안 벡터 제품)을 다룰 필요가있다.
  • "해결 단계"는 계산 비용이 매우 많이 듭니다. 해결을하는 데 걸리는 시간에 많은 경사 하강 반복을 수행했을 수 있습니다.

하나는 Hessian solve에 Krylov 방법을 사용하고 Hessian에는 좋은 전제 조건을 사용하지 않으면 대략 균형을 이루는 비용-Newton 반복이 훨씬 오래 걸리지 만 더 많은 진행이 이루어 지므로 총 시간이 대략적으로 소요됩니다 경사 하강보다 같거나 느리다. 다른 한편으로, 좋은 Hessian 선 조건자가 있다면 Newton의 방법이 큰 성공을 거두게됩니다.

즉, 신뢰 영역 인 Newton-Krylov 방법은 현대의 대규모 최적화에서 금본위 제이며, 사람들이 점점 더 큰 문제를 해결하기 위해 앞으로 몇 년 동안 신경망에서 그 사용이 증가 할 것으로 기대합니다. (또한 수치 최적화에 더 많은 사람들이 기계 학습에 관심을 가질수록)


당신이 착각 한 것 같아요 사람들은 90 년대부터 nnet을 사용해 왔으며, 2 차 방법을 잘 알고 있습니다. 문제는 많은 양의 데이터가있을 때 nnet이 성공한 것이므로, 많은 파라미터를 지원하는 경우 2 차 방법의 시간과 메모리 제약이 효과적이지 않다는 것입니다. 예를 들어 leon.bottou.org/publications/pdf/compstat-2010.pdf
seanv507

별로. 이 논문에서 2 차 방법에 대한 논의는 2 차 방법을 사용하기 위해 조밀 한 Hessian 전체를 구성하고 반전시켜야한다는 가정에서 많은 결점이있다. 이것은 현대의 대규모 수치 최적화에서 수행되는 방식이 아닙니다. 현대의 2 차 방법에서는 인접 문제를 해결하여 벡터에 대한 헤 시안 동작을 계산하고이를 반복 (Krylov) 솔버 내에서 사용합니다. 일반적으로 첫 번째 내부 반복은 그라디언트 방향을 반환하고 후속 반복은이를 향상시킵니다.
Nick Alger

나는 그 종이의 특정 팬이 아니지만, 그것이 사실이라고 생각하지 않습니다. 그는 이전에 대각선을 논의하고 구현했으며 hessian의 순위를 줄였습니다. 그리고 펄 머터의 1994 년 논문에서 hessian의 정확한 정확한 곱셈은 어떻습니까?
seanv507

권리. Pearlmutter를 통해 또는 무엇을 사용하든 빠른 Hessian 응용 프로그램이 있으면 켤레 구배와 같은 Krylov 방법으로 부정확 한 Hessian 해석을 수행 할 수 있습니다. 이를 통해 비선형 반복 옵티 마이저에서 잘못된 조건부 문제를 선형 대수 반복 솔버로 효과적으로 전달합니다. 여기서 선형 대수 반복 솔버는 문제를 처리하는 데 사용할 수있는 많은 기계 및 사전 조건 기술이 있습니다. 좋은 참고 문헌은 Nocedal과 Wright의 고전적인 "수치 최적화"에서 신뢰 영역 CG-Steihaug에 대한 섹션입니다.
Nick Alger

내 요점은 헤센과 켤레 그라디언트의 곱셈이 1994 년부터 nnets 커뮤니티에서 알려져 있다는 것입니다. 따라서 SGD가 2 차 방법 대신 사용되는 이유가 분명히 있다고 생각합니다 (그리고 이것이 왜 그런지에 대한 명확한 해결책을 원합니다) )
seanv507
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.