신경망 훈련을위한 역 전파 vs 유전자 알고리즘


34

나는 각 방법의 장단점을 논의하는 몇 가지 논문을 읽었으며 일부는 GA가 최적의 솔루션을 찾는 데 아무런 개선이 없지만 다른 사람들은 그것이 더 효과적이라는 것을 보여줍니다. GA는 일반적으로 문학에서 선호되는 것처럼 보이지만 (대부분 사람들은 필요한 결과를 얻기 위해 어떤 방식 으로든 수정하지만) 대부분의 소프트웨어 솔루션이 역 전파 만 사용하는 이유는 무엇입니까?

하나 또는 다른 것을 사용할 때 일반적인 경험 규칙이 있습니까? 어쩌면 그것은 NN의 유형에 달려 있거나 일반적으로 다른 솔루션보다 우수한 최신 솔루션이 있습니까?

가능하다면 일반적인 답변을 찾고 있습니다. 즉, "NN이 크면 GA가 더 좋습니다"또는 "GA는 항상 더 좋지만 계산 성능 문제가 있습니다"등 ...

답변:


23

과학 문헌을주의 깊게 살펴보면 대조적 인 결과를 얻을 수 있습니다. 분명히 GA (그리고 일반적으로 Evolutionary Algorithms) 최적의 NN 디자인을 찾는 데 도움이 될 수 있지만 일반적으로 너무 많은 단점 (알고리즘 매개 변수의 튜닝, 계산 복잡성 등)이 있으며 실제 사용에는 적합하지 않습니다. 세계 응용 프로그램. 물론 GA / EA가 항상 문제가되는 일련의 문제를 찾을 수 있습니다.역 전파보다 낫습니다. 최적의 NN 설계를 찾는 것이 복잡한 다중 모드 최적화 문제라는 것을 감안할 때 GA / EA는 (전통적) 알고리즘으로 얻은 결과를 개선하는 데 도움이 될 수 있습니다 (예 : GA / EA를 사용하여 초기 가중치 구성 만 찾거나 기존 알고리즘을 돕는 것). 지역 최소로부터 탈출하십시오 (관심이 있으시면이 주제에 관한 논문을 썼습니다).

저는이 분야에서 많은 일을했으며 GA / EA에 적용되는 GA / EA에 대한 많은 과학적 연구가 신흥 연구 분야이기 때문에 더 좋았습니다.


2
이것은 또한 최근에 생각해 낸 것입니다. 먼저 '좋은'솔루션을 찾은 다음 GA로 더 개선하십시오. NN에 적용 할 수있을뿐만 아니라 일반적으로 최적화 ...
sashkello

1
왜 그들이 상호 배타적인지 혼란 스럽습니다. 나는 GA가 그 구조를 배워야한다고 생각했다. 역전 파는 단지 가중치를 배울 수 있습니다
pete

8

신경망의 주요 문제 중 하나는 과적 합입니다. 즉, 유한 한 데이터 샘플을 기반으로 일부 기준을 최소화하는 네트워크를 찾기 위해 매우 열심히 노력하는 알고리즘은 해당 특정 샘플에 대해 매우 잘 작동하는 네트워크로 끝납니다. 데이터가 많지만 일반화가 열악합니다. 나는 특히 가중치를 최적화하는 것과 동시에 아키텍처 최적화를 수행하는 경우 GA를 사용하여 신경망을 설계하는 것에 조심합니다. 나는 일반적으로 (초기화를 통해) 수많은 초기 가중치 벡터로부터 네트워크를 훈련 한 다음 모든 결과 네트워크의 앙상블을 형성하는 것이 일반적으로 좋은 접근 방법이라는 것을 알았습니다.

본질적으로 최적화는 기계 학습의 모든 악의 근원이며, 더 많이할수록 데이터가 과도하게 적합 할 가능성이 높아집니다.


Dikran은 GA가 자연스럽게 선택하지만 언급 한대로 정보를 무시하지는 않지만 선택한 솔루션으로 문제가 해결되지 않는 경우에만 보장합니다. 왜 네트워크를 통해 역동 성의 기초를 이루는 문제를 알고 업그레이드 해야하는지 알 수 있습니다. 하나 또는 두 개의 최상의 솔루션으로 수렴하십시오. 당신이 그 rignt를 얻을 바랍니다?

받는 사람 수렴 최고의 데이터의 유한 샘플을 통해 평가 솔루션 것은 정확히 이상 끼는 원인이 무엇. 과적 합을 피하기 위해 최선이 아닌 솔루션 (예 : 신경망 교육의 조기 중지)에 수렴하려고합니다. GA는 신경망에 맞는 다른 형태의 최적화보다 낫지 않으므로 훈련 기준을 과도하게 최적화하지 않아야합니다.
Dikran Marsupial

5

대량의 데이터를 처리하고 피드 포워드 신경망을 사용하여지도 학습 과제를 해결하고자 할 때마다 역 전파 기반 솔루션이 훨씬 더 적합합니다. 그 이유는 복잡한 신경망의 경우 자유 매개 변수의 수가 매우 많기 때문입니다. 현재 진행중인 한 산업 프로젝트에는 약 1000 개의 입력, 각각 384 개의 뉴런에서 2 개의 숨겨진 레이어 및 60 개의 출력으로 피드 포워드 신경망이 포함됩니다. 이로 인해 1000 * 384 + 384 * 384 + 384 * 60 = 554496 중량 매개 변수가 최적화됩니다. 여기서 GA 접근법을 사용하면 매우 느릴 것입니다.


GA는 표준 접근법으로는 해결하기 어려운 문제를 해결하도록 설계되었습니다. 당신이 묘사 한 상황에서 정확하게 더 잘 수행되지 않아야합니까?
sashkello

2
나는 GA가 어떤 구조인지, 예를 들어 숨겨진 레이어의 수와 연결 방법을 파악하는 데 사용되어야한다고 생각했습니다. 역전 파는 단지 무게를 알아낼 수 있습니다
pete

2

두 번째 답변이 잘못되었습니다. 과적 합은 최적화로 인한 것이 아닙니다. 과적 합은 모델이 지나치게 복잡 할 때 발생하며 실제 데이터 규칙을 익히지 않고 모든 데이터 포인트에 적합 할 수 있습니다 (예 : 극단적 인 경우 암기). 단순한 모델 선택, 탈락, dropconnect, 무게 감소 및 더 많은 데이터 사용. 목표는 이러한 제약 조건을 고려하여 네트워크를 최적화하고 가능한 한 정확하게 만드는 것입니다.

질문에 대답하기 위해, backprop은 내 생각 엔 그것이 실제 출력이 있었는지의 장점 필요하기 때문에 이것은이다. (같은 유전자 알고리즘과) 아마도 훨씬 빠르게 확률 적 최적화보다 가정 , 수를 그 기반으로 올바른 방향으로 가중치를 조정 확률 적 최적화는 완전 임의 변경을 시도하고 해당 정보를 무시합니다.

그러나 더 넓은 지역을 탐험함으로써 GA는 지역 최적화를 피함으로써 장기적으로 더 나아질 수 있으며 훈련하는 데 시간이 더 걸릴 것입니다.

백프로 프보다 GA가 얼마나 느린 지 궁금합니다. 하이브리드 알고리즘에 대해 아는 사람이 있다면 (산란 검색이 이상적이라고 생각됩니다.)


1
첫 번째 단락에 동의하지 않습니다. 훈련 문제 에서 정규화 방법을 통해 과적 합이 주로 방지 됩니다. 당신이 메타 최적화를하기 시작하면 --- 교육 문제를 많이 해결된다 (예를 들어, 커널 매개 변수를 조정하는 네트워크 아키텍처를, ...) - overfitting 돌보는 것은 훨씬 더 어려워하고 확실하게 암시 적으로 더 이상 보장 할 수 없습니다.
Marc Claesen

과적 합이 최적화로 인한 것이 아니라면 조기 정지는 과적 합에 효과적인 해결책이되지 않습니다.
Dikran Marsupial

1

GA와 역 전파의 차이점은 GA가 난수를 기반으로하고 역 전파가 확률 적 경사 하강과 같은 정적 알고리즘을 기반으로한다는 것입니다. GA는 난수를 기반으로하고 해당 돌연변이에 추가하면 지역 최소치에 빠지지 않을 가능성이 높습니다. 그러나 GA는 임의의 숫자를 기반으로한다는 것은 동일한 네트워크에서 학습을 2 번 다른 시간 동안 실행할 가능성이 높으며 다른 결론에 도달 할 수 있음을 의미합니다.


우리는 임의의 init도 사용합니다. 백프로 프의 무게에 대해. 초기화하는 동안 동일한 시드를 사용하면 동일한 솔루션으로 연결되지만 그렇지 않은 경우 아마 그렇지 않습니다. 따라서 백 프롭 역시 임의의 입력에 의존합니다. 시드를 고치면 동일한 seq를 사용하므로 유전자 알고리즘에서도 동일한 결과가 나타납니다. 다시 숫자.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.