Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИИС / ВСЕ ответы ИСС.docx
Скачиваний:
42
Добавлен:
02.03.2016
Размер:
793.91 Кб
Скачать
  1. Биологический нейрон имеет следующую структуру :

  • тело (сома);

  • совокупность дендритов – отростков, по которым в нейрон поступают входные сигналы;

  • аксон – отросток, передающий выходной сигнал нейрона другим клеткам.

Точка соединения дендрита и аксона называется синапсом

В понятие модели НС включают:

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

Модели нейронов: нейрон Хебба(функция φ – функция активационная(функция возбуждения нейрона) и реализуется она по-разному)

1,Функция еденичного скачка(θ-скалярное значение); 2)линейная функция с порогом,(ограничен);3) сигмоид (логистическая функция); сигмоид (гиперболический тангенс);

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

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

Упрощенный алгоритм функционирования нейрона можно представить следующим образом:

  1. Нейрон получает от дендритов набор (вектор) входных сигналов.

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

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

  4. Выходной сигнал поступает на аксон и передается дендритам других нейронов.

теорема Колмогорова-Арнольда:

  1. Теорема о возможности представления непрерывных функций нескольких переменных суперпозициями непрерывных функций меньшего числа переменных (1956 г.).

  2. Теорема о представлении любой непрерывной функции трех переменных в виде суммы функций не более двух переменных (1957 г.).

  3. Теорема о представлении непрерывных функций нескольких переменных в виде суперпозиций непрерывных функций одной переменной и сложения (1957 г.).

Последняя теорема была переложена Хехт-Нильсеном в 1987 г. для нейронных сетей. Теорема Хехт-Нильсена доказывает представимость функции многих переменных достаточно общего вида с помощью двухслойной НС с прямыми полными связями с n нейронами входного слоя, (2n+1) нейронами скрытого слоя с заранее известными ограниченными функциями активации (например, сигмоидальными) и m нейронами выходного слоя с неизвестными функциями активации.

  1. Структура нейронов.

Адаптивный сумматор

Адаптивный сумматор реализует функцию скалярного произведения вектора входов нейрона на вектор весов. Адаптивным он называется, поскольку вектор весов W является настраиваемым.

Нелинейный преобразователь

Нелинейный преобразователь реализует функцию возбуждения нейрона. Известны три основных типа функции возбуждения:

пороговая, линейная, сигмоидальная (наиболее приближенная к реальному нейрону )

Точка ветвления

Предназначена для рассылки одного сигнала по нескольким адресам (для передачи на входы нескольких нейронов).

Синапс

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

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

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

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

Сновные топологии НС: Слоистые сети

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

Полносвязные сети

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

  1. Для обучения с учителем характерно наличие в обучающей выборке ожидаемых ответов сети.

Если выбрано множество обучающих примеров и способ вычисления функции ошибки E, обучение нейросети сводится к решению задачи многомерной оптимизации. Группы методов решения этой задачи [1, 4]:

  1. Методы локальной оптимизации с вычислением частных производных 1-го порядка:

    1. градиентный (наискорейшего спуска);

    2. методы с одномерной и двумерной оптимизацией целевой функции в направлении антиградиента;

    3. метод сопряженных градиентов;

    4. методы, учитывающие направление антиградиента на нескольких шагах алгоритма.

  2. Методы локальной оптимизации вычислением частных производных 1-го и 2-го порядков:

    1. методы Ньютона;

    2. методы оптимизации с разреженными матрицами Гессе;

    3. квазиньютоновские методы;

    4. метод Гаусса-Ньютона;

    5. метод Левенберга-Маркардта.

  3. Методы стохастической оптимизации:

    1. случайный поиск;

    2. имитация отжига;

    3. метод Монте-Карло.

  4. Методы глобальной оптимизации (переборные).

Для сравнения методов используют:

  • количество шагов алгоритма;

  • количество дополнительных переменных.

Оптимальными по этим критериям являются методы одномерной оптимизации с вычислением частных производных 1-го порядка. Они предназначены для нахождения локальных экстремумов, но могут использоваться для нахождения глобальных. Для этого:

  1. После нахождения локального минимума сеть пытаются вывести из него.

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

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

Алгоритм обратного распространения (back propagation) применяется для обучения многослойных слоистых НС . В многослойных НС каждый нейрон предыдущего слоя связан со всеми нейронами последующего слоя, связь имеется только между соседними слоями. Нейроны обычно имеют сигмоидальную функцию возбуждения. Первый слой нейронов называется входным и содержит число нейронов соответствующее размерности пространства признаков. Последний слой нейронов называется выходным и содержит столько нейронов, сколько классов образов распознается. Между входным и выходным слоями располагается один или более скрытых (теневых) слоев. Определение числа скрытых слоев и числа нейронов в каждом слое для конкретной задачи неформализовано. Обучение такой НС основано на вычислении отклонений выходных сигналов от эталонных и "прогоне" этих величин вплоть до входного слоя с целью коррекции ошибок.

Алгоритм обратного распространения был изобретен в 1974 г. Полем Дж. Вербосом.

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

Обозначим индексом j выходной слой, i – предыдущий слой. Суммарная ошибка вычисляется следующим образом:

,

(1)

где Yjk – выходная активность k-го нейрона j-го слоя;

Djk – эталонный выход k-го нейрона j-го слоя.

Активность нейрона есть функция его входа, например сигма-функция:

,

(2)

где Xjk - суммарный взвешенный вход k-го нейрона j-го слоя, который вычисляется следующим образом:

,

(3)

где Yil – выход l-го нейрона i-го слоя;

Wiljk – вес связи;

суммирование проводится по всем нейронам i-го слоя, связанным с данным нейроном j-го слоя.

Алгоритм обратного распространения:

1. Вычисляется производная ошибки по активности выходного элемента:

.

(4)

2. Вычисляется производная ошибки по входу выходного элемента:

.

(5)

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

3. Вычисляется производная ошибки по весу связи:

.

(6)

4. Корректируется вес связи:

,

(7)

где (0<<1) - коэффициент скорости обучения.

5. Если дошли до 0-го слоя – выход.

6. Вычисляется (аналогично п. 1) производная ошибки по активности элемента предыдущего слоя:

.

(8)

Здесь суммирование производится по всем нейронам j-го слоя, связанным с данным нейроном i-го слоя.

7. Вычисляется (аналогично п. 2) производная ошибки по входу элемента i-го слоя:

.

(9)

8. Переход на п. 3 и продолжение вычислений с заменой индексов.

Емкостью НС называют число входных образов, которые она способна научиться распознавать. Для двухслойных НС детерминистская емкость сети Cd оценивается следующим образом:

,

(10)

где LW – число подстраиваемых весов, m – число нейронов в выходном слое.

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

Вопрос о емкости НС тесно связан с вопросом о мощности выходного слоя НС. По этому поводу отметим:

  1. Для разделения множества входных образов на два класса достаточно одного выходного нейрона. На двух выходных нейронах можно закодировать четыре класса.

  2. Для повышения достоверности классификации каждому распознаваемому классу выделяют один нейрон выходного слоя.

  3. Для большего повышения достоверности каждому классу выделяют несколько нейронов выходного слоя, каждый из которых обучается распознавать класс с некоторой степенью достоверности (например, высокой, средней, низкой).

«Узкие места» НС, обучаемой по алгоритму обратного распространения [4]:

1.а) Большие по модулю значения весов могут сместить рабочую точку на сигмоидах нейронов в область насыщения.

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

2. Применение метода градиентного спуска не гарантирует нахождения глобального минимума целевой функции.

2.а) Приращения весов и, следовательно, скорость обучения для нахождения экстремума должны быть бесконечно малыми, однако тогда бесконечно возрастает время обучения.

2.б) Слишком большие коррекции весов могут привести к постоянной неустойчивости процесса обучения.

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

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

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

Как выбрать правильную степень сложности сети? Выход состоит в использовании контрольной кросс-проверки. Для этого резервируется часть обучающей выборки, которая используется не для обучения сети по алгоритму обратного распространения, а для независимого контроля результата в ходе алгоритма. В начале работы ошибка сети на обучающем и контрольном множествах будет одинаковой. По мере обучения сети они будут убывать. Если же контрольная ошибка перестала убывать или даже начала расти, это указывает на то, что сеть стала слишком близко аппроксимировать данные (переобучилась) и обучение следует остановить. В этом случае следует понизить сложность сети (сократить число скрытых слоев или нейронов в них). Если же не только ошибка кросс-проверки, но и ошибка обучения не достигла достаточно малой величины, то мощность сети недостаточна.

Необходимость многократных экспериментов приводит к тому, что контрольное множество начинает играть ключевую роль в выборе модели и становится частью процесса обучения. Тем самым ослабляется его роль как независимого критерия качества модели. При большом числе экспериментов есть большая вероятность выбрать удачную сеть, дающую хороший результат на контрольном множестве. Для повышения надежности обучения кроме контрольного множества резервируют тестовое множество примеров. Итоговая НС тестируется на этом множестве. Тестовое множество может использоваться только один раз.

4. Обучение без учителя

Алгоритмы обучения Хебба

Сигнальный метод обучения Хебба

Изменение весов производится по правилу:

,

(11)

где – выходное значениеi-го нейрона (q-1)-го слоя;

– выходное значениеj-го нейрона (q)-го слоя;

и– весовой коэффициент синапса, соединяющего эти нейроны наt-й и (t-1)-й итерациях соответственно;

 – коэффициент скорости обучения.

При обучении по данному методу усиливаются связи между возбужденными нейронами.

Дифференциальный метод обучения Хебба

Изменение весов производится по правилу:

,

(12)

где и– выходное значениеi-го нейрона (q-1)-го слоя на t-й и (t-1)-й итерациях соответственно;

и– выходное значениеj-го нейрона (q)-го слоя на t-й и (t-1)-й итерациях соответственно.

Более интенсивно обучаются синапсы, соединяющие нейроны, выходы которых увеличиваются наиболее динамично.

Алгоритм обучения для обоих методов [4]:

Шаг 1. На стадии инициализации всем весовым коэффициентам присваиваются небольшие случайные значения.

Шаг 2. На входы НС подается входной образ и сигналы распространяются по всем слоям.

Шаг 3. Производится изменение весовых коэффициентов по одной из указанных формул.

Шаг 4. Пока выходные значения сети не стабилизируются с заданной точностью, переход к шагу 2.

На шаге 2 НС попеременно предъявляются все образы входного набора.

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

Алгоритм обучения Кохонена

Изменение весов производится по правилу [4]:

.

(13)

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

Алгоритм обучения сходен с алгоритмом Хебба. Основное отличие в том, что на шаге 3 из всего слоя выбирается нейрон, значения синапсов которого максимально походят на входной образ, и подстройка весов производится только для него. Подстройка весов выбранного нейрона называется аккредитацией [2].

Критерии выбора аккредитуемого нейрона:

а) Максимум скалярного произведения вектора весов синапсов нейрона и вектора входа нейрона.

б) Минимум расстояния между этими векторами:

.

(14)

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

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

,

,

(15)

где n – количество входных сигналов.

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

,

(16)

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

  1. Алгоритмы сокращения (pruning algorithms)

Алгоритмы сокращения используются для минимизации структуры нейросети [4]. Т.е. если в ходе обучения сформировалась такая структура, в которой часть весовых коэффициентов близки к нулю и очень мало влияют на результат, вероятно, их можно безболезненно сократить, сделав таким образом сеть более "экономичной" (требующей меньшего объема вычислений и "непереобученной").

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

Метод штрафных функций

В целевую функцию алгоритма обучения вводятся штрафы за то, что значения синаптических весов отличны от нуля, например:

,

(17)

где L – количество нейронов текущего слоя; n – количество входных сигналов слоя.

Метод проекций

Синаптический вес обнуляется, если его значение попало в заданный диапазон:

.

(18)

Основные недостатки алгоритмов сокращения:

  1. Отсутствие методики определения количества избыточных нейронов, подлежащих удалению.

  2. Низкая скорость обучения как следствие избыточной мощности сети.

1.5.2. Конструктивные алгоритмы (constructive algorithms)

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

Основаны на методике обучения многослойных НС [4]:

Шаг 1. Выбор начального числа нейронов в скрытых слоях.

Шаг 2. Инициализация. Присвоение весам и смещениям случайных значений из заданного диапазона.

Шаг 3. Обучение сети по заданной выборке.

Шаг 4. В случае неудачного обучения увеличение количества нейронов и переход к шагу 2.

В конструктивных алгоритмах сохраняются навыки, приобретенные НС до увеличения числа нейронов (поскольку при увеличении числа нейронов старые обученные нейроны сохраняются).

Конструктивные алгоритмы различаются правилами задания значений параметров в новых добавленных в сеть нейронах:

а) значения параметров являются случайными числами из заданного диапазона;

б) значения синаптических весов нового нейрона получаются путем расщепления (splitting) одного из старых нейронов.

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

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

Алгоритм расщепления использует ковариационную матрицу векторов изменений синаптических весов.

Основной недостаток алгоритма – экспоненциальный рост времени вычислений при увеличении размерности сети.

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

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

,

(19)

где – вектор изменения синаптических весовi-го нейрона в результате использования k-го обучающего примера.

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

В результате расщепления вместо исходного нейрона в сеть вводятся два новых нейрона.

  1. Значение каждого синаптического веса нового нейрона есть значение соответствующего веса старого нейрона плюс некоторый небольшой шум.

  2. Величины весов связей выходов новых нейронов и нейронов следующего слоя равны половине величин весов связей исходного нейрона с соответствующими нейронами следующего слоя.

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