Рис. 3.4. Сигмоидальная логистическая функция
Другой широко используемой активационной функцией является гиперболический тангенс. По форме она сходна с логистической функцией и часто используется биологами в качестве математической модели активации нервной клетки [9]. В качестве активационной функции искусственной нейронной сети она записывается следующим образом:
.
Рис. 3.5. Функция гиперболического тангенса
Подобно логистической функции гиперболический тангенс является S-образной функцией, но он симметричен относительно начала координат, и в точке NET = 0 значение выходного сигнала OUT равно нулю (рис. 3.5). В отличие от логистической функции гиперболический тангенс принимает значения различных знаков, что оказывается выгодным для ряда сетей [74].
Рассмотренная простая модель искусственного нейрона игнорирует многие свойства своего биологического двойника. Например, она не принимает во внимание задержки во времени, которые воздействуют на динамику системы [75]. Входные сигналы сразу же порождают выходной сигнал. И, что более важно, она не учитывает воздействий функции частотной модуляции или синхронизирующей функции биологического нейрона, которые ряд исследователей считают решающими.
Несмотря на эти ограничения, сети, построенные из этих нейронов, обнаруживают свойства, сильно напоминающие биологическую систему. Только время и исследования смогут ответить на вопрос, являются ли подобные совпадения случайными или следствием того, что в модели верно схвачены важнейшие черты биологического нейрона.
В качестве научного предмета искусственные нейронные сети впервые заявили о себе в 40-е годы. Стремясь воспроизвести функции человеческого мозга, исследователи создали простые аппаратные (а позже программные) модели биологического нейрона и системы его соединений. Когда нейрофизиологи достигли более глубокого понимания нервной системы человека, эти ранние попытки стали восприниматься как весьма грубые аппроксимации. Тем не менее на этом пути были достигнуты впечатляющие результаты, стимулировавшие дальнейшие исследования, приведшие к созданию более изощренных сетей [82].
Рис. 3.6. Персептронный нейрон
Первое систематическое изучение искусственных нейронных сетей было предпринято Маккалокком и Питтсом в 1943 г. [21]. Позднее в работе [42] они исследовали сетевые парадигмы для распознавания изображений, подвергаемых сдвигам и поворотам. Простая нейронная модель, показанная на рис. 3.6, использовалась в большей части их работы. Элемент Σ умножает каждый вход х на вес w и суммирует взвешенные входы. Если эта сумма больше заданного порогового значения, выход равен единице, в противном случае – нулю. Эти системы (и множество им подобных) получили название персептронов. Они состоят из одного слоя искусственных нейронов, соединенных с помощью весовых коэффициентов с множеством входов (рис. 3.7), хотя в принципе описываются и более сложные системы.
В 60-е годы персептроны вызвали большой интерес и оптимизм. Розенблатт [48] доказал замечательную теорему об обучении персептронов, объясняемую ниже. Уидроу [49-51] дал ряд убедительных демонстраций систем персептронного типа, и исследователи во всем мире стремились изучить возможности этих систем. Первоначальная эйфория сменилась разочарованием, когда оказалось, что персептроны не способны обучиться решению ряда простых задач. Минский [34] строго проанализировал эту проблему и показал, что имеются жесткие ограничения на то, что могут выполнять однослойные персептроны, и, следовательно, на то, чему они могут обучаться. Так как в то время методы обучения многослойных сетей не были известны, исследователи перешли в более многообещающие области, и исследования в области нейронных сетей пришли в упадок. Недавнее открытие методов обучения многослойных сетей в большей степени, чем какой-либо иной фактор, повлияло на возрождение интереса и исследовательских усилий.
Работа Минского, возможно, и охладила пыл энтузиастов персептрона, но обеспечила время для необходимой консолидации и развития лежащей в основе теории. Важно отметить, что анализ Минского не был опровергнут. Он остается важным исследованием и должен изучаться, чтобы ошибки 60-х годов не повторились [34].
Рис. 3.7. Персептрон со многими выходами
Несмотря на свои ограничения персептроны широко изучались (хотя не слишком широко использовались). Теория персептронов является основой для многих других типов искусственных нейронных сетей, и персептроны иллюстрируют важные принципы. В силу этих причин они являются логической исходной точкой для изучения искусственных нейронных сетей.
Для дальнейшего проектирования нейронной сети необходимо выбрать базовую модель сети, характеризующуюся количеством нейронных слоев, связями в этих слоях и используемой активационной функцией. Существуют несколько подходов в решении данного вопроса.
Хотя один нейрон и способен выполнять простейшие процедуры распознавания, сила нейронных вычислений проистекает от соединений нейронов в сетях. Простейшая сеть состоит из группы нейронов, образующих слой, как показано в правой части рис. 3.8.
Рис. 3.8. Однослойная нейронная сеть
Отметим, что вершины-круги слева служат лишь для распределения входных сигналов. Они не выполняют каких-либо вычислений, и поэтому не будут считаться слоем. По этой причине они обозначены кругами, чтобы отличать их от вычисляющих нейронов, обозначенных квадратами. Каждый элемент из множества входов Х отдельным весом соединен с каждым искусственным нейроном. А каждый нейрон выдает взвешенную сумму входов в сеть. В искусственных и биологических сетях многие соединения могут отсутствовать, все соединения показаны в целях общности. Могут иметь место также соединения между выходами и входами элементов в слое [9].
Удобно считать веса элементами матрицы W. Матрица имеет т строк и п столбцов, где m – число входов, а n – число нейронов. Например, w2,3 – это вес, связывающий третий вход со вторым нейроном. Таким образом, вычисление выходного вектора N, компонентами которого являются выходы OUT нейронов, сводится к матричному умножению N = XW, где N и Х – векторы-строки.
Более крупные и сложные нейронные сети обладают, как правило, и большими вычислительными возможностями. Хотя созданы сети всех конфигураций, какие только можно себе представить, послойная организация нейронов копирует слоистые структуры определенных отделов мозга. Оказалось, что такие многослойные сети обладают большими возможностями, чем однослойные, и в последние годы были разработаны алгоритмы для их обучения [75].
Рис. 3.9. Двухслойная нейронная сеть
Многослойные сети могут образовываться каскадами слоев. Выход одного слоя является входом для последующего слоя. Подобная сеть показана на рис. 3.9 и снова изображена со всеми соединениями.
Многослойные сети не могут привести к увеличению вычислительной мощности по сравнению с однослойной сетью лишь в том случае, если активационная функция между слоями будет нелинейной. Вычисление выхода слоя заключается в умножении входного вектора на первую весовую матрицу с последующим умножением (если отсутствует нелинейная активационная функция) результирующего вектора на вторую весовую матрицу [82]:
.
Это показывает, что двухслойная линейная сеть эквивалентна одному слою с весовой матрицей, равной произведению двух весовых матриц. Следовательно, любая многослойная линейная сеть может быть заменена эквивалентной однослойной сетью. Поэтому однослойные сети весьма ограниченны по своим вычислительным возможностям. Таким образом, для расширения возможностей сетей по сравнению с однослойной сетью необходима нелинейная активационная функция [82].
Так как проблема обнаружения вторжений и атак сводится к задачам либо распознавания атак, либо кластеризации, которые не возможно описать линейными зависимостями, то из выше изложенного следует целесообразность применения многослойных нейронных сетей с нелинейными активационными функциями. Такими сетями являются сети, построенные по модели многослойного персептрона.
Из выше приведенного имеем входной
вектор
,
состоящий из девяти элементов, где
координаты
целые
натуральные числа. Основываясь на модели
многослойного полносвязного персептрона,
построим нейронную сеть, состоящую из
девяти входных элементов, двух скрытых
слоев, с шестью и четырьмя элементами
соответственно, и выходным слоем из
двух элементов. Данная структура
отображена на рис. 3.10.
Рис. 3.10. Многослойный полносвязный персептрон
Но в процессе предварительного тестирования данная сеть не дала желаемого результата. А именно она не смогла классифицировать признаки, подаваемые на ее вход, из-за малой вычислительной мощности. Поэтому в дальнейшем был предложен для построения модели модифицированный метод многослойного персептрона. Он основан на ядерной структуре сети. Принципиальной особенностью построения ядерных сетей является независимость рецепторных полей нейронных ядер, т.е. рецепторные поля нейронных ядер не пересекаются. На рис. 3.11 а) показан пример нейронной сети с ядерной организацией, а на рис. 3.11 б) соответствующая структурная модель.
Рис. 3.11. а) Нейронная сеть с ядерной организацией,
б) структурная модель ядерной сети
Любая конкретная реализация нейронной сети связана с некоторым “пространственным размещением” нейронных ядер. Систему “пространственных координат” можно задать, определив линейные порядки на множестве рецепторов и множестве аксонов нейронной сети. Например, в слое m можно присвоить каждому рецептору порядковый номер
,
а каждому аксону (нейрону) порядковый номер
,
где N– полное число
рецепторов в слое, а M–
полное число нейронов в слое. Для каждого
нейронного ядра
с
числом рецепторов
и числом нейронов
определим локальные порядки на
соответствующих подмножествах рецепторов
и нейронов. С этой целью введем порядковые
номера
.
Будем называть топологией нейронного ядра пару числовых отображений:
,