Реферат на тему "Технология извлечения знаний из нейронных сетей апробация проектирование ПО использование в психолингвистике"




Реферат на тему

текст обсуждение файлы править категориядобавить материалпродать работу




Диплом на тему Технология извлечения знаний из нейронных сетей апробация проектирование ПО использование в психолингвистике

скачать

Найти другие подобные рефераты.

Диплом *
Размер: 156.68 кб.
Язык: русский
Разместил (а): Павел Горбань
Предыдущая страница 1 2 3 4 5 6 7 8 9 10 11 Следующая страница

добавить материал

За пределами задач, в которых нейронные сети формируются по явным правилам (сети Хопфилда, проективные сети, минимизация аналитически заданных функций и т.п.) требования к нейронной сети обычно можно представить в форме минимизации функции оценки. Не следует путать такую постановку задачи и ее весьма частный случай - "обучение с учителем".
Если для решения задачи не удается явным образом сформировать сеть, то проблему обучения можно, как правило, сформулировать как задачу минимизации оценки. Осторожность предыдущей фразы ("как правило") связана с тем, что на самом деле неизвестны и никогда не будут известны все возможные задачи для нейронных сетей, и, быть может, где-то в неизвестности есть задачи, которые несводимы к минимизации оценки.
Минимизация оценки - сложная проблема: параметров астрономически много (для стандартных примеров, реализуемых на РС - от 100 до 1000000), адаптивный рельеф (график оценки как функции от подстраиваемых параметров) сложен, может содержать много локальных минимумов, извилистых оврагов и т.п.
Наконец, даже для того, чтобы воспользоваться простейшими методами гладкой оптимизации, нужно вычислять градиент функции оценки. В данном разделе описывается связь двойственного функционирования сетей - автоматов с преобразованием Лежандра и неопределенными множителями Лагранжа.
Переменные обратного функционирования m появляются как вспомогательные при вычислении производных сложной функции. Переменные такого типа появляются не случайно. Они постоянно возникают в задачах оптимизации и являются множителями Лагранжа.
Для всех сетей автоматов, встречавшихся в предыдущих разделах, можно выделить три группы переменных:
внешние входные сигналы x...,
переменные функционирования - значения на выходах всех элементов сети f...,
переменные обучения a...(многоточиями заменяются различные наборы индексов).
Объединим их в две группы - вычисляемые величины y... - значения f... и задаваемые - b... (включая a... и x...). Упростим индексацию, перенумеровав f и b натуральными числами: f1,...,fN ; b1 ,...,bM .
Пусть функционирование системы задается набором из N уравнений
yi(y1 ,...,yN ,b1 ,...,bM)=0 (i=1,...,N).                               (1)
Для послойного вычисления сложных функций вычисляемые переменные - это значения вершин для всех слоев, кроме нулевого, задаваемые переменные - это значения вершин первого слоя (константы и значения переменных), а уравнения функционирования имеют простейший вид (4), для которого

Предполагается, что система уравнений (1) задает способ вычисления yi .
Пусть имеется функция (лагранжиан) H(y1 ,...,yN ,b1 ,...,bM). Эта функция зависит от b и явно, и неявно - через переменные функционирования y. Если представить, что уравнения (1) разрешены относительно всех y (y=y(b)), то H можно представить как функцию от b:
H=H1(b)=H(y1(b),...,yN(b),b).                                         (2)
где b - вектор с компонентами bi .
Для задачи обучения требуется найти производные Di=¶H1(b)/¶bi . Непосредственно и явно это сделать трудно.
Поступим по-другому. Введем новые переменные m1,...,mN (множители Лагранжа) и производящую функцию W:
 
В функции W аргументы y, b и m - независимые переменные.
Уравнения (1) можно записать как
                                               (3)
Заметим, что для тех y, b, которые удовлетворяют уравнениям (13), при любых m
W(y,b,m)ºH(y,b).                                                 (4)
Это означает, что для истинных значений переменных функционирования y при данных b функция W(y,b,m) совпадает с исследуемой функцией H.
Попытаемся подобрать такую зависимость mi(b), чтобы, используя (4), получить для Di=¶H1(b)/¶bi наиболее простые выражения . На многообразии решений (15)
 
Поэтому
     (5)
Всюду различается функция H(y,b), где y и b - независимые переменные, и функция только от переменных b H(y(b),b), где y(b) определены из уравнений (13). Аналогичное различение принимается для функций W(y,b,m) и W(y(b),b,m (b)).
Произвол в определении m(b) надо использовать наилучшим образом - все равно от него придется избавляться, доопределяя зависимости. Если выбрать такие m, что слагаемые в первой сумме последней строки выражения (5) обратятся в нуль, то формула для Di резко упростится. Положим поэтому
.                                  (6)
Это - система уравнений для определения mk (k=1,...,N). Если m определены согласно (6), то
 
Основную идею двойственного функционирования можно понять уже на простейшем примере. Рассмотрим вычисление производной сложной функции одного переменного. Пусть заданы функции одного переменного f1(A) ,f2(A) ,...,fn(A) . Образуем из них сложную функцию
F(x)=fn (fn-1 (...(f1 (x))...)). (1)
Можно представить вычисление F(x) как результат работы n автоматов, каждый из которых имеет один вход и выдает на выходе значение fi (A), где A - входной сигнал (рис.8, а). Чтобы построить систему автоматов, вычисляющую F¢(x), надо дополнить исходные автоматы такими, которые вычисляют функции fi¢(A), где A - входной сигнал (важно различать производную fi по входному сигналу, то есть по аргументу функции fi, и производную сложной функции fi(A(x)) по x; fi¢(A) ‑ производные по A).
Для вычисления F¢(x) потребуется еще цепочка из n-1 одинаковых автоматов, имеющих по два входа, по одному выходу и подающих на выход произведение входов. Тогда формулу производной сложной функции

можно реализовать с помощью сети автоматов, изображенной на рис. 8, б. Сначала по этой схеме вычисления идут слева направо: на входы f1 и f1' подаются значения x, после вычислений f1(x) это число подается на входы f2 и f2' и т.д. В конце цепочки оказываются вычисленными все fi (fi-1 (...)) и fi'(fi-1 (...)).

Рис.8. Схематическое представление вычисления сложной
функции одного переменного и ее производных.
Можно представить вычисление любой сложной функции многих переменных, как движение по графу: в каждой его вершине производится вычисление простой функции (рис 9. а). Вычисление градиента представляется обратным движением (рис 9. б). Отсюда и термин: методы (алгоритмы) обратного распространения.
а)

б)

Рис. 9. Прохождение вершины t в прямом (а) и обратном (б) направлении.
Предлагается рассматривать обучение нейронных сетей как задачу оптимизации. Это означает, что весь арсенал методов оптимизации может быть испытан для обучения.
 Существует, однако, ряд специфических ограничений. Они связаны с огромной размерностью задачи обучения. Число параметров может достигать 108 - и даже более. Уже в простейших программных имитаторах на персональных компьютерах подбирается 103 - 104 параметров.
Из-за высокой размерности возникает два требования к алгоритму:
1. Ограничение по памяти. Пусть n - число параметров. Если алгоритм требует затрат памяти порядка n2 ,то он вряд ли применим для обучения. Вообще говоря, желательно иметь алгоритмы, которые требуют затрат памяти порядка Kn, K=const.
2. Возможность параллельного выполнения наиболее трудоемких этапов алгоритма и желательно - нейронной сетью.

Глава 3. Упрощение нейронной сети.

3.1. Что такое упрощение нейронной сети и зачем оно нужно

По обучающей выборке невозможно сказать, какая структура сети (число слоев, элементов сети) требуется для решения задачи. Также не существует конструктивного алгоритма определения значений адаптивных параметров сети исходя из обучающей выборки. Хотя и был предложен подход [17,20] к анализу достаточности структуры сети при помощи оценки константы Липшица функции, вычисляемой сетью, и выборочной оценки константы Липшица для обучающей выборки, но он не учитывает влияния и вида используемой при обучении целевой функции (функции оценки) и некоторых других аспектов.
Поэтому обычно задаются некоторой избыточной структурой сети и адаптивные параметры находят путем обучения сети, т.е. с привлечением методов оптимизации [16-20]. Это приводит к тому, что часто в нейронной сети присутствует некоторое число избыточных элементов, без которых можно вполне обойтись при решении задачи. Удаление таких элементов из нейросети называется упрощением сети.
Упрощение нейронной сети преследует следующие цели [16,17,20]:
-                     Получение нейросети, наиболее просто реализуемой технически и обеспечивающей максимальное быстродействие при аппаратной реализации.
-                     Улучшение интер- и экстраполяционных способностей нейросети.
-                     Сокращение числа входных сигналов сети (при сохранении требуемой точности решения задачи) для удешевления и ускорения процесса сбора информации, на основе которой нейросеть принимает решение.
-                     Обеспечение (или облегчение) явной вербальной интерпретации процесса и результатов обработки данных.
В настоящей работе и в Главе 3 основное внимание уделяется последней задаче, задача минимизации числа входных сигналов решается как побочная.
Нужно отметить, что после проведения упрощения теряется такое свойство сети, как отказоустойчивость к повреждениям элементов. Поэтому для получения отказоустойчивых нейросетей разработаны специальные модификации алгоритмов обучения и упрощения, например, [21].

3.2. Задача извлечения знаний из нейронной сети

Обучаясь, нейросеть формирует некоторый навык решения неформализованной задачи классификации или предсказания. Этот навык можно оценить при помощи тестовой выборки – если точность решения тестовых задач достаточна с точки зрения пользователя, то полученная нейросеть может в дальнейшем использоваться в составе нейросетевой экспертной системы для решения задачи [17].
Однако нейросеть сформировала скрытое, неявное знание об алгоритме решения задачи. Это знание заложено в сеть в виде значений весов ее адаптивных параметров. В нейросети могут присутствовать и избыточные элементы (см. Параграф 2.2.6), поэтому пользователю сложно или практически невозможно осмыслить и преобразовать в явную форму нейросетевое правило принятия решения путем анализа структуры сети и ее адаптивных параметров.
Поэтому появилась задача извлечения знаний из нейронной сети, процесс решения которой схематически можно представить так [22,23]:
вырезание "всего лишнего"
нейросеть              логически прозрачная нейросеть
данные           неявные знания                    явные знания
Т.е. нейросеть в ходе обучения формирует неявные знания, в ходе упрощения сети достигается некоторая безизбыточная (логически прозрачная) структура сети, удовлетворяющая некоторым заданным требованиям, и по полученной безизбыточной сети возможно записать правила принятия решения в явном виде. Этот процесс будет изучаться и детализироваться далее в Главах 3, 4.
Результатом процесса извлечения знаний должен являться набор правил, который с заданной точностью решает заданное число примеров обучающей выборки (эти требования к точности заложены в использовавшихся при обучении сети целевой функции и алгоритме обучения, который может позволять прекращать обучение при достижении правильного решения заданного числа примеров). Все другие манипуляции с нейросетью (упрощение сети, извлечение из сети набора явных правил вывода и запись их в требуемом виде) не дожны снижать требуемую точность. Качество извлеченных знаний проверяется путем решения задач тестовой выборки, так как процесс упрощения сети и извлечения знаний может снизить точность решения тестовых задач по сравнению с точностью исходной сети после ее обучения.

3.3. Методы упрощения нейронных сетей

К настоящему моменту разработано большое число методов упрощения нейронных сетей. Можно ввести несколько классификаций этих методов, например, разделить на 2 группы на основе информации, используемой методом для определения незначимых элементов и сигналов нейросети [24,25]:
1.      Методы, использующие только информацию о значениях весов синапсов и, при необходимости, внутренние сигналы сети на обучающей выборке.
2.      Методы, использующие информацию об изменении значения целевой функции либо оценку такого изменения на основе первых или вторых производных целевой функции по значению упрощаемого элемента.
Другая классификация делит методы на 3 класса по стратегии упрощения:
1.                 Методы, выполняющие цикл "элементарное упрощение – дообучение нейросети" до тех пор, пока дообучение приводит к решению задачи с требуемой точностью.
2.                 Методы, добавляющие к целевой функции дополнительное штрафное слагаемое (штрафующее за структурную сложность нейросети) и оптимизирующие при обучении полученный композиционный критерий. После завершения обучения проводится исключение выявленных избыточных элементов. Дообучения сети после этого не требуется.
3.                 Методы, упрощающие уже обученную сеть и не требующие дообучения. Они используют идею о как можно меньшем изменении поведения системы – например, чтобы выходной сигнал нейрона или нейросети после проведения упрощения как можно меньше отличался от сигнала до упрощения [17].
Можно вводить и другие классификации.
Далее, при рассмотрении методов, в отдельных случаях будет использоваться вторая классификация.
Избыточным, незначимым элементом или сигналом нейросети является элемент или сигнал, который может быть удален из сети при сохранении требуемой точности решения задачи.
Такое удаление элемента будем называть контрастированием [16,17,20,26].
Другая возможная модификация элемента – модификация его параметров. Для синапса имеется операция бинаризации – приведение веса синапса к значению из зафиксированного набора выделенных значений [17,20,26].
Для нелинейного преобразователя нейрона возможна замена его нелинейной функции на иную.
Рассмотрим существующие методы упрощения.

3.3.1. Контрастирование синапсов нейросети

Рассматриваемые в параграфе методы применимы как к синапсам, так и к неоднородным входам нейронов – содержательных отличий синапса от неоднородного входа нет.
Один из наиболее широко используемых методов сокращения числа синапсов нейросети – добавление штрафного слагаемого в целевую функцию – т.н. "структурное обучение" [30-33]. Это слагаемое штрафует за большой (по абсолютному значению) вес синапса. Новая целевая функция имеет, например, вид . В качестве первого слагаемого взят критерий наименьших квадратов (  – требуемый, – текущий выходной сигнал сети на i-м примере обучающей выборки). Для упрощения нейросети с несколькими выходными сигналами в первом слагаемом для каждого примера суммируются невязки всех выходных сигналов сети [28,29]. Штраф за веса синапсов wjk (второе слагаемое) входит с регуляризующим весом e, от величины которого зависит баланс между точностью решения задачи и простотой структуры сети.
После завершения обучения проводится удаление синапсов, модуль веса которых близок к нулю (не превосходит некоторой малой величины d), т.е. контрастирование выполняется, фактически, одновременно с обучением. К сожалению, этот подход не позволяет заранее задавать число удаляемых из сети элементов и требует экспериментов для определения оптимальной величины веса e.
Для решения проблемы определения оптимальной величины регуляризующего веса e может быть использована его адаптивная подстройка на основе учета текущей ошибки сети и желаемого пользователем финального уровня ошибки. Однако при этом требуется задание финального уровня ошибки, который может быть недостижим для нейросети заданного размера.
Вторая группа методов контрастирования синапсов основана на вычислении т.н. показателей значимости – оценки изменения значения штрафной функции после некоторой модификации нейросети, либо показателей чувствительности – оценки изменения выходного сигнала нейросети после модификации нейросети.
Предыдущая страница 1 2 3 4 5 6 7 8 9 10 11 Следующая страница


Технология извлечения знаний из нейронных сетей апробация проектирование ПО использование в психолингвистике

Скачать дипломную работу бесплатно


Постоянный url этой страницы:
http://referatnatemu.com/?id=15359&часть=6



вверх страницы

Рейтинг@Mail.ru
Copyright © 2010-2015 referatnatemu.com