Математическая модель нейрона




На сегодняшний день существует множество моделей нейрона, которые различаются вычислительной сложностью и степенью сходства с живым нейроном. Рассмотрим здесь классическую модель, называемую «формальный нейрон».

Рис. Формальный нейрон

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

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

Введем следующие обозначения:

– значение входного сигнала,

Ɵ – пороговый уровень нейрона,

- весовой коэффициент нейрона (данное значение часто называют весом, силой связи или весом соединения),

F – функция активации, которая осуществляет преобразование.

y – выходное значение нейрона.

Множество, состоящее из порогового уровня и всех весов, называют параметрами нейрона. Аналогично, параметрами сети называют множество параметров всех составляющих ее нейронов.

В этих обозначениях выход нейрона определяется следующей формулой:

Существует модификация формального нейрона без порогового уровня. В этом случае к нейрону добавляется еще один входной канал (пусть его номер равен k), причем =1 для любого входного сигнала, а =-Ɵ. Очевидно, что эти модели эквивалентны:

Недостатки модели формального нейрона

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

· Формальные нейроны, в отличие от биологических, не могут обрабатывать информацию синхронно.

· Нет четких алгоритмов выбора функции активации.

· Невозможно регулировать работу всей сети.

· Излишняя формализация понятий «порог» и «весовые коэффициенты». У реальных нейронов порог меняется динамически, в зависимости от активности нейрона и общего состояния сети, а весовые коэффициенты изменяются в зависимости от проходящих сигналов.

Однослойный перцептрон

Один нейрон может выполнять простейшие вычисления, но основные функции нейросети обеспечиваются не отдельными нейронами, а соединениями между ними. Однослойный перцептрон (от англ. «perceptron»; помимо термина «перцептрон» в русскоязычной литературе часто используется термин «персептрон») представляет собой простейшую сеть, которая состоит из группы нейронов, образующих слой. Входные данные кодируются вектором значений X=(, …, ), каждый элемент подается на соответствующий вход каждого нейрона в слое. В свою очередь, нейроны вычисляют вход независимо друг от друга. Очевидно, что размерность выхода (то есть количество элементов) равна количеству нейронов, а количество синапсов у всех нейронов должно быть одинаково и совпадать с размерностью входного сигнала.

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

Рис. Однослойный перцептрон

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

Многослойный перцептрон способен рассчитать выходное значение Y для входного значения X. Другими словами, сеть вычисляет значение некоторой векторной функции Y=F(X). Таким образом, условие задачи, которая ставится перцептрону, должно быть сформулировано в виде множества векторов { , …, }. Решение задачи будет представлено в виде векторов { , …, }, причем для s =F().

Все, что способен сделать перцептрон, - сформировать отображение F: X Y для x X. Мы не можем «извлечь» из перцептрона данное отображение полностью, а можем только посчитать образы произвольного числа точек.

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

Чтобы построить многослойный перцептрон, необходимо выбрать его параметры по следующему алгоритму:

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

· Выбрать выходной вектор Y таким образом, чтобы его компоненты содержали полный ответ для поставленной задачи.

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

· Выбрать количество слоев и нейронов в слое.

· Задать диапазон изменения входов, выходов, весов и пороговых уровней на основе выбранной функции активации.

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

· Провести обучение, то есть подобрать параметры сети так, чтобы задача решалась наилучшим образом. По окончании обучения сеть сможет решать задачи того типа, которым она обучена.

· Подать на вход сети условия задачи в виде вектора X. Рассчитать выходной вектор Y, который и даст формализованное решение задачи.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2022-11-01 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: