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

Оптимизация генетических алгоритмов может быть эффективным методом поиска перспективных решений проблем информатики.

Методы генетического алгоритма обычно реализуются в среде моделирования, и многие общие проблемы оптимизации могут быть решены с помощью стандартного программного обеспечения библиотеки, такого как PowerMorph или Q-Learning.

Традиционные программные приложения на основе генетических алгоритмов требуют наличия обученного эксперта для программирования и настройки своего агента. Для обеспечения возможности автоматического создания сценариев программное обеспечение с генетическим алгоритмом может распространяться в виде исполняемого исходного кода, который затем может компилироваться обычными пользователями.

Генетические алгоритмы оптимизированы для известных решений, которые могут быть любого типа (например, целочисленный поиск, матричная факторизация, разбиение и т. д.). Напротив, оптимизация Монте-Карло требует, чтобы оптимальное решение могло быть сгенерировано неизвестным методом. Преимущество генетических алгоритмов перед другими методами оптимизации заключается в их автоматическом контроле над количеством необходимых поколений, начальными параметрами, функцией оценки и вознаграждением за точные прогнозы.

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

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

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