Вопрос

Я только что посмотрел видеоролик о технических новостях Google, в котором рассказывается о "Polyworld" ( здесь ), и они говорят о том, как объединить две нейронные сети, чтобы сформировать потомство. Мой вопрос: как можно объединить две нейронные сети? Они кажутся настолько разными, что любая попытка объединить их просто создаст третью, совершенно не связанную сеть. Возможно, я что-то упускаю, но я не вижу хорошего способа взять положительные аспекты двух отдельных нейронных сетей и объединить их в одну. Если бы кто-нибудь мог подробно остановиться на этом процессе, я был бы признателен.

Это было полезно?

Решение

Они бы на самом деле не разводили две нейронные сети вместе. Предположительно, они имеют различные генетические алгоритмы, которые создают конкретную структуру нейронной сети с определенной последовательностью «генов». Они начинали с популяции последовательностей генов, создавали свои характерные нейронные сети, а затем подвергали каждую из этих сетей одному и тому же режиму обучения. Предположительно, некоторые из этих сетей будут реагировать на обучение лучше, чем некоторые другие (то есть они будут легче "обучаться" для достижения желаемого поведения). Затем они брали генетические последовательности, которые давали лучших «стажеров», скрещивали их друг с другом, создавали свои характерные нейронные сети, которые затем подвергались бы той же схеме обучения. Предположительно, некоторые из этих нейронных сетей во втором поколении были бы даже более обучаемыми, чем в первом поколении. Они станут родителями третьего поколения, и так далее, и тому подобное.

Другие советы

До сих пор ни один из ответов не соответствовал природе Полмира! ...

Они оба описывают типичное приложение Генетический алгоритм (GA). В то время как GA включает в себя некоторые элементы, найденные в Polyworld (селекция, отбор), GA также подразумевает некоторую форму «цели». критерии, направленные на развитие в направлении [относительно] конкретных целей.

Polyworld, с другой стороны, является основой для Искусственной жизни (ALife). С ALife выживание отдельных существ и их способность передавать свои гены другим поколениям не столько зависит от их способности удовлетворять определенной «фитнес-функции» , но вместо этого оно связано с различные более широкие, нецелевые критерии , такие как способность индивидуума прокормить себя способами, соразмерными его размеру и метаболизму, его способность избегать хищников, его способность находить партнеров по спариванию а также различные дозы удачи и случайности.

Модель Polyworld , связанная с существами и их миром, является относительно фиксированной (например, все они имеют доступ к различным базовым датчикам (хотя могут отказаться от их использования) (для цвет, для формы ...) и различные исполнительные механизмы ("устройства" для еды, для спаривания, для поворота, для перемещения ...), и эти основные сенсорные и моторные функции не развиваются (как, например, в природе, например). когда существа находят способы стать чувствительными к жаре или звукам и / или находят способы перемещения, отличные от оригинальных примитивов движения и т. д.)

С другой стороны, мозг существ имеет структуру и связи, которые являются одновременно продуктом генетического строения существа («вещи» от его предков) и его собственный опыт . Например, основной алгоритм, используемый для определения силы связей между нейронами, использует логику Хевбия (т. Е. Пожарную связь, проводную связь) в течение жизни существа (я полагаю, в самом начале, поскольку алгоритм часто имеет " охлаждающий фактор, который с течением времени сводит к минимуму его способность сильно что-то менять. Неясно, включает ли модель некоторую форму эволюции ламаркианцев, посредством чего некоторые из поведений высокого уровня [прямо] передаются через гены, а не [возможно] переучиваются с каждым поколением (на косвенной основе некоторых генетически переданных структура).

Существенная разница между ALife и GA (а есть и другие!) заключается в том, что в ALife основное внимание уделяется наблюдению и развитию не направленными способами эмерджентное поведение - какими бы они ни были - , например, когда некоторые существа развивают косметику, которая побуждает их ждать близлежащие кучи зеленой еды и ждать, пока темно-зеленые существа убьют их, или некоторые существа могут начните сотрудничать друг с другом, например, ищите присутствие друг друга для других целей, кроме спаривания и т. д. В GA основное внимание уделяется определенному поведению развивающейся программы . Например, цель может состоять в том, чтобы программа распознала края в видеоизображении, и, следовательно, эволюция предпочтительнее в этом конкретном направлении. Отдельные программы, которые лучше справляются с этой задачей (например, с помощью некоторой функции фитнеса), предпочтительнее в отношении эволюции.

Еще одно менее очевидное, но важное различие в том, как существа (или программы в случае ГА) воспроизводят себя. С ALife отдельные существа находят своих собственных партнеров по спариванию , сначала наугад, хотя через некоторое время они могут научиться размножаться только с существами, обладающими определенным атрибутом или поведением. С GA, с другой стороны, "секс" оставлен самой структуре GA , которая выбирает, например, предпочтительно скрещивать индивидуума

Нейронные сети в данном случае не являются (вероятно) произвольными деревьями. Вероятно, это сети с постоянной структурой, то есть одинаковыми узлами и соединениями, поэтому их «разведение» потребует «усреднения» весов узлов. Вы можете усреднить веса для каждой пары узлов в двух соответствующих сетях, чтобы получить сеть «потомков». Или вы можете использовать более сложную функцию, зависящую от постоянно расширяющихся наборов соседних узлов & # 8211; возможности огромны. Мой ответ неполон, если предположение о фиксированной структуре является ложным или необоснованным.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top