Е.С.Борисов
среда, 19 октября 2005 г.
Математическая теория искусственных нейронных сетей многие идеи берёт из нейробиологической теории, согласно которой нервная система человека состоит из двух типов клеток -- нейронов и нейроглии.
Нейроглия (глиальные или шванновские клетки) окружает нервные клетки. В настоящее время глиальные клетки мало изучены. Считается, что они выполняет опорную, разграничительную и защитную функции. Глиальных клеток примерно в 10 раз больше чем нейронов. Они образуют т.н. миелиновую оболочку, которая снабжает аксон (отросток нейрона) метаболическими продуктами, компенсируя его удаленность от тела клетки.
Нейроны (нервные клетки) получают и передают электрохимические сигналы. Нейрон может обладать разными размерами и формой, но схематически его можно представить как шаровидное образование с отростками (рис.1).
Составные части нейрона :
Возбуждение нейрона начинается в дендритах (или соме) и распространяется вдоль по аксону, вызывая в итоге возбуждение в других нейронах. Таким образом нейроны образуют сеть.
Искусственная нейронная сеть это совокупность нейронных элементов и связей между ними [1].
Основу каждой искусственной нейронной сети составляют относительно простые, в большинстве случаев - однотипные, элементы (ячейки), имитирующие работу нейронов мозга (рис.2), далее под нейроном мы будем подразумевать искусственный нейрон, ячейку искусственной нейронной сети.
|
Множество всех нейронов искусственной нейронной сети можно разделить на подмножества - т.н. слои. Взаимодействие нейронов происходит послойно.
Слой искусственной нейронной сети это множество нейронов на которые в каждый такт времени параллельно поступают сигналы от других нейронов данной сети [1].
Выбор архитектуры искусственной нейронной сети определяется задачей. Для некоторых классов задач уже существуют оптимальные конфигурации. Если же задача не может быть сведена ни к одному из известных классов, разработчику приходится решать задачу синтеза новой конфигурации. Проблема синтеза искусственной нейронной сети сильно зависит от задачи, дать общие подробные рекомендации затруднительно. В большинстве случаев оптимальный вариант искусственной нейронной сети получается опытным путем[2].
Искусственные нейронные сети могут быть программного и аппаратного исполнения. Реализация аппаратная обычно представляет собой параллельный вычислитель, состоящий из множества простых процессоров [3].
Важной особенностью искусственной нейронной сети есть возможность её обучения. Обычно процесс обучения сводится к корректировке весовых коэффициентов. Алгоритмы обучения искусственных нейронных сетей можно разделить на два класса:
Технология обучения ''с учителем'' искусственной нейронной сети обычно предполагает наличие двух однотипных множеств:
Элементами этих двух множеств есть пары ( X, YI ), где
Так же определяется функция ошибки E. Обычно это средняя квадратичная ошибка [3]:
где
Процедура обучения искусственной нейронной сети сводится к процедуре коррекции весов её связей. Целью процедуры коррекции весов есть минимизация функции ошибки E.
Общая схема обучения "с учителем" выглядит так :
Если после нескольких итераций алгоритма обучения ошибка обучения EL падает почти до нуля, в то время как ошибка обобщения EG в начале спадает а затем начинает расти, то это признак эффекта переобучения. В этом случае обучение необходимо прекратить.
В случае однослойной сети желаемые выходные значения нейронов единственного слоя известны, и подстройка весов синаптических связей идет в направлении, минимизирующем ошибку на выходе сети.
По этому принципу построен алгоритм Розенблатта. Данный метод был предложен Ф.Розенблаттом в 1959 г. для искусственной нейронной сети, названной персептрон (perceptron)[4]. Персептрон имеет пороговую функцию активации, его схема представлена здесь. Правило обучения для персептрона выглядит так [1] :
Весовые коэффициенты меняются только в том случае, если реальное выходное значение не совпадает идеальным выходным значением.
Персептрон Розенблатта ограничивается бинарными выходами. Видроу и Хофф изменили модель Розенблатта. Их первая модель - ADALINE (Adaptive Linear Element) имела один выходной нейрон и непрерывную линейную функцию активации нейронов[6].
Метод обучения Видроу-Хоффа известен еще как дельта-правило (delta-rule). Этот метод ставит своей целью минимизацию функции ошибки E в пространстве весовых коэффициентов.
Минимизация E осуществляется методом градиентного спуска
Таким образом весовые коэффициенты изменяются по правилу
Сеть, имеющую два и более слоёв, уже проблематично обучить описанными выше методами, поскольку в многослойных сетях известен выход лишь последнего слоя нейронов.
Решение этой задачи был предложено Д.Румельхартом с соавторами в 1986 году[5]. Предложенный метод обучения многослойной искусственной нейронной сети, был назван методом обратного распространения ошибки. Основная идея этого метода состояла в распространение сигналов ошибки от выходов сети к её входам, в направлении, обратном прямому распространению сигналов в обычном режиме работы.
Метод обратного распространения ошибки (error back propagation) это итеративный градиентный алгоритм обучения многослойной искусственной нейронной сети без обратных связей [5,3]. При обучении ставится задача минимизации функции ошибки:
где
Минимизация E ведется методом градиентного спуска. Подстройка весовых коэффициентов происходит следующим образом:
где
Здесь
Введя новую переменную
мы получим рекурсивную формулу для расчетов величин слоя n из величин слоя n+1.
Для выходного слоя
Теперь мы можем записать (6) в раскрытом виде:
Для методов обучения ''без учителя'', так же как и методов обучения ''с учителем'', требуется множество учебных примеров. Процесс обучения, как и в случае обучения ''с учителем'', сводится к подстраиванию весовых коэффициентов. Но в отличии от обучения ''с учителем'', здесь нет эталонных выходов и веса изменяются по алгоритму, учитывающему только входные и производные от них сигналы.
Метод Хебба основывается на биологическом феномене обучения путем повторения и привыкания. Этот феномен еще известен как эффект проторения[7].
При обучении искусственной нейронной сети сигнальным методом Хебба[8] усиливаются связи между возбужденными нейронами, в данном случае веса изменяются по следующему правилу:
где
Существует также дифференциальный метод обучения Хебба.
Здесь
Как видно из (14), сильнее всего обучаются синапсы, соединяющие те нейроны, выходы которых наиболее динамично изменились в сторону увеличения.