Диссертация (Методы и алгоритмы интеллектуализации принятия решений в условиях неопределенности на базе аппарата нейронных сетей и эволюционного моделирования), страница 16
Описание файла
Файл "Диссертация" внутри архива находится в папке "Методы и алгоритмы интеллектуализации принятия решений в условиях неопределенности на базе аппарата нейронных сетей и эволюционного моделирования". PDF-файл из архива "Методы и алгоритмы интеллектуализации принятия решений в условиях неопределенности на базе аппарата нейронных сетей и эволюционного моделирования", который расположен в категории "". Всё это находится в предмете "технические науки" из Аспирантура и докторантура, которые можно найти в файловом архиве МПУ. Не смотря на прямую связь этого архива с МПУ, его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "диссертации и авторефераты" в общих файлах, а ещё этот архив представляет собой кандидатскую диссертацию, поэтому ещё представлен в разделе всех диссертаций на соискание учёной степени кандидата технических наук.
Просмотр PDF-файла онлайн
Текст 16 страницы из PDF
Данныйвыбор обусловлен следующими причинами:– сочетание высокой производительности языка C++ и простоты реализациина нем паттернов проектирования, подходящих для задач приложения;– поддержка языком C++ объектно-ориентированной парадигмы, котораяделаетакцентнаразработкеновыхтиповданных,наиболееполносоответствующих концепциям выбранной области исследований;– простота масштабирования и поддержки проекта, разработанного вобъектно-ориентированном стиле;– унификация исходного кода посредством стандартной библиотекишаблонов STL, предоставляющий единообразный интерфейс для множестваалгоритмов и контейнеров;–поддержкамногопоточностинабазебиблиотекклассовBoost.Распараллеливание работы генерируемых в ходе нейроэволюции особейнейросетей необходимо для более эффективного использования вычислительныхресурсов, и, как следствие, повышения производительности СППР в целом;103– покрытие исходного кода unit-тестами при помощи инструментариябиблиотек классов Boost, необходимое для проверки на корректность отдельныхмодулей СППР и упрощения проведения рефакторинга.ДляпрограммнойреализацииСППРтакжеиспользовалсякроссплатформенный, полностью объектно-ориентированный инструментарийразработки Qt.
Он содержит базовые классы, необходимые для разработки СППР,начиная от элементов графического интерфейса и заканчивая классами дляработы с БД, форматом XML и высокоуровневыми протоколами передачиданных. В качестве системы управления базами данных (СУБД) была выбранавстраиваемая реляционная СУБД SQLite, поддерживающая динамическоетипизирование и обеспечивающая хранение БД в единственном плоском файле.Использование встраиваемой СУБД позволяет значительно уменьшить накладныерасходы на обработку данных за счет компоновки ее движка и самой программыпосредством API-вызовов библиотеки SQLite.
В процессе разработки ПС дляописания архитектуры использовался унифицированный язык моделированияUML. В соответствии с архитектурной схемой СППР на была спроектированаUML-диаграмма основных классов СППР, собранных в единую библиотекуDSS_PACK. Для каждого из классов в ней представлены наименования основныхметодов и полей, а полные сигнатуры методов, конструкторы, деструкторы,перегрузки и модификаторы доступа классов опущены. В UML-диаграммеиспользуются следующие обозначения ассоциаций (взаимосвязи классов):– обобщение: отношение наследования между классами. Данный видассоциации показывает, что один из классов представлен частной формойродительского класса, который является его обобщением;– реализация: отношение между двумя классами, при котором один из нихявляется интерфейсом, а другой класс реализует интерфейс;– агрегация: вид ассоциации, при котором один из классов имеет болеевысокий ранг и состоит из нескольких меньших по рангу элементов;– использование: вид ассоциации, при котором один из классов104использует другой в качестве параметра метода, типа поля класса и т.д.Как видно из UML-диаграммы на рисунке 4.3, для программной реализацииСППР была применена схема использования паттернов проектирования Modelview-controller (MVC, модель-представление-контроллер).
Модель приложения,его интерфейс и методы взаимодействия с пользователем в рамках единого пакетаDSS_PACK разделены на слабосвязные компоненты таким образом, чтомодификация одного из них оказывает минимальное влияние на остальные.Модель приложения схемы MVC реализована в классе DSSModel. Онпредоставляет бизнес-логику, а именно: данные и методы работы с этимиданными, методы обработки запросов и изменения состояния СППР. Метод load()необходим для получения, предварительной обработки и преобразования входныхданных;перегруженныйметодосуществляетsolve()непосредственнонейроэволюционный процесс; метод export() отвечает за вывод сгенерированногорешения.
Контроллер MVC реализован при помощи класса DSSController. Онотвечает за взаимодействие пользователя и слоя бизнес-логики СППР: методvalidate() контролирует и проводит валидацию ввода данных; методы update() иhandle_event() отвечают за использование модели и представления для реализациинеобходимыхдействий.ПредставлениеMVCреализовановклассах,описывающих интерфейс DSSView и обеспечивающих визуализацию, экспорт иимпорт данных соответственно при помощи методов display(), attach(), detach().Так, класс UI (user interface), реализующий DSSView, осуществляет построениеграфиков с использованием вспомогательного класса DSSUtil.
В классе DSSUtilсодержатся методы сохранения и восстановления конфигурации export_config() иimport_config(), экспорта и открытия файлов с данными в форматах JSON, XML,txt (соответственно export_xml(), import_xml(), export_json(), import_json(),serialize(),deserialize()),функционированиизаписиСППРинформации visualize().лог-файловgen_report()иlog(),генерацииграфическогоотчетовопредставленияРисунок 4.3 – UML-диаграмма классов библиотеки DSS_PACKДля иллюстрации работы метода render_plot() класса DSSView на рисунке4.4 выбран контурный график, построенный при помощи библиотеки QWT ивизуализирующий ход эволюции популяции ИНС. График отображает наплоскости трехмерные поверхности (, ) – функции приспособленностипопуляции.
В целях наглядности была выбрана функция Швефеля, котораянаряду с функциями Растригина, Розенброка, Гривонка и Экли широкоиспользуется для тестирования алгоритмов многомерной оптимизации. ФункцияШвефеля от двух аргументов ∈ [0, 1200], ∈ [0, 1200] имеет вид(, ) = sin (√||) − (√||)(3.18)Рисунок 4.4 – Генерация графика эволюции при помощи методаrender_plot()Черные точки на графике – координаты (, ) особей популяции, то естьзначения их приспособленности в заданную эпоху.
По мере работы алгоритматочкистягиваютсякобластямповерхности,являющихсялокальнымиоптимумами.Класс Evolution реализует процесс нейроэволюции. Метод epoch_0()предназначен для генерирования популяции нулевой эпохи, epoch_next() – для107перехода на новую эпоху. Внутри данных методов организован вызовперегруженных методов, оперирующих хромосомами: mutation(), selection(),recombination(), crossingover().Глобальный и локальный генетический поискосуществляются при помощи методов global_step() и memetic_step(). Методcalc_fitness() предназначен для расчета приспособленности особей.Особи представлены в СППР при помощи классов GenericNN иSupervisedLearningNN, реализующих интерфейс NN, в котором объявленыбазовые поля и методы нейросети.
Класс Population описывает популяцию,состоящую из списка нейросетей NN, дополнительных структур храненияданных, предусмотренных нейроэволюционным методом – пула входныхпараметров (поля ipPull – объекта класса InputPool) и пула «хороших» решений(поля optPool – объекта класса QuasioptimalPool).Класс UnitTests содержит unit-тесты для изолированной проверки иподтверждения корректности функционирования каждого отдельного элементаразработанного программного средства.3.4 Выводы по третьей главе1. Предложеныунифицированныекритерииоценкикачестванейроэволюционного метода для его применения к классу задач принятиярешенийвхарактеристикусловияхметода,неопределенности.вчастности:Проведенобщиханализсвойствосновныхгенетическогопредставления, по которым следует сравнивать различные методы; свойствпроцесса эволюции, являющихся косвенным критерием определения скоростисходимости ГА и эффективности генетических операторов; свойств особейпопуляции, по которым можно судить о качестве получаемых в ходенейроэволюции частных решений.
На основании представленного множествасвойств сформулированы критерии оценки нейроэволюционного метода дляего практического применения в качестве модуля СППР. Данные критерии108являются наиболее полными в сравнении с известными критериями дляаналогичныхметодов.Результатыпроведенногоанализапозволяютутверждать о целесообразности применении метода на практике.2.Проведенаэкспериментальнаяоценкахарактеристикметоданаэталонных задачах в сравнении с проанализированными в главе 1 известныминейроэволюционными методами. Метод демонстрирует наилучшие результаты(в задачах об обратном маятнике и восстановления изображений) или близкиек наилучшим результатам (задача о двух обратных маятниках, об обратноммаятнике на плоскости, реализация XOR).
Метод выигрывает у большинстваальтернативных методов по количеству эпох и неудачных запусков.3. Представлена модель системы поддержки принятия решений на базенейроэволюции,включающаяосновныеархитектурныекомпонентыиучитывающая взаимосвязь между ними.4. Разработан программный инструментарий, обеспечивающий реализациюнейроэволюционного метода и модели системы поддержки принятия решенийв условиях неопределенности и позволяющий использовать его при решениипрактических задач интеллектуализации обработки данных в качествевстраиваемого или автономного модуля СППР.109ГЛАВА 4. ПРАКТИЧЕСКОЕ ПРИМЕНЕНИЕРАЗРАБОТАННОГО НЕЙРОЭВОЛЮЦИОННОГО МЕТОДАВходепрактическиедиссертационногозадачи:защитаисследованиярешеныкорпоративногопорталатриактуальныеотDDoS-атак,автоматическая обработка материалов, размещаемых в виртуальной среде работынад проектами, и конструктивная модификация деталей 3D-принтера Prusa i2.Данные эксперименты были проведены на основе реальных данных сиспользованиемразработанногопрограммногоинструментария,обеспечивающего реализацию нейроэволюционного метода и модели системыподдержки принятия решений в условиях неопределенности.4.1 Система защиты корпоративного портала от DDoS-атакРассмотрим использование разработанного метода для защиты от DDoSатак корпоративного портала федерального государственного бюджетногоучреждения «Научно-исследовательский финансовый институт» (НИФИ).DDoS-атака (Distributed Denial of Service) - распределенная атака типа«отказ в обслуживании», организуемая для переполнения полосы пропусканияатакуемого сервера [46].
Как правило, организуется при помощи флуда большого количества не валидных запросов к серверу для исчерпания импроцессорных или сетевых ресурсов. Организуется при помощи ботнета –совокупности узлов сети, участвующих в атаке. Данная атака создает условия,прикоторыхлегитимныепользователинемогутполучитьдоступкпредоставляемым ресурсам. Существует несколько основных разновидностейфлуда, отличающихся типом используемого протокола: HTTP, ICMP, UDP, TCP.Задача СППР для фильтрации трафика формулируется следующим образом.Пусть множество альтернатив состоит из двух допустимых решений:110Α = {1 , 2 },(4.1)где 1 – зарегистрировать факт аномального трафика и запустить механизмего обработки;2 – классифицировать запрос как безопасный. Параметрытрафика, оказывающие влияние на выбор одного из решений, составляютмножество Ω = {1 , … , }, = 14.
Задача заключается в выборе решения измножества с учетом множества параметров Ω.В задаче присутствуют три вида неопределенности:1. Неизвестность. Данные о значениях таких параметров как Url источникаи User-Agent могут отсутствовать.2. Недостоверность. Возможность неадекватности таких параметров какзначение заголовка referer, Ip клиента, значение поля User-Agent и т.д.3.
Неоднозначность входных данных. Такие параметры как клиентскаяподдержка JavaScript и время поступления запроса являются косвенными инедостоверными признаками атаки.Одним из ключевых этапов решения задачи защиты сервера при помощинейроэволюционной системы является составление корректной и разнообразнойобучающей выборки. В качестве такой выборки были использованы файлы логоввеб-запросов сервера и находящиеся в открытом доступе базы сетевых атак.