- •Лекция 1. Введение в интеллектуальные информационные технологии
- •Основные сведения из истории создания ис
- •Лекция 2. Представление знаний
- •2.1. Модели представления знаний
- •Логическая модель представления знаний
- •2.2.2. Продукционная модель представления знаний.
- •2.2.3. Семантическая модель представления знаний
- •2.2.4. Фреймовая модель представления знаний
- •3.1. Назначение и структура экспертных систем
- •Лекция 3. Экспертные системы
- •3.2. Обобщенная структура экспертной системы.
- •3.3. Статическая и динамическая эс.
- •3.4. Понятие и работа машины вывода.
- •3.5. Этапы разработки экспертных систем
- •Лекция 4. Нейронные сети
- •4.1. Формальный нейрон.
- •4.2. Персептрон Розенблатта.
- •Однослойные персептроны
- •4.3. Обучение искусственных нейронных сетей
- •Цель обучения
- •Обучение с учителем
- •Обучение без учителя
- •4.4. Этапы решения задач
- •Сбор данных для обучения
- •Выбор топологии сети
- •Экспериментальный подбор характеристик сети
- •Экспериментальный подбор параметров обучения
- •Собственно обучение сети
- •Проверка адекватности обучения
- •Контрольная работа представление знаний
4.3. Обучение искусственных нейронных сетей
Среди всех интересных свойств искусственных нейронных сетей ни одно не захватывает так воображения, как их способность к обучению. Их обучение до такой степени напоминает процесс интеллектуального развития человеческой личности, что может показаться, будто нами достигнуто глубокое понимание этого процесса. Но, проявляя осторожность, следует сдерживать эйфорию. Возможности обучения искусственных нейронных сетей ограничены, и нужно решить много сложных задач, чтобы определить, находимся ли мы на правильном пути.
Цель обучения
Сеть обучается, чтобы для некоторого множества входов давать желаемое (или, по крайней мере, сообразное с ним) множество выходов. Каждое такое входное (или выходное) множество рассматривается как вектор. Обучение осуществляется путем последовательного предъявления входных векторов с одновременной подстройкой весов в соответствии с определенной процедурой. В процессе обучения веса сети постепенно становятся такими, чтобы каждый входной вектор вырабатывал выходной вектор.
Обучение с учителем
Различают алгоритмы обучения с учителем и без учителя. Обучение с учителем предполагает, что для каждого входного вектора существует целевой вектор, представляющий собой требуемый выход. Вместе они называются обучающей парой. Обычно сеть обучается на некотором числе таких обучающих пар. Предъявляется выходной вектор, вычисляется выход сети и сравнивается с соответствующим целевым вектором, разность (ошибка) с помощью обратной связи подается в сеть, и веса изменяются в соответствии с алгоритмом, стремящимся минимизировать ошибку. Векторы обучающего множества предъявляются последовательно, ошибки вычисляются и веса подстраиваются для каждого вектора до тех пор, пока ошибка по всему обучающему массиву не достигнет приемлемо низкого уровня.
Обучение без учителя
Несмотря на многочисленные прикладные достижения, обучение с учителем критиковалось за свою биологическую неправдоподобность. Трудно вообразить обучающий механизм в мозге, который бы сравнивал желаемые и действительные значения выходов, выполняя коррекцию с помощью обратной связи. Обучение без учителя является намного более правдоподобной моделью обучения для биологической системы. Развитая Кохоненом и многими другими, она не нуждается в целевом векторе для выходов и, следовательно, не требует сравнения с предопределенными идеальными ответами. Обучающее множество состоит лишь из входных векторов. Обучающий алгоритм подстраивает веса сети так, чтобы получались согласованные выходные векторы, т. е. чтобы предъявление достаточно близких входных векторов давало одинаковые выходы. Процесс обучения, следовательно, выделяет статистические свойства обучающего множества и группирует сходные векторы в классы. Предъявление на вход вектора из данного класса даст определенный выходной вектор, но до обучения невозможно предсказать, какой выход будет производиться данным классом входных векторов. Следовательно, выходы подобной сети должны трансформироваться в некоторую понятную форму, обусловленную процессом обучения. Это не является серьезной проблемой. Обычно не сложно идентифицировать связь между входом и выходом, установленную сетью.
Для всех методов этой группы характерно наличие обучающей выборки, в которой каждому входному вектору сопоставляется заранее известный выходной вектор результатов. После подстановки входного вектора и проведения вычислений для всех слоев сети на выходе получаются некоторые расчетные значения (расчетный выходной вектор). Зная расчетные и ожидаемые (желаемые) значения, можно вычислить вектор ошибок:
,
где
Y – расчетный выходной вектора, T – ожидаемый выходной вектор.
Отсюда значение ошибки для i-го нейрона равно:
Получение расчетных значений yi называется прямым распространением входного сигнала.
Для того, чтобы скорректировать работу сети, необходимо изменить весовые коэффициенты ее связей с учетом полученного вектора ошибок, т.е. выполнить обратное распространение ошибки.
Одним
из способов обучения нейронной сети
является обучение с использованием
-правила.
Суть его заключается в определении
влияния каждого из весовых коэффициентов
сети на функционал ошибки, т.е. на
суммарную ошибку всей сети:
.
Тем не менее, т.к. нейроны одного слоя ведут параллельную обработку данных, т.е. функционируют независимо, то ошибка каждого нейрона выходного слоя рассматривается отдельно.
Зависимость между ошибкой нейрона выходного слоя и весовым коэффициентом одного из входов этого нейрона является сложной и может быть выражена следующей формулой:
Найдем частные производные, участвующие в произведении:
Т.к. при вычислении ошибки рассматривается один нейрон, то
.
Отсюда
.Для вычисления значения
необходимо определиться с функцией
активации. Причем для нахождения
производной функция активации должна
быть непрерывной. Например, для
тождественной функции y = x,
где в качестве аргумента выступает
уровень активации net:
Влияние весового коэффициента на уровень активации будет зависеть от сигнала, который был передан по данной связи:
Таким
образом, для выходного нейрона с
тождественной функцией активации,
получаем расчетную формулу:
Для
управления скоростью обучения нейронной
сети в формулу вводится коэффициент
обучения
.
В общем случае для корректировки весовых
коэффициентов необходимо использовать
следующие формулы:
,
.
Для нейронов с тождественной функцией активации формула примет вид:
.
