Gradient Descent의 대안은 무엇입니까?


45

Gradient Descent는 Local Minima에 갇히는 데 문제가 있습니다. 전역 최소값을 찾으려면 경사 하강 지수 시간을 실행해야합니다.

누구든지 장단점과 함께 신경망 학습에 적용되는 경사 하강의 대안에 대해 말해 줄 수 있습니까?

답변:


37

이것은 사용되는 방법보다 함수가 최소화되는 것과 관련하여 더 큰 문제입니다. 만약 실제 최소값을 찾는 것이 중요하다면, 시뮬레이션 된 어닐링 과 같은 방법을 사용하십시오 . 이 경우 전 세계 최소값을 찾을 수 있지만 그렇게하는 데 시간이 오래 걸릴 수 있습니다.

신경망의 경우 국소 최소값이 그다지 큰 문제는 아닙니다. 로컬 최소값 중 일부는 숨겨진 계층 단위를 변경하거나 네트워크의 입력 및 출력 가중치를 무시하여 기능적으로 동일한 모델을 얻을 수 있기 때문입니다. 또한 로컬 최소값이 약간 최적이 아닌 경우 성능 차이는 최소화되므로 실제로 중요하지 않습니다. 마지막으로, 이것은 중요한 점입니다. 신경망을 맞추는 데있어 주요한 문제는 과적 합이므로 비용 함수의 전 세계 최소값을 적극적으로 검색하면 과적 합과 성능이 좋지 않은 모델이 발생할 수 있습니다.

체중 감량과 같은 정규화 용어를 추가하면 비용 함수를 매끄럽게하는 데 도움이 될 수 있습니다. 이로 인해 로컬 최소값의 문제가 약간 줄어들 수 있으며 어쨌든 과적 합을 피하기위한 방법으로 권장됩니다.

그러나 신경 네트워크에서 로컬 최소값을 피하는 가장 좋은 방법은 로컬 최소값에 대한 문제가 적은 가우시안 프로세스 모델 (또는 Radial Basis Function 신경 네트워크)을 사용하는 것입니다.


8
매우 사실입니다. 세계 최소값을 찾지 못하는 문제가 과대 평가되었습니다.
bayerj

2
과적 합은 모델에서 많은 매개 변수를 사용하는 경우 (일반적인 NN 유스 케이스), 최소한의 명백한 방식이 아닌 로컬 최소값과 관련 이 없습니다 . 작은 NN, 즉 매우 적은 자유 매개 변수로도 나쁜 로컬 최소값에 빠질 수 있습니다.
carlosayam 2016 년

1
@DikranMarsupial, 단일 모델 매개 변수를 사용하더라도 많은 로컬 최소값을 가질 수 있습니다. 손실 함수의 모양에 따라 다릅니다. 구성되었지만 간단한 예 : , 여기서 는 가장 가까운 두 번째 이웃 입니다. 두 개의 연속 포인트마다 로컬 최소값이 있음을 쉽게 알 수 있습니다. 즉, 데이터가 많을수록 로컬 최소값이 높아집니다! 데이터 세트에서 가장 가까운 지점 사이에서 전역이 달성됩니다. 이것은 극단적 인 일이지만 변경점 문제를 해결하는 유사한 동작을 보았습니다. L(ω)=(x(1)ω)2+(x(2)ω)2x(1),x(2)ω
carlosayam 2016 년

1
@DikranMarsupial-문장을 완성하기에 충분한 문자가 없었습니다. :) 신경망을 사용하여 변경 점 문제를 해결하는 비슷한 동작을 보았습니다. 이런 종류의 문제에서 지역 최소값은 대개 나쁩니다. 따라서이 문제가 과대 평가되었다는 데 동의하지 않습니다.
carlosayam 2016 년

1
@DikranMarsupial, 그렇습니다. 참고 사항 : 여기에서 볼 수 있듯이 그라디언트 디센트는 널리 사용되는 컨볼 루션 신경망에서 숨겨진 레이어를 시각화하는 데 사용됩니다. 나는 "까치"를 많은 현지 최소 점 중 하나라고 생각합니다. 그러나 저자는 이런 식으로 그것을 보지 못하고 신체는 그렇게 믿지 않습니다. 제 생각에는 큰 실수입니다.
carlosayam 2016 년

24

그라디언트 디센트는 최적화 알고리즘 입니다.

A의 조작 많은 최적화 알고리즘이 있습니다 고정 된 수실제 값 (상관 관계가 비 분리 ). 그라디언트 기반 옵티 마이저와 미분없는 옵티마이 저의 두 가지 범주로 크게 나눌 수 있습니다. 일반적으로 그래디언트를 사용하여 감독 설정에서 신경망을 최적화하려는 경우 미분없는 최적화보다 훨씬 빠르기 때문에 신경망을 최적화합니다. 신경망을 최적화하는 데 사용 된 수많은 그라디언트 기반 최적화 알고리즘이 있습니다.

  • SGC (Stochastic Gradient Descent) , 미니 배치 SGD, ... : 전체 트레이닝 세트의 그라디언트를 평가할 필요는 없지만 하나의 샘플 또는 미니 배치에 대해서만 그라디언트를 평가할 필요가 없습니다. 이는 일반적으로 배치 그라디언트 디센트보다 훨씬 빠릅니다. 미니 배치는 그라디언트를 부드럽게하고 전진 및 역 전파를 병렬화하는 데 사용되었습니다. 많은 다른 알고리즘에 비해 장점은 각 반복이 O (n)에 있다는 것입니다 (n은 NN의 가중치 수임). SGD는 보통 확률 적이므로 로컬 최소값 (!)에 빠지지 않습니다.
  • 비선형 컨쥬 게이트 그라디언트 : 회귀에서 매우 성공적인 것 같습니다.
  • L-BFGS : 분류에서 매우 성공적인 것으로 보이며, Hessian 근사법을 사용하며, 배치 구배가 필요합니다
  • Levenberg-Marquardt Algorithm (LMA) : 이것은 실제로 내가 아는 최고의 최적화 알고리즘입니다. 복잡도가 대략 O (n ^ 3)라는 단점이있다. 대규모 네트워크에는 사용하지 마십시오!

신경망의 최적화를 위해 제안 된 많은 다른 알고리즘이 있습니다. Hessian-free 최적화 또는 v-SGD를 위해 Google을 사용할 수 있습니다 (적응 학습 속도를 가진 많은 유형의 SGD가 있습니다 (예 : 여기 참조 )).

NN 최적화는 해결 된 문제가 아닙니다! 내 경험상 가장 큰 도전은 좋은 지역 최저치를 찾는 것이 아닙니다. 그러나 문제는 매우 평평한 영역에서 벗어나 잘못된 조건의 오류 함수 등을 처리하는 것입니다. 이것이 Hessian의 근사값을 사용하는 LMA 및 기타 알고리즘이 실제로 잘 작동하고 사람들이 확률 적 버전을 개발하려고하는 이유입니다. 복잡도가 낮은 2 차 정보를 사용합니다. 그러나 미니 배치 SGD에 대해 매우 잘 조정 된 매개 변수 세트가 복잡한 최적화 알고리즘보다 낫습니다.

일반적으로 전역 최적을 찾고 싶지 않습니다. 일반적으로 훈련 데이터를 과적 합해야합니다.


15

경사 하강에 대한 흥미로운 대안은 진화 알고리즘 (EA) 및 입자 무리 최적화 (PSO)와 같은 인구 기반 훈련 알고리즘입니다. 모집단 기반 접근 방식의 기본 아이디어는 후보 솔루션 집단 (NN 가중치 벡터)이 생성되고 후보 솔루션이 검색 공간을 반복적으로 탐색하고 정보를 교환하며 결국에는 최소 점에 수렴한다는 것입니다. 많은 시작점 (후보 솔루션)이 사용되므로 전체 최소 점에 수렴 할 가능성이 크게 증가합니다. PSO와 EA는 복잡한 NN 훈련 문제에서 그라디언트 강하보다 성능이 뛰어나고 (항상 그런 것은 아니지만) 성능이 우수한 것으로 나타났습니다.


+1 훈련 기준을 적극적으로 최적화하면이를 예방하기위한 조치를 취하지 않는 한 과적 합으로 이어질 가능성이 있지만, 훈련 기준에 일정 형태의 정규화 또는 기타 복잡성 기반이 포함되지 않는 한 PSO 및 EA를 피할 수 있습니다. 패널티.
Dikran Marsupial

5
@ anna-earwen, SSO와 비교하여 PSO가 경쟁적으로 수행되는 참고 자료를 제공해 주시겠습니까?
emrea

8

이 스레드는 상당히 오래되었고 다른 사람들은 로컬 최소, 과적 합 등과 같은 개념을 설명하는 데 큰 역할을했습니다. 그러나 OP가 대체 솔루션을 찾고 있었기 때문에 하나를 제공하려고 노력하고 더 흥미로운 아이디어를 얻을 수 있기를 바랍니다.

아이디어는 모든 가중치 w를 w + t로 바꾸는 것입니다. 여기서 t는 가우스 분포에 따른 난수입니다. 네트워크의 최종 출력은 모든 가능한 t 값에 대한 평균 출력입니다. 이것은 분석적으로 수행 될 수 있습니다. 그런 다음 경사 하강 또는 LMA 또는 기타 최적화 방법으로 문제를 최적화 할 수 있습니다. 최적화가 완료되면 두 가지 옵션이 있습니다. 한 가지 옵션은 가우시안 분포에서 시그마를 줄이고 시그마가 0에 도달 할 때까지 반복해서 최적화를 수행하면 더 나은 지역 최소값을 갖지만 잠재적으로 과적 합을 유발할 수 있습니다. 또 다른 옵션은 가중치에 임의의 숫자가있는 것을 계속 사용하는 것입니다. 일반적으로 더 나은 일반화 속성이 있습니다.

첫 번째 접근 방식은 최적화 트릭입니다 (파라미터를 통해 컨벌루션을 사용하여 대상 기능을 변경하므로 컨벌루션 터널링이라고 함). 비용 함수 지형의 표면을 매끄럽게하고 일부 로컬 최소값을 제거합니다. 글로벌 최소값 (또는 더 나은 로컬 최소값)을보다 쉽게 ​​찾을 수 있습니다.

두 번째 방법은 소음 주입 (무게)과 관련이 있습니다. 이는 분석적으로 수행됩니다. 즉, 최종 결과는 여러 네트워크가 아닌 하나의 단일 네트워크입니다.

다음은 2- 나선 문제에 대한 출력 예입니다. 네트워크 아키텍처는 세 가지 모두 동일합니다. 30 개의 노드로 구성된 숨겨진 레이어는 하나 뿐이며 출력 레이어는 선형입니다. 사용 된 최적화 알고리즘은 LMA입니다. 왼쪽 이미지는 바닐라 설정 용입니다. 중간은 첫 번째 접근법을 사용하고 있습니다 (즉, 시그마를 0으로 반복적으로 감소시킵니다). 세 번째는 sigma = 2를 사용하는 것입니다.

세 가지 접근법에 의한 2- 나선 문제의 결과

바닐라 솔루션이 최악이고 컨볼 루션 터널링이 더 잘 작동하며 노이즈 인젝션 (컨볼 루션 터널링 사용)이 가장 좋습니다 (일반화 속성 측면에서).

컨볼 루션 터널링과 노이즈 주입의 분석 방법은 저의 독창적 인 아이디어입니다. 아마도 그들은 누군가가 관심을 가질만한 대안 일 것입니다. 자세한 내용은 무한한 수의 신경망을 하나로 결합 하는 내 논문에서 찾을 수 있습니다 . 경고 : 나는 전문 학술 작가가 아니며 논문은 동료 검토되지 않습니다. 내가 언급 한 접근 방식에 대해 궁금한 점이 있으면 의견을 남겨주십시오.


1

Extreme Learning Machines 본질적으로 입력을 숨겨진 노드에 연결하는 가중치가 무작위로 할당되고 업데이트되지 않는 신경망입니다. 숨겨진 노드와 출력 사이의 가중치는 선형 방정식 (행렬 역행)을 해결하여 단일 단계로 학습됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.