Смекни!
smekni.com

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

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

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

Более подробно механизм определения диапазонов рассмотрен в [63]. Функция принадлежности формируется как разность выходных сигналов двух сигмоидных нейронов с разными значениями весов неоднородных входов

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

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