В центральной нервной системе человека насчитывается от 100 до 1000 типов нервных клеток, в зависимости выбранной степени детализации. Они отличаются картиной дендритов, наличием и длиной аксона и распределением синапсов около клетки.
Клетки сильно связаны между собой. У нейрона может быть больше 1000 синапсов. Близкие по функциям клетки образуют скопления, шаровидные или параллельные слоистые. В мозгу выделены сотни скоплений. Кора головного мозга – тоже скопление. Толщина коры — 2 мм, площадь — около квадратного фута.
Нервный импульс (спайк) – процесс распространения возбуждения по аксону от тела клетки (аксонного холмика) до окончания аксона. Это основная единица информации, передаваемая по волокну, поэтому модель генерации и распространения нервных импульсов (НИ) — одна из важнейших в теории НС.
Импульсы по волокну передаются в виде скачков потенциала внутриклеточной среды по отношению к внешней среде, окружающей клетку. Скорость передачи – от 1 до 100 м/с. Для миелинизированных волокон скорость передачи примерно в 5 – 10 раз выше, чем для немиелинизированных.
При распространении форма спайка не меняется. Импульсы не затухают. Форма спайка фиксирована, определяется свойствами волокна и не зависит от того, каким способом создан импульс.
При воздействии вспышек света постоянной длительности и различной интенсивности вырабатывались импульсы в соответствующем зрительном волокне. Было определено, что от интенсивности света зависит не амплитуда импульсов и их форма, а плотность и общее количество.
Несмотря на большое разнообразие вариантов нейронных сетей, все они имеют общие черты. Так, все они, так же, как и мозг человека, состоят из большого числа связанных между собой однотипных элементов – нейронов, которые имитируют нейроны головного мозга. На рисунке показана схема нейрона.
Из рисунка видно, что искусственный нейрон, так же, как и живой, состоит из синапсов, связывающих входы нейрона с ядром; ядра нейрона, которое осуществляет обработку входных сигналов и аксона, который связывает нейрон с нейронами следующего слоя. Каждый синапс имеет вес, который определяет, насколько соответствующий вход нейрона влияет на его состояние. Состояние нейрона определяется по формуле:
S = ånxiwi,
где
n – число входов нейрона;
xi – значение i-го входа нейрона;
wi – вес i-го синапса.
Затем определяется значение аксона нейрона по формуле
Y = f(S),
где f – некоторая функция, которая называется активационной.
Самая простая интерпретация выработки сигнала в аксон – сравнение суммарного возбуждения с некоторым пороговым значением. Исходя из этой интерпретации, искусственный нейрон будет иметь схему, показанную на рисунке 3.
Рисунок3 - Элементы схемы нейрона
Наиболее часто в качестве активационной функции используется так называемый сигмоид, который имеет следующий вид:
.Основное достоинство этой функции в том, что она дифференцируема на всей оси абсцисс и имеет очень простую производную:
f '(s) = af(s)(1 – f(s)).
При уменьшении параметра a сигмоид становится более пологим, вырождаясь в горизонтальную линию на уровне 0,5 приa=0. При увеличении a сигмоид все больше приближается к функции единичного скачка.
Нейроны в сети могут соединяться регулярным или случайным образом. Работа сети разделяется на обучение и тестирование.
Под обучением понимается процесс адаптации сети к предъявляемым эталонным образам путем модификации (в соответствии с тем или иным алгоритмом) весовых коэффициентов связей между нейронами.
Тестирование – это работа сети при подаче входного возбуждения (образа для распознавания) и неизменных весовых коэффициентах. Если сеть работает правильно, то подаваемое на вход возбуждение должно вызывать появление на выходе той реакции, на которую сеть была обучена, и при этом сеть должна стабилизироваться.
Свойства нейронной сети зависят от следующих факторов:
- модели нейронов;
- структуры сети;
- алгоритма обучения;
- порядка предъявления сети эталонных образов;
- характера самих эталонов.
Искусственные нейронные сети могут иметь слоистую структуру.
Слой, воспринимающий внешнее раздражение, называют рецепторным. Как правило, он служит для распределения сигналов на другие слои и никакой вычислительной работы не выполняет.
Слой, с которого снимается реакция сети, называется эффекторным.
Слои, находящиеся между этими двумя, называются скрытыми.
Связи между слоями в направлении от рецепторного слоя к эффекторному, называются прямыми, а с противоположным направлением – обратными.
Самым распространенным видом сети стал многослойный персептрон.В многослойном персептроне (МСП) нет обратных связей. Такие модели называются сетями прямого распространения. Они не обладают внутренним состоянием и не позволяют без дополнительных приемов моделировать развитие динамических систем.
Функция активации «жесткая ступенька» используется в классическом формальном нейроне:
┌ 0, x < θ;
f(x) = ┤
└ 1, x ≥ θ.
Функция вычисляется двумя - тремя машинными инструкциями, поэтому нейроны с такой нелинейностью требуют малых вычислительных затрат. Эта функция чрезмерно упрощена и не позволяет моделировать схемы с непрерывными сигналами.
Сеть состоит из произвольного количества слоев нейронов. Нейроны каждого слоя соединяются с нейронами предыдущего и последующего слоев по принципу "каждый с каждым". Количество нейронов в слоях может быть произвольным. Обычно во всех скрытых слоях одинаковое количество нейронов. Существует путаница с подсчетом количества слоев в сети. Входной слой не выполняет никаких вычислений, а лишь распределяет входные сигналы, поэтому иногда его считают, иногда — нет.
Каждый слой рассчитывает нелинейное преобразование от линейной комбинации сигналов предыдущего слоя. Отсюда видно, что линейная функция активации может применяться только для тех моделей сетей, где не требуется последовательное соединение слоев нейронов друг за другом. Для многослойных сетей функция активации должна быть нелинейной, иначе можно построить эквивалентную однослойную сеть, и многослойность оказывается ненужной. Если применена линейная функция активации, то каждый слой будет давать на выходе линейную комбинацию входов. Следующий слой даст линейную комбинацию выходов предыдущего, а это эквивалентно одной линейной комбинации с другими коэффициентами, и может быть реализовано в виде одного слоя нейронов.
Многослойная сеть может формировать на выходе произвольную многомерную функцию при соответствующем выборе количества слоев, диапазона изменения сигналов и параметров нейронов. Как и ряды, многослойные сети оказываются универсальным инструментом аппроксимации функций. Видно отличие работы нейронной сети от разложения функции в ряд:
f(x) = ∑cifi(x).
За счет поочередного расчета линейных комбинаций и нелинейных преобразований достигается аппроксимация произвольной многомерной функции при соответствующем выборе параметров сети.
В многослойном персептроне нет обратных связей. Такие модели называются сетями прямого распространения. Они не обладают внутренним состоянием и не позволяют без дополнительных приемов моделировать развитие динамических систем.
Наглядной и уже ставшей классической иллюстрацией ограниченности для однослойного персептрона является функция "исключающее ИЛИ". Эта булева функция от двух переменных принимает значение "истина", когда значения входных переменных различны, и "ложь" – в противном случае. Попробуем применить однослойную сеть, состоящую из одного нейрона , для построения этой функции.
Для сохранения симметрии будем сопоставим значению "ложь" сигнал нейросети, равный -1, а значению "истина" — равный 1. Значения входов и выходов дискретны, и есть смысл использовать жесткую ступеньку в качестве функции активации. Требуемая таблица истинности и соответствующие уравнения для весов и порогов для функции "исключающее или" имеет вид:
Таблица 1 - Система неравенств для построения функции XOR
x1 | x2 | y | Условие |
1 | 1 | -1 | w1 + w2 - Θ < 0 |
1 | -1 | 1 | w1 - w2 - Θ > 0 |
-1 | 1 | 1 | -w1 + w2 - Θ > 0 |
-1 | -1 | -1 | -w1 - w2 - Θ < 0 |
Вычтем из первого уравнения второе, а из третьего — четвертое. Получим несовместную систему:
2w2 < 0;
2w2 > 0.
Хотя система условий в таблице - лишь система неравенств, пусть содержащая три переменных и четыре уравнения, она оказывается несовместной. Следовательно, функция XOR не реализуется на однослойном персептроне. Тот же результат можно получить графически. Возможные значения входов сети — на рисунке.