차세대 후보 배치를 선택하는 알려진 패턴이 있습니까?

Nov 18 2020

저는 고전적인 "레이싱 카"샌드 박스와 수제 간단한 신경망을 가진 초보자입니다.

내 패턴 :

  1. "상단 자동차"(변형 없음)를 다음 세대로 복사

  2. (시뮬레이션이 30 년대 승리 조건에 도달했기 때문에) 아직 실행중인 자동차가있는 경우 다음 세대를 위해 변형 된 버전을 복사합니다.

  3. 수영장의 나머지 부분을 "상단 차"의 변형으로 채 웁니다.

그러나 이것은 코드를 가지고 놀면서 즉석에서 만든 멍청한 직관적 패턴 일뿐입니다. 아마도 나는 그들을 변경하는 대신에 그대로 실행중인 자동차를 복사해야 할 것입니다. 또는 내가 모르는 선택 방법 일 수도 있습니다.

새로운 무작위 트랙이 새로운 세대마다 생성됩니다. "최고의 자동차"는 트랙에서 좋을 수 있고 다음 트랙에서 즉시 충돌 할 수 있습니다. 나는 트랙의 무작위성 때문에 모든 것을 탑 카에 기반하는 것이 잘못되었다고 느낍니다.

후보 배치를 선택하는 알려진 패턴이 있습니까? (종이, google-fu 키워드, 흥미로운 블로그 등)

무엇을 검색해야할지 모르겠습니다. 네트워크 이름이나 AI와 관련된 어휘도 모릅니다.

답변

1 NeilSlater Nov 18 2020 at 19:10

수행하려는 작업을 다루는 가장 일반적인 설명 프레임 워크는 다음과 같습니다.

  • 순차적 의사 결정 (문서는 스텁이지만이 용어는 다양한 모델링 wys를 발견하고 이러한 종류의 문제를 해결하기위한 좋은 시작점입니다.)

  • 최적의 제어

이것들은 문제에 대한 컨텍스트를 제공하고 몇 가지 지침을 제공 할 수 있습니다. 예를 들어 강화 학습은 구축하려는 진화 시스템에 대한 대안적인 접근 방식입니다.

당신이 구축하고있는 것으로 보이는 특정 AI 시스템은 유전 알고리즘 이며, 더 구체적으로 당신은 반복되는 인구 생성, 선택 및 돌연변이 시스템을 사용하여 최적의 네트워크를 검색하여 작업에 최적 인 신경망을 찾으려고합니다. .

이와 같은 시스템을 설정하는 방법에는 여러 가지가 있으므로 접근 방식이 반드시 잘못된 것은 아닙니다 . 그러나 지금까지 구축 한 것을 개선 할 수있는 두 가지 핵심 요소가 있다고 생각합니다.

  • 선택을 위해 피트니스 기능 을 사용하십시오 . 에피소드가 끝날 때 충돌하기 전에 얼마나 멀리 도달했는지 각 자동차에 점수를 매 깁니다. 무작위 코스의 운율을 줄이려면이 점수를 예를 들어 3 개의 다른 코스의 평균 결과로 만들 수 있습니다 (필수는 아니지만 귀하의 경우 선택이 너무 무작위 적이라는 우려를 해결할 수 있습니다). 최고 점수를받은 자동차의 일부를 선택하거나 다른 선택 접근 방식 (예 : 피트니스 점수 또는 순위에 기반한 가중치 선택)을 살펴보십시오.

  • 선택한 인구 구성원 간의 게놈 교차로 더 잘 알려진 "성"을 추가 합니다. 돌연변이 개체는 단일 조상 라인에 대한 개선을 격리하기 때문에 제한적입니다. 무작위로 두 개의 좋은 돌연변이가 발견되면 둘 모두를 찾는 단일 라인에 의존합니다. 크로스 오버는 라인간에 좋은 돌연변이를 공유하는 것을 허용하지만, 두 개의 좋은 돌연변이가 동일한 개체에서 끝날 가능성이 훨씬 더 높습니다.

위의 문제를 다루고 진화하는 신경망에 유용한 다른 기능이있는 NEAT 라는 프레임 워크가 있습니다 . 고려중인 것과 같은 제어 시나리오에서 종종 잘 수행됩니다. 주로 제어 문제를 해결하는 데 중점을 두는 경우 조사해 볼 수 있습니다. 그러나 그것은 당신이있는 곳에서 상대적으로 발전하기 때문에 처음부터 구축하여 배우는 데 현재 초점을 맞추고 있다면 처음에는 피트니스 기능을 구현하고 스스로 교차하는 것에서 더 많은 것을 얻을 수 있습니다.