Нейронная сеть "Разведение"
Я только что посмотрел видео-презентацию Google о технологиях Polyworld (найдена здесь), и они рассказывают о скрещивании двух нейронных сетей для формирования потомства. Мой вопрос: как можно объединить две нейронные сети? Они кажутся настолько разными, что любая попытка объединить их просто создаст третью, совершенно не связанную сеть. Возможно, мне чего-то не хватает, но я не вижу хорошего способа взять положительные аспекты двух отдельных нейронных сетей и объединить их в одну. Если бы кто-нибудь мог подробно остановиться на этом процессе, я был бы признателен.
3 ответа
Они бы на самом деле не разводили две нейронные сети вместе. Предположительно, они имеют различные генетические алгоритмы, которые производят определенную структуру нейронной сети с учетом определенной последовательности "генов". Они начинали с популяции последовательностей генов, создавали свои характерные нейронные сети, а затем подвергали каждую из этих сетей одному и тому же режиму обучения. Предположительно, некоторые из этих сетей будут лучше реагировать на обучение, чем некоторые другие (т.е. они будут легче "обучаться" для достижения желаемого поведения). Затем они брали генетические последовательности, которые давали лучших "стажеров", скрещивали их друг с другом, создавали их характерные нейронные сети, которые затем подвергались бы тому же режиму обучения. Предположительно, некоторые из этих нейронных сетей во втором поколении будут даже более обучаемыми, чем в первом поколении. Они станут родителями третьего поколения, и так далее, и тому подобное.
Пока что ни один из ответов не верен природе Полмира!...
Они оба описывают типичное применение Генетического алгоритма (GA). В то время как GA включает в себя некоторые элементы, найденные в Polyworld (селекция, отбор), GA также подразумевает некоторую форму "объективных" критериев, направленных на направление эволюции к [относительно] конкретным целям.
Polyworld, с другой стороны, является основой для Искусственной Жизни (ALife). С ALife выживание отдельных существ и их способность передавать свои гены другим поколениям не столько зависит от их способности удовлетворять определенной "фитнес-функции", но вместо этого оно связано с различными более широкими, нецелевыми целями. критерии, такие как способность индивида прокормить себя способами, соразмерными его размеру и метаболизму, его способность избегать хищников, его способность находить партнеров по спариванию, а также различные дозы удачи и случайности.
Модель Полмира, связанная с существами и их миром, относительно фиксирована (например, все они имеют доступ (хотя могут и не использовать) к различным базовым датчикам (для цвета, для формы...) и различным приводам ("устройствам"). чтобы спариваться, поворачиваться, двигаться...) и эти основные сенсорные и моторные функции не развиваются (как это может быть в природе, например, когда существа находят способы стать чувствительными к теплу или звукам и / или находят способы перемещение, отличающееся от оригинальных примитивов движения и т. д.)
С другой стороны, мозг существ имеет структуру и связи, которые являются продуктом как генетической структуры существа ("вещи" от его предков), так и его собственного опыта. Например, основной алгоритм, используемый для определения силы связей между нейронами, использует логику Хевбия (т. Е. Пожарную связь, проводную связь) в течение жизни существа (я полагаю, в самом начале, поскольку алгоритм часто имеет "охлаждение"). "фактор, который сводит к минимуму его способность изменить вещи в значительной степени, как проходит время). Неясно, включает ли модель некоторую форму эволюции ламаркианцев, посредством чего некоторые из поведений высокого уровня [прямо] передаются через гены, а не [возможно] переучиваются с каждым поколением (на косвенной основе некоторых генетически переданных состав).
Существенное различие между ALife и GA (а есть и другие!) Заключается в том, что в ALife основное внимание уделяется наблюдению и развитию ненаправленных способов поведения, возникающих независимо от того, какими они могут быть, например, когда некоторые существа эволюционируют косметика, которая побуждает их подождать близлежащие груды зеленой еды и ждать, пока темно-зеленые существа убьют их, или некоторые существа могут начать сотрудничать друг с другом, например, ища присутствие друг друга для других целей, чем спаривание и т. д. С GA, основное внимание уделяется определенному поведению разрабатываемой программы. Например, цель может состоять в том, чтобы программа распознала края в видеоизображении, и, следовательно, эволюция предпочтительна в этом конкретном направлении. Отдельные программы, которые лучше справляются с этой задачей (например, с помощью "фитнес-функции"), предпочтительнее в отношении эволюции.
Другое менее очевидное, но важное различие касается способа, которым существа (или программы в случае GA) воспроизводят себя. С ALife отдельные существа находят своих собственных партнеров по спариванию, сначала наугад, хотя через некоторое время они могут научиться размножаться только с существами, обладающими определенным атрибутом или поведением. С GA, с другой стороны, "пол" оставлен самой структуре GA, которая выбирает, например, предпочтительно скрещивать особей (и их клонов), которые хорошо оценивают функцию пригодности (и всегда оставляя место для некоторых случайность, чтобы поиск решения не застрял на некоторых локальных максимумах, но дело в том, что структура GA в основном решает, кто с кем имеет секс)...
Разъяснив это, мы можем вернуться к первоначальному вопросу ОП...
... как можно объединить две нейронные сети? Они кажутся настолько разными, что любая попытка объединить их просто создаст третью, совершенно не связанную сеть. ... Я не вижу хорошего способа взять положительные аспекты двух отдельных нейронных сетей и объединить их в одну...
"Генетическая структура" конкретного существа влияет на такие параметры, как размер существа, его цвет и тому подобное. Он также включает параметры, связанные с мозгом, в частности его структуру: количество нейронов, наличие связи с различными датчиками (например, очень ли хорошо видит существо синий цвет?), Наличие связей с различными исполнительными механизмами (например, использует ли существо свой свет?). Специфические связи между нейронами и их относительная сила также могут передаваться в генах, если только они служат начальными значениями, которые быстро изменяются на этапе обучения мозга.
Взяв два существа, мы [природа!] Можем выбрать более или менее случайным образом, какой параметр поступает от первого существа, а какой - от другого существа (а также несколько новых "мутаций", которые происходят ни от одного из родителей), Например, если у "отца" было много связей с датчиком красного цвета, но мать не делала так, чтобы потомство выглядело как отец в этой области, но также получало структуру его 4-х слоев нейрона, а не 6-слойную структуру отца.,
Интерес этого состоит в том, чтобы открыть новые возможности от людей; в приведенном выше примере существо теперь может лучше обнаруживать хищников красного цвета, а также быстрее обрабатывать информацию в своем немного более простом мозге (по сравнению с отцом). Не все потомки лучше оснащены, чем их родители, такие более слабые особи могут исчезнуть в короткие сроки (или, возможно, и, к счастью, выжить достаточно долго, чтобы обеспечить, скажем, их причудливый способ передвижения и уклонения от хищников, даже если их родители сделали их слепыми или слишком большой или что-то еще... Ключевой момент: не беспокоиться о немедленной полезности определенной черты, а только видеть, как она играет в долгосрочной перспективе.
Нейронные сети в данном случае не являются (вероятно) произвольными деревьями. Вероятно, это сети с постоянной структурой, то есть одинаковыми узлами и соединениями, поэтому их "разведение" потребует "усреднения" весов узлов. Вы можете усреднить веса для каждой пары узлов в двух соответствующих сетях, чтобы получить сеть "потомков". Или вы можете использовать более сложную функцию, зависящую от постоянно расширяющихся наборов соседних узлов - возможности огромны. Мой ответ неполон, если предположение о фиксированной структуре является ложным или необоснованным.