Смекни!
smekni.com

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

- Существует номенклатура видов извлекаемых из сети элементарных правил.

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

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

4.4. Приемы повышения вербализуемости нейронной сети

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

Вербализацию можно проводить на основе визуального графического представления структуры сети и/или текстуального представления набора правил, путем последовательного построения симптом-синдромной структуры возникающих новых понятий предметной области [22,23,48,58]. Входные сигналы сети являются входными симптомами, выходные сигналы нейронов первого слоя – синдромами первого уровня и одновременно симптомами для нейронов второго слоя, генерирующих синдромы второго уровня, и т.д.

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

4.4.1. Добавление синдрома в набор входных симптомов

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

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

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

4.4.2. Построение иерархии продукционных правил

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

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

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

Зададимся требованием к числу правильно решенных примеров. Допустим, что нас устроит правильность решения 95% от общего числа примеров, присутствующих в таблице данных. Тогда построим процесс обучения и упрощения сети так, чтобы сеть, правильно решающая 95% примеров, считалась правильно обученной решать задачу и, соответственно, упрощалась с сохранением навыка решения 95% примеров. При упрощении сети примеры, входящие в состав 5% наиболее трудных, могут меняться. После завершения процесса упрощения, если в итоге получилась сеть, гораздо более простая, чем полученная для всего набора примеров логически прозрачная сеть, необходимо проанализировать наиболее трудные примеры – там могут встретиться ошибки в данных (см., например, [17], стр. 14) либо эти примеры “нетипичны” по сравнению с остальными.

Если же сеть с самого начала не может обучиться правильно решать задачу, то будем исключать из таблицы данных наиболее трудные примеры до тех пор, пока сеть не сможет обучиться. Далее надо исследовать статистические различия между набором оставшихся и исключенных данных – может обнаружиться, что отброшенные примеры образуют отдельный кластер. Так было при решении задачи нейросетевой постановки диагноза вторичного иммунодефицита по иммунологическим и метаболическим параметрам лимфоцитов. Только коррекция классификационной модели (из отброшенных данных сформировали третий класс в дополнение к двум изначально имевшимся) позволила обучить сеть правильно решать теперь уже измененную задачу ([17], стр. 15-16). Далее это даст более простой набор решающих правил, т.к. ранее сеть была вынуждена фактически запоминать обучающую выборку, а теперь классификационная модель соответствует естественной внутренней кластерной структуре объектов проблемной области.

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

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

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

- упрощение сети,

- извлечение правил,

- фиксирование полученной минимальной структуры сети,

- возвращение в сеть удаленных на этапе упрощения элементов,

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

4.4.3. Ручное конструирование сети из фрагментов нескольких логически прозрачных сетей

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