최근에 Google Research 블로그에서 신경망에 대한 흥미로운 블로그 항목을 읽었습니다. 기본적으로 그들은 이미지 인식과 같은 다양한 문제를 해결하기 위해이 신경망을 사용합니다. 그들은 축삭의 무게를 "진화"시키기 위해 유전자 알고리즘을 사용합니다.
기본적으로 내 생각은 다음과 같습니다. 숫자를 인식하는 프로그램을 작성해야한다면 시작하는 방법을 모를 것입니다. 신경망이 진화하기 위해 올바른 맥락을 만들어 내 신경망은 "올바른 알고리즘을 찾을 것"입니다. 아래에서 나는 이미지 인식 과정에서 각 레이어가 어떻게 다른 역할을 하는지를 설명하는 기사에서 정말 흥미로운 부분을 인용했다.
신경망의 과제 중 하나는 각 계층에서 정확히 무슨 일이 일어나고 있는지 이해하는 것입니다. 훈련 후, 최종 레이어가 본질적으로 이미지가 무엇을 나타내는 지 결정할 때까지 각 레이어는 이미지의 상위 및 상위 레벨 기능을 점진적으로 추출합니다. 예를 들어 첫 번째 레이어는 가장자리 또는 모서리를 찾습니다. 중간 레이어는 기본 기능을 해석하여 문이나 잎과 같은 전체 모양이나 구성 요소를 찾습니다. 마지막 몇 층은 그것들을 완전한 해석으로 조립합니다.이 뉴런은 전체 건물이나 나무와 같은 매우 복잡한 것에 반응하여 활성화됩니다.
그래서 기본적으로 내 질문은 다음과 같습니다. 모든 NP 문제를 해결하기 위해 유전자 알고리즘 + 신경망을 사용할 수 없습니까? 우리는 올바른 진화 적 맥락을 만들고 "자연"이 해결책을 찾도록 남겨둔다.
편집 : 우리는 Brute-Force를 사용하거나 많은 경우 비효율적 인 솔루션을 찾을 수 있다는 것을 알고 있습니다. 그렇기 때문에 진화하는 인공 신경 네트워크 를 강조하려고합니다 . 내가 논평에서 말했듯이 : 충분한 시간과 적절한 돌연변이 속도가 주어지면 최적의 해결책을 찾을 수 있습니다 (또는 적어도 그것이 내가 생각하는 것입니다).