신경망 최적화에 유전자 알고리즘이 사용되지 않는 이유는 무엇입니까?


13

내가 이해 한 바에 따르면, 유전자 알고리즘은 다목적 최적화를위한 강력한 도구입니다.

또한 신경망 (특히 신경망)을 훈련하는 것은 어렵고 많은 문제 (볼록하지 않은 비용 함수-로컬 최소, 사라짐 및 폭발 그라디언트 등)가 있습니다.

또한 GA로 개념적으로 NN을 교육하는 것이 가능합니다. 나는 그들이 왜 실제로 사용되지 않는지 궁금했다. 성능 문제입니까?

답변:


5

GA (Genetic Algorithms)를 사용한 NN (Neural Networks) 교육은 실현 가능할뿐만 아니라 성능이 자주 사용되기에 충분한 틈새 영역이 있습니다. 이에 대한 좋은 예는 게임과 같은 간단한 환경에서 컨트롤러를 생성하는 성공적인 접근 방식 인 NEAT (Augmenting Topology) 또는 NEAT의 Neuroevolution입니다 .

보다 일반적인 경우에는이 접근 방식이 튜닝 할 매개 변수가 많은 대규모 심층 네트워크로 확장 할 수 없습니다.

최적의 매개 변수에 대한 유전자 알고리즘 및 기타 글로벌 검색은 그래디언트 기반 알고리즘이 아닌 방식으로 강력합니다. 예를 들어, 단계 기능 활성화 또는 다른 구별 할 수없는 활성화 기능으로 NN을 훈련시킬 수 있습니다. 그들은 다른 곳에 약점이 있습니다. NN에 사용되는 GA의 경우에 관련된 한 가지 사항은 가중치 매개 변수가 일부 조합에서 상호 교환 가능하지만 다른 조합에서는 크게 상호 의존적이라는 것입니다. GA에서 크로스 오버 할 때와 같이 서로 다른 매개 변수를 가진 두 개의 동일한 신경망을 병합하면 일반적으로 성능이 좋지 않은 세 번째 네트워크가됩니다. NEAT의 성공은 부분적으로 NN의 연결을 "증가"시켜 유사한 신경망간에 연결함으로써 해당 문제를 해결하는 방법을 찾는 데 있습니다.

그라디언트 기반 접근 방식이 훨씬 더 효율적입니다. 일반적으로 NN 도메인뿐만 아니라 매개 변수와 관련하여 함수의 기울기를 계산할 수있는 경우 대부분의 다른 최적화 기술보다 최적의 매개 변수를 더 빨리 찾을 수 있습니다. 정확한 기울기는 단일 평가에서 최소한의 개선을 보장하며 대부분의 다른 최적화 프로그램은 이러한 종류의 보증을 할 수없는 생성 및 재시도 패러다임에 속합니다. 국부적으로 최적을 찾는 경향의 약점은 NN의 손실 함수에 큰 장애가되지 않았으며, 운동량, RPROP, 아담 등과 같은 기본 경사 하강으로의 확장을 사용하여 어느 정도의 성공으로 해결되었습니다.

실제로 대규모 멀티 레이어 네트워크에서 그래디언트 방법은 네트워크 매개 변수를 찾는 NEAT와 같은 GA 검색보다 훨씬 빠릅니다. GA가 네트워크 가중치를 발견하지 못한 ImageNet 또는 MNIST를 해결하는 GA 교육 CNN을 찾을 수 없습니다. 그러나 GA 또는 적어도 일부 변형은 100 % 배제되지 않습니다. 예를 들어이 2017 블로그 는 GA를 사용하여 머신 러닝에서 중요한 작업이며 그라디언트 기반 방법으로는 다루기 어려운 NN 하이퍼 파라미터 를 탐색하는 이미지 분류기의 대규모 진화를 포함한 최신 논문검토 합니다.


1

실제로 Google Brain은 이미 이미지 분류기에서 비슷한 작업을 수행했습니다.

여전히 그들의 연구는 역 전파 (backpropagation)를 사용하여 네트워크를 훈련하지만 유전자 알고리즘을 사용하여 좋은 아키텍처를 찾습니다. 한 가지 더 언급 할 점 : 최상의 모델을 얻으려면 엄청난 양의 계산 능력이 필요했습니다.

그들은 2017 년에 첫 번째 논문 을 발표 했으며 2018 년에는 개선 된 버전을 얻었습니다 . 블로그 게시물 에서 그것에 대해 읽을 수 있습니다

네트워크 아키텍처 검색에 대한 또 다른 연구 가 있지만 유전자 알고리즘 대신 베이지안 최적화를 사용합니다.

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