문제

방금 "Polyworld"를 다룬 Google 기술 토크 동영상을 봤습니다. 여기) 그들은 두 개의 신경망을 함께 번식시켜 자손을 형성하는 것에 대해 이야기합니다.내 질문은 두 개의 신경망을 결합하는 방법은 무엇입니까?그것들은 너무 달라서 결합하려는 시도는 전혀 관련이 없는 제3의 네트워크를 형성할 뿐입니다.아마도 제가 뭔가를 놓치고 있는 것 같습니다. 하지만 두 개의 개별 신경망의 긍정적인 측면을 취하여 이를 하나의 신경망으로 결합하는 좋은 방법은 보이지 않습니다.누구든지 이 과정을 자세히 설명해 주시면 감사하겠습니다.

도움이 되었습니까?

해결책

그들은 실제로 두 개의 신경망을 함께 번식시키지 않을 것입니다. 아마도 그들은 "유전자"의 특정 서열을 고려하여 특정 신경망 구조를 생성하는 다양한 유전자 알고리즘을 가지고있을 것이다. 그들은 유전자 서열 집단으로 시작하여 특징적인 신경망을 생성 한 다음 각 네트워크를 동일한 훈련 요법에 노출시킵니다. 아마도 이러한 네트워크 중 일부는 다른 사람들보다 훈련에 더 잘 대응할 것입니다 (즉, 원하는 행동을 달성하기 위해 더 쉽게 "훈련 가능"할 것입니다). 그런 다음 최고의 "연수생"을 생산하는 유전자 서열을 취하고 서로 교차하여 특징적인 신경망을 생산 한 다음 동일한 훈련 요법에 노출 될 것입니다. 아마도 2 세대의 이러한 신경망 중 일부는 1 세대의 네트워크보다 훨씬 더 훈련 할 수있을 것입니다. 이것들은 3 세대의 부모가 될 것입니다.

다른 팁

지금까지의 두 응답 모두 Polyworld의 성격에 맞지 않습니다!...

둘 다 전형적인 유전 알고리즘 (GA) 신청.GA가 Polyworld에서 발견되는 일부 요소(번식, 선택)를 통합하는 반면, GA는 또한 [상대적으로] 특정 목표를 향한 진화를 안내하는 것을 목표로 하는 일종의 "객관적인" 기준을 의미합니다.

반면에 Polyworld는 다음을 위한 프레임워크입니다. 인공생명 (생활).ALife를 사용하면 개별 생물의 생존과 유전자를 다른 세대에 전달하는 능력이 향상됩니다. 특정 "피트니스 기능"을 충족시키는 능력에 크게 좌우되지 않습니다., 그러나 대신에 연결되어 있습니다 더 광범위하고 목표 지향적이지 않은 다양한 기준, 예를 들어 개인이 자신의 크기와 신진대사에 비례하는 방식으로 스스로를 먹이는 능력, 포식자를 피하는 능력, 짝짓기 파트너를 찾는 능력, 다양한 정도의 행운과 무작위성이 있습니다.

폴리월드의 모델 생물과 그들의 세계와 관련된 상대적으로 고정된 (예를 들어 그들은 모두 다양한 기본 센서(색상, 모양 등)와 다양한 작동 장치(먹고, 결합하고, 회전하고, 움직이는 "장치")에 액세스할 수 있습니다(사용하지 않도록 선택할 수도 있음). ) 그리고 이러한 기본적인 감각 및 운동 기능은 진화하지 않습니다(예를 들어 생물이 열이나 소리에 민감해지는 방법을 찾거나 원래의 모션 프리미티브와 다른 이동 방법을 찾는 경우 등 자연에서 발생할 수 있는 것처럼). .)

반면에, 생물의 뇌는 생물의 유전적 구성의 산물인 구조와 연결을 가지고 있습니다. (조상의 "물건") 및 자신의 경험으로.예를 들어 뉴런 사이의 연결 강도를 결정하는 데 사용되는 주요 알고리즘은 Hebbian 논리(예:함께 불을 붙이고 함께 연결) 생물의 수명 동안(초기에는 알고리즘에 시간이 지남에 따라 사물을 크게 변경하는 능력을 최소화하는 "냉각" 요소가 있는 경우가 많을 것으로 추측됩니다) .모델에 어떤 형태의 라마르식 진화가 포함되어 있는지는 불분명합니다. 이에 따라 일부 높은 수준의 행동이 각 세대에서 [아마도] 다시 학습되는 것이 아니라(유전적으로 전달된 일부 행동의 간접적인 기반에 기초하여) 유전자를 통해 [직접] 전달됩니다. 구조).

ALife와 GA의 두드러진 차이점 (그리고 다른 것들도 있습니다!) ALife의 초점은 관찰하고 육성하는 것 방향성이 없는 방식으로, 긴급 행동 - 그것이 무엇이든 - 예를 들어, 일부 생물이 근처의 녹색 음식 더미를 기다리다가 짙은 녹색 생물이 자신을 죽일 때까지 기다리도록 유도하는 구성을 진화시키거나, 일부 생물이 서로 협력하기 시작할 수 있습니다. 짝짓기 등의 목적 이외의 목적GA의 초점은 다음과 같습니다. 진화 중인 프로그램의 특정 동작에 대해.예를 들어, 프로그램이 비디오 이미지의 가장자리를 인식하도록 하는 것이 목표일 수 있으므로 이 특정 방향으로의 진화가 선호됩니다.이 작업을 더 잘 수행하는 개별 프로그램(일부 "적합성 기능"을 사용한 측정)이 진화와 관련하여 선호됩니다.

덜 분명하지만 중요한 또 다른 차이점은 생물(GA의 경우 프로그램)이 스스로 번식하는 방식과 관련이 있습니다.ALife를 사용하면 개별 생물이 자신의 짝짓기 파트너를 찾으세요, 처음에는 무작위로 시작하지만 시간이 지나면 특정 특성이나 행동을 보이는 생물로만 번식하는 방법을 배울 수도 있습니다.반면에 GA의 경우 "섹스"는 GA 프레임워크에 맡겨져 있습니다 예를 들어, 적합도 기능에서 좋은 점수를 받은 개인(및 그 복제물)을 교배하는 것이 바람직합니다(그리고 솔루션 검색이 일부 로컬 최대값에 머물지 않도록 항상 임의성을 위한 여지를 남겨 두지만 요점은 다음과 같습니다). GA 프레임워크는 주로 누가 누구와 섹스를 하는지 결정합니다.)...

이를 명확히 한 후 다음으로 돌아갈 수 있습니다. OP의 원래 질문...
...두 개의 신경망을 결합하는 방법은 무엇입니까?그것들은 너무 달라서 결합하려는 시도는 전혀 관련이 없는 제3의 네트워크를 형성할 뿐입니다....두 개의 서로 다른 신경망의 긍정적인 측면을 취하여 이를 하나의 신경망으로 결합하는 좋은 방법은 없습니다...
그만큼 특정 생물의 "유전적 구성"이 매개변수에 영향을 미칩니다 생물의 크기, 색깔 등과 같은 것입니다.또한 뇌, 특히 뇌의 구조와 관련된 매개변수도 포함됩니다.뉴런의 수, 다양한 센서로부터의 연결 존재(예:생물이 파란색을 잘 보나요?) 다양한 작동기에 대한 연결의 존재(예:생물이 빛을 사용합니까?).뉴런 사이의 특정 연결과 이들의 상대적 강도는 초기 값으로만 ​​유전자에 전달되어 뇌 학습 단계에서 빠르게 변경될 수도 있습니다.
두 생물을 취함으로써, 우리 [자연!] 은 어느 매개변수가 첫 번째 생물체에서 나오고 어느 매개변수가 다른 생물체에서 나오는지 다소 무작위 방식으로 선택할 수 있습니다. (부모로부터 유래되지 않은 몇 가지 새로운 "돌연변이"도 포함).예를 들어, "아버지"가 빨간색 센서와 많은 연결을 갖고 있지만 어머니는 그렇지 않은 경우 자손은 이 영역에서 아버지처럼 보일 수 있지만 아버지의 6개 뉴런 층 구조가 아닌 어머니의 4개 뉴런 층 구조를 얻게 됩니다. .
그렇게 하는 데 관심이 있는 것은 개인의 새로운 능력을 발견하기 위해;위의 예에서 생물체는 이제 붉은색 포식자를 더 잘 감지할 수 있으며 (아버지의 뇌와 비교했을 때) 약간 단순한 뇌에서 정보를 더 빠르게 처리할 수도 있습니다.모든 자손이 부모보다 더 나은 장비를 갖춘 것은 아닙니다. 그러한 약한 개인은 짧은 시간에 사라질 수 있습니다(또는 운 좋게도 부모가 눈을 멀게 하거나 포식자를 피하도록 만들었음에도 불구하고 이동하고 포식자를 피하는 멋진 방법을 제공할 수 있을 만큼 오래 살아남을 수 있습니다). 너무 크거나 뭐...다시 중요한 점은 다음과 같습니다.~이다 특정 특성의 즉각적인 유용성에 대해 너무 걱정하지 말고 장기적으로 그 특성이 작동하는 것을 확인하십시오..

신경망은이 경우 임의의 나무가 아닙니다. 그것들은 아마도 일정한 구조, 즉 동일한 노드와 연결을 가진 네트워크 일 것입니다. 따라서 '번식'에는 노드의 가중치를 '평균화'하는 것이 포함됩니다. 두 개의 해당 그물의 각 노드 쌍의 가중치를 평균하여 '자손'네트를 생성 할 수 있습니다. 또는 이웃 노드 세트에 따라 더 복잡한 기능을 사용할 수 있습니다. 가능성은 광대합니다. 고정 구조에 대한 가정이 잘못되거나 부적절한 경우 내 대답이 불완전합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top