Имания предоставляется доклад, который затрагивает одну из интересных ветвей развития современной вычислительной техники это нейросистемы и нейропредставления

Вид материалаДоклад

Содержание


Краткий исторический обзор
Модели ИНС
Рис.1 Искусственный нейрон
3. Пороговая линейная функция
Некоторые задачи решаемые с помощью ИНС
Классификация образов
Системы обнаружения атак
Подобный материал:
Введение.

Вашему внимания предоставляется доклад, который затрагивает одну из интересных ветвей развития современной вычислительной техники – это нейросистемы и нейропредставления.

Нейрокомпьютинг - это научное направление, занимающееся разработкой нейрокомпьютеров, которые состоят из большого числа параллельно работающих простых вычислительных элементов (нейронов). Элементы связаны между собой, образуя нейронную сеть. Они выполняют единообразные вычислительные действия и не требуют внешнего управления. Большое число параллельно работающих вычислительных элементов обеспечивают высокое быстродействие.

В настоящее время разработка нейрокомпьютеров ведется в большинстве промышленно развитых стран. Нейрокомпьютеры позволяют с высокой эффективностью решать целый ряд "интеллектуальных" задач. Это задачи распознавания образов, адаптивного управления, прогнозирования, диагностики и т.д.

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

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

Толчком к развитию нейрокомпьютинга послужили биологические исследования. По данным нейробиологии нервная система человека и животных состоит из отдельных клеток - нейронов. В мозге человека их число достигает 1010 -1012 . Каждый нейрон связан с 103 -104 другими нейронами и выполняет сравнительно простые действия. Время срабатывания нейрона - 2-5 мс. Совокупная работа всех нейронов обуславливает сложную работу мозга, который в реальном времени решает сложнейшие задачи.

Отличия нейрокомпьютеров от вычислительных устройств предыдущих поколений:


1.Параллельная работа очень большого числа простых вычислительных устройств обеспечивает огромное быстродействие.

2.Нейронная сеть способна к обучению, которое осуществляется путем настройки параметров сети.

3.Высокая помехо- и отказоустойчивость нейронных сетей.

4.Помехоустойчивость.

5.Простое строение отдельных нейронов позволяет использовать новые физические принципы обработки информации для аппаратных реализаций нейронных сетей.

Краткий исторический обзор

Исследования в области ИНС пережили три периода активизации. Первый пик в 40-х годах обусловлен пионерской работой МакКаллока и Питтса [4]. Второй возник в 60-х благодаря теореме сходимости перцептрона Розенблатта [5] и работе Минского и Пейперта [6], указавшей ограниченные возможности простейшего перцептрона. Результаты Минского и Пейперта погасили энтузиазм большинства исследователей, особенно тех, кто работал в области вычислительных наук. Возникшее в исследованиях по нейронным сетям затишье продлилось почти 20 лет. С начала 80-х годов ИНС вновь привлекли интерес исследователей, что связано с энергетическим подходом Хопфилда [7] и алгоритмом обратного распространения для обучения многослойного перцептрона (многослойные сети прямого распространения), впервые предложенного Вербосом [8] и независимо разработанного рядом других авторов. Алгоритм получил известность благодаря Румельхарту [9] в 1986году Андерсон и Розенфельд [10] подготовили подробную историческую справку о развитии ИНС.

Модели ИНС


Модели НС могут быть программного и аппаратного исполнения. В дальнейшем речь пойдет в основном о первом типе.

Несмотря на существенные различия, отдельные типы НС обладают несколькими общими чертами.




Рис.1 Искусственный нейрон
Во-первых, основу каждой НС составляют относительно простые, в большинстве случаев – однотипные, элементы (ячейки), имитирующие работу нейронов мозга. Далее под нейроном будет подразумеваться искусственный нейрон, то есть ячейка НС. Каждый нейрон характеризуется своим текущим состоянием по аналогии с нервными клетками головного мозга, которые могут быть возбуждены или заторможены. Он обладает группой синапсов – однонаправленных входных связей, соединенных с выходами других нейронов, а также имеет аксон – выходную связь данного нейрона, с которой сигнал (возбуждения или торможения) поступает на синапсы следующих нейронов. Общий вид нейрона приведен на рисунке 1. Каждый синапс характеризуется величиной синаптической связи или ее весом wi, который по физическому смыслу эквивалентен электрической проводимости.

Текущее состояние нейрона определяется, как взвешенная сумма его входов. Выход нейрона есть функция его состояния. Классифицировать его можно следующем образом.

Нейрон переводит произвольную X(t) в ограниченный сигнал S(x(t)).

Функция S - активационная или сигнальная функция.

Самая распространенная - логистическая сигнальная функция.

Существующие сигнальные функции (СФ).

1. Логистическая СФ (The logistic signal unction) - монотонно возрастающая функция

2. Гиперболический тангенс- монотонно возрастающая функция; S < 1

3. Пороговая линейная функция (Thresholt Linear Fun)

4. Экспоненциально распределенная функция (Exponential - Distribution Fun)Для x > 0-монотонно возрастающая функция

5.Полиномиальная функция (The Ratio Polynomial Signat Fun)

6.Импульсно-кодовая СФ

В качестве примера простейшей НС рассмотрим трехней­ронный перцептрон (рис.3), то есть такую сеть, нейроны которой имеют активационную функцию в виде единичного скачка* . На n входов поступают некие сигналы, проходящие по синапсам на 3 нейрона, образующие единственный слой этой НС и выдающие три выходных сигнала:

, j=1...3 (5)

Типология и классификация нейросетей.

1 Многослойный перцептрон

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

2 RBF-сети

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

3. Сеть Хопфилда

Хопфилд использовал функцию энергии как инструмент для построения рекуррентных сетей и для понимания их динамики

Метод аппроксимации плотности вероятности с помощью ядерных функций во многом похож на метод радиальных базисных функций, и таким образом мы естественно приходим к понятиям вероятностной нейронной сети (PNN) и обобщенно-регрессионной нейронной сети (GRNN) (Speckt 1990, 1991). PNN-сети предназначены для задач классификации, а GRNN - для задач регрессии. Сети этих двух типов представляют собой реализацию методов ядерной аппроксимации, оформленных в виде нейронной сети.

Сеть PNN имеет по меньшей мере три слоя: входной, радиальный и выходной. Радиальные элементы берутся по одному на каждое обучающее наблюдение. Каждый из них представляет гауссову функцию с центром в этом наблюдении. Каждому классу соответствует один выходной элемент. Каждый такой элемент соединен со всеми радиальными элементами, относящимися к его классу, а со всеми остальными радиальными элементами он имеет нулевое соединение. Таким образом, выходной элемент просто складывает отклики всех элементов, принадлежащих к его классу.

4.Обобщенно-регрессионная нейронная сеть

Обобщенно-регрессионная нейронная сеть (GRNN) устроена аналогично вероятностной нейронной сети (PNN), но она предназначена для решения задач регрессии, а не классификации (Speckt, 1991; Patterson, 1996; Bishop, 1995). Как и в случае PNN-сети, в точку расположения каждого обучающего наблюдения помещается гауссова ядерная функция. Мы считаем, что каждое наблюдение свидетельствует о некоторой нашей уверенности в том, что поверхность отклика в данной точке имеет определенную высоту, и эта уверенность убывает при отходе в сторону от точки. GRNN-сеть копирует внутрь себя все обучающие наблюдения и использует их для оценки отклика в произвольной точке. Окончательная выходная оценка сети получается как взвешенное среднее выходов по всем обучающим наблюдениям, где величины весов отражают расстояние от этих наблюдений до той точки, в которой производится оценивание (и, таким образом, более близкие точки вносят больший вклад в оценку).

Первый промежуточный слой сети GRNN состоит из радиальных элементов. Второй промежуточный слой содержит элементы, которые помогают оценить взвешенное среднее. Для этого используется специальная процедура. Каждый выход имеет в этом слое свой элемент, формирующий для него взвешенную сумму. Чтобы получить из взвешенной суммы взвешенное среднее, эту сумму нужно поделить на сумму весовых коэффициентов. Последнюю сумму вычисляет специальный элемент второго слоя. После этого в выходном слое производится собственно деление (с помощью специальных элементов "деления").


5.Линейная сеть

Согласно общепринятому в науке принципу, если более сложная модель не дает лучших результатов, чем более простая, то из них следует предпочесть вторую. В терминах аппроксимации отображений самой простой моделью будет линейная, в которой подгоночная функция определяется гиперплоскостью. В задаче классификации гиперплоскость размещается таким образом, чтобы она разделяла собой два класа (линейная дискриминантная функция); в задаче регрессии гиперплоскость должна проходить через заданные точки. Линейная модель обычно записывается с помощью матрицы NxN и вектора смещения размера N.

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


Для конструирования процесса обучения, прежде всего, необходимо иметь модель внешней среды, в которой функционирует нейронная сеть - знать доступную для сети информацию. Эта модель определяет парадигму обучения [3]. Во-вторых, необходимо понять, как модифицировать весовые параметры сети - какие правила обучения управляют процессом настройки. Алгоритм обучения означает процедуру, в которой используются правила обучения для настройки весов.

Существуют три парадигмы обучения: "с учителем", "без учителя" (самообучение) и смешанная. В первом случае нейронная сеть располагает правильными ответами (выходами сети) на каждый входной пример. Веса настраиваются так, чтобы сеть производила ответы как можно более близкие к известным правильным ответам. Усиленный вариант обучения с учителем предполагает, что известна только критическая оценка правильности выхода нейронной сети, но не сами правильные значения выхода. Обучение без учителя не требует знания правильных ответов на каждый пример обучающей выборки. В этом случае раскрывается внутренняя структура данных или корреляции между образцами в системе данных, что позволяет распределить образцы по категориям. При смешанном обучении часть весов определяется посредством обучения с учителем, в то время как остальная получается с помощью самообучения.

Некоторые задачи решаемые с помощью ИНС



Представим некоторые проблемы, решаемые в контексте ИНС и представляющие интерес для ученых и инженеров.


Классификация образов. Задача состоит в указании принадлежности входного образа (например, речевого сигнала или рукописного символа), представленного вектором признаков, одному или нескольким предварительно определенным классам. К известным приложениям относятся распознавание букв, распознавание речи, классификация сигнала электрокардиограммы, классификация клеток крови.


Кластеризация/категоризация. При решении задачи кластеризации, которая известна также как классификация образов "без учителя", отсутствует обучающая выборка с метками классов. Алгоритм кластеризации основан на подобии образов и размещает близкие образы в один кластер. Известны случаи применения кластеризации для извлечения знаний, сжатия данных и исследования свойств данных.

  • Аппроксимация функций.
  • Предсказание/прогноз.
  • Оптимизация.
  • Память, адресуемая по содержанию.
  • Управление. Рассмотрим динамическую систему, заданную совокупностью {u(t), y(t)}, где u(t) является входным управляющим воздействием, а y(t) - выходом системы в момент времени t. В системах управления с эталонной моделью целью управления является расчет такого входного воздействия u(t), при котором система следует по желаемой траектории, диктуемой эталонной моделью. Примером является оптимальное управление двигателем. Одной из частных задач распознования и прогнозирования я вляется задача идентификации пользователя компьютерной сети по его отпечатку.

Схемы обнаружения атак можно разделить на две категории: обнаружение злоупотреблений и обнаружение аномалий. К злоупотреблениям относятся известные атаки, которые используют известные уязвимости системы. Аномалии означают любую необычную деятельность, которая может указывать на атаку. Если наблюдаемая деятельность пользователя не соответствует ожидаемому режиму работы, то говорят, что имеет место аномалия.

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

Такую модель трудно создать по тем же самым причинам, как трудно создать исчерпывающую систему обнаружения злоупотреблений: невозможно предусмотреть все возможные вариации такого поведения. Задача может решаться тремя путями: (1) Вместо санкционированного поведения многих пользователей может быть смоделировано поведение индивидуальных пользователей в конкретной системе. Задача описания регулярных шаблонов режима работы индивидуального пользователя является более легкой задачей, чем попытка решить ее для всех пользователей одновременно. (2) Шаблоны поведения могут изучаться на примерах санкционированного использования, вместо ручного описания возможных вариантов поведения. (3) Обнаружение атаки в реальном масштабе времени, когда пользователь набирает команды, является очень трудной задачей, потому что порядок команд может изменяться довольно сильно. Во многих случаях вполне достаточно обнаружить, что в течение одной сессии или даже в течение всего дня от пользователя исходят команды, отличные от обычных.

Система, представленная в этой статье, NNID (нейросетевой детектор атак - Neural Network Intrusion Detector), опирается на эти три идеи. NNID – это механизм, использующий нейросеть с обратным распространением, наученный идентифицировать пользователей на основе команд, которыми они пользуются в течение дня. Системный администратор запускает NNID в конце каждого дня, чтобы посмотреть соответствуют или нет сессии пользователей шаблону нормальной активности. Если нет, необходимо провести соответствующее исследование. Модель NNID реализована в UNIX-среде и состоит из хранящихся регистрационных записей исполняемых команд, формирующих гистограммы команд для каждого пользователя, она исследует профили пользователей из этих гистограмм. NNID предоставляет элегантное решение для автономного (off-line) мониторинга с использованием таких пользовательских профилей. В системе из 10 пользователей точность системы NNID составляла 96% при обнаружении аномального поведения; ложные уведомления об опасности составили 7%. Эти результаты показывают, что обучение систем автономного мониторинга, таких как NNID, может достичь более высокой эффективности, чем системы, которые пытаются обнаружить аномалии в онлайновом режиме по последовательности команд, и с точки зрения вычислений это менее трудоемкий процесс.

В остальной части статьи описываются другие подходы к обнаружению атак, и более детально обосновывается NNID-подход (2 и 3 параграфы), представляется реализация и оценка на реальной компьютерной системе (параграфы 4 и 5), и описываются некоторые оставшиеся вопросы и направления дальнейших исследований (параграф 6).

Системы обнаружения атак

Многие системы обнаружения злоупотреблений и аномалий (IDS) основаны на общей модели, предложенной Деннингом (Denning) в 1987. Эта модель не зависит от платформы, уязвимостей системы и типа атаки. Она поддерживает набор профилей для пользователей, согласовывает записи подсистемы аудита с соответствующим профилем, обновляет профиль, когда это необходимо, и сообщает о любых обнаруженных аномалиях. Другой компонент, набор правил, используется для обнаружения злоупотреблений.

Предлагалось несколько IDS, которые используют нейросети для обнаружения атак в реальном режиме времени (Debar и другие, 1992; Fox и другие, 1990). Эти систему обучены предсказывать следующую команду на основе последовательности предшествующих команд конкретного пользователя. Через перемещаемое окно (shifting window) сеть получает самые последние команды в качестве своих входных данных. Сеть является рекуррентной, то есть, часть выходных данных подается обратно в качестве входных данных для следующего этапа; таким образом, сеть постоянно наблюдает за новыми тенденциями и с течением времени "забывает" о старом режиме. Размер окна является важным параметром: если он слишком мал, то появится много ложных уведомлений об опасности, если слишком большой, то, возможно, что сеть будет не очень хорошо обобщать новые последовательности. Самые последние версии таких систем (Debar и другие, 1992) могут прогнозировать следующую команду приблизительно в 80% случаев, и принимать команду в качестве предсказанной (среди трех наиболее вероятных следующих команд) в 90% случаев.

NNID-система

Система обнаружения аномалий NNID основана на идентификации авторизованного пользователя, на основе распределения команд, которые он выполняет. Это является оправданным, потому что различные пользователи имеют тенденцию использовать различные режимы работы в зависимости от своих потребностей в системе. Некоторые используют систему только для отправки и получения писем, и не пользуются такими услугами, как программирование и компиляция. Некоторые используют все виды деятельности, включая редактирование, программирование, отправку-прием писем, работу в Internet и т.д. Однако, даже два пользователя, которые делают одно и то же, возможно, не будут использовать одну и ту же прикладную систему (очень спорное замечание - примечание переводчика). Например, некоторые пользователи, возможно, предпочтут использовать “vi”-редактор, а не “emacs” или почтовую программу “pine” вместо “elm”, или предпочтут при написании программ на языке "С" более часто пользоваться компилятором “gcc”, а не “cc”. Кроме того, частота использования одной и той же команды может изменяться от пользователя к пользователю. Набор используемых команд и их частота, таким образом, образуют "отпечаток" пользователя, отражая выполняемую задачу и выбор прикладных программ, и на основе этой информации становится возможным идентифицировать пользователя.

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

Построение NNID для конкретной вычислительной системы состоит из следующих трех фаз:

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

Было записано число раз, когда пользователь выполнял каждую из этих команд в течение дня, и все это было представлено на карте в нелинейном масштабе из 11 интервалов, и преобразовано в 100-мерный входной вектор, представляющий шаблон поведения данного пользователя в данный день.
  1. Обучение. Обучение нейросети идентифицировать пользователя на основе этих векторов распределения команд.
  2. Характеристика: Предположим, что сеть идентифицирует пользователя для каждого нового вектора распределения команд. Если предположение сети отличается от действительного пользователя или сеть не имеет ясного представления, значит, имеет место аномалия.




*