Абрамов Д. В., Федеральное государственное автономное образовательное учреждение высшего образования «Московский политехнический университет»Корпуков А. В., Федеральное государственное автономное образовательное учреждение высшего образования «Российский национальный исследовательский медицинский университет имени Н. И. Пирогова»Шмаль В. Н., Федеральное государственное автономное образовательное учреждение высшего образования «Российский университет транспорта»
Приведённый ознакомительный фрагмент книги Применения элементов искусственного интеллекта на транспорте и в логистике предоставлен нашим книжным партнёром — компанией ЛитРес.
Купить и скачать полную версию книги в форматах FB2, ePub, MOBI, TXT, HTML, RTF и других
Искусственные нейронные сети и генетические алгоритмы
Искусственные нейронные сети (ИНС), обычно называемые просто алгоритмами глубокого обучения, представляют собой смену парадигмы в искусственном интеллекте. У них есть возможность изучать концепции и отношения без каких-либо заранее определенных параметров. ИНС также способны изучать неструктурированную информацию, выходящую за рамки требований установленных правил. Первоначальные модели ИНС были построены в 1960-х годах, но в последнее десятилетие их исследования активизировались.
Рост вычислительной мощности открыл новый мир вычислений благодаря разработке сверточных нейронных сетей (CNN) в начале 1970-х годов. В начале 1980-х Станислав Улам разработал функцию символического расстояния, которая стала основой для будущих алгоритмов сетевого обучения.
К концу 1970-х годов в ImageNet развернуто несколько CNN. В начале 2000-х годов графические процессоры, основанные на обработке данных с плавающей запятой, обеспечивали экспоненциальную производительность и низкое энергопотребление для обработки данных. Появление алгоритмов глубокого обучения является следствием применения более общих вычислительных архитектур и новых методов обучения нейронных сетей.
Благодаря последним достижениям в области многоядерных процессоров и графических процессоров обучение нейронных сетей с несколькими графическими процессорами (ГП) возможно за небольшую часть стоимости обычного обучения. Один из самых популярных примеров — глубокое обучение на графических процессорах. Обучение глубоких нейронных сетей на графических процессорах происходит быстро, масштабируемо, а также требует возможностей низкоуровневого программирования для реализации современных архитектур глубокого обучения.
Оптимизация генетических алгоритмов может быть эффективным методом поиска перспективных решений проблем информатики.
Методы генетического алгоритма обычно реализуются в среде моделирования, и многие общие проблемы оптимизации могут быть решены с помощью стандартного программного обеспечения библиотеки, такого как PowerMorph или Q-Learning.
Традиционные программные приложения на основе генетических алгоритмов требуют наличия обученного эксперта для программирования и настройки своего агента. Для обеспечения возможности автоматического создания сценариев программное обеспечение с генетическим алгоритмом может распространяться в виде исполняемого исходного кода, который затем может компилироваться обычными пользователями.
Генетические алгоритмы оптимизированы для известных решений, которые могут быть любого типа (например, целочисленный поиск, матричная факторизация, разбиение и т. д.). Напротив, оптимизация Монте-Карло требует, чтобы оптимальное решение могло быть сгенерировано неизвестным методом. Преимущество генетических алгоритмов перед другими методами оптимизации заключается в их автоматическом контроле над количеством необходимых поколений, начальными параметрами, функцией оценки и вознаграждением за точные прогнозы.
Важным свойством генетического алгоритма является его способность создавать надежную, «дикую» конфигурацию параметров (например, чередование горячих и холодных конечных точек), что соответствует заданной скорости обучения (скорость обучения, умноженная на количество поколений). Это свойство позволяет пользователю анализировать и решать, является ли конфигурация равновесия нестабильной.
Обратной стороной генетических алгоритмов является их зависимость от распределенного управления памятью. Хотя обширные методы оптимизации могут использоваться для обработки больших наборов входных данных и работы с несколькими конфигурациями процессоров / ядер, сложность этой операции может сделать решения на основе генетических алгоритмов уязвимыми для ограничений ресурсов, которые препятствуют прогрессу. Даже при наличии кода генетического алгоритма теоретически программы на основе генетических алгоритмов могут находить решения проблем только при запуске на соответствующей компьютерной архитектуре. Примеры проблем, связанных с генетическим алгоритмом, работающим на более ограниченной архитектуре, включают ограничения размера памяти для хранения представлений генетического алгоритма, ограничения памяти, налагаемые базовой операционной системой или набором инструкций, и ограничения памяти, налагаемые программистом, такие как ограничения на объем вычислительной мощности, выделяемой для генетического алгоритма и / или требований к памяти.
Было разработано множество алгоритмов оптимизации, которые позволяют генетическим алгоритмам эффективно работать на ограниченном оборудовании или на обычном компьютере, но реализации генетических алгоритмов на основе этих алгоритмов были ограничены из-за их высоких требований к специализированному оборудованию.
Гетерогенное оборудование способно предоставлять генетические алгоритмы со скоростью и гибкостью обычного компьютера, используя при этом меньше энергии и компьютерного времени. Большинство реализаций генетических алгоритмов основаны на подходе генетической архитектуры.
Генетические алгоритмы можно рассматривать как пример дискретной оптимизации и теории вычислительной сложности. Они дают краткое объяснение эволюционных алгоритмов. В отличие от алгоритмов поиска, генетические алгоритмы позволяют контролировать изменение параметров, влияющих на производительность решения. Для этого генетический алгоритм может изучить набор алгоритмов поиска оптимального решения. Когда алгоритм сходится к оптимальному решению, он может выбрать алгоритм, который работает быстрее или точнее.
На математическом языке программного анализа генетический алгоритм — это функция, которая отображает состояния в переходы к следующим состояниям. Состояние может быть отдельным местом в общем пространстве или набором состояний. «Генерация» — это количество состояний и переходов между ними, которые необходимо выполнить для достижения целевого состояния. Генетический алгоритм использует вероятность перехода, чтобы найти оптимальное решение, и использует небольшое количество новых мутаций каждый раз, когда поколение завершается. Таким образом, большинство мутаций являются случайными (или квазислучайными) и поэтому могут игнорироваться генетическим алгоритмом для проверки поведения или принятия решений. Однако, если алгоритм может быть использован для решения задачи оптимизации, то можно использовать этот факт для реализации шага мутации.
Вероятности перехода определяют параметры алгоритма и имеют решающее значение для определения устойчивого решения. В качестве простого примера, если бы было нестабильное решение, но можно было бы пройти только через определенные состояния, тогда алгоритм поиска решения мог бы столкнуться с проблемами, поскольку механизм мутаций будет способствовать изменению направления движения алгоритма. Другими словами, проблема перехода из одного стабильного состояния в другое будет решена путем изменения текущего состояния.
Другой пример может заключаться в том, что существует два состояния, «холодное» и «горячее», и что для перехода между этими двумя состояниями требуется определенное время. Чтобы перейти из одного состояния в другое за определенное время, алгоритм может использовать функцию мутации для переключения между холодным и горячим состояниями. Таким образом, мутации оптимизируют доступное пространство.
Генетические алгоритмы не требуют сложных вычислительных ресурсов или детального управления сетевой архитектурой. Например, генетический алгоритм может быть адаптирован для использования обычного компьютера, если вычислительные ресурсы (память и вычислительная мощность) были ограничены, например, для простоты в некоторых сценариях. Однако, когда генетические алгоритмы ограничены ограничениями ресурсов, они могут рассчитывать только вероятности, что приводит к плохим результатам и непредсказуемому поведению.
Гибридные генетические алгоритмы комбинируют последовательный генетический алгоритм с динамическим генетическим алгоритмом случайным или вероятностным образом. Гибридные генетические алгоритмы повышают эффективность двух методов, сочетая их преимущества, сохраняя при этом важные аспекты обоих методов. Они не требуют глубокого понимания обоих механизмов, а в некоторых случаях даже не требуют специальных знаний в области генетических алгоритмов. Есть много общих генетических алгоритмов, которые были реализованы для разных типов задач. Некоторые известные варианты использования этих алгоритмов включают извлечение фотографий с геотегами из социальных сетей, прогнозирование трафика, распознавание изображений в поисковых системах, генетическое сопоставление между донорами и получателями стволовых клеток и оценку общественных услуг.
Вероятностная мутация — это мутация, при которой вероятность того, что новое состояние будет наблюдаться в текущем поколении, неизвестна. Такие мутации тесно связаны с генетическими алгоритмами и подверженными ошибкам мутациями. Вероятностная мутация — это полезный метод проверки соответствия системы определенным критериям. Например, последовательность операций имеет определенный порог ошибок, который определяется контекстом операции. В этом случае выбор новой последовательности зависит от вероятности получения ошибки.
Хотя вероятностные мутации сложнее детерминированных мутаций, они быстрее, потому что нет риска сбоя. Алгоритм вероятностной мутации, в отличие от детерминированных мутаций, может представлять ситуации, когда наблюдаемая вероятность мутации неизвестна. Однако, в отличие от алгоритма вероятностной мутации, в реальном генетическом алгоритме необходимо указать параметры.
На практике вероятностные мутации могут быть полезными, если наблюдаемая вероятность каждой мутации неизвестна. Сложность выполнения вероятностных мутаций увеличивается по мере того, как генерируется больше мутаций и чем выше вероятность каждой мутации. Из-за этого вероятностные мутации имеют то преимущество, что они более полезны в ситуациях, когда мутации происходят часто, а не только в разовых ситуациях. Поскольку вероятностные мутации, как правило, протекают очень медленно и имеют высокую вероятность неудачи, вероятностные мутации могут быть полезны только для систем, которые могут подвергаться очень высокой скорости мутации.
Также существует множество гибридных мутационных / генетических алгоритмов, которые способны генерировать детерминированные или вероятностные мутации. Некоторые варианты генетических алгоритмов использовались для создания музыки для композиторов с использованием генетического алгоритма.
Вдохновленные общей техникой, Харальд Хельфготт и Альберто О. Динеи разработали алгоритм под названием MUSICA, который генерирует музыку из последовательностей первого, второго и третьего байтов песни. Их алгоритм генерирует музыку из композиции расширенного аккорда из шести частей. Их алгоритм производит последовательность байтовых значений для каждого элемента расширенного аккорда, и начальное значение может быть либо первым байтом, либо вторым байтом.
В апреле 2012 года исследователи из Гарвардского университета опубликовали исследование «Эффективный дизайн музыкального генома с гарантированным качеством», в котором описывается подход с использованием генетического алгоритма для создания музыкальных произведений.
Компьютерный ученый Мартин Ваттенберг предложил доказательство концепции инструмента на основе генетического алгоритма, способного не только создавать музыкальные исполнения, но и сочинять их. Его инструмент вместо того, чтобы случайным образом изменять элементы исполнения, сохранял бы определенные аналогичные элементы постоянными. Он будет выполнять как «традиционную» музыкальную игру, так и «гармонизирующую» функцию. Инструмент Ваттенберга был бы более точным, и можно было бы составить одну и ту же пьесу с помощью множества различных генеративных алгоритмов, каждый с разными эффектами. Технология, которая производит инструменты, станет доступной для музыкантов, что позволит им ввести музыкальную фразу в инструмент и заставить его сыграть законченную исполнительскую версию.
Подобно современной электронной музыке, инструменты, которые генерируют музыку, также могут использоваться для управления светом, звуком, видео или дисплеями.
В 1993 году два ученых из Университета Миннесоты разработали программный пакет под названием Choir Designer, чтобы помочь исследователям разрабатывать партитуры для электронных музыкальных инструментов. С помощью этого пакета пользователь создает полностью детальные дизайнерские планы возможных электронных музыкальных инструментов. Программное обеспечение позволяет пользователю вводить набор музыкальных параметров в документ в виде папки, называемый шаблоном дизайна, а затем использовать музыкальную программу для создания полных, подробных, трехмерных дизайнов для инструмента и его частей. Данные для шаблонов дизайна создаются программным обеспечением Choir Designer в биологической манере с использованием генетических алгоритмов. Один шаблон может содержать данные из программы для написания музыки Propellerheads Reason, цифрового звукового редактора Audacity, а также обычные компьютерные данные. В одном шаблоне, например, параметр уровня звукового давления (SPL) может быть изменен для создания второго, другого звука. На сегодняшний день ни один электронный инструмент не был создан с использованием шаблона дизайна, хотя теоретически они могли бы быть такими.
Приведённый ознакомительный фрагмент книги Применения элементов искусственного интеллекта на транспорте и в логистике предоставлен нашим книжным партнёром — компанией ЛитРес.
Купить и скачать полную версию книги в форматах FB2, ePub, MOBI, TXT, HTML, RTF и других