|
Технология извлечения знаний из нейронных сетей: апробация, проектирование ПО, использование в психолингвистике
оэтому можно сформировать следующие требования к процессу упрощения нейросети для задачи последующего извлечения из нее знаний. Эти требования накладывают определенные ограничения на возможность использования тех или иных методов упрощения:Процесс упрощения должен позволять пользователю выбирать контрастируемые структурные элементы сети (нейроны, входы, синапсы,…) путем выбора отдельных элементарных упрощающих операций.Процесс упрощения должен позволять задавать последовательность проведения различных выбранных в п.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-алгоритма в том, что, фактически, не порождается новых правил. При формировании сети делается так, чтобы добавляемые синапсы имели малые веса и добавляемые нейроны имели низкую активацию. При обучении сети корректируются как добавленные элементы, так и сопоставленные с первоначальными символьными правилами элементы. Но поскольку последние изначально имеют большие значения синапсов и высокие активации нейронов, то они и сформируют кластера активности, а добавленные элементы будут использоваться на этапе извлечения правил. Фактически из сети извлекается немного скорректированный набор исходных правил.Определению необходимости добавления и числа добавляемых к сети нейронов в ходе ее формирования посвящены работы [75,76], обходящие указанное ограничение KBANN-метода. TopGen-расширение KBANN-алгоритма осуществляет эвристический поиск оптимальных модификаций сети на основе обучающих данных, получающегося набора символьных правил и поведения сети. Другие алгоритмы наращивают сеть при малой скорости сходимости обучения и/или большой ошибке обучения/обобщения и т.д. TopGen же нацелен на работу с KBANN-сетями и при своей работе использует извлечение из сети и анализ символьных правил для того, чтобы определить, в каком месте сети требуется коррекция. При работе алгоритма корректируется символьное представление правил и их иерархическая структура наряду с их адаптацией путем обучения сети. Еще одна особенность алгоритма - стремление не слишком нарушать вставленные в нейросеть исходные формализованные правила, а иначе после извлечения правил можно получить правила, кардинально отличающиеся от первоначальных и сложные в интерпретации. Т.е. добавляемые в сеть элементы должны научиться по обучающей выборке распознавать исключения из исходных правил и/или научиться корректировать ответ этих правил, если последние слишком уж плохо работают на выборке.Метод извлечения знаний, использовавшийся в составе KBANN-алгоритма [73,74], был адаптирован и для извлечения знаний из нейросетей без первоначального встраивания в них правил. Идея исходного метода - при обучении получить нейросеть, в которой значения весов синапсов и активаций нейронов группируются в кластеры, и лингвистически интерпретировать полученные кластеры. Были предложены следующие варианты доработки:В [77] используется процедура коррекции, которая после обычного обучения сети группирует значения весов синапсов каждого нейрона в кластеры (веса синапсов затем заменяются значениями центров кластеров) и корректирует значения неоднородного входа нейрона так, чтобы скомпенсировать внесенные в сеть изменения, и таким образом делает возможным применение старого варианта метода извлечения знаний.В [78] на основе поискового алгоритма разработан метод построения набора правил, приблизительно эквивалентных правилам, сформированным некоторой произвольной сетью без ограничений на ее топологию. Не требуется квантования величин активаций нейронов при обучении сети, и требуется только равенство выходных сигналов сети и нового набора правил на обучающей выборке, что дает свободу в применении правил различного вида и не привязывает иерархию извлеченных правил к структуре сети.В [78,79] на основе идей [76,77] предложен алгоритм TREPAN построения построения иерархии правил, причем число уровней иерархии может не совпадать с числом слое нейронов сети. При этом также используется обучающая выборка.Наиболее недавняя работа [79] дает начало новому этапу развития методов извлечения знаний из нейросетей. Cуществует 2 основных подхода к извлечению знания из нейросети - это анализ топологии сети и анализ поведения сети в терминах отображения вход-выход и/или активации нейронов. Существующие методы интерпретации топологии нейросети "локальны" и не учитывают "распределенного" по нейросети знания об алгоритме решения задачи. Очень редко при извлечении правил удается выявить именно распределенные правила принятия решения. Второй же подход более интересен.До [79] фактически единственной работой этого подхода была работа [53], в которой проводилось формирование границ решения (построение интервалов изменения входных переменных, внутри которых имелось отличие функциональной зависимости вход-выход от зависимостей в других интервалах) и определение значимости входных сигналов внутри каждого интервала с возможностью дальнейшего перехода от нейросети к структурно-функциональной модели, состоящей из набора условных правил, в зависимости от значений входных сигналов выбирающих ту или иную простую (по сравнению с исходной нейронной сетью) модель отображения "вход-выход".В [79] вдобавок предложено использовать анализ активации нейронов сети; при этом желательно иметь пороговые нейроны, либо нейроны, чья активация на обучающей выборке подчиняется многомодальному закону распределения (для получения информации о состояниях нейрона можно использовать гистограмму его активации, кластерный анализ его выходных сигналов,..). Анализируя этот закон, для нейрона можно сформировать несколько границ его состояния (и затем семантически интерпретировать каждое состояние). Таким образом мы получаем знания о структуре внутренних сигналов сети [69-74,77,78]. Но такой анализ активаций тоже является локальной интерпретацией нейронов. Также предложено для каждого из выделенных состояний нейронов проверять различные статистические гипотезы для групп примеров, формирующих именно это состояние. Причем гипотезы могут касаться как значений входных переменных в группе примеров, так и значений внутренних сигналов сети на этой группе примеров. Для нескольких групп примеров (каждая группа формирует свое состояние нейрона) проверяются гипотезы о равенстве или отличии матожиданий, равенстве или отличии значений сигналов,… Такая статистическая информация не извлекается ни из исходной таблицы данных, ни при анализе нейросети без одновременного анализа таблицы данных. При таком анализе возможно упрощение извлеченных из сети правил и параллельная или альтернативная запись всего набора правил или отдельных правил на другом "языке". Возможно рассмотрение вектора, составленного из выходных сигналов нейронов (например, некоторого слоя) сети, и применение кластерного анализа для набора полученных по выборке таких векторов. Для каждого кластера опять проверяются статгипотезы. Тут может получаться меньше кластеров, чем число сочетаний состояний этих нейронов.4.2. Методы извлечения знаний: требования к методамОбзорам методов извлечения знаний и требованиям к ним, анализу текущего состояния проблемы посвящены работы [80,81-83]. В этих работах рассматриваются общие вопросы применимости нейросетей для анализа данных и извлечения знаний, преимущества, получаемые от применения нейросетей, методы извлечения знаний из нейросетей и встраивания знаний в нейросети, методы обучения/формирования сети, содержащей явные правила. В [80] требования, сформированные в [84] для задач машинного обучения в теории классического искусственного интеллекта ("Результатом компьютерного индуктивного вывода должны быть символьные описания заданных сущностей, семантически и структурно похожие на те, которые формирует человек-эксперт на основе обзора тех же сущностей. Компоненты этих описаний должны формировать самодостаточные информационные сущности, прямо интерпретируемые на естественном языке, и единоднообразно определять как количественные, так и качественные понятия" - [84]), переносятся и на алгоритмы и методы извлечения знаний из нейросетей. Поясняется, почему такое требование является важным:С точки зрения проверки полученных правил - человек должен понимать полученные правила, чтобы им доверять.С точки зрения получения новых знаний - человек должен иметь возможность понять и проинтерпретировать порожденное системой знание.С точки зрения объяснения - важно не просто ответить на введенный запрос, но и объяснить промежуточные рассуждения, приведшие к получению именно этого ответа.С точки зрения дальнейшего уточнения и обобщения знаний - представление входной информации оказывает существенное влияние на получаемый набор правил и возможность его обобщения, поэтому анализ извлеченного набора правил может привести к появлению более корректной кодировки входной информации или к укрупнению/огрублению входных сущностей без потери качества решения задачи.С точки зрения уточнения знаний - как человеком, так и с помощью автоматических процедур - требуется манипулирование атомарными, самодостаточными сущностями.Знания в нейронной сети являются процедурными, поэтому их символьное декларативное представление дает как дополнительное знание, так и является более открытым для дополнения, дает возможность использования отдельных фрагментов полученного знания.Также показательна недавняя работа [83], рассматривающая результаты десятилетия исследований методик и алгоритмов извлечения знаний из нейронных сетей. В этой работе говорится, что технология извлечения знаний еще не стала широко применимой на практике и не дала таких результатов, которые могла бы дать. Все дело в том, что наиболее точные извлекаемые модели и знания оказываются слишком сложными и непонятными/неявными. Там же вводится дополнительный набор критериев для методов извлечения знаний:Явность/понятность извлеченного набора правил для человека.Точность описания исходной нейросети, из которой знания были извлечены.Точность решения задачи.Масштабируемость - применимость метода для сетей с большим числом нейронов и/или входных сигналов и/или большой обучающей выборкой.Общность - отсутствие жестких ограничений на архитектуры сети, алгоритмы обучения, решаемые сетью задачи.Критерии 2,3 необходимы потому, что еще с работы [85] 1991г процесс извлечения знаний из нейронной сети строился в подавляющем большинстве случаев итеративным образом, когда из нейросети извлекается и записывается в символьной форме знание о проблемной области, а затем полученный алгоритм корректируется экспертом и снова встраивается в нейросеть для коррекции. Такой процесс извлечения и встраивания знаний продолжается до тех пор, пока не будет получен алгоритм, адекватный экспертному знанию о проблемной области. Итерационный процесс, фактически, требуется из-за двух обстоятельств, существенных на время работы [85] и так и не обойденных до сих пор:Извлечение знаний производится из неупрощенной сети и использует только наибольшие по модулю веса синапсов, что приводит к потере тех знаний, которые распределены по большому числу синапсов с малыми весами, и поэтому часто дает малую точность извлеченного набора правил.нет такой процедуры извлечения/встраивания знаний, которая после встраивания извлеченных знаний давала бы сеть, аналогичную исходной. Требования пользователей к виду извлекаемых знаний и форме их записи могут приводить к очень большим отличиям извлеченных знаний от знаний, содержащихся в исходной сети.В [62] под извлечением знаний из данных понимается наиболее компактное описание данных и правил решения задачи, обеспечивающее достаточную точность решения. Извлечение логических правил из данных может выполняться различными инструментами - статистикой, распознаванием образов, методами автоматического обучения, нейросетевыми алгоритмами и их комбинациями. Подчеркивается, что при извлечении знаний недостаточно просто извлечь знания из нейросети и представить их в некотором требуемом виде, но необходимо оптимизировать их структуру и постоянно иметь в виду аспекты дальнейшего их применения. Фактически же исследователи делают упор только на этап извлечения знаний.4.3. Методология извлечения явных знаний, использующая технологию комплексного упрощения нейросетиПонятности извлекаемых знаний для пользователя сложно или невозможно достичь автоматизированной процедурой извлечения знаний. Программная система не имеет никаких экспертных знаний о проблемной области и не может оценить ни уровня правдоподобия, ни уровня понятности предлагаемого извлеченного знания для конкретного человека, поэтому задача интерпретации знаний так и остается прерогативой пользователя.Остальные же критерии, описывающие требования к точности и форме рассуждений (знаний), достижимы автоматизированными методами. Правда, сначала пользователь должен уточнить эти требования для конкретной задачи.Требования точности описания исходной нейронной сети и точности решения задачи делают невозможным использование для извлечения знаний тех рассмотренных выше методов, которые извлекают описание, соответствующее только наиболее сильно активирующимся нейронам и/или синапсам с наибольшими весами - при использовании таких методов может происходить потеря точности. С другой стороны, избыточность структуры сети будет приводить к избыточности набора правил, если при извлечении правил учитывать абсолютно все элементы сети. Эти два фактора приводят к следующему утверждению: для получения простой структуры знаний необходимо предварительное упрощение нейросети с целью оставить в нейросети только действительно необходимые для решения задачи элементы и сигналы, а затем использование такого метода извлечения знаний, который формирует знания по всем элементам и сигналам, оставшимся у сети после упрощения.Требование масштабируемости - применимости метода извлечения знаний для сетей больших размеров - во многих случаях не будет важным при правильном определении требований к точности решения задачи и корректной постановке задачи, поскольку упрощение сети даст для не слишком высоких требований как достаточно малое число элементов в сети, так и малое число входных сигналов по сравнению с первоначальным. Поскольку процесс интерпретации большого объема правил более длителен по сравнению со временем выполнения упрощения сети и дальнейшего процесса интерпретации гораздо меньшего набора правил, то требование масштабируемости становится некритическим при обязательном выполнении предварительного упрощения. Достигнутая к настоящему моменту производительность средств вычислительной техники и быстрота алгоритмов обучения и контрастирования сети делают затраты на проведение упрощения малыми по сравнению с затратами на анализ человеком интерпретацию системы правил.Требование отсутствия ограничений на архитектуры сети приводит к требованию проведения извлечения знаний как поэлементного описания сети, когда вид сопоставленных с элементом продукционных правил не будет зависеть от места элемента в структуре сети. Этому требованию удовлетворяют методы, описывающие сеть понейронно, когда нейрону может соответствовать несколько правил и вид правил не зависит от места нейрона в структуре сети.Представим сформированные требования к процессу извлечения знаний более формально:Обязательное проведение упрощения сети перед извлечением знаний.Формирование набора правил путем описания всего множества элементов и сигналов сети, без разделения элементов и сигналов на значимые и незначимые (незначимые должны полностью отсеяться при упрощении).Формирование набора продукционных правил поэлементно. При этом заданный человеком вид результирующего представления правил не должен и не будет зависеть от места элемента в структуре сети.Заданный человеком вид результирующих правил, предпочтения к особенностям, свойствам и структуре правил должны обязательно влиять на процесс проведения упрощения в п.1.На основе этих требований разработан следующий процесс извлечения правил [22,23,58]. Правила извлекаются в ходе понейронного рассмотрения нейросети и для каждого нейрона возможно построение одного или нескольких правил. Пусть Y - выходной сигнал нейрона, Yi - i-е дискретное значение выхода (в случае дискретнозначного выхода), X1,..,Xn - входные сигналы нейрона, xij - j-e дискретное значение i-го входа (в случае дискретнозначного входа), F(X1,..,Xn) - нелинейная функция нейрона. Здесь имеется и может использоваться упрощающая операция над нелинейной функцией нейрона, после проведения которой нейрон с сигмоидной нелинейной функцией может становиться пороговым нейроном или нейроном с кусочно-линейной функцией. Возможны различные виды извлекаемых правил:Если все входные сигналы нейрона дискретны, то независимо от вида нелинейной функции выходной его сигнал будет дискретнозначен. Поэтому для каждой возможной комбинации значений входов будет получено правило вида IF (X1=x1j AND X2=x2k AND … AND Xn=xnl) THEN Y=Yi.После построения набора атомарных правил вида "если-то" в варианте 1 возможен переход от них к правиам вида MofN.Если же хотя бы один входной сигнал у нейрона непрерывен, то применимо нижеследующее:Если нелинейная функция гладкая (например, сигмоидная), то строится зависимость вида Y= F(X1,..,Xn).Если нелинейная функция пороговая, то выход дискретен и для каждого его дискретного значения можно определить условия, налагаемые на взвешенную сумму входных сигналов как IF A<(W1X1+W2X2+…+WnXn)<B THEN Y=Yi, где A,B - некоторые константы, Wj - вес синапса, на который поступает j-й сигнал. Неравенства могут быть нестрогими, а ограничения - односторонними. Если при некоторых комбинациях значений дискретных входов никакое изменение значений непрерывных входов не будет переводить выход в другое дискретное состояние, то для таких комбинаций строим условные правила из п.1 без учета значений непрерывных входов.Если функция кусочно-линейна, то кусочно-постоянные участки будут описываться условными правилами (п.3), а кусочно-линейные - функциональными (п.2).Видно, что требования пользователя к виду извлекаемых правил приводят к необходимости выполнения той или иной модификации нелинейной функции нейрона. Задаваемое ограничение на число сущностей (входных сигналов нейрона), учитываемых в левой части правила, приводит к необходимости проведения операции равномерного упрощения сети по входам нейронов, и.т.д. В случае, когда упрощение нейросети не выполнено или все же оставило некоторые избыточные элементы, возможно огрубление извлеченных из сети правил с одновременным сокращением их числа по сравнению с исходным числом правил. Критерием возможности проведения огрубления выступает точность решения задачи набором правил - если точность при огрублении не опускается ниже требуемой пользователем точности, то огрубление можно производить. Вот варианты огрубляющих операций:В случае использования сигмоидной нелинейной функции можно даже при непрерывнозначных входных сигналах нейрона перейти к описанию активации нейрона в терминах высокой (+1 или иное значение в зависимости от конкретной нелинейной функции) или низкой (-1 или иное значение) активации. Для этого взвешенная сумма входных сигналов нейрона W1X1+W2X2+…+WnXn сравнивается со значением неоднородного входа нейрона W0 и при превышении значения активация нейрона считается положительной, а иначе - отрицательной. Т.е. формируется единственное правило вида IF (W1X1+ …+WnXn)>W0 THEN Y=Yвысокая ELSE Y=Yнизкая.В случае сигмоидной функции возможно исследование вида функции распределения выходного сигнала нейрона и при многомодальном распределении возможен переход к квантованию величин активации по центрам кластеров [61,62]. Для k выделенных кластеров активации с центрами кластеров в точках Ui и k-1 граничными значениями активации Zij между кластерами i и j формируется правило в виде цепочкиIF (W1X1+ …+WnXn)<Z12 THEN Y=U1 ELSE IF (W1X1+ …+WnXn)<Z23 THEN Y=U2 ELSE … ELSE IF (W1X1+ …+WnXn)<Zk-2,k-1 THEN Y=Uk-1 ELSE Y=Uk.При многомодальном распределении значений величин активации нейрона с сигмоидной, пороговой или кусочно-линейной функцией возможна проверка различных гипотез касательно статистических характеристик величин входных и промежуточных сигналов нейронной сети при различных делениях обучающей выборки на фрагменты. Это делает возможным замену некоторого числа продукционных правил на более простые правила. В качестве начальной нелинейной функции нейрона может быть рассмотрена любая функция, имеющая непрерывную первую производную. Каждой конкретной функции сопоставляется набор ее негладких аппроксимаций в зависимости от последующих требований семантики. Так, гауссова функция может быть в дальнейшем интерпретируема как нечеткая функция принадлежности и аппроксимируема прямоугольной, трапецеидальной или треугольной негладкой функцией. Соответственно этому меняются описывающие нейрон правила и схемы огрубления. Здесь можно сделать следующие выводы:
Страницы: 1, 2, 3, 4
|
|