Нейронные сети

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

Следует, правда, четко осознавать, что могу нейронные сети и чего не могут. Если задача сводиться к тому, что на входе некий данные, которым должен каким-то волшебным образом соответствовать выходной набор данных по принципу Ключ->Значение, и требуется как раз найти Значение, то эти задачи решаются нейронными сетями. Например, распознавание образов, предсказание погоды или биржевых котировок. В данном случае тут как раз мы имеем дело с таким соответствием Ключ->Значение, и нам известен Ключ, но не известно значение. В случае, например, биржевых котировок в качестве Ключа выступают несколько предыдущих значений, а в качестве Значения — то что мы по ним предсказываем. Но совсем другое дело, когда нам, например, надо вычислить квадратный корень или составить план действий в какой-то определенной ситуации. Такие задачи нейросети не решает. То есть, нейросети не эффективны там, где нужен точный результат или где необходимы процедурные знания.

Нейронные сети  одно из перспективных направлений развития искусственного интеллекта. Здесь за основу взят принцип организации нервной системы живого существа. Теоретически, можно смоделировать даже мозг человека. Правда, практически это сделать в настоящее время не реально, так как мозг человека содержит 1011 нейронов. Каждый нейрон состоит из дендритов, сомы и аксонов.

Дендриты — это ветвеобразные отростки, которые обеспечивают сбор информации от других нейронов или рецепторов. Тело нервной клетки называется сома. В ней происходят сложные биохимические процессы, благодаря которым происходят сложные нелинейные преобразования сигналов. Аксон — это отросток клетки, по которому выходной сигнал поступает на дендриты. Он разделяется на множество волокон. Место соединения аксонов с дендритом называется синапс.

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

При построении искусственной нейронной сети (ИНС), данную модель, как правило упрощают. В настоящее время существуют несколько моделей нейронов. И так, рассмотрим модель Маккаллоха и Питтса:

которая выражается формулой:

где g() — функция преобразования нейрона, θi — пороговое значение, n — количество входов нейрона. Для модели нейронной сети Маккаллоха — Питтса функцию g() можно выразить формулой:

Эта функция так же называется функцией Хэвисайда H(u).

Таким образом, если сумма входов, помноженных на коэффициенты, превышает  θ, то на выходе нейрона мы получим 1, в противном случае 0. Стоит заметить, что выходной сигнал нейрона может меняться только в дискретные моменты времени.

Функция, определяющая способ объединения входных признаков называется сетевой или базовой функцией. Она обозначается net. Сейчас мы разобрали лишь частный случай такой функции:

На самом деле, сетевые функции и функции преобразования нейрона могут быть разные, например, квадратичная сетевая

Радиальная:

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

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

линейная функция с насыщением:

Сигмоидная функция:

и, наконец, гауссова функция:

где c и σ — постоянные коэффициенты.

Если сетевая функция линейная, а функция преобразования ступенчатая или знаковая, то такие нейроны называются  линейные, а нейросети на их основе нейронными сетями с линейными пороговыми элементами. Сигналы, распространяемые в таких сетях, являются бинарными и могут быть 0 или 1, либо +1 и -1. Если сетевая функция линейная, а функция преобразования сигмовидная (биполярная или униполярная), то такие нейросети называются нейронные сети с линейно-непрерывными элементами. Сигналы в них принимают произвольные значения от 0 до 1 или от -1 до 1.

Рассмотрим пример. Пусть у нас есть пороговый нейрон с порогом равным 2, а весовые коэффициенты 1. Такой нейрон будет выполнять функцию «И» (для случая ступенчатой функции преобразования)

X1 0 0 1 1
X2 0 1 0 1
Y 0 0 0 1

А если у того же нейрона пороговое значение поставить 1, то это будет уже функция ИЛИ:

X1 0 0 1 1
X2 0 1 0 1
Y 0 1 1 1

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

Comments

So empty here ... leave a comment!

Добавить комментарий

Sidebar