답변:
이것은 사용되는 방법보다 함수가 최소화되는 것과 관련하여 더 큰 문제입니다. 만약 실제 최소값을 찾는 것이 중요하다면, 시뮬레이션 된 어닐링 과 같은 방법을 사용하십시오 . 이 경우 전 세계 최소값을 찾을 수 있지만 그렇게하는 데 시간이 오래 걸릴 수 있습니다.
신경망의 경우 국소 최소값이 그다지 큰 문제는 아닙니다. 로컬 최소값 중 일부는 숨겨진 계층 단위를 변경하거나 네트워크의 입력 및 출력 가중치를 무시하여 기능적으로 동일한 모델을 얻을 수 있기 때문입니다. 또한 로컬 최소값이 약간 최적이 아닌 경우 성능 차이는 최소화되므로 실제로 중요하지 않습니다. 마지막으로, 이것은 중요한 점입니다. 신경망을 맞추는 데있어 주요한 문제는 과적 합이므로 비용 함수의 전 세계 최소값을 적극적으로 검색하면 과적 합과 성능이 좋지 않은 모델이 발생할 수 있습니다.
체중 감량과 같은 정규화 용어를 추가하면 비용 함수를 매끄럽게하는 데 도움이 될 수 있습니다. 이로 인해 로컬 최소값의 문제가 약간 줄어들 수 있으며 어쨌든 과적 합을 피하기위한 방법으로 권장됩니다.
그러나 신경 네트워크에서 로컬 최소값을 피하는 가장 좋은 방법은 로컬 최소값에 대한 문제가 적은 가우시안 프로세스 모델 (또는 Radial Basis Function 신경 네트워크)을 사용하는 것입니다.
그라디언트 디센트는 최적화 알고리즘 입니다.
A의 조작 많은 최적화 알고리즘이 있습니다 고정 된 수 의 실제 값 (상관 관계가 비 분리 ). 그라디언트 기반 옵티 마이저와 미분없는 옵티마이 저의 두 가지 범주로 크게 나눌 수 있습니다. 일반적으로 그래디언트를 사용하여 감독 설정에서 신경망을 최적화하려는 경우 미분없는 최적화보다 훨씬 빠르기 때문에 신경망을 최적화합니다. 신경망을 최적화하는 데 사용 된 수많은 그라디언트 기반 최적화 알고리즘이 있습니다.
신경망의 최적화를 위해 제안 된 많은 다른 알고리즘이 있습니다. Hessian-free 최적화 또는 v-SGD를 위해 Google을 사용할 수 있습니다 (적응 학습 속도를 가진 많은 유형의 SGD가 있습니다 (예 : 여기 참조 )).
NN 최적화는 해결 된 문제가 아닙니다! 내 경험상 가장 큰 도전은 좋은 지역 최저치를 찾는 것이 아닙니다. 그러나 문제는 매우 평평한 영역에서 벗어나 잘못된 조건의 오류 함수 등을 처리하는 것입니다. 이것이 Hessian의 근사값을 사용하는 LMA 및 기타 알고리즘이 실제로 잘 작동하고 사람들이 확률 적 버전을 개발하려고하는 이유입니다. 복잡도가 낮은 2 차 정보를 사용합니다. 그러나 미니 배치 SGD에 대해 매우 잘 조정 된 매개 변수 세트가 복잡한 최적화 알고리즘보다 낫습니다.
일반적으로 전역 최적을 찾고 싶지 않습니다. 일반적으로 훈련 데이터를 과적 합해야합니다.
경사 하강에 대한 흥미로운 대안은 진화 알고리즘 (EA) 및 입자 무리 최적화 (PSO)와 같은 인구 기반 훈련 알고리즘입니다. 모집단 기반 접근 방식의 기본 아이디어는 후보 솔루션 집단 (NN 가중치 벡터)이 생성되고 후보 솔루션이 검색 공간을 반복적으로 탐색하고 정보를 교환하며 결국에는 최소 점에 수렴한다는 것입니다. 많은 시작점 (후보 솔루션)이 사용되므로 전체 최소 점에 수렴 할 가능성이 크게 증가합니다. PSO와 EA는 복잡한 NN 훈련 문제에서 그라디언트 강하보다 성능이 뛰어나고 (항상 그런 것은 아니지만) 성능이 우수한 것으로 나타났습니다.
이 스레드는 상당히 오래되었고 다른 사람들은 로컬 최소, 과적 합 등과 같은 개념을 설명하는 데 큰 역할을했습니다. 그러나 OP가 대체 솔루션을 찾고 있었기 때문에 하나를 제공하려고 노력하고 더 흥미로운 아이디어를 얻을 수 있기를 바랍니다.
아이디어는 모든 가중치 w를 w + t로 바꾸는 것입니다. 여기서 t는 가우스 분포에 따른 난수입니다. 네트워크의 최종 출력은 모든 가능한 t 값에 대한 평균 출력입니다. 이것은 분석적으로 수행 될 수 있습니다. 그런 다음 경사 하강 또는 LMA 또는 기타 최적화 방법으로 문제를 최적화 할 수 있습니다. 최적화가 완료되면 두 가지 옵션이 있습니다. 한 가지 옵션은 가우시안 분포에서 시그마를 줄이고 시그마가 0에 도달 할 때까지 반복해서 최적화를 수행하면 더 나은 지역 최소값을 갖지만 잠재적으로 과적 합을 유발할 수 있습니다. 또 다른 옵션은 가중치에 임의의 숫자가있는 것을 계속 사용하는 것입니다. 일반적으로 더 나은 일반화 속성이 있습니다.
첫 번째 접근 방식은 최적화 트릭입니다 (파라미터를 통해 컨벌루션을 사용하여 대상 기능을 변경하므로 컨벌루션 터널링이라고 함). 비용 함수 지형의 표면을 매끄럽게하고 일부 로컬 최소값을 제거합니다. 글로벌 최소값 (또는 더 나은 로컬 최소값)을보다 쉽게 찾을 수 있습니다.
두 번째 방법은 소음 주입 (무게)과 관련이 있습니다. 이는 분석적으로 수행됩니다. 즉, 최종 결과는 여러 네트워크가 아닌 하나의 단일 네트워크입니다.
다음은 2- 나선 문제에 대한 출력 예입니다. 네트워크 아키텍처는 세 가지 모두 동일합니다. 30 개의 노드로 구성된 숨겨진 레이어는 하나 뿐이며 출력 레이어는 선형입니다. 사용 된 최적화 알고리즘은 LMA입니다. 왼쪽 이미지는 바닐라 설정 용입니다. 중간은 첫 번째 접근법을 사용하고 있습니다 (즉, 시그마를 0으로 반복적으로 감소시킵니다). 세 번째는 sigma = 2를 사용하는 것입니다.
바닐라 솔루션이 최악이고 컨볼 루션 터널링이 더 잘 작동하며 노이즈 인젝션 (컨볼 루션 터널링 사용)이 가장 좋습니다 (일반화 속성 측면에서).
컨볼 루션 터널링과 노이즈 주입의 분석 방법은 저의 독창적 인 아이디어입니다. 아마도 그들은 누군가가 관심을 가질만한 대안 일 것입니다. 자세한 내용은 무한한 수의 신경망을 하나로 결합 하는 내 논문에서 찾을 수 있습니다 . 경고 : 나는 전문 학술 작가가 아니며 논문은 동료 검토되지 않습니다. 내가 언급 한 접근 방식에 대해 궁금한 점이 있으면 의견을 남겨주십시오.
Extreme Learning Machines 본질적으로 입력을 숨겨진 노드에 연결하는 가중치가 무작위로 할당되고 업데이트되지 않는 신경망입니다. 숨겨진 노드와 출력 사이의 가중치는 선형 방정식 (행렬 역행)을 해결하여 단일 단계로 학습됩니다.