Xreferat.com » Рефераты по информатике и программированию » Технология извлечения знаний из нейронных сетей: апробация, проектирование ПО, использование в психолингвистике

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

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

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

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

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

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


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. Ручное конструирование сети из фрагментов нескольких логически прозрачных сетей


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

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

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

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

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

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

Глава 5. Нейросетевой анализ структуры индивидуального пространства смыслов


5.1. Семантический дифференциал


Слова осмысляются человеком не через "толковый словарь", а через ощущения, переживания. За каждым словом у человека стоит несколько этих базовых переживаний: собака - это что-то маленькое, добродушненькое, пушистое, с мокрым язычком, …, но это и здоровенный, грозно рычащий зверь со злобными глазами, огромными клыками, … . Большинство слов кодирует некоторые группы переживаний, ощущений, и определить смысл слова, то есть эти самые переживания –

Если Вам нужна помощь с академической работой (курсовая, контрольная, диплом, реферат и т.д.), обратитесь к нашим специалистам. Более 90000 специалистов готовы Вам помочь.
Бесплатные корректировки и доработки. Бесплатная оценка стоимости работы.

Поможем написать работу на аналогичную тему

Получить выполненную работу или консультацию специалиста по вашему учебному проекту
Нужна помощь в написании работы?
Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Пишем статьи РИНЦ, ВАК, Scopus. Помогаем в публикации. Правки вносим бесплатно.

Похожие рефераты: