Pull to refresh

Подход к глобальной оптимизации, основанный на формировании мнений в сложных сетях

Machine learning *Network technologies *
Sandbox
Translation

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

Результаты экспериментов, проведенных с рядом контрольных функций затрат, показывают, что динамическая кольцевая топология, разработанная для нашей конкретной цели, приводит к лучшей производительности по сравнению с другими сетевыми топологиями. Также сравнивается производительность предлагаемого алгоритма оптимизации с классическими и современными оптимизаторами основанные на популяции, а именно с Генетическим алгоритмом, Оптимизацией Роя частиц с Бинарной гибридной топологией, Оптимизацией Роя частиц с выборочным информированием, Дифференциальной эволюцией с бинарным обучением и Дискретной Искусственной Пчелиной Колонией. Сравнения, основанные на экспериментальном анализе, показывают, что предлагаемый оптимизатор, основанный на консенсусе, является наиболее эффективным.

Читать далее
Rating 0
Views 86
Comments 0

Роботы проявили альтруизм в процессе эволюции

Robotics
Эволюционные биологи из университета Лозанны (Швейцария) смогли доказать, что альтруизм у живых существ возник в результате естественного отбора, то есть является врождённым качеством, необходимым для выживания родичей. Они показали это на примере роботов, чьё программное обеспечение модифицировалось с помощью эволюционных алгоритмов.
Читать дальше →
Total votes 64: ↑58 and ↓6 +52
Views 1K
Comments 39

Распределенные эволюционные вычисления

Algorithms *


Одна из моих любимых тем в программировании – эволюционные вычисления и генетические алгоритмы в частности. Пару лет назад я поднимал эту (в целом уже заезженную) тему на Хабре, но сейчас глядя на то видео немного стыдно – слишком уж туманно и сумбурно было объяснение.

Сегодня я постараюсь объяснить генетические алгоритмы проще и нагляднее, а заодно рассказать вкратце о прототипе очень простого JavaScript-фреймворка для распределенных генетических вычислений degas.js. В двух словах – degas.js запускает генетический алгоритм в виде «треда» в браузере клиента используя web workers и обменивается информацией о полученных в ходе эволюции индивидуумах с сервером и другими клиентами с помощью web sockets. Сервер использует node.js.

Degas.js пока в супер-зародышевом состоянии, функционал еще примитивен, а код некрасив, но если кто-то захочет присоединиться к разработке – было бы здорово.
Total votes 31: ↑30 and ↓1 +29
Views 5K
Comments 5

Превращение шума в музыку: эволюционный алгоритм + краудсорсинг

Sound


Профессор эволюционной биологии Арманд Лерой (Armand Leroi) решил проверить, насколько эволюционные алгоритмы подходят для генерации музыки. Его базовый тезис состоит в том, что приятная мелодия — это результат естественного отбора (эволюции) звуков. Результаты эксперимента подтвердили, что случайный шум действительно может превратиться в музыку без помощи композитора. Научную работу и образцы сгенерированных мелодий можно изучить на сайтах DarwinTunes и Evolectronica.
Читать дальше →
Total votes 81: ↑74 and ↓7 +67
Views 9.9K
Comments 51

Differential Evolution: генетический алгоритм оптимизации функции

Algorithms *
На Хабре присутствует множество статей, посвященных эволюционным алгоритмам вообще и генетическим алгоритмам в частности. В таких статьях обычно более или менее подробно описывается общая структура и идеология генетического алгоритма, а затем приводится пример его использования. Каждый такой пример включает в себя какой-то выбранный автором вариант процедуры скрещивания особей, мутации и отбора, причем в большинстве случаев для каждой новой задачи приходится придумывать свой вариант этих процедур. Кстати, даже выбор представления элемента пространства решений вектором генов очень сильно влияет на качество получаемого алгоритма и по сути является искусством.

В то же время очень многие практические задачи легко сводятся к оптимизационной задаче на поиск минимума функции n вещественных переменных и для такого типового варианта хотелось бы иметь готовый надежный генетический алгоритм. Поскольку даже определение операторов скрещивания и мутации для векторов, состоящих из вещественных чисел, оказывается не совсем тривиальным, то «изготовление» нового алгоритма для каждой такой задачи оказывается особенно трудоемким.

Под катом приводится краткое описание одного из самых известных генетических алгоритмов вещественной оптимизации — алгоритма дифференциальной эволюции (Differential Evolution, DE). Для сложных задач оптимизации функции n переменных этот алгоритм обладает настолько хорошими свойствами, что зачастую может рассматриваться как готовый «строительный блок» при решении многих задач идентификации и распознавания образов.

Читать дальше →
Total votes 25: ↑24 and ↓1 +23
Views 36K
Comments 16

Эволюционные стратегии как масштабируемая альтернатива обучению с подкреплением

Algorithms *Image processing *Machine learning *
Translation
Изложение статьи от том, что давно известные эволюционные стратегии оптимизации могут превзойти алгоритмы обучения с подкреплением.
Преимущества эволюционных стратегий:

  • Простота реализации
  • Не требуется обратного распространения
  • Легко масштабируется в распределенной среде вычислений
  • Малое число гиперпараметров.
Читать дальше →
Total votes 17: ↑15 and ↓2 +13
Views 10K
Comments 14

Краткий курс машинного обучения или как создать нейронную сеть для решения скоринг задачи

Python *Programming *Algorithms *Machine learning *Artificial Intelligence
Tutorial
image

Мы часто слышим такие словесные конструкции, как «машинное обучение», «нейронные сети». Эти выражения уже плотно вошли в общественное сознание и чаще всего ассоциируются с распознаванием образов и речи, с генерацией человекоподобного текста. На самом деле алгоритмы машинного обучения могут решать множество различных типов задач, в том числе помогать малому бизнесу, интернет-изданию, да чему угодно. В этой статье я расскажу как создать нейросеть, которая способна решить реальную бизнес-задачу по созданию скоринговой модели. Мы рассмотрим все этапы: от подготовки данных до создания модели и оценки ее качества.

Если тебе интересно машинное обучение, то приглашаю в «Мишин Лернинг» — мой субъективный телеграм-канал об искусстве глубокого обучения, нейронных сетях и новостях из мира искусственного интеллекта.

Вопросы, которые разобраны в статье:

• Как собрать и подготовить данные для построения модели?
• Что такое нейронная сеть и как она устроена?
• Как написать свою нейронную сеть с нуля?
• Как правильно обучить нейронную сеть на имеющихся данных?
• Как интерпретировать модель и ее результаты?
• Как корректно оценить качество модели?
Поехали!
Total votes 51: ↑42 and ↓9 +33
Views 171K
Comments 43

Выращивание искусственного интеллекта на примере простой игры

Artificial Intelligence Logic games
Recovery mode


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

Результатом работы стало то, что ИИ, не зная правил, самостоятельно освоил игру крестики-нолики и нашел слабости ботов, которые играли против него. Но начал я с еще более простой задачи.
Читать дальше →
Total votes 24: ↑23 and ↓1 +22
Views 35K
Comments 30

Медведи, хомяки, человекоподобные. Хомяк или медведь брат человеку с точки зрения биоинформатики?

Popular science Biotechnologies Biology
Tutorial

Чтобы ответить на этот вопрос, в научном исследовании необходимо определиться с целью, задачами и методами, и изучаемыми материалами. Для этого нужно постараться предварительно поставить гипотезу, которая облегчит нам понимание того, чего мы хотим, а следовательно, позволит нам выбирать материалы исследования. В качестве гипотезы можно опираться на ваши знания в области классификации групп животных. Однако, если у Вас нет таких знаний и Вы не хотите страдать в поисках этих знаний в полях, лесах и лабораториях, то Вы можете стать продвинутым пользователем интернета и воспользоваться удобном сайтом lifemap [1], который отображает филогенетическое древо всех животных. Если же вы не продвинутый пользователь, то Вы можете просто воспользоваться википедией. Стоит отметить, что для учёного сайт Lifemap является таким же примитивным, как и википедия, но не бойтесь начать с малого, ведь википедия может послужить толчком к эволюции от простого к сложному. Поэтому пойдёмте эволюционировать на вики вместе. Для этого зайдём в поисковик и посмотрим информацию о нужных нам группах, с которыми в будущем нам предстоит работать, на данном сайте. Первые в списке у нас медвежьи. На странице сайта нам не нужно досконально изучать строение, размножение и образ жизни медведей. Нам нужны три вещи:

1) Раздел научной классификации.

2) Раздел филогенетики.

3) Краткая сводка классификации, которая отображена в верхнем правом углу под картинкой с научной классификацией.

Переходим в раздел научной классификации и смотрим список родов в семействе медведей, предварительно выписав название этого семейства на латыни (Ursidae). Нам понадобятся названия всех родов на латыни, которые есть в семействе. Их лучше также выписать.

Читать далее
Total votes 10: ↑9 and ↓1 +8
Views 2.7K
Comments 3

Эволюция разумна?

Rust *Machine learning *Artificial Intelligence Brain Biology
Sandbox

Приветствую, хабрчане! Сегодня речь пойдёт об одном, на мой взгляд, интересном варианте алгоритма для самообучающейся системы. Идея подобной статьи зрела давно, однаĸо руĸи всё не доходили.

Рассматриваемую ниже модель можно споĸойно отнести ĸ областям эволюционного моделирования и роевого интеллеĸта, однаĸо с заделом на дальнейшую интеграцию с существующими наработĸами в области нейросетей. Но, обо всём попорядĸу...

Читать далее
Total votes 24: ↑23 and ↓1 +22
Views 6K
Comments 39