Я работаю над SDK с нечеткой логикой в течение последних 3 месяцев, и это дошло до того, что мне нужно начать интенсивно оптимизировать двигатель.Использование машинного обучения для прогнозирования краха и стабилизации сложных систем?
Как и в случае с системами AI, основанных на «полезности» или «потребностях», мой код работает, размещая различные рекламные объявления по всему миру, сравнивая указанные рекламные объявления с атрибутами различных агентов и «забивая» рекламу [по каждому агенту основы] соответственно.
Это, в свою очередь, производит очень повторяющиеся графики для большинства симуляторов одного агента. Однако, если принимать во внимание различные агенты, система становится очень сложной и значительно более сложной для моего компьютера для имитации (поскольку агенты могут транслировать рекламные объявления друг с другом, создавая алгоритм NP).
Внизу: Пример повторяемостью системы, рассчитанной на 3 атрибутов в одном агенте:
Топ: Пример системы, рассчитанной на 3 атрибутов и 8 агентов:
(Свернуть это в начале и восстановить вскоре после этого. Это лучший пример, который я мог бы создать, который бы поместился на изображении, так как восстановление обычно очень медленное)
Как видно из обоих примеров, даже по мере увеличения количества агентов система все еще очень повторяется и, следовательно, тратит драгоценное время вычисления.
Я пытаюсь перестроить программу таким образом, чтобы в периоды высокой повторяемости функция обновления непрерывно повторяла линейный график.
Хотя, конечно, мой код нечеткой логики может предсказать заранее, чтобы рассчитать коллапс и/или стабилизацию системы, что очень сильно влияет на мой процессор. Я считаю, что машинное обучение было бы лучшим путем для этого, поскольку кажется, что, как только система создала свою первоначальную настройку, периоды нестабильности всегда кажутся примерно одинаковой длины (однако они встречаются в «полу», случайное время. Я говорю полу, поскольку его обычно легко заметны с помощью различных рисунков, показанных на графике, однако, как и длина неустойчивости, эти шаблоны сильно отличаются от настроенных для настройки).
Очевидно, что если неустойчивые периоды имеют одинаковую длину, как только я узнаю, когда система разрушается, ее значительно легко понять, когда она достигнет равновесия.
На боковой ноте об этой системе не все конфигурации на 100% стабильны в периоды повторения.
Это очень хорошо видно на графике:
Таким образом, решению машинного обучения будет нужен способ, чтобы различать «Псевдо» коллапсирует, а также полные обвалы.
Насколько жизнеспособным будет использование решения ML? Может ли кто-нибудь рекомендовать какие-либо алгоритмы или подходы к реализации, которые будут работать лучше всего?
Что касается доступных ресурсов, то код подсчета вообще не сопоставляется с параллельными архитектурами (из-за явных взаимосвязей между агентами), поэтому, если мне нужно посвятить один или два потока ЦП для выполнения этих вычислений, , (Я бы предпочел не использовать GPU для этого, поскольку GPU облагается налогом с не связанной с AI частью моей программы).
Хотя это, скорее всего, не изменит ситуацию, система, в которой работает код, имеет 18 ГБ ОЗУ, оставшихся во время выполнения. Таким образом, использование потенциально высокорейтингового решения было бы, безусловно, жизнеспособным. (Хотя я бы предпочел избежать этого, если это необходимо)
Итак, вместо того, чтобы делать эксперимент, вы хотите заменить его оценкой того, как он может выглядеть? – ziggystar
Да, это именно то, что я хочу сделать. –
Это звучит как неприятная идея. Если бы вы могли как-то вывести, что ваша система периодически от знания своей внутренней работы, это было бы нормально. Но, глядя на какой-то вывод и предполагая, что он, вероятно, продолжится таким образом, кажется, ошибочен. – ziggystar