|
Технология извлечения знаний из нейронных сетей: апробация, проектирование ПО, использование в психолингвистике
то явление можно назвать "логической непрозрачностью" нейронных сетей, обученных по неявным правилам. С другой стороны, при использовании нейронных сетей в экспертных системах возникает потребность прочитать и логически проинтерпретировать навыки, выработанные сетью. Для этого служат методы контрастирования - получения неявными методами логически прозрачных нейронных сетей. 2.2. Элементы нейронных сетейДля описания алгоритмов и устройств в нейроинформатике выработана специальная "схемотехника", в которой элементарные устройства - сумматоры, синапсы, нейроны и т.п. объединяются в сети, предназначенные для решения задач.Адаптивный сумматор вычисляет скалярное произведение вектора входного сигнала x на вектор параметров . На схемах он обозначается так, как показано на рис. 1. Адаптивным он называется из-за наличия вектора настраиваемых параметров . Для многих задач полезно иметь линейную неоднородную функцию выходных сигналов. Ее вычисление также можно представить с помощью адаптивного сумматора, имеющего n+1 вход и получающего на 0-й вход постоянный единичный сигнал (рис. 2).Рис. 2. Неоднородный адаптивный сумматорРис. 1. Адаптивный сумматор.Рис. 5. Формальный нейронРис. 3. Нелинейный преобразова-тель сигнала.Рис. 4. Точка ветвленияНелинейный преобразователь сигнала изображен на рис. 3. Он получает скалярный входной сигнал x и переводит его в (x).Точка ветвления служит для рассылки одного сигнала по нескольким адресам (рис. 4). Она получает скалярный входной сигнал x и передает его всем своим выходам. Стандартный формальный нейрон составлен из входного сумматора, нелинейного преобразователя и точки ветвления на выходе (рис. 5).Линейная связь _ синапс _ отдельно от сумматоров не встречается, однако для некоторых рассуждений бывает удобно выделить этот элемент (рис. 6). Он умножает входной сигнал x на “вес синапса” . Рис. 6. Синапс.Итак, дано описание основных элементов, из которых составляются нейронные сети. 2.3. Основные архитектуры нейронных сетейКак можно составлять эти сети? Строго говоря, как угодно, лишь бы входы получали какие-нибудь сигналы. Используются несколько стандартных архитектур, из которых путем вырезания лишнего или (реже) добавления строятся большинство используемых сетей.Здесь и далее рассматриваются только нейронные сети, синхронно функционирующие в дискретные моменты времени: все нейроны срабатывают “разом”.В семействе нейронных сетей можно выделить две базовых архитектуры - слоистые и полносвязные сети.Рис. 7. Слоистая сетьСлоистые сети: нейроны расположены в несколько слоев (рис. 7). Нейроны первого слоя получают входные сигналы, преобразуют их и через точки ветвления передают нейронам второго слоя. Далее срабатывает второй слой и т.д. до k-го слоя, который выдает выходные сигналы для интерпретатора и пользователя. Если не оговорено противное, то каждый выходной сигнал i-го слоя подается на вход всех нейронов i+1-го. Число нейронов в каждом слое может быть любым и никак заранее не связано с количеством нейронов в других слоях. Стандартный способ подачи входных сигналов: все нейроны первого слоя получают каждый входной сигнал. Особое распространение получили трехслойные сети, в которых каждый слой имеет свое наименование: первый - входной, второй - скрытый, третий - выходной. Полносвязные сети: каждый нейрон передает свой выходной сигнал остальным нейронам, включая самого себя. Выходными сигналами сети могут быть все или некоторые выходные сигналы нейронов после нескольких тактов функционирования сети. Все входные сигналы подаются всем нейронам.Элементы слоистых и полносвязных сетей могут выбираться по-разному. Существует, впрочем, стандартный выбор - нейрон с адаптивным неоднородным линейным сумматором на входе (рис. 5). Для полносвязной сети входной сумматор нейрона фактически распадается на два: первый вычисляет линейную функцию от входных сигналов сети, второй - линейную функцию от выходных сигналов других нейронов, полученных на предыдущем шаге. Функция активации нейронов (характеристическая функция) - нелинейный преобразователь, преобразующий выходной сигнал сумматора (см. рис. 5) - может быть одной и той же для всех нейронов сети. В этом случае сеть называют однородной (гомогенной). Если же зависит еще от одного или нескольких параметров, значения которых меняются от нейрона к нейрону, то сеть называют неоднородной (гетерогенной).Если полносвязная сеть функционирует до получения ответа заданное число тактов k, то ее можно представить как частный случай k-слойной сети, все слои которой одинаковы и каждый из них соответствует такту функционирования полносвязной сети.2.4. Обучение нейронных сетей как минимизация функции ошибкиПостроение обучения как оптимизации дает универсальный метод создания нейронных сетей для решения задач. Если сформулировать требования к нейронной сети, как задачу минимизации некоторой функции - оценки, зависящей от части сигналов (входных, выходных, ...) и от параметров сети, то обучение можно рассматривать как оптимизацию и строить соответствующие алгоритмы, программное обеспечение и, наконец, устройства. Функция оценки обычно довольно просто (явно) зависит от части сигналов - входных и выходных, но ее зависимость от настраиваемых параметров сети может быть сложнее и включать как явные компоненты (слагаемые, сомножители,...), так и неявные - через сигналы (сигналы, очевидно, зависят от параметров, а функция оценки - от сигналов).За пределами задач, в которых нейронные сети формируются по явным правилам (сети Хопфилда, проективные сети, минимизация аналитически заданных функций и т.п.) требования к нейронной сети обычно можно представить в форме минимизации функции оценки. Не следует путать такую постановку задачи и ее весьма частный случай - "обучение с учителем". Если для решения задачи не удается явным образом сформировать сеть, то проблему обучения можно, как правило, сформулировать как задачу минимизации оценки. Осторожность предыдущей фразы ("как правило") связана с тем, что на самом деле неизвестны и никогда не будут известны все возможные задачи для нейронных сетей, и, быть может, где-то в неизвестности есть задачи, которые несводимы к минимизации оценки.Минимизация оценки - сложная проблема: параметров астрономически много (для стандартных примеров, реализуемых на РС - от 100 до 1000000), адаптивный рельеф (график оценки как функции от подстраиваемых параметров) сложен, может содержать много локальных минимумов, извилистых оврагов и т.п. Наконец, даже для того, чтобы воспользоваться простейшими методами гладкой оптимизации, нужно вычислять градиент функции оценки. В данном разделе описывается связь двойственного функционирования сетей - автоматов с преобразованием Лежандра и неопределенными множителями Лагранжа. Переменные обратного функционирования появляются как вспомогательные при вычислении производных сложной функции. Переменные такого типа появляются не случайно. Они постоянно возникают в задачах оптимизации и являются множителями Лагранжа.Для всех сетей автоматов, встречавшихся в предыдущих разделах, можно выделить три группы переменных:внешние входные сигналы x..., переменные функционирования - значения на выходах всех элементов сети f...,переменные обучения a...(многоточиями заменяются различные наборы индексов). Объединим их в две группы - вычисляемые величины y... - значения f... и задаваемые - b... (включая a... и x...). Упростим индексацию, перенумеровав f и b натуральными числами: f1,...,fN ; b1 ,...,bM . Пусть функционирование системы задается набором из N уравненийi(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 . Непосредственно и явно это сделать трудно.Поступим по-другому. Введем новые переменные 1,...,N (множители Лагранжа) и производящую функцию W: В функции W аргументы y, b и - независимые переменные.Уравнения (1) можно записать как (3)Заметим, что для тех y, b, которые удовлетворяют уравнениям (13), при любых W(y,b,)H(y,b). (4)Это означает, что для истинных значений переменных функционирования y при данных b функция W(y,b,) совпадает с исследуемой функцией H.Попытаемся подобрать такую зависимость i(b), чтобы, используя (4), получить для Di=H1(b)/bi наиболее простые выражения . На многообразии решений (15) Поэтому (5)Всюду различается функция H(y,b), где y и b - независимые переменные, и функция только от переменных b H(y(b),b), где y(b) определены из уравнений (13). Аналогичное различение принимается для функций W(y,b,) и W(y(b),b, (b)).Произвол в определении (b) надо использовать наилучшим образом - все равно от него придется избавляться, доопределяя зависимости. Если выбрать такие , что слагаемые в первой сумме последней строки выражения (5) обратятся в нуль, то формула для Di резко упростится. Положим поэтому. (6)Это - система уравнений для определения k (k=1,...,N). Если определены согласно (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. Прохождение вершины в прямом (а) и обратном (б) направлении.Предлагается рассматривать обучение нейронных сетей как задачу оптимизации. Это означает, что весь арсенал методов оптимизации может быть испытан для обучения. Существует, однако, ряд специфических ограничений. Они связаны с огромной размерностью задачи обучения. Число параметров может достигать 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, 2, 3, 4
|
|