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

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 07.06.2008
Размер файла 336,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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


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

Рис.8. Схематическое представление вычисления сложной

функции одного переменного и ее производных.

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

а)

б)

Рис. 9. Прохождение вершины в прямом (а) и обратном (б) направлении.

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

Существует, однако, ряд специфических ограничений. Они связаны с огромной размерностью задачи обучения. Число параметров может достигать 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]:

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

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

Другая классификация делит методы на 3 класса по стратегии упрощения:

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

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

3. Методы, упрощающие уже обученную сеть и не требующие дообучения. Они используют идею о как можно меньшем изменении поведения системы - например, чтобы выходной сигнал нейрона или нейросети после проведения упрощения как можно меньше отличался от сигнала до упрощения [17].

Можно вводить и другие классификации.

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

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

Такое удаление элемента будем называть контрастированием [16,17,20,26].

Другая возможная модификация элемента - модификация его параметров. Для синапса имеется операция бинаризации - приведение веса синапса к значению из зафиксированного набора выделенных значений [17,20,26].

Для нелинейного преобразователя нейрона возможна замена его нелинейной функции на иную.

Рассмотрим существующие методы упрощения.

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

Рассматриваемые в параграфе методы применимы как к синапсам, так и к неоднородным входам нейронов - содержательных отличий синапса от неоднородного входа нет.

Один из наиболее широко используемых методов сокращения числа синапсов нейросети - добавление штрафного слагаемого в целевую функцию - т.н. "структурное обучение" [30-33]. Это слагаемое штрафует за большой (по абсолютному значению) вес синапса. Новая целевая функция имеет, например, вид . В качестве первого слагаемого взят критерий наименьших квадратов ( - требуемый, - текущий выходной сигнал сети на i-м примере обучающей выборки). Для упрощения нейросети с несколькими выходными сигналами в первом слагаемом для каждого примера суммируются невязки всех выходных сигналов сети [28,29]. Штраф за веса синапсов wjk (второе слагаемое) входит с регуляризующим весом , от величины которого зависит баланс между точностью решения задачи и простотой структуры сети.

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

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

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

В [34] предложено осуществлять мониторинг сумм изменений весов синапсов во время обучения. Малозначимыми считаются синапсы, веса которых претерпевали малые изменения во время обучения.

В [36,37] вычисляются показатели чувствительности второго порядка. В [35] чувствительностью синапса является произведение второй производной целевой функции по весу синапса на квадрат величины планируемого изменения веса синапса. Использование вторых производных связано с тем, что упрощается нейросеть, достигшая при обучении локального минимума, т.е. имеющая нулевой градиент (нулевые значения первых частных производных).

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

Использование первых производных (компонент градиента) целевой функции как традиционно применяемых, например, при идентификации систем [13] показателей чувствительности в случае нейронных сетей сталкивается с трудностями. Во-первых, при идентификации систем чаще всего используются линейные модели, а нейросети являются сильно нелинейными моделями, первые производные которых могут существенно меняться от точки к точке в пространстве обучаемых параметров сети. Во-вторых, после обучения до достижения локального минимума целевой функции вычисление показателей значимости первого порядка невозможно - градиент в точке минимума нулевой. Это вынуждает использовать некоторые дополнительные приемы.

В [16-17,20,26] для контрастирования синапсов, основанного на показателях чувствительности первого порядка, предлагается усреднять первые производные целевой функции по весу синапса в ходе нескольких шагов обучения, либо - после завершения обучения - по нескольким точкам, полученным небольшим случайным сдвигом относительно достигнутой точки минимума. Усреднение проводится в некоторой норме (сумма модулей или максимум модуля) в зависимости от того, какую чувствительность нужно получить: усредненную или максимальную. Затем полученная величина домножается на планируемое изменение веса синапса.

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

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

Существует алгоритм упрощения, не требующий дообучения сети:

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

Находится синапс с минимальным по модулю весом - (используется показатель значимости нулевого порядка).

Перераспределяется вес этого синапса между другими входными синапсами нейрона по заданным в [38] явным формулам.

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

Число удаляемых элементов зависит от избыточности сети - в описываемой в [38] задаче удавалось удалять без ухудшения качества распознавания для сетей с 5, 10, 15 и 20 нейронами 13, 17, 23 и 35% синапсов соответственно.

В [17] алгоритм сокращения синапсов основан на рассмотрении сумматора отдельного нейрона сети.

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

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

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

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

В [39] предложено в целевую функцию добавлять дополнительное штрафное слагаемое. Это слагаемое (энтропийного вида) штрафует за слишком большие модули выходных сигналов нейронов. Минимизация такой оценки приводит к тому, что в сети будет активироваться только малое число нейронов, а остальные нейроны будут выдавать сигнал, близкий к 0. Формула штрафного слагаемого: , где M - число нейронов, - нормированный выходной сигнал i-го нейрона, , - параметр регуляризации. Это слагаемое пересчитывается для каждого примера выборки, и градиент для каждого примера считается с учетом этого слагаемого. После обучения сети для удаления нейронов, которые не активируются, используется следующиий метод: для каждого нейрона на обучающей выборке усредняется его выходной сигнал, и из сети удаляются нейроны, средняя активация которых меньше некоторого порога .

В [40,41] предлагается вычислять значимость нейрона как модуль вызванного контрастированием нейрона изменения значения целевой функции, просуммированный по всем примерам выборки. Нейрон с наименьшей значимостью удаляется из сети, и сеть дообучается. Поскольку для вычисления значимости нейрона не требуется вычисления градиента целевой функции, подход может применяться для сетей, которые нельзя обучать градиентными методами (например, для сетей с пороговыми нейронами).

Работа [21] использует тот же подход, что и [40,41], но взамен усреднения изменения значения целевой функции по примерам выборки ищется максимум модуля такого изменения.

Похожий на [21,40,41], но более специализированный метод предложен в [42] для сети-классификатора (требуемые выходные сигналы сети - 0 или 1, число выходных нейронов сети не важно). Вводится функция качества, характеризующая правильность интерпретации ответа для всей выборки: , где , oj, yj - требуемый и выходной сигналы j-го выходного нейрона, n - число выходных нейронов, N - число примеров в обучающей выборке, - требуемая близость сигнала выходного нейрона к требуемому выходному значению для данного примера. Для каждого нейрона невыходного слоя вычисляется значение функции качества при условиях удаления этого нейрона из сети, и нейрон, вызывающий наименьшее ухудшение качества распознавания, удаляется из сети.Этот метод нацелен на сохранение правильной интерпретации ответа сети - чтобы контрастирование нейрона приводило к неправильной классификации как можно меньшего числа примеров обучающей выборки.

В [43] показателем значимости нейрона является сумма квадратов весов синапсов нейрона (включая неоднородный вход) и весов всех синапсов, по которым нейрон рассылает свой выходной сигнал.

В [44,45] наряду с весами синапсов учитываются и величины проходящих по синапсам сигналов. Для каждого нейрона считается значение критерия , где oi - выходной сигнал i-го нейрона для примера p обучающей выборки, wij - вес синапса, идущего от i-го нейрона к j-му нейрону следующего слоя. Удаляются нейроны с наименьшим значением критерия. Т.е. значимые нейроны - те, которые часто возбуждаются и рассылают свой сигнал по синапсам со значительными (по модулю) величинами весов. В [46] проводится дальнейшая модификация: в критерий входит еще и выходной сигнал j-го нейрона следующего слоя:. Т.е. предполагается, что значимые нейроны обладают свойствами из [44,45] (сильное возбуждение и большие веса выходных синапсов) и вдобавок приводят к возбуждению нейронов следующего слоя.

На основе метода контрастирования синапсов второго порядка [36] предложен метод контрастирования нейронов второго порядка, где показателем значимости нейрона является сумма произведений всех вторых частных производных целевой функции по весу синапса на квадрат веса синапса, взятая по всем входным синапсам нейрона и синапсам, по которым нейрон рассылает свой выходной сигнал.

В [48] предложено показателем значимости нейрона считать показатель значимости первого порядка вида [16-17,20,26] его выходного сигнала. Также рассмотрен основанный на показателях значимости синапсов первого [16-17,20,26], а не второго порядка вариант метода [47], где показателем значимости нейрона считается сумма показателей значимости всех его входных и выходных синапсов.

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

В [49-50] вводится и в [51] выполняется контрастирование нейронов путем переупорядочивания весов синапсов. Удаляются нейроны, имеющие на обучающей выборке наименьшую дисперсию своего выходного сигнала среди сигналов всех нейронов, при этом происходит коррекция весов неоднородных входов нейронов следующего слоя на величины, равную произведению матожидания выходного сигнала удаляемого нейрона на вес синапса, по которому на нейрон следующего слоя приходил этот сигнал. Удаляются все, кроме одного, нейроны, имеющие сильно скоррелированные выходные сигналы, также с коррекцией весов синапсов, по которым будет рассылать сигнал остающийся нейрон.

3.3.3. Контрастирование входных сигналов нейросети

Критическому обзору идей, лежащих в основе методов контрастирования входов сети, посвящена работа Уоррена С. Сарле [52]. Все приводимые автором аргументы и примеры могут быть адресованы и к рассмотренным ранее методам вычисления показателей значимости синапсов и нейронов сети. Основные положения статьи таковы:

Имеется показатель значимости входа и показатель чувствительности выходного сигнала сети к изменению на входе. Это - разные показатели, и их надо разделять.

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

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

Использование произведения веса синапса, по которому проходит входной сигнал на вес синапса, по которому нейрон разошлет свой выходной сигнал дальше, и усреднение этих произведений по всем выходным синапсам нейрона (см. [44,45]) не учитывает влияние функции активации нейрона (дополнительное домножение на величину активации, как сделано в [46], будет правильней).

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

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

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

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

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

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

В [17,20,26] предложен подход первого порядка, усредняющий произведения частных производных целевой функции по входам сети на планируемые изменения величин сигналов. Усреднение ведется в некоторой норме по всем примерам обучающей выборки и нескольким точкам в пространстве адаптивных параметров сети. Здесь удовлетворяется большинство требований У.Сарле: используется усреднение модулей значений произведений производных по выборке и в нескольких точках и производится умножение на планируемое изменение величин сигналов. Вместо производных целевой функции можно использовать производные выходных сигналов сети по входным сигналам.

3.3.4. Бинаризация синапсов

В [16,17,26] для бинаризации применяется показатель значимости синапса первого порядка при замене веса синапса на выделенное значение. Для задачи контрастирования выделенным весом синапса являлся 0, для задачи бинаризации формируется набор выделенных значений.

Для синапса вычисляются показатели значимости для каждого выделенного значения и находится выделенное значение, соответствующее минимальному значению показателя чувствительности.

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

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

В [54] представлен алгоритм квантования весов синапсов, отличающийся тем, что число и величины выделенных дискретных значений синапсов задаются не пользователем, а определяются самим алгоритмом.

Другие методы бинаризации, основанные не на показателях значимости и не на штрафных функциях, а на требовании к минимальному изменению выходного сигнала сумматора на выборке, введены в [17,18].

3.3.5. Упрощение нелинейных преобразователей нейронов

В [55] представлен метод замены гладких нелинейных функций нейронов константами, линейными, пороговыми или кусочно-линейными функциями.

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

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

3.3.6. Дополнительные модификации алгоритмов контрастирования

Контрастирование не обязательно вести как процесс только исключения незначимых элементов. В [17,57] предложено на некотором шаге упрощения дополнительно возвращать в сеть часть ранее отконтрастированных элементов.

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

Можно определить эту новую значимость и вернуть в сеть несколько наиболее значимых ранее отброшенных элементов. Это может помочь отконтрастировать в дальнейшем большее количество элементов [27].

3.3.7. Методы модификации структуры обученной сети

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

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

3.4. Требования к процессу упрощения сети для извлечения знаний

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

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

Методы, выполняющие пошаговое упрощение нейронной сети. На каждом шаге удаляется наименее значимый элемент сети (или несколько наименее значимых элементов - [57]), затем после дообучения удаляется следующий наименее значимый элемент и т.д. Такие методы позволяют удалять из нейросети заданное число элементов и строить пользовательские стратегии упрощения путем последовательного применения различных методов, контрастирующих различные элементы.

Представляется, что методы из первой группы мало пригодны для упрощения сети при последующем извлечении из нее знаний из-за недостаточной гибкости и невозможности конструирования комбинированных алгоритмов, так как у пользователя обычно имеется некоторое соображение об оптимальной структуре сети. Оптимальность обычно достигается не по одному какому-то критерию (например, "минимальность числа нейронов ", "минимальность числа входов ",…), а по нескольким. И если последовательно применять методы из первой группы, то достижение одного критерия возможно, а последующих -проблематично, поскольку примененный для достижения первого критерия оптимальности метод контрастирования отконтрастировал сеть до минимума по этому критерию и оставил очень мало избыточности в сети, чтобы можно было достичь общего оптимума путем дальнейшего контрастирования по другим критериям.

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

Процесс упрощения должен позволять пользователю выбирать контрастируемые структурные элементы сети (нейроны, входы, синапсы,…) путем выбора отдельных элементарных упрощающих операций.

Процесс упрощения должен позволять задавать последовательность проведения различных выбранных в п.1 упрощающих операций.

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

Возможность определять условие остановки контрастирования (по каждой упрощающей операции) взамен контрастирования сети "до предела".

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

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

3.5. Упрощающие операции над нейронной сетью

Введем номенклатуру элементарных упрощающих операций [22,23,58]:

Удаление входного сигнала (см. раздел 3.3.3).

Удаление синапса сети (раздел 3.3.1).

Удаление нейрона сети (раздел 3.3.2).

Бинаризация синапса сети (раздел 3.3.4).

Модификация нелинейного преобразователя нейрона сети (раздел 3.3.5).

Эквивалентное преобразование структуры сети, приводящее к оптимизации структуры сети по некоторому критерию (раздел 3.3.7).

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

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

3.6. Процедура комплексного упрощения нейронной сети

Для задачи извлечения явных знаний из данных введем понятие логически прозрачной сети [17,18,20,23,58]. Под логически прозрачной понимается нейросеть, обладающая минимальной структурной сложностью и при этом удовлетворяющая требованиям (предпочтениям) пользователя (если пользователь сам будет вручную проводить процесс извлечения знаний - осмысления и интерпретации структуры сети) и/или требованиям алгоритма автоматизированного извлечения знаний к виду результирующей сети.

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

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

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

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

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

Глава 4. Методы извлечения знаний из искусственных нейронных сетей

4.1. Существующие методы извлечения знаний из обученной нейросети

Как и для методов упрощения нейросети, для методов извлечения из сети знаний можно тоже ввести несколько классификаций. Так, в [59] представлено ранжирование методов извлечения знаний по следующим свойствам:

Накладываются ли ограничения на возможный вид нейросети (на структуру сети, число нейронов, входов и выходов сети, вид входных и выходных сигналов сети).

Модифицируется или нет обученная сеть при извлечении из нее знаний.

Делится ли непрерывнозначная входная и/или промежуточная (сигнал нейрона) переменная на интервалы, которым затем можно сопоставить лингвистические категории. Как происходит процесс этого деления.

4.1.1. Методы на основе квантования сигналов сети

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

В [53] разработан метод порождения и проверка гипотез о структурной и функциональной связи между входом и выходом, состоящий из трех этапов:

Определение "границ решения" - разбиение диапазонов значений непрерывных входных признаков на поддиапазоны, внутри которых правила принятия решения будут различаться. Работа ведется на уже обученной сети. Для каждого i-го входного сигнала строится график показателя чувствительности выходного сигнала сети к изменению i-го сигнала в точке x, из диапазона значений сигнала: , где j - номер примера обучающей выборки, Oj(i) - выходной сигнал сети при замене значения i-го входного сигнала j-го примера на заданную величину. Входные сигналы, содержащие границы решения, будут иметь высокие пики на своих графиках (соответствующие большим значениям производной выходного сигнала). Неинформативные сигналы пиков иметь не будут, высота их графиков будет малой.

Анализ чувствительности выхода к входу для определения причинно-следственной связи - путем вычисления показателя значимости входа как суммы по всем примерам выборки модуля разностной аппроксимации частной производной выходного сигнала по входному. Формула аналогична накоплению показателей значимости в норме "сумма модулей" [17,26], но основана на разностной аппроксимации производной выходного сигнала сети по входному. Самостоятельного значения этот этап не имеет, используется внутри этапа 3.

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

Аналогичный подход к определению границ решения на основе анализа производных выходного сигнала сети (именно выходного сигнала, а не функции качества) по входным сигналам использован в [59].

В [59] рассмотрено извлечение нечетких правил из сети-классификатора с непрерывнозначными входными сигналами. Для каждого входного сигнала формируются несколько лингвистических категорий (например, "малый", "ниже среднего", "средний", "выше среднего", "высокий" или другие в зависимости от физического смысла сигнала) и соответствующие каждой лингвистической категории нечеткие функции принадлежности. Процесс построения правил использует только входные и выходные сигналы сети и выполняется путем перебора всех возможных сочетаний лингвистических категорий на входах с вычислением нечетких значений на выходах при работе сети. Для каждого сочетания категорий получается набор нечетких значений на выходах сети, и для класса с наибольшим значением записывается правило вида if-then, где в правой части правила коэффициент уверенности принимает значение вычисленной нечеткой величины. Построения иерархии правил (по числу слоев нейросетевого классификатора) в [59] не делается. Правила в левой части содержат значения входных переменных, а в правой - выходных переменных нейросети. Практически аналогичный метод извлечения нечетких правил предложен в [60] - фаззификация и введение лингвистических категорий для входных сигналов сети, построение набора нечетких правил, выдающих по фаззифицированным входным сигналам ответ, близкий к ответу сети (требуемому выходному сигналу). Т.е. структура сети снова во внимание не принимается, фактически, можно обойтись просто обучающей выборкой.

Наиболее недавние работы [62,63] предлагают свободное от семантики, полуавтоматизированное определение числа и границ диапазонов значений. В [62] предлагается следующий процесс извлечения знаний:

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

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

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

Более подробно механизм определения диапазонов рассмотрен в [63]. Функция принадлежности формируется как разность выходных сигналов двух сигмоидных нейронов с разными значениями весов неоднородных входов и одинаковыми (единственными) входными сигналами с одинаковыми же весами синапсов. Т.е. таким образом кодируется лингвистическая переменная для интервала . Если этот разностный сигнал используется далее с отрицательным весом, то лингвистическая переменная получается для интервала . Одна сигмоида может кодировать переменную 0 или 0. Фактически, предлагается строить дополнительный кодирующий слой нейронов (самый первый), где для каждого непрерывнозначного входного сигнала будут иметься несколько пар нейронов (их обучение должно идти с сохранением одинаковых значений весов синапсов в каждой паре), и два дополнительных нейрона для представления лингвистических переменных вида 0 или 0. Обучение нейросети и контрастирование такого слоя окончательно сформирует интервалы для лингвистических переменных, а их число будет оптимизировано по сравнению с исходным числом кодирующих нейронов для каждого сигнала.

4.1.2. Методы извлечения знаний параллельно с обучением нейросети

Отдельные методы опираются на процесс обучения нейросети.

В [64] исследуется возможность применения "структурного обучения" и его модификаций [28-33] не только как метода контрастирования синапсов, но и как метода извлечения знаний. Подчеркивается необходимость упрощения сети для получения более компактного и понятного набора правил. Предложено построение иерархии правил - выделение сначала доминантных правил, а затем дополнений и исключений из правил (или, другими словами, правил, определяющих основные зависимости, и правил, которые уточняют детали). Процесс - установка сравнительно большого значения величины параметра регуляризации и обучение сети до получения простой структуры, запись правил (наиболее доминантных) по полученной сети, фиксация и выведение из обучения полученной структуры сети (ненулевых весов синапсов), уменьшение значения параметра регуляризации, обучение сети (чтобы достигнуть большей точности решения, некоторые ранее отконтрастированные синапсы получат ненулевые веса и сформируют иерархию правил уровнем ниже), и запись дополнительно сформированных менее доминантных правил и т.д. до тех пор, пока суммарный набор правил (именно набор правил, а не нейросеть) не будет работать на обучающей/тестовой выборке с заданной точностью.

Однако процесс выбора начального значения параметра регуляризации и стратегии его уменьшения неоднозначен. Вдобавок, используемая в [64] оценка МНК может приводить к избыточной сложности набора правил для сетей-классификаторов. Также не обсуждается механизм собственно записи правил (тестовый пример в [64] работал с булевыми входными переменными) обсуждается только механизм упрощения сети для формирования структуры правил, отранжированных по шкале общности (доминирования) - детализации.

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

В [65] рассматривается метод, формирующий правила параллельно с обучением сети. Если текущий прогноз сети правилен, то в набор правил вводится правило, обеспечивающее такой же ответ на данной ситуации, и делается попытка переформулирования некоторых имеющихся и добавляемого правил - например, путем объединения нескольких частных правил в одно более универсальное правило. Если ответ сети неверен, то набор правил модифицируется для недопущения ошибки. Т.е. правила формируются не по нейронной сети, а на основании обучающей выборки. По сравнению с извлечением знаний после обучения сети, такой подход формирует более "сырой" и "рыхлый" набор правил и может оставлять рудиментарные правила. Но для ситуаций, когда необходимо формирование знаний в режиме on-line (когда невозможно заранее сформировать обучающую выборку), такая идея достаточно перспективна для дальнейшего развития.

4.1.3. Методы извлечения знаний из обученной нейросети

В [66-68] предложен метод извлечения знаний, опирающийся только на структуру и веса синапсов обученной нейросети, не требующий обучающей выборки и не рассматривающий природу входных и промежуточных сигналов сети. Для каждого нейрона взвешенная с весами синапсов сумма его входных сигналов (т.е. выходной сигнал сумматора нейрона) сравнивается со значением неоднородного входа нейрона. Превышение/непревышение оформляется в отдельное правило вида “если…, то”. В случае сигмоидных или пороговых функций превышение или непревышение взвешенной суммой значения неоднородного входа описывает уровень активации выходного сигнала нейрона.

В [69] рассматривались похожие идеи, но с анализом порождаемых на обучающей выборке промежуточных сигналов нейросети - величин активации нейронов. Рассматривалась ситуация активации/неактивации нейрона при конкретных комбинациях значений бинарных входных сигналов нейрона. Строились правила вида "M of N", описывающие накладываемые на значения входных сигналов условия для получения того или иного выходного состояния нейрона. При этом при записи правил отсеивались те входные сигналы нейрона, изменение значений которых не приводит к изменению выходного состояния при фиксированных значениях других входов.

MofN-правила - продукционные правила вида:

"ЕСЛИ хотя бы / ровно / по меньшей мере M из N условий C1, C2,..,CN выполнены, ТО…, ИНАЧЕ…"

Такие правила более гибки чем простейшая форма "если…, то…".

В алгоритме [70] извлекаются правила простейшего вида, вдобавок содержащие в левой и правой частях правила только по единственному атрибуту. Это приводит к необходимости дальнейшей оптимизации и переформулирования получающегося большого количества простых продукционных правил, например, в набор меньшего числа правил вида MofN.

В [71] предлагается метод построения многошаговой схемы логического вывода, где на каждом шаге вывода могут использоваться как концепты предыдущего шага, так и концепты всех более ранних шагов и первоначальные входные данные - это отличает предложенный метод от большинства других методов, где в формировании концептов некоторого уровня участвуют только концепты предыдущего уровня. Здесь концепты формируются в ходе просмотра обучающей выборки путем объединения встречающихся 2 и более раз комбинаций значений дискретных входных признаков в величину с некоторым значением, которой можно дать лингвистическое описание. После порождения концепта он начинает участвовать в формировании концептов следующего уровня наряду со всеми ранее сформированными концептами.

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

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

Именно как методы уточнения имеющихся априорных знаний первоначально были представлены методы [69,70,72-74]. При этом в нейросеть встраивается имеющийся набор правил вывода, который не должен обязательно быть ни полным, ни непротиворечивым. Правила оперируют бинарными или номинальными величинами, входные/промежуточные сигналы реализующей эти правила нейросети тоже делаются квантованными. Для обработки входной информации каждая непрерывнозначная величина разбивается пользователем на несколько интервалов. Нейросеть "достраивается" до полного размера набором связей с небольшими весами и набором добавочных нейронов. После обучения сети извлекаются откорректированные правила логического вывода вида M of N. Высокая или низкая активация нейронов интерпретируется как истинное или ложное значение вычисляемой нейроном булевой переменной. Такой метод извлечения знаний называется в [73,74] KBANN-алгоритмом.

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


Подобные документы

  • Способы применения нейронных сетей для решения различных математических и логических задач. Принципы архитектуры их построения и цели работы программных комплексов. Основные достоинства и недостатки каждой из них. Пример рекуррентной сети Элмана.

    курсовая работа [377,4 K], добавлен 26.02.2015

  • Описание технологического процесса напуска бумаги. Конструкция бумагоделательной машины. Обоснование применения нейронных сетей в управлении формованием бумажного полотна. Математическая модель нейрона. Моделирование двух структур нейронных сетей.

    курсовая работа [1,5 M], добавлен 15.10.2012

  • Нейронные сети как средство анализа процесса продаж мобильных телефонов. Автоматизированные решения на основе технологии нейронных сетей. Разработка программы прогнозирования оптово-розничных продаж мобильных телефонов на основе нейронных сетей.

    дипломная работа [4,6 M], добавлен 22.09.2011

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

    дипломная работа [3,8 M], добавлен 27.06.2011

  • Способы применения технологий нейронных сетей в системах обнаружения вторжений. Экспертные системы обнаружения сетевых атак. Искусственные сети, генетические алгоритмы. Преимущества и недостатки систем обнаружения вторжений на основе нейронных сетей.

    контрольная работа [135,5 K], добавлен 30.11.2015

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

    презентация [150,8 K], добавлен 19.08.2013

  • Общие сведения о принципах построения нейронных сетей. Искусственные нейронные системы. Математическая модель нейрона. Классификация нейронных сетей. Правила обучения Хэбба, Розенблатта и Видроу-Хоффа. Алгоритм обратного распространения ошибки.

    дипломная работа [814,6 K], добавлен 29.09.2014

  • Анализ интеллектуально-информационных ресурсов как движущей силы современного общества. Стратегии получения знаний. Характеристика преимуществ статистических пакетов и нейронных сетей. Архитектура инструментария для интеллектуального анализа MineSet.

    контрольная работа [35,6 K], добавлен 14.09.2010

  • Модели нейронных сетей и их реализации. Последовательный и параллельный методы резолюции как средства логического вывода. Зависимость между логическим следованием и логическим выводом. Применение технологии CUDA и реализация параллельного алгоритма.

    дипломная работа [1,5 M], добавлен 22.09.2016

  • Понятие и свойства искусственных нейронных сетей, их функциональное сходство с человеческим мозгом, принцип их работы, области использования. Экспертная система и надежность нейронных сетей. Модель искусственного нейрона с активационной функцией.

    реферат [158,2 K], добавлен 16.03.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.