Генератор псевдослучайных последовательностей на основе модифицированной рекуррентной нейронной сети
Архитектура и функционирование модифицированной рекуррентной нейронной сети. Метод генерации псевдослучайных последовательностей. Методика обучения модифицированной рекуррентной нейронной сети на основе алгоритма обратного распространения ошибок.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 19.06.2018 |
Размер файла | 141,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
УДК 004.032.26
Генератор псевдослучайных последовательностей на основе модифицированной рекуррентной нейронной сети
Е.А. Винокурова, д-р техн. наук
Генераторы псевдослучайных последовательностей являются важным блоком в областях науки, а именно в информатике, прикладной математике, тестировании программных средств, криптографических системах шифрования [1 - 3].
Генераторы псевдослучайных последовательностей должны обладать такими преимуществами как непрогнозируемость сгенерированной последовательности чисел по некоторой ее части, повышенной скоростью генерации, а также удовлетворять требованиям, описанным в стандартах [4 - 7].
Большинство генераторов псевдослучайных последовательностей основываются на детерминистических алгоритмах. На данный момент существуют различные методы генерации псевдослучайных последовательностей, среди которых метод Блюма - Блюма - Шуба [8], метод Блюма и Микали [9], алгоритм Mersenne Twister [10, 11] и др. Существующие генераторы имеют ряд недостатков, таких как невозможность использования в on-line режиме.
Для решения этой проблемы в последнее время широкое использование получили генераторы псевдослучайных последовательностей на основе гибридных нейронных сетей, которые являются существенно нелинейными системами [12 - 15], а также обладают свойствами обучаемости и обработкой данных в on-line режиме. Большинство таких генераторов основывается на многослойных нейронных сетях с громоздкими методами обучения с параметрами, которые необходимо выбирать вручную.
В статье предлагается генератор псевдослучайных последовательностей на основе модифицированной рекуррентной нейронной сети, а также ее метод обучения для работы в последовательном режиме обработки данных.
1. Модифицированная рекуррентная нейронная сеть
Важный класс искусственных нейронных сетей - рекуррентные нейронные сети, имеющие замкнутые петли обратной связи в своей топологии. В этих сетях на первый план выступает фактор времени: входные сигналы в искусственных нейронных сетях должны быть заданы в форме временной последовательности, автокорреляционные свойства которой выявляются и анализируются в процессе обработки.
В рекуррентных сетях в основном используется два способа организации обратной связи: локальная обратная связь на уровне отдельных нейронов и глобальная, охватывающая сеть в целом, хотя возможны и промежуточные варианты. Так, если в качестве базового строительного блока рекуррентной сети принять многослойный персептрон, то локальная обратная связь организуется на уровне отдельного слоя, глобальная - связывает нейроны выходного слоя со входами сети, однако при этом возможны варианты связи от скрытого слоя ко входному или от скрытого к предыдущему скрытому слою.
В настоящее время сформировалось два больших класса рекуррентных сетей: сети, реализующие отображение «вход-выход» с учетом временного фактора, и сети ассоциативной памяти. Последние будут рассмотрены в следующем разделе, а здесь подробно остановимся на сетях первого класса, широко применяемых для решения задач оптимизации, идентификации, эмуляции, прогнозирования, управления, диагностики и т.п., словом там, где фактор времени имеет существенное значение.
С точки зрения нейродинамики рекуррентные сети рассматриваются как многосвязные динамические нелинейные стохастические диссипативные системы с большим числом степеней свободы, для анализа устойчивости которых неприменимы традиционные инженерные критерии устойчивости [16].
В связи с этим основные подходы к разработке и анализу рекуррентных сетей связаны с аппаратом функций Ляпунова [17], идентификацией устойчивых состояний (аттракторов) и минимизацией тех или иных форм энергетических функций.
Введем в рассмотрение многослойную рекуррентную нейронную сеть, предназначенную для генерации псевдослучайных последовательностей, архитектура которой приведена на рисунке. В дополнение к традиционным скрытому и выходному слоям в сеть введен специальный слой обратной связи, называемый контекстным или слоем состояний. Этот слой получает сигналы с выхода скрытого слоя и через элементы задержки подает их на входной слой, сохраняя таким образом обрабатываемую информацию в течение одного временного такта.
«Строительными блоками» модифицированной рекуррентной нейронной сети являются стандартные нейроны со специализированными активационными сигмоидальными функциями, адаптивные линейные ассоциаторы и элементы задержки .
Архитектура модифицированной рекуррентной нейронной сети
Функционирование модифицированной рекуррентной нейронной сети описывается системой рекуррентных соотношений
(1)
(2)
где - параметр крутизны сигмоидальной функции активации.
Для упрощения описания структуры рекуррентной нейронной сети предлагается использовать матричную форму
, (3)
(4)
где - матрица настраиваемых синаптических весов входного слоя; - матрица настраиваемых синаптических весов контекстного слоя; - матрица настраиваемых синаптических весов выходного второго слоя;
- вектор входов первого слоя;
- вектор входов второго слоя;
;
- векторы смещений первого и второго слоя соответственно.
2. Метод обучения модифицированной рекуррентной нейронной сети
Рассмотрим метод обучения модифицированной рекуррентной нейронной сети на основе алгоритма обратного распространения ошибок.
Исходная информация должна быть задана в виде последовательности пар образов «вход/выход», образующих обучающую выборку. Обучение состоит в адаптации параметров всех слоев таким образом, чтобы расхождение между выходным сигналом сети и внешним обучающим сигналом в среднем было бы минимальным. Из этого следует, что алгоритм обучения представляет собой по сути процедуру поиска экстремума специально синтезированной целевой функции ошибок.
Введем обозначения: - количество входов, количество нейронов в первом скрытом слое и - количество выходов. Каждый входной образ представляет собой -вектор , выходной образ - -вектор и обучающий образ --вектор . Необходимо в процессе обучения обеспечить минимальное рассогласование между текущими значениями выходных и желаемых сигналов для всех и . Обычно в качестве функции ошибок используется локальный критерий качества
(5)
Рассмотрим алгоритм обучения реального времени, связанный с минимизацией на каждом шаге локальной функции . Очевидно, что для синаптических весов выходного слоя справедливо соотношение типа
(6)
Аналогично можно записать формулу настройки весов первого скрытого слоя
(7)
и алгоритм настройки синаптических весов контекстного слоя
(8)
Работу алгоритма обратного распространения ошибок удобно описать в виде последовательности следующих шагов:
Ш задание начальных условий для всех синаптических весов сети в виде достаточно малых случайных чисел (обычно - ) с тем, чтобы активационные функции нейронов не вошли в режим насыщения на начальных стадиях обучения (защита от «паралича» сети);
Ш подача на вход сети образа и вычисление выходов всех нейронов при заданных значениях ;
Ш по заданному обучающему вектору и вычисленным промежуточным выходам расчет локальных ошибок для всех слоев;
Ш уточнение всех синаптических весов;
Ш подача на вход сети следующего образа и т.д.
Процесс обучения продолжается до тех пор, пока ошибка на выходе ИНС не станет достаточно малой, а веса стабилизируются на некотором уровне. После обучения нейронная сеть приобретает способности к обобщению, т.е. начинает правильно классифицировать образы, не представленные в обучающей выборке. Это самая главная черта многослойных сетей, осуществляющих после обучения произвольное нелинейное отображение пространства входов в пространство выходов на основе аппроксимации сложных многомерных нелинейных функций.
Свойства рассмотренной выше процедуры обучения существенно зависят от выбора параметра шага . С одной стороны, он должен быть достаточно малым, чтобы обеспечить оптимизацию глобальной целевой функции, с другой - малый шаговый коэффициент резко снижает скорость сходимости, а следовательно, увеличивает время обучения.
3. Метод генерации псевдослучайных последовательностей
Метод генерации псевдослучайной последовательности основывается на матрице синаптических весов скрытого (контекстного) слоя , размерностью . Для обучения сети используется входное уникальное ключевое слово (последовательность) и выходная последовательность и обучающий сигнал . На основе обучающей выборки производится обучение модифицированной рекуррентной нейронной сети до достижения заданного уровня среднеквадратичной ошибки.
Таким образом, генератор псевдослучайных последовательностей можно записать в виде
, (9)
где - сгенерированная псевдослучайная последовательность на основе модифицированной рекуррентной нейронной сети, - функция преобразования матрицы в вектор, - абсолютное значение матрицы , - вектор строка средних значений по каждому столбцу матрицы , - единичный вектор столбец.
Тестирование генерируемой псевдослучайной последовательности может быть проверена, используя методики такие как NIST STS, FIPS PUB 140-1, AIS 20 та AIS 31 [4 - 7].
Методика FIPS PUB 140-1 - применяется как средство оперативного контроля. Ее применение обусловлено высокой скоростью выполнения статистического тестирования и позволяет проводить статистический контроль в on-line режиме.
Методика NIST STS - применяется как способ комплексного контроля. Выбор этой методики обусловлен тем, что она содержит необходимый набор статистических тестов, совокупность которых обусловлена, и предлагает критерии принятия решений относительно не только последовательности, а и относительно всего генератора псевдослучайных последовательностей.
Методика AIS 20 - используется для тестирования детерминированных псевдослучайных последовательностей. Может применяться как в реальном времени, так и в процессе исследования, а также для технологического тестирования.
Методика AIS 31 - также является надежным способом тестирования последовательностей. Методика может быть использована в реальном времени, а также в процессе исследований и технологического тестирования. В AIS 31 учтены требования качественной проверки на случайность и возможность оперативного тестирования [18].
В качестве генератора псевдослучайных последовательностей предложено использовать модифицированную рекуррентную нейронную сеть. Такой подход позволяет получить метод генерации последовательностей в последовательном режиме. Синтезирован метод обучения модифицированной рекуррентной нейронной сети. Результаты экспериментов подтверждают эффективность предложенного подхода.
рекуррентный нейронный сеть псевдослучайный
Список литературы
1. Agnew G.B. Random Source for Cryptographic Systems / Agnew G.B. // Advances in Cryptology. EUROCRYPT '87 Proceedings, Springer-Verlag. - 1988. - P. 77-81.
2. Eastlake D. Randomness Requirements for Security // Eastlake D., Crocker S.D., Schiller J.I. RFC 1750, Internet Engineering Task Force, Dec. 2005.
3. L'Ecuyer P. Random Number Generation and Quasi-Monte Carlo // in Encyclopedia of Actuarial Science, J. Teugels and B. Sundt Eds., John Wiley, Chichester, UK. - 2004. - 3. - P. 1363-1369.
4. NIST SP 800-22. A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications: April 2000. Режим доступа: http://csrc.nist.gov/publications /nistpubs/SP800-22rev1a.pdf
5. Federal Information Processing Standarts Publication (FIPS PUB) 140-1. Security requirements for cryptographic modules. NIST, 1994.
6. Aplication Notes and Interpretation of the Scheme (AIS) 20. Functionality classes and evaluation methodology for Deterministic random number generators. 1999.
7. Aplication Notes and Interpretation of the Scheme (AIS) 31. Functionality classes and evaluation methodology for physical random number generators. 2001.
8. Blum L. A simple unpredictable pseudo random number generator / Blum L., Blum M., Shub M. // SIAM Journal on Computing. - 1986. - 15(2). - P. 364-383.
9. Blum L. Howto generate cryptographically strong sequences of pseudo random bits / Blum L., Micali S. // SIAM Journal on Computing. - 1984. - P. 850-863.
10. Matsumotora Mersenne twister: a 623-dimensionally equidistributed uniform pseudo-random number generator / Matsumoto, Nishimura // ACM Transactions on Modelling and Computer Simulation. - 1998. - 8(1). - P. 3-30.
11. Abdi H. A neural network primer // Journal of Biological Systems, 1994. - 2. - P. 247-281.
12. Kauffman S. Understanding genetic regulatory networks // Int. J. of Astrobiology, 2003. - P. 234-237.
13. Desai V.V. S-box design for DES using neural networks for bent function approximation // Desai V.V., Rao D. H. // Proc. of IEEE, INDICON-07, Bangalore, India. - P. 223-227.
14. Schneier B. Applied Cryptrography / Schneier B. - John Wiley & Sons, 1996. - 758 p.
15. Plumb C. Truly Random Numbers / Plumb C. // Dr. Dobbs Journal. - 1994. - 19 (13) - P. 113-115.
16. Первозванский А. А. Курс теории автоматического управления. - М. : Наука, 1986. - 616 с.
17. Справочник по теории автоматического управления ; под. ред. А. А. Красовского. - М. : Наука, 1987. - 712 с.
18. Горбенко І.Д. Прикладна криптологія. Теорія. Практика. Застосування / Горбенко І.Д., Горбенко Ю.І. - Харків : Форт, 2012. - 870 с.
Размещено на Allbest.ru
...Подобные документы
Обучение простейшей и многослойной искусственной нейронной сети. Метод обучения перцептрона по принципу градиентного спуска по поверхности ошибки. Реализация в программном продукте NeuroPro 0.25. Использование алгоритма обратного распространения ошибки.
курсовая работа [1019,5 K], добавлен 05.05.2015Разработка алгоритма и программы для распознавания пола по фотографии с использованием искусственной нейронной сети. Создание алгоритмов: математического, работы с приложением, установки весов, реализации функции активации и обучения нейронной сети.
курсовая работа [1,0 M], добавлен 05.01.2013Математическая модель нейронной сети. Однослойный и многослойный персептрон, рекуррентные сети. Обучение нейронных сетей с учителем и без него. Алгоритм обратного распространения ошибки. Подготовка данных, схема системы сети с динамическим объектом.
дипломная работа [2,6 M], добавлен 23.09.2013Исследование нечеткой модели управления. Создание нейронной сети, выполняющей различные функции. Исследование генетического алгоритма поиска экстремума целевой функции. Сравнительный анализ нечеткой логики и нейронной сети на примере печи кипящего слоя.
лабораторная работа [2,3 M], добавлен 25.03.2014Прогнозирование на фондовом рынке с помощью нейронных сетей. Описание типа нейронной сети. Определение входных данных и их обработка. Архитектура нейронной сети. Точность результата. Моделирование торговли. Нейронная сеть прямого распространения сигнала.
дипломная работа [2,7 M], добавлен 18.02.2017Описание структурной схемы искусственного нейрона. Характеристика искусственной нейронной сети как математической модели и устройств параллельных вычислений на основе микропроцессоров. Применение нейронной сети для распознавания образов и сжатия данных.
презентация [387,5 K], добавлен 11.12.2015Выявление закономерностей и свойств, применимых в искусственной нейронной сети. Построение графиков и диаграмм, определяющих степень удаленности между объектами. Моделирование, тестирование и отладка программной модели, использующей клеточный автомат.
дипломная работа [4,1 M], добавлен 25.02.2015Понятие искусственного нейрона и искусственных нейронных сетей. Сущность процесса обучения нейронной сети и аппроксимации функции. Смысл алгоритма обучения с учителем. Построение и обучение нейронной сети для аппроксимации функции в среде Matlab.
лабораторная работа [1,1 M], добавлен 05.10.2010Модель и задачи искусственного нейрона. Проектирование двуслойной нейронной сети прямого распространения с обратным распространением ошибки, способной подбирать коэффициенты ПИД-регулятора, для управления движения робота. Комплект “LEGO Mindstorms NXT.
отчет по практике [797,8 K], добавлен 13.04.2015Математическая модель искусственной нейронной сети. Структура многослойного персептрона. Обучение без учителя, методом соревнования. Правило коррекции по ошибке. Метод Хэбба. Генетический алгоритм. Применение нейронных сетей для синтеза регуляторов.
дипломная работа [1,5 M], добавлен 17.09.2013Нейронные сети и оценка возможности их применения к распознаванию подвижных объектов. Обучение нейронной сети распознаванию вращающегося трехмерного объекта. Задача управления огнем самолета по самолету. Оценка экономической эффективности программы.
дипломная работа [2,4 M], добавлен 07.02.2013Программа для формирования и просмотра команды для олимпиады по программированию. Генератор случайных чисел в Borland C++, методы их получения. Линейный конгруэнтный метод. Метод Фибоначчи, вихря Мерсенна. Тестирование псевдослучайных последовательностей.
курсовая работа [93,5 K], добавлен 27.09.2014Изучение и реализация системы, использующей возможности Microsoft Azure для распределенного обучения нейронной сети. Рассмотрение функционирования распределенных вычислений. Выбор задачи для исследования; тестирование данного программного ресурса.
дипломная работа [2,0 M], добавлен 20.07.2015Математические модели, построенные по принципу организации и функционирования биологических нейронных сетей, их программные или аппаратные реализации. Разработка нейронной сети типа "многослойный персептрон" для прогнозирования выбора токарного станка.
курсовая работа [549,7 K], добавлен 03.03.2015Этап предварительной обработки данных, классификации, принятия решения. Изображения обучающих рукописных символов, тестового символа. Выход нейронной сети для тестового символа. График тренировки нейронной сети. Последовательность точек. Входные вектора.
статья [245,7 K], добавлен 29.09.2008Рассмотрение способов применения и основных понятий нейронных сетей. Проектирование функциональной структуры автоматизированной системы построения нейросети обратного распространения ошибки, ее классов и интерфейсов. Описание периода "бета тестирования".
дипломная работа [3,0 M], добавлен 02.03.2010Принцип построения и описание прибора. Назначение и область применения спектрометра космических излучений на алмазных детекторах. Аппроксимация степенным многочленом. Математическая модель нейронной сети. Описание интерфейса программного комплекса.
дипломная работа [591,1 K], добавлен 03.09.2017Прогнозирование валютных курсов с использованием искусственной нейронной сети. Общая характеристика среды программирования Delphi 7. Существующие методы прогнозирования. Характеристика нечетких нейронных сетей. Инструкция по работе с программой.
курсовая работа [2,2 M], добавлен 12.11.2010Общие сведения о принципах построения нейронных сетей. Искусственные нейронные системы. Математическая модель нейрона. Классификация нейронных сетей. Правила обучения Хэбба, Розенблатта и Видроу-Хоффа. Алгоритм обратного распространения ошибки.
дипломная работа [814,6 K], добавлен 29.09.2014Разработка нейронной сети, ее применение в алгоритме выбора оружия ботом в трехмерном шутере от первого лица, тестирование алгоритма и выявление достоинств и недостатков данного подхода. Обучение с подкреплением. Описание проекта в Unreal Engine 4.
контрольная работа [611,0 K], добавлен 30.11.2016