Нейрон, нейронные сети, основные понятия
Нейрон (формальный, искусственный) —элементарный преобразующий элемент, как составная часть нейросети, в свою очередь, состоит из элементов трех типов и выполняет две основные функции — взвешенное суммирование и нелинейное пре образование. Элементы нейрона — умножители (синапсы), сумматор и нелинейный преобразователь. Синапсы осуществляют связь между нейронами, умножают входной сигнал (xj ) на число, характеризующее силу связи, — вес синапса ( wj ). Сумма тор выполняет сложение сигналов, поступающих по синаптическим связям от других нейронов и внешних входных сигналов. Нелинейный преобразователь выполняет нелинейную функцию одного аргумента — выхода сумматора. Таким образом, нейрон в целом реализует скалярную функцию векторного аргумента.
Функционирование нейрона можно разбить на два такта (в соответствии с двумя его функциями):
1. В сумматоре вычисляется величина возбуждения, полученного нейроном, (для простоты смещение w0 не учитывается).
2. Возбуждение пропускается через преобразующую (активационную) функцию f(•), в результате чего определяется выходной сигнал
На рис. 76.2 представлена укрупненная схема нейрона.
Рис. 6.2. Структурная схема нейрона
Наиболее часто используются следующие функции активации:
1. Пороговая (ступенчатая) функция где θ — порог срабатывания нейрона.
Концептуально каждый нейрон может рассматриваться, как ПРАВИЛО «ЕСЛИ (w, x) > θ и, ТО выдать импульс». Следует отметить, что, например, «небольшая» нейронная сеть для распознавания образов может содержать десятки миллионов нейронов. Обработка базы знаний, содержащей такое число правил, трудно реализуема даже на современных процессорах.
2. Сигмоидная ( логистическая )функция. Функция называется сигмоидной , если она ограничена по минимальному и максимальному значениям и имеет везде положительную производную. Кроме этого предполагается, что функция быстро сходится к верхнему пределу при s →+∞ и к нижнему при s →-∞. На пример, где а — параметр (а > 0), 0 < f ( s ) < 1.
График сигмоидной функции качественно близок к изображению передаточной характеристики биологического нейрона. Сигмоидная функция приближается к ступенчатой с порогом θ = 0 при a →+ ∞. Очевидно, пороговая функция более удобна при аппаратной реализации нейрона, тогда как сигмоидная функция предпочтительна в аналитических исследованиях, поскольку она монотонна, всюду дифференцируема и имеет непрерывные производные любого порядка. Так ,f’ = af (1-f).
3. Гиперболический тангенс f (s) = th ( as) = , -1<f(s)<1. Свойство не четности тангенса, а также то, что f (0), иногда оказывается очень удобным.
Таким образом, каждый нейрон характеризуется вектором весовых множителей и параметрами преобразующей функции. Нейрон способен получать сигналы и в зависимости от их интенсивности и собственных характеристик выдавать выход ной сигнал. При этом если выходной сигнал нейрона близок к единице, то говорят, что нейрон возбужден.
Под нейронной сетью обычно понимается структура, состоящая из связанных между собой нейронов, аксиоматическое определение которых было дано ранее. К настоящему времени предложено большое количество способов объединения нейронов в нейросеть (при этом говорят о «топологии» нейросети ).
Не ограничивая общности, можно считать, что нейроны в сети расположены слоями. Обычно выделяют входной слой, на который подается возбуждающий сигнал, выходной слой, с которого снимают переработанный сетью сигнал, а все остальные слои называют скрытыми (поскольку они не видны пользователю). Очевидно, что для адекватного решения задачи функционирования сети нужно правильно выбрать значения весов связей между нейронами — обучить сеть.
Возможны несколько типов классификации существующих нейросетей. Наиболее часто используются следующие:
- по типу входной информации:
· сети, анализирующие двоичную информацию;
· сети, оперирующие с действительными числами;
- по методу обучения:
· сети, которые для того чтобы удовлетворять поставленным критериям требуют предварительного обучения перед включением их в реальную обстановку, — модели с учителем;
· сети, не требующие предварительного обучения, способные самообучаться (совершенствовать свои характеристики) в процессе работы;
- по характеру распространения информации:
· однонаправленные сети, в которых информация распространяется только в одном направлении от одного слоя элементов к другому;
· рекуррентные сети, в которых выходной сигнал элемента может вновь по ступать на этот элемент и другие элементы сети этого же или предыдущих слоев в качестве входного сигнала (сети с обратными связями);
- по способу преобразования входной информации:
· автоассоциативные;
· гетероассоциативные.
Они отличаются следующим. На всей сети или на одном ее слое задаются в определенный момент времени исходные состояния нейронов x =(x1 , x2 ,…, xn ) то есть задается входной образ. Затем этот образ трансформируется в соответствии с функциями преобразования элементов. Информация распространяется по сети, происходит ее обработка. В однонаправленных сетях информация распространяется от слоя к слою, и выходной слой выдает результирующий вектор y =(y1 , y2 , …, ym ) . (В однослойных сетях происходит стабилизация сети в одном из состояний.) После этого считываются значения узлов сети, представляющих выходной вектор. Возможны два варианта:
· х ≠ у — гетероассоциативная сеть, осуществляющая отображение входного вектора х в выходной вектор у;
· входной вектор х представляет искаженный или сжатый образ эталона x >0 .
Такая сеть называется автоассоциативной.
Выходной вектор, получающийся в результате работы нейросети, характеризует состояние элементов сети. Смысл, который имеют значения этого вектора, определяется в зависимости от решаемой проблемы.
Решение задачи на нейрокомпьютере принципиально отличается от решения той же задачи на обычной ЭВМ. Решение задачи на обычной ЭВМ заключается в обработке вводимых данных в соответствии с априори разработанной и записанной в нее программой. Для составления программы необходимо разработать алгоритм, то есть определенную последовательность математических и логических действий, необходимых для решения этой задачи. Алгоритмы и программы разрабатываются людьми, а компьютер используется лишь для выполнения большого количества элементарных операций: сложения, умножения, проверки логических условий и т. п.
Нейрокомпьютер же используется как «черный ящик», который можно обучить решению задач из какого-нибудь класса. Нейрокомпьютеру «предъявляются» исходные данные задачи и ответ, который соответствует этим данным. Нейрокомпьютер должен сам построить внутри себя алгоритм решения этой задачи, чтобы выдать ответ, совпадающий с правильным . Естественно ожидать, что чем больше различных пар (исходные данные — ответ) будет предъявлено нейрокомпьютеру, тем более адекватную решаемой задаче модель он сформулирует. Более того, если после этапа обучения нейрокомпьютеру предъявить исходные данные, которых он раньше не встречал, то желательно, чтобы он, тем не менее, выдал правильное решение. В этом заключается способность нейрокомпьютера к обобщению. Поскольку в основе устройства нейрокомпьютера лежит искусственная нейросеть, то процесс обучения состоит в настройке параметров этой сети. При этом, как правило, топология сети считается неизменной, а к подстраиваемым параметрам обычно относятся параметры нейронов и величины синаптических весов. Обычно в литературе под обучением принято понимать процесс изменения весов связей между нейронами.
Классификация методов обучения нейронных сетей:
- по способу использования учителя:
· с учителем. Сети предъявляются примеры входных и выходных данных. Сеть преобразует входные данные и сравнивает свой выход с желаемым. После этого проводится коррекция весов с целью получить лучшую согласованность выходов;
· с последовательным подкреплением знаний. В этом случае сети не дается желаемое значение выхода, а только ставится оценка, хорош выход или плох;
· без учителя. Сеть сама вырабатывает правила обучения путем выделения оценочных признаков из набора входных данных;
- по использованию элементов случайности:
· детерминированные методы. В них шаг за шагом осуществляется процедура коррекции весов сети, основанная на использовании их текущих значений, входов сети, выходов нейронов и некоторой дополнительной информации, например значений желаемых выходов сети;
· стохастические методы. Они основываются на использовании случайных изменений весов в ходе обучения.