1
87
Министерство образования Российской Федерации
Омский Государственный Университет
Математический факультет
Горбань Павел Александрович
ТЕХНОЛОГИЯ ИЗВЛЕЧЕНИЯ ЗНАНИЙ ИЗ НЕЙРОННЫХ СЕТЕЙ:
АПРОБАЦИЯ, ПРОЕКТИРОВАНИЕ ПО,
ИСПОЛЬЗОВАНИЕ В ПСИХОЛИНГВИСТИКЕ
Дипломная работа
Научный руководитель:
Член-корреспондент РАН
В.В. Шайдуров
Омск - 2002
Оглавление
Цель работы
Целью дипломной работы является апробация гибкой технологии извлечения знаний из нейронных сетей, настраиваемой с учетом предпочтений пользователя. Тестирование, пробная эксплуатация и разработка новой версии программных средств, реализующих данную технологию. Проведение исследований индивидуальных пространств смыслов на основе данной технологии.
Основные задачи исследования
1. Анализ разработанных методов извлечения явных знаний из нейронных сетей с указанием их ограничений и областей применимости.
2. Апробация гибкой настраиваемой на основе предпочтений пользователя технологии извлечения знаний, опирающейся на предварительное проведение комплексного упрощения нейронной сети, выполняющегося с учетом сформированных пользователем требований к результирующему виду извлекаемых знаний.
3. Тестирование, пробная эксплуатация и разработка новой версии программных средств, реализующих данную технологию.
4. Усовершенствование метода семантического дифференциала Осгуда при помощи технологии разреживания обучаемых нейронных сетей.
Основные результаты работы, полученные лично автором
1. Предложены следующие приемы, упрощающие и делающие более гибким процесс вербализации (семантического анализа - осмысления в терминах проблемной области) извлеченного из сети набора правил:
a) На основе гипотезы о неединственности извлекаемых правил и учитывая, что разные фрагменты сети (поднаборы правил) будут более или менее правдоподобны и интерпретируемы, предложено конструирование новой, более понятной пользователю нейронной сети из наиболее просто интерпретируемых фрагментов других сетей, решающих ту же задачу.
b) Предложено добавление выходного сигнала некоторого фрагмента сети (содержательно интерпретируемого и правдоподобного с точки зрения пользователя) в качестве нового интегрального признака в число независимых признаков таблицы данных, и решение задачи извлечения знаний на основе полученного расширенного набора признаков.
2. Разработано техническое задание на новую версию программы-нейроимитатора, реализующую предложенные технологии.
3. Усовершенствован метод семантического дифференциала Осгуда при помощи технологии разреживания обучаемых нейронных сетей. Проведена серия экспериментов, заключающихся в исследовании индивидуальных смысловых пространств, проинтерпретированы их результаты. Предложена гипотеза о структуре индивидуального пространства смыслов: оно состоит из многообразия малой размерности, задаваемого культурой («ман-многообразия» от немецкого безличного местоимения «man») и сравнительно небольшого множества индивидуальных отклонений, которые могут быть важны для диагностики. Каждая культура имеет небольшое количество специфических для нее ман -многообразий (субкультур).
Апробация работы
Основные положения работы докладывались на VI, VII Всероссийских семинарах "Нейроинформатика и ее приложения", (Красноярск, 1998, 2000 гг), I, Всероссийской научно-технической конференции "Нейроинформатика" (Москва, МИФИ, 1999 г.), VI Международной конференции "Математика. Компьютер. Образование" (1999г, Пущино), International Joint Conference on Neural Networks (1999г, Washington, DC, USA), XXXVII Международной научной студенческой конференции "Cтудент и научно-технический прогресс": Информационные технологии. Новосибирск, НГУ, 1999 (награждена Дипломом 3 степени).
Публикации
По теме диплома автором опубликована 1 статья в научном журнале и 4 тезиса докладов.
Второй параграф посвящен обзору существующих методов извлечения и приобретения знаний. Рассматриваются существующие в теории классических экспертных систем методы приобретения знаний, рассматриваются использующиеся для извлечения знаний из таблиц данных методы статистического анализа, математического моделирования и идентификации.
Третий параграф описывает набор требований к направленной на конечного пользователя технологии извлечения знаний.
1.1 Знание и приобретение знаний
1.2. Методы извлечения и приобретения знаний
К настоящему времени сформировалось три основных направления извлечения знаний. Эти направления могут использовать одни и те же математические методы; подходы, первоначально разработанные в рамках некоторого направления, могут применяться для решения задач из другого направления. Вот эти направления:
1. Методы самообучения и приобретения знаний в теории классических экспертных систем (Параграф 1.2.1).
2. Извлечение знаний из таблиц данных. Включает теорию статистических выводов и другие методы анализа данных (Параграф 1.2.2).
3. Теория идентификации систем (Параграф 1.2.3).
Как при использовании традиционных статистических методов анализа данных, так и при использовании нейронных сетей приведенная схема действий остается без изменений. При этом пункты 5-7 детализируются в зависимости от целей и задач исследования и применяемых методов.
1.3. Требования к технологии извлечения знаний
Возможности применения технологии извлечения знаний должны распространяться вплоть до индивидуального пользователя, имеющего возможность применять технологию извлечения знаний к доступных данных и конкретизирующего отдельные аспекты этой технологии в зависимости от своего собственного опыта и конкретной задачи. Это означает, что должно произойти коренное изменение технологии производства таких систем. Системы принятия решений, основанные на явных правилах вывода, создаются, как правило, группой специалистов, в числе которых - математики, программисты и предметные специалисты, ставящие задачи. Возможности настройки таких систем на конечного потребителя часто недостаточны. Приобретая такую систему, он часто сталкивается с ее неприменимостью к конкретным условиям работы (например, другой спектр лабораторных анализов или методов обследования, принятый в данной клинике). Выход - дать специалисту возможность самому конструировать ЭС исходя из конкретных условий, собственного опыта и опыта коллег. Такое конструирование должно производиться без знания предметным специалистом математического аппарата, требуя только обычных навыков работы на ЭВМ. В этой ситуации снимается психологическая проблема доверия к заключениям ЭС, которая работает, опираясь на опыт и знания того специалиста, который ее сконструировал, его коллег, которым он доверяет, и реальные данные, которые он сам получил в результате наблюдений [15].
Самообучающиеся ЭС принятия решений, диагностики и прогнозирования должны удовлетворять следующим требованиям [15]:
Индивидуализация (настройка на конкретные наборы экспериментальных данных, индивидуальный опыт и знания специалиста);
Динамическое развитие (накопление опыта системы в процессе функционирования, следуя изменениям в пунктах, перечисленных в предыдущем требовании);
Возможность перенастройки при резком изменении условий, например, при перенесении в другой регион;
Способность к экстраполяции результата. Требование, обратное индивидуальности. Система не должна резко терять качество работы при изменении условий;
Возможность конструирования с нуля конечным пользователем (специалист должен иметь возможность придумать совершенно новую ЭС и иметь возможность просто и быстро создать ее);
“Нечеткий” характер результата. Решение, выдаваемое системой, не должно быть окончательным. Оно может быть вероятностным или предлагать сразу несколько вариантов на выбор. Это дает возможность специалисту критически оценивать решение системы и не лишает его инициативы в принятии окончательного решения.
ЭС является только советчиком специалиста, не претендуя на абсолютную точность решения. Она должна накапливать опыт и знания и значительно ускорять доступ к ним, моделировать результат при изменении условий задачи. Ответственность за решение всегда лежит на специалисте.
Универсальность такой технологии означает, она не должна опираться на семантику проблемной области, предлагая унифицированный подход для решения типовых задач в любой проблемной области. Семантический аспект постановки задачи, осмысления процесса решения и анализа результатов лежит на конечном специалисте.
Анализ существующих методов обработки информации показал, что этим требованиям хорошо удовлетворяют нейроинформационные технологии, основанные на искусственных нейронных сетях [16-19]. В основе их функционирования лежат алгоритмы, моделирующие распространение сигналов по нейронам и синапсам нервной системы. Существует достаточно большой набор архитектур и метаалгоритмов функционирования нейронных сетей, при этом задачи, решаемые нейроинформатикой, в большинстве случаев требуют подгонки архитектуры и алгоритмов обучения нейросетей под определенный класс задач или даже конкретную задачу. Поэтому разработка теоретических и методологических основ и универсальной технологии создания ЭС, включающей оптимизацию архитектур и метаалгоритмов функционирования нейросетей при работе с информацией, и извлечение знаний из нейросетей является актуальной задачей.
Глава 2. Нейронные сети
2.1. Коннекционизм
Нейронные сети _ это сети, состоящие из связанных между собой простых элементов _ формальных нейронов. Нейроны моделируются довольно простыми автоматами, а вся сложность, гибкость функционирования и другие важнейшие качества определяются связями между нейронами. Каждая связь представляется как совсем простой элемент, служащий для передачи сигнала.
Научно-техническое направление, определяемое описанным представлением о нейронных сетях, называется коннекционизмом (по-ангийски connection - связь). С коннекционизмом тесно связан следующий блок идей:
1) однородность системы (элементы одинаковы и чрезвычайно просты, все определяется структурой связей);
2) надежные системы из ненадежных элементов и "аналоговый ренессанс" - использование простых аналоговых элементов;
3) "голографические" системы - при разрушении случайно выбранной части система сохраняет свои полезные свойства.
Существует большой класс задач: нейронные системы ассоциативной памяти, статистической обработки, фильтрации и др., для которых связи формируются по явным формулам. Но еще больше (по объему существующих приложений) задач требует неявного процесса. По аналогии с обучением животных или человека этот процесс также называют обучением.
Обучение обычно строится так: существует задачник - набор примеров с заданными ответами. Эти примеры предъявляются системе. Нейроны получают по входным связям сигналы - "условия примера", преобразуют их, несколько раз обмениваются преобразованными сигналами и, наконец, выдают ответ - также набор сигналов. Отклонение от правильного ответа штрафуется. Обучение состоит в минимизации штрафа как (неявной) функции связей.
Неявное обучение приводит к тому, что структура связей становится "непонятной" - не существует иного способа ее прочитать, кроме как запустить функционирование сети. Становится сложно ответить на вопрос: "Как нейронная сеть получает результат?" - то есть построить понятную человеку логическую конструкцию, воспроизводящую действия сети.
Это явление можно назвать "логической непрозрачностью" нейронных сетей, обученных по неявным правилам.
С другой стороны, при использовании нейронных сетей в экспертных системах возникает потребность прочитать и логически проинтерпретировать навыки, выработанные сетью. Для этого служат методы контрастирования - получения неявными методами логически прозрачных нейронных сетей.
2.2. Элементы нейронных сетей
Для описания алгоритмов и устройств в нейроинформатике выработана специальная "схемотехника", в которой элементарные устройства - сумматоры, синапсы, нейроны и т.п. объединяются в сети, предназначенные для решения задач.
Адаптивный сумматор вычисляет скалярное произведение вектора входного сигнала x на вектор параметров . На схемах он обозначается так, как показано на рис. 1. Адаптивным он называется из-за наличия вектора настраиваемых параметров . Для многих задач полезно иметь линейную неоднородную функцию выходных сигналов. Ее вычисление также можно представить с помощью адаптивного сумматора, имеющего n+1 вход и получающего на 0-й вход постоянный единичный сигнал (рис. 2).
Рис. 2. Неоднородный адаптивный сумматор
Рис. 1. Адаптивный сумматор.
Рис. 5. Формальный нейрон
Рис. 3. Нелинейный преобразова-тель сигнала.
Рис. 4. Точка ветвления
Нелинейный преобразователь сигнала изображен на рис. 3. Он получает скалярный входной сигнал x и переводит его в (x).
Точка ветвления служит для рассылки одного сигнала по нескольким адресам (рис. 4). Она получает скалярный входной сигнал x и передает его всем своим выходам.
Стандартный формальный нейрон составлен из входного сумматора, нелинейного преобразователя и точки ветвления на выходе (рис. 5).
Линейная связь _ синапс _ отдельно от сумматоров не встречается, однако для некоторых рассуждений бывает удобно выделить этот элемент (рис. 6). Он умножает входной сигнал x на “вес синапса” .
Рис. 6. Синапс.
Итак, дано описание основных элементов, из которых составляются нейронные сети.
2.3. Основные архитектуры нейронных сетей
Как можно составлять эти сети? Строго говоря, как угодно, лишь бы входы получали какие-нибудь сигналы. Используются несколько стандартных архитектур, из которых путем вырезания лишнего или (реже) добавления строятся большинство используемых сетей.
Здесь и далее рассматриваются только нейронные сети, синхронно функционирующие в дискретные моменты времени: все нейроны срабатывают “разом”.
В семействе нейронных сетей можно выделить две базовых архитектуры - слоистые и полносвязные сети.
Рис. 7. Слоистая сеть
Слоистые сети: нейроны расположены в несколько слоев (рис. 7). Нейроны первого слоя получают входные сигналы, преобразуют их и через точки ветвления передают нейронам второго слоя. Далее срабатывает второй слой и т.д. до k-го слоя, который выдает выходные сигналы для интерпретатора и пользователя. Если не оговорено противное, то каждый выходной сигнал i-го слоя подается на вход всех нейронов i+1-го. Число нейронов в каждом слое может быть любым и никак заранее не связано с количеством нейронов в других слоях. Стандартный способ подачи входных сигналов: все нейроны первого слоя получают каждый входной сигнал. Особое распространение получили трехслойные сети, в которых каждый слой имеет свое наименование: первый - входной, второй - скрытый, третий - выходной.
Полносвязные сети: каждый нейрон передает свой выходной сигнал остальным нейронам, включая самого себя. Выходными сигналами сети могут быть все или некоторые выходные сигналы нейронов после нескольких тактов функционирования сети. Все входные сигналы подаются всем нейронам.
Элементы слоистых и полносвязных сетей могут выбираться по-разному. Существует, впрочем, стандартный выбор - нейрон с адаптивным неоднородным линейным сумматором на входе (рис. 5).
Для полносвязной сети входной сумматор нейрона фактически распадается на два: первый вычисляет линейную функцию от входных сигналов сети, второй - линейную функцию от выходных сигналов других нейронов, полученных на предыдущем шаге.
Функция активации нейронов (характеристическая функция) - нелинейный преобразователь, преобразующий выходной сигнал сумматора (см. рис. 5) - может быть одной и той же для всех нейронов сети. В этом случае сеть называют однородной (гомогенной). Если же зависит еще от одного или нескольких параметров, значения которых меняются от нейрона к нейрону, то сеть называют неоднородной (гетерогенной).
Если полносвязная сеть функционирует до получения ответа заданное число тактов k, то ее можно представить как частный случай k-слойной сети, все слои которой одинаковы и каждый из них соответствует такту функционирования полносвязной сети.
2.4. Обучение нейронных сетей как минимизация функции ошибки
Построение обучения как оптимизации дает универсальный метод создания нейронных сетей для решения задач. Если сформулировать требования к нейронной сети, как задачу минимизации некоторой функции - оценки, зависящей от части сигналов (входных, выходных, ...) и от параметров сети, то обучение можно рассматривать как оптимизацию и строить соответствующие алгоритмы, программное обеспечение и, наконец, устройства. Функция оценки обычно довольно просто (явно) зависит от части сигналов - входных и выходных, но ее зависимость от настраиваемых параметров сети может быть сложнее и включать как явные компоненты (слагаемые, сомножители,...), так и неявные - через сигналы (сигналы, очевидно, зависят от параметров, а функция оценки - от сигналов).
За пределами задач, в которых нейронные сети формируются по явным правилам (сети Хопфилда, проективные сети, минимизация аналитичес ки заданных функций и т.п.) требования к нейронной сети обычно можно представить в форме минимизации функции оценки. Не следует путать такую постановку задачи и ее весьма частный случай - "обучение с учителем".
Если для решения задачи не удается явным образом сформировать сеть, то проблему обучения можно, как правило, сформулировать как задачу минимизации оценки. Осторожность предыдущей фразы ("как правило") связана с тем, что на самом деле неизвестны и никогда не будут известны все возможные задачи для нейронных сетей, и, быть может, где-то в неизвестности есть задачи, которые несводимы к минимизации оценки.
Минимизация оценки - сложная проблема: параметров астрономически много (для стандартных примеров, реализуемых на РС - от 100 до 1000000), адаптивный рельеф (график оценки как функции от подстраиваемых параметров) сложен, может содержать много локальных минимумов, извилистых оврагов и т.п.
Наконец, даже для того, чтобы воспользоваться простейшими методами гладкой оптимизации, нужно вычислять градиент функции оценки. В данном разделе описывается связь двойственного функционирования сетей - автоматов с преобразованием Лежандра и неопределенными множителями Лагранжа.
Переменные обратного функционирования появляются как вспомогательные при вычислении производных сложной функции. Переменные такого типа появляются не случайно. Они постоянно возникают в задачах оптимизации и являются множителями Лагранжа.
Для всех сетей автоматов, встречавшихся в предыдущих разделах, можно выделить три группы переменных:
внешние входные сигналы x...,
переменные функционирования - значения на выходах всех элементов сети f...,
переменные обучения a...(многоточиями заменяются различные наборы индексов).
Объединим их в две группы - вычисляемые величины y... - значения f... и задаваемые - b... (включая a... и x...). Упростим индексацию, перенумеровав f и b натуральными числами: f1,...,fN ; b1 ,...,bM .
Пусть функционирование системы задается набором из N уравнений
i(y1 ,...,yN ,b1 ,...,bM)=0 (i=1,...,N). (1)
Для послойного вычисления сложных функций вычисляемые переменные - это значения вершин для всех слоев, кроме нулевого, задаваемые переменные - это значения вершин первого слоя (константы и значения переменных), а уравнения функционирования имеют простейший вид (4), для которого
Предполагается, что система уравнений (1) задает способ вычисления yi .
Пусть имеется функция (лагранжиан) H(y1 ,...,yN ,b1 ,...,bM). Эта функция зависит от b и явно, и неявно - через переменные функционирования y. Если представить, что уравнения (1) разрешены относительно всех y (y=y(b)), то H можно представить как функцию от b:
H=H1(b)=H(y1(b),...,yN(b),b). (2)
где b - вектор с компонентами bi .
Для задачи обучения требуется найти производные Di=H1(b)/bi . Непосредственно и явно это сделать трудно.
Поступим по-другому. Введем новые переменные 1,...,N (множители Лагранжа) и производящую функцию W:
В функции W аргументы y, b и - независимые переменные.
Уравнения (1) можно записать как
(3)
Заметим, что для тех y, b, которые удовлетворяют уравнениям (13), при любых
W(y,b,)H(y,b). (4)
Это означает, что для истинных значений переменных функционирования y при данных b функция W(y,b,) совпадает с исследуемой функцией H.
Попытаемся подобрать такую зависимость i(b), чтобы, используя (4), получить для Di=H1(b)/bi наиболее простые выражения . На многообразии решений (15)
Поэтому
(5)
Всюду различается функция H(y,b), где y и b - независимые переменные, и функция только от переменных b H(y(b),b), где y(b) определены из уравнений (13). Аналогичное различение принимается для функций W(y,b,) и W(y(b),b, (b)).
Произвол в определении (b) надо использовать наилучшим образом - все равно от него придется избавляться, доопределяя зависимости. Если выбрать такие , что слагаемые в первой сумме последней строки выражения (5) обратятся в нуль, то формула для Di резко упростится. Положим поэтому
. (6)
Это - система уравнений для определения k (k=1,...,N). Если определены согласно (6), то
Основную идею двойственного функционирования можно понять уже на простейшем примере. Рассмотрим вычисление производной сложной функции одного переменного. Пусть заданы функции одного переменного f1(A) ,f2(A) ,...,fn(A) . Образуем из них сложную функцию
F(x)=fn (fn-1 (...(f1 (x))...)). (1)
Можно представить вычисление F(x) как результат работы n автоматов, каждый из которых имеет один вход и выдает на выходе значение fi (A), где A - входной сигнал (рис.8, а). Чтобы построить систему автоматов, вычисляющую F(x), надо дополнить исходные автоматы такими, которые вычисляют функции fi(A), где A - входной сигнал (важно различать производную fi по входному сигналу, то есть по аргументу функции fi, и производную сложной функции fi(A(x)) по x; fi(A) _ производные по A).
Для вычисления F(x) потребуется еще цепочка из n-1 одинаковых автоматов, имеющих по два входа, по одному выходу и подающих на выход произведение входов. Тогда формулу производной сложной функции
можно реализовать с помощью сети автоматов, изображенной на рис. 8, б. Сначала по этой схеме вычисления идут слева направо: на входы f1 и f1 подаются значения x, после
вычислений f1(x) это число подается на входы f2 и f2 и т.д. В конце цепочки оказываются вычисленными все fi (fi-1 (...)) и
fi(fi-1 (...)).
Рис.8. Схематическое представление вычисления сложной
функции одного переменного и ее производных.
Можно представить вычисление любой сложной функции многих переменных, как движение по графу: в каждой его вершине производится вычисление простой функции (рис 9. а). Вычисление градиента представляется обратным движением (рис 9. б). Отсюда и термин: методы (алгоритмы) обратного распространения.
а) |
б) |
|
Рис. 9. Прохождение вершины в прямом (а) и обратном (б) направлении.
Предлагается рассматривать обучение нейронных сетей как задачу оптимизации. Это означает, что весь арсенал методов оптимизации может быть испытан для обучения.
Существует, однако, ряд специфических ограничений. Они связаны с огромной размерностью задачи обучения. Число параметров может достигать 108 - и даже более. Уже в простейших программных имитаторах на персональных компьютерах подбирается 103 - 104 параметров.
Из-за высокой размерности возникает два требования к алгоритму:
1. Ограничение по памяти. Пусть n - число параметров. Если алгоритм требует затрат памяти порядка n2 ,то он вряд ли применим для обучения. Вообще говоря, желательно иметь алгоритмы, которые требуют затрат памяти порядка Kn, K=const.
2. Возможность параллельного выполнения наиболее трудоемких этапов алгоритма и желательно - нейронной сетью.
Глава 3. Упрощение нейронной сети.
3.1. Что такое упрощение нейронной сети и зачем оно нужно
По обучающей выборке невозможно сказать, какая структура сети (число слоев, элементов сети) требуется для решения задачи. Также не существует конструктивного алгоритма определения значений адаптивных параметров сети исходя из обучающей выборки. Хотя и был предложен подход [17,20] к анализу достаточности структуры сети при помощи оценки константы Липшица функции, вычисляемой сетью, и выборочной оценки константы Липшица для обучающей выборки, но он не учитывает влияния и вида используемой при обучении целевой функции (функции оценки) и некоторых других аспектов.
Поэтому обычно задаются некоторой избыточной структурой сети и адаптивные параметры находят путем обучения сети, т.е. с привлечением методов оптимизации [16-20]. Это приводит к тому, что часто в нейронной сети присутствует некоторое число избыточных элементов, без которых можно вполне обойтись при решении задачи. Удаление таких элементов из нейросети называется упрощением сети.
Упрощение нейронной сети преследует следующие цели [16,17,20]:
Получение нейросети, наиболее просто реализуемой технически и обеспечивающей максимальное быстродействие при аппаратной реализации.
Улучшение интер- и экстраполяционных способностей нейросети.
Сокращение числа входных сигналов сети (при сохранении требуемой точности решения задачи) для удешевления и ускорения процесса сбора информации, на основе которой нейросеть принимает решение.
Обеспечение (или облегчение) явной вербальной интерпретации процесса и результатов обработки данных.
В настоящей работе и в Главе 3 основное внимание уделяется последней задаче, задача минимизации числа входных сигналов решается как побочная.
Нужно отметить, что после проведения упрощения теряется такое свойство сети, как отказоустойчивость к повреждениям элементов. Поэтому для получения отказоустойчивых нейросетей разработаны специальные модификации алгоритмов обучения и упрощения, например, [21].
3.2. Задача извлечения знаний из нейронной сети
Обучаясь, нейросеть формирует некоторый навык решения неформализованной задачи классификации или предсказания. Этот навык можно оценить при помощи тестовой выборки - если точность решения тестовых задач достаточна с точки зрения пользователя, то полученная нейросеть может в дальнейшем использоваться в составе нейросетевой экспертной системы для решения задачи [17].
Однако нейросеть сформировала скрытое, неявное знание об алгоритме решения задачи. Это знание заложено в сеть в виде значений весов ее адаптивных параметров. В нейросети могут присутствовать и избыточные элементы (см. Параграф 2.2.6), поэтому пользователю сложно или практически невозможно осмыслить и преобразовать в явную форму нейросетевое правило принятия решения путем анализа структуры сети и ее адаптивных параметров.
Поэтому появилась задача извлечения знаний из нейронной сети, процесс решения которой схематически можно представить так [22,23]:
вырезание "всего лишнего"
нейросеть логически прозрачная нейросеть
данные неявные знания явные знания
Т.е. нейросеть в ходе обучения формирует неявные знания, в ходе упрощения сети достигается некоторая безизбыточная (логически прозрачная) структура сети, удовлетворяющая некоторым заданным требованиям, и по полученной безизбыточной сети возможно записать правила принятия решения в явном виде. Этот процесс будет изучаться и детализироваться далее в Главах 3, 4.
Результатом процесса извлечения знаний должен являться набор правил, который с заданной точностью решает заданное число примеров обучающей выборки (эти требования к точности заложены в использовавшихся при обучении сети целевой функции и алгоритме обучения, который может позволять прекращать обучение при достижении правильного решения заданного числа примеров). Все другие манипуляции с нейросетью (упрощение сети, извлечение из сети набора явных правил вывода и запись их в требуемом виде) не дожны снижать требуемую точность. Качество извлеченных знаний проверяется путем решения задач тестовой выборки, так как процесс упрощения сети и извлечения знаний может снизить точность решения тестовых задач по сравнению с точностью исходной сети после ее обучения.
3.3. Методы упрощения нейронных сетей
К настоящему моменту разработано большое число методов упрощения нейронных сетей. Можно ввести несколько классификаций этих методов, например, разделить на 2 группы на основе информации, используемой методом для определения незначимых элементов и сигналов нейросети [24,25]:
Методы, использующие только информацию о значениях весов синапсов и, при необходимости, внутренние сигналы сети на обучающей выборке.
Методы, использующие информацию об изменении значения целевой функции либо оценку такого изменения на основе первых или вторых производных целевой функции по значению упрощаемого элемента.
Другая классификация делит методы на 3 класса по стратегии упрощения:
1. Методы, выполняющие цикл "элементарное упрощение - дообучение нейросети" до тех пор, пока дообучение приводит к решению задачи с требуемой точностью.
2. Методы, добавляющие к целевой функции дополнительное штрафное слагаемое (штрафующее за структурную сложность нейросети) и оптимизирующие при обучении полученный композиционный критерий. После завершения обучения проводится исключение выявленных избыточных элементов. Дообучения сети после этого не требуется.
3. Методы, упрощающие уже обученную сеть и не требующие дообучения. Они используют идею о как можно меньшем изменении поведения системы - например, чтобы выходной сигнал нейрона или нейросети после проведения упрощения как можно меньше отличался от сигнала до упрощения [17].
Можно вводить и другие классификации.
Далее, при рассмотрении методов, в отдельных случаях будет использоваться вторая классификация.
Избыточным, незначимым элементом или сигналом нейросети является элемент или сигнал, который может быть удален из сети при сохранении требуемой точности решения задачи.
Такое удаление элемента будем называть контрастированием [16,17,20,26].
Другая возможная модификация элемента - модификация его параметров. Для синапса имеется операция бинаризации - приведение веса синапса к значению из зафиксированного набора выделенных значений [17,20,26].
Для нелинейного преобразователя нейрона возможна замена его нелинейной функции на иную.
Рассмотрим существующие методы упрощения.
3.4. Требования к процессу упрощения сети для извлечения знаний
Перейдем к оценке применимости описанных методов упрощения сети к задаче извлечения знаний. Рассмотренные ранее методы контрастирования синапсов, нейронов и входных сигналов можно разбить на 2 группы методов:
Методы, не позволяющие задавать число контрастируемых элементов сети (методы, основанные на модификации штрафной функции).
Методы, выполняющие пошаговое упрощение нейронной сети. На каждом шаге удаляется наименее значимый элемент сети (или несколько наименее значимых элементов - [57]), затем после дообучения удаляется следующий наименее значимый элемент и т.д. Такие методы позволяют удалять из нейросети заданное число элементов и строить пользовательские стратегии упрощения путем последовательного применения различных методов, контрастирующих различные элементы.
Представляется, что методы из первой группы мало пригодны для упрощения сети при последующем извлечении из нее знаний из-за недостаточной гибкости и невозможности конструирования комбинированных алгоритмов, так как у пользователя обычно имеется некоторое соображение об оптимальной структуре сети. Оптимальность обычно достигается не по одному какому-то критерию (например, "минимальность числа нейронов ", "минимальность числа входов ",…), а по нескольким. И если последовательно применять методы из первой группы, то достижение одного критерия возможно, а последующих -проблематично, поскольку примененный для достижения первого критерия оптимальности метод контрастирования отконтрастировал сеть до минимума по этому критерию и оставил очень мало избыточности в сети, чтобы можно было достичь общего оптимума путем дальнейшего контрастирования по другим критериям.
Поэтому можно сформировать следующие требования к процессу упрощения нейросети для задачи последующего извлечения из нее знаний. Эти требования накладывают определенные ограничения на возможность использования тех или иных методов упрощения:
Процесс упрощения должен позволять пользователю выбирать контрастируемые структурные элементы сети (нейроны, входы, синапсы,…) путем выбора отдельных элементарных упрощающих операций.
Процесс упрощения должен позволять задавать последовательность проведения различных выбранных в п.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] представлено ранжирование методов извлечения знаний по следующим свойствам:
Накладываются ли ограничения на возможный вид нейросети (на структуру сети, число нейронов, входов и выходов сети, вид входных и выходных сигналов сети).
Модифицируется или нет обученная сеть при извлечении из нее знаний.
Делится ли непрерывнозначная входная и/или промежуточная (сигнал нейрона) переменная на интервалы, которым затем можно сопоставить лингвистические категории. Как происходит процесс этого деления.
Квантование непрерывнозначных сигналов имеет целью получение для каждой входной переменной таких интервалов ее изменения, каждому из которых можно в дальнейшем сопоставить некоторую лингвистическую категорию. Порождаемые лингвистические категории можно использовать для процесса объяснения принятия сетью решения. Некоторые методы позволяют переход от непрерывнозначных сигналов к дискретнозначным либо путем сопоставления с каждым интервалом некоторого дискретного значения (и в дальнейшем дискретизации каждой непрерывнозначной переменной по сопоставленным с ней значениям), либо путем некоторой модификации сети.
В [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. Обучение нейросети и контрастирование такого слоя окончательно сформирует интервалы для лингвистических переменных, а их число будет оптимизировано по сравнению с исходным числом кодирующих нейронов для каждого сигнала.
Отдельные методы опираются на процесс обучения нейросети.
В [64] исследуется возможность применения "структурного обучения" и его модификаций [28-33] не только как метода контрастирования синапсов, но и как метода извлечения знаний. Подчеркивается необходимость упрощения сети для получения более компактного и понятного набора правил. Предложено построение иерархии правил - выделение сначала доминантных правил, а затем дополнений и исключений из правил (или, другими словами, правил, определяющих основные зависимости, и правил, которые уточняют детали). Процесс - установка сравнительно большого значения величины параметра регуляризации и обучение сети до получения простой структуры, запись правил (наиболее доминантных) по полученной сети, фиксация и выведение из обучения полученной структуры сети (ненулевых весов синапсов), уменьшение значения параметра регуляризации, обучение сети (чтобы достигнуть большей точности решения, некоторые ранее отконтрастированные синапсы получат ненулевые веса и сформируют иерархию правил уровнем ниже), и запись дополнительно сформированных менее доминантных правил и т.д. до тех пор, пока суммарный набор правил (именно набор правил, а не нейросеть) не будет работать на обучающей/тестовой выборке с заданной точностью.
Однако процесс выбора начального значения параметра регуляризации и стратегии его уменьшения неоднозначен. Вдобавок, используемая в [64] оценка МНК может приводить к избыточной сложности набора правил для сетей-классификаторов. Также не обсуждается механизм собственно записи правил (тестовый пример в [64] работал с булевыми входными переменными) обсуждается только механизм упрощения сети для формирования структуры правил, отранжированных по шкале общности (доминирования) - детализации.
Как доработку метода можно предложить построение графика зависимости точности решения примеров обучающей выборки от числа элементов в сети или числа правил, порождаемых по сети (эти величины, в свою очередь, зависят от величины параметра регуляризации). Вероятнее всего, на графике будут наблюдаться несколько скачкообразных изменений точности распознавания - см., например, пример в [60]. Представляется, что, при формировании иерархии правил, "естественной" будет иерархия, соответствующая наблюдаемым скачкообразным изменениям точности.
В [65] рассматривается метод, формирующий правила параллельно с обучением сети. Если текущий прогноз сети правилен, то в набор правил вводится правило, обеспечивающее такой же ответ на данной ситуации, и делается попытка переформулирования некоторых имеющихся и добавляемого правил - например, путем объединения нескольких частных правил в одно более универсальное правило. Если ответ сети неверен, то набор правил модифицируется для недопущения ошибки. Т.е. правила формируются не по нейронной сети, а на основании обучающей выборки. По сравнению с извлечением знаний после обучения сети, такой подход формирует более "сырой" и "рыхлый" набор правил и может оставлять рудиментарные правила. Но для ситуаций, когда необходимо формирование знаний в режиме on-line (когда невозможно заранее сформировать обучающую выборку), такая идея достаточно перспективна для дальнейшего развития.
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]. Входные сигналы сети являются входными симптомами, выходные сигналы нейронов первого слоя - синдромами первого уровня и одновременно симптомами для нейронов второго слоя, генерирующих синдромы второго уровня, и т.д.
Рассмотрим идеи, которые могут помочь в процессе извлечения знаний.
Отдельные фрагменты сети будут достаточно просто интерпретируемы и правдоподобны с точки зрения пользователя, тогда как другим фрагментам пользователь может и не дать правдоподобной интерпретации. Поэтому поскольку интерпретированные синдромы могут быть в дальнейшем полезны, с точки зрения пользователя, для решения других задач предсказания и классификации на данной обучающей выборке, то пользователь может добавить к выборке одну или несколько новых переменных - значений этих синдромов. Затем можно снова попытаться решить исходную задачу на основе нового, увеличенного набора входных признаков. Полученная новая нейронная сеть окажется меньше по размеру, чем исходная и может быть более просто интерпретируемой [58].
Утверждение о более простой интерпретации опирается на следующий факт: в слоистой нейросети синдром зависит только от синдромов (симптомов) предыдущего уровня. Поэтому, если для синдрома некоторого уровня требуется сигнал не с предыдущего уровня, то сеть должна включать в себя цепочку элементов для передачи требуемого сигнала к данному синдрому. Эта цепочка строится, как несколько соединенных последовательно нейронов, что затрудняет интерпретацию. Вдобавок, на протяжении цепочки к ней могут "подключаться" другие сигналы. Если же для порождения синдрома доступен не только предыдущий уровень иерархии симптомов, но и все ранее полученные симптомы, то таких цепочек передачи информации создавать не придется.
Нейронная сеть с таким набором синапсов, что каждый входной сигнал сети и сигнал любого нейрона может подаваться на все нейроны следующих слоев, не формирует цепочек элементов для передачи информации через слои - эти элементы уже присутствуют в сети. Вдобавок, линии передачи информации являются простыми линейными связями, а не суперпозицией функций, вычисляемых нейронами. Однако при такой архитектуре число синапсов в сети становится очень большим по сравнению с числом синапсов в исходной слоистой сети, что удлиняет время приведения такой сети к логически прозрачному виду.
Точность решения задачи нейронной сетью регулируется целевой функцией, вычисляющей невязку между выходными сигналами сети и сигналами, которые требуется получить. Чем ниже требуемая точность, тем более простая и более логически прозрачная сеть может решить задачу. Поэтому для задачи приведения сети к логически прозрачному виду надо устанавливать минимально необходимые требования к точности.
Не все примеры сеть может решить с одинаковой точностью - в таблице данных могут присутствовать примеры, которые с трудом решаются сетью в то время как остальные примеры сеть решает хорошо. Причиной этого может быть некорректность поставленной задачи. Например, в таблицу данных входят примеры трех классов, а делается попытка обучить сеть классификации на два класса. Другой причиной может быть, например, ошибка измерений.
Для того, чтобы обнаружить некорректность в данных (либо в постановке задачи), предлагается исключать из таблицы данных наиболее “трудные” примеры (примеры с наибольшим значением функции оценки). Если сеть обучается правильно решать задачу и упрощается до довольно простой структуры, то исключение примеров производить не надо - задача корректна. В противном случае можно предложить следующие варианты.
Зададимся требованием к числу правильно решенных примеров. Допустим, что нас устроит правильность решения 95% от общего числа примеров, присутствующих в таблице данных. Тогда построим процесс обучения и упрощения сети так, чтобы сеть, правильно решающая 95% примеров, считалась правильно обученной решать задачу и, соответственно, упрощалась с сохранением навыка решения 95% примеров. При упрощении сети примеры, входящие в состав 5% наиболее трудных, могут меняться. После завершения процесса упрощения, если в итоге получилась сеть, гораздо более простая, чем полученная для всего набора примеров логически прозрачная сеть, необходимо проанализировать наиболее трудные примеры - там могут встретиться ошибки в данных (см., например, [17], стр. 14) либо эти примеры “нетипичны” по сравнению с остальными.
Если же сеть с самого начала не может обучиться правильно решать задачу, то будем исключать из таблицы данных наиболее трудные примеры до тех пор, пока сеть не сможет обучиться. Далее надо исследовать статистические различия между набором оставшихся и исключенных данных - может обнаружиться, что отброшенные примеры образуют отдельный кластер. Так было при решении задачи нейросетевой постановки диагноза вторичного иммунодефицита по иммунологическим и метаболическим параметрам лимфоцитов. Только коррекция классификационной модели (из отброшенных данных сформировали третий класс в дополнение к двум изначально имевшимся) позволила обучить сеть правильно решать теперь уже измененную задачу ([17], стр. 15-16). Далее это даст более простой набор решающих правил, т.к. ранее сеть была вынуждена фактически запоминать обучающую выборку, а теперь классификационная модель соответствует естественной внутренней кластерной структуре объектов проблемной области.
Еще одна трудность может существовать при попытке решения задачи, для которой обратная задача некорректно поставлена в некоторых точках области определения - например, из-за того, что в этих точках происходит смена описывающей данные зависимости. В зависимости от уровня некорректности, на некотором наборе обучающих точек сеть будет давать большую ошибку обучения по сравнению с ошибкой на других точках. Исследование поведения частной производной выходного сигнала сети по входному сигналу помогает определять области некорректности как границы смены вида решения. Если границы решения совпадают с примерами выборки с большой ошибкой обучения, то это говорит о том, что некорректность действительно существует и исходная нейросеть не может аппроксимировать поведение фукнции в области некорректности с требуемой точностью. Требуемую точность можно достичь увеличением размера сети (с соответствующим усложнением процесса ее интерпретации), но это нежелательно. Поэтому предпочтительнее подход [53], связанный с переходом от единственной сети к набору малых сетей, каждая из которых работает внутри своей области определения, а выбор той или иной сети осуществляется с помощью набора условных правил, сравнивающих значения признаков примера выборки с границами решения.
Гибкое управление требуемой точностью решения примеров обучающей выборки или требуемым числом правильно решенных примеров позволяет предложить следующий механизм построения иерархической структуры правил вывода, от наиболее важных правил до уточняющих и корректирующих, как циклическое выполнение следующих этапов:
обучение сети до распознавания заданного числа примеров обучающей выборки (или до решения всех примеров выборки с заданной точностью),
упрощение сети,
извлечение правил,
фиксирование полученной минимальной структуры сети,
возвращение в сеть удаленных на этапе упрощения элементов,
увеличение требуемого числа правильно распознанных примеров (или усиление требований к точности) - на следующей итерации цикла это добавит к полученной минимальной структуре некоторое число элементов, которые и сформируют правила следующего уровня детализации.
Принципиально, что для одной и той же таблицы данных и различных сетей (либо одной сети, но с разной начальной случайной генерацией исходных значений набора настраиваемых параметров) после обучения, упрощения по единой схеме и вербализации может получиться несколько различных логически прозрачных сетей и, соответственно, несколько алгоритмов решения задачи. По конечной таблице данных всегда строится несколько полуэмпирических теорий или алгоритмов решения. Далее теории начинают проверяться и конкурировать между собой. Комбинируя фрагменты нескольких теорий, можно сконструировать новую теорию. В силу этого неединственность получаемого знания не представляется недостатком.
При вербализации некоторые синдромы достаточно осмысленны и естественны, другие, напротив, непонятны. Из набора логически прозрачных нейросетей можно отсеять несколько наиболее осмысленных синдромов, объединить их в новую нейронную сеть, при этом введя, если необходимо, некоторые дополнительные нейроны или синапсы для связывания этих фрагментов между собой. Полученная нейросеть после адаптации и упрощения может быть более понятна, чем любой из ее предков. Таким образом, неединственность полуэмпирических теорий может стать ценным инструментом в руках исследователей-когнитологов.
В отдельные программы-нейроимитаторы встроены специальные средства визуального конструирования нейросетей. Однако ручное конструирование сети с целью заложения в нее эмпирических экспертных знаний достаточно сложно и часто практически неприменимо.
Вместо конструирования нейросети "с нуля" будем конструировать ее из фрагментов других сетей. Для реализации такой возможности программа-нейроимитатор должна включать в себя достаточно развитый визуальный редактор нейронных сетей, позволяющий вырезать из сетей отдельные блоки, объединять их в новую сеть и дополнять сеть новыми элементами. Это одна из возможностей нейроимитатора NeuroPro (идея предложена лично автором работы).
Если в результате дообучения и упрощения новой сети понимаемость использованных при конструировании фрагментов не потеряна, то новый набор правил потенциально более понятен пользователю, чем каждый из начальных.
Естественно, что возможны различные стратегии обучения и контрастирования сконструированной сети: можно запрещать обучение (изменение параметров) и контрастирование фрагментов, из которых составлена сеть, и разрешать обучение и контрастирование только добавленных элементов. Можно разрешать только дообучать фрагменты, можно разрешать и их контрастирование. Все зависит от предпочтений пользователя программы-нейроимитатора.
Глава 5. Нейросетевой анализ структуры индивидуального пространства смыслов
5.1. Семантический дифференциал
Слова осмысляются человеком не через "толковый словарь", а через ощущения, переживания. За каждым словом у человека стоит несколько этих базовых переживаний: собака - это что-то маленькое, добродушненькое, пушистое, с мокрым язычком, …, но это и здоровенный, грозно рычащий зверь со злобными глазами, огромными клыками, … . Большинство слов кодирует некоторые группы переживаний, ощущений, и определить смысл слова, то есть эти самые переживания - довольно сложная задача.
Дж. Осгуд с соавторами в работе под названием “Измерение значений” ввели для решения этой задачи метод “семантического дифференциала” (обзор литературы дан в работе [86]). Они предложили искать координаты слова в пространстве свойств следующим образом. Был собран некоторый набор слов (например, "мама", "папа" и т.д.) и набор признаков к этим словам (таких, как близкий - далекий, хороший - плохой, и т.д.), и опрашиваемые люди оценивали слова по этим шкалам. Затем отыскивался минимальный набор координат смысла, по которому можно восстановить все остальные. Было выделено 3 базовых координаты смысла, по которым все остальные можно предсказать достаточно точно: сильный - слабый, активный - пассивный и хороший - плохой. С другой стороны, выявились огромные различия между культурами, например, у японцев и американцев очень многие вещи имеют существенно разные смысловые характеристики.
Существуют различные способы выделения основных признаков (базовых координат), например, метод главных компонент, факторный анализ и др. В данной работе используются нейросетевые методы. Разработка технологии сокращения описания и извлечения знаний из данных с помощью обучаемых и разреживаемых нейронных сетей началась в 90-е годы XX века и к настоящему времени созданы библиотеки нейросетевых программ даже для PC, позволяющие строить полуэмпирические теории в различных областях.
В данной работе с помощью нейроимитатора исследовались индивидуальные смысловые пространства. Был создан вопросник, в котором определяются координаты (от -10 до 10) 40 слов по 27 параметрам и были проведены эксперименты на нескольких людях.
Слова:
Папа
Мама
Болезнь
Детский сад
Школа
Собака
Кот
Воробей
Ворона
Апельсин
Яблоко
Дед Мороз
Дерево
Змея
Еда
Тортик
Горшок
Брат
Сестра
Работа
Деньги
Квартира
Муж (жена)
Дедушка
Бабушка
Музыка
Президент
Парламент
Политика
Наука
Политик
Ученый
Теорема
Выборы
Коммунизм
Доказательство
Россия
Америка
Китай
Израиль
Религия
Бог
Плотный - рыхлый
Молодой - старый
Светлый - темный
Разумный - неразумный
Холодный - горячий
Быстрый - медленный
Близкий - далекий
Пугливый - бесстрашный
Страшный - не страшный
Спокойный - беспокойный
Веселый - грустный
Удобный - неудобный
Красивый - некрасивый
Опасный - безопасный
Приятный - неприятный
Ручной - дикий
Утонченный - грубый
Умный - глупый
Шумный - тихий
Ласковый - грубый
Большой - маленький
Дружественный - враждебный
Мягкий - твердый
Добрый - злой
Активный - пассивный
Хороший - плохой
Сильный - слабый
1
125
В экспериментах отыскивался минимальный набор координат смысла, по которому можно восстановить все остальные с точностью до тенденции (т.е. с точностью до 3 баллов). Это делалось при помощи нейросетевого имитатора NeuroPro. Следует отметить, что предсказание с точностью до 3 баллов фактически соответствует переходу от 21-балльных шкал (от -10 до 10) к традиционным 7-балльным (от -3 до 3).
С помощью NeuroPro возможно получение показателей значимости входных сигналов для принятия нейросетью решения, показателей чувствительности выходного сигнала сети к изменению входных сигналов, показателей значимости и чувствительности по отдельным примерам выборки.
За начальную архитектуру была взята слоистая нейронная сеть, состоящая из трех слоев по 10 нейронов в каждом. Далее проводились последовательно следующие операции.
1) Обучение нейронной сети с максимальной допустимой ошибкой обучения 0.49 балла (такая ошибка приводит к тому, что после округления ошибка обучения фактически равна 0). Как показал опыт, такой ошибки обучения чаще всего достаточно для предсказаний с требуемой точностью, то есть для ошибки обобщения, меньшей 3 бал лов.
2) Из входных сигналов выбирался наименее значимый и исключался, после чего проводилось повторное обучение нейросети с новыми входными сигналами и прежней ошибкой обучения.
Эта процедура проводилась до тех пор, пока нейросеть могла обучиться. В результате этих операций были получены минимальные определяющие наборы признаков (т.е. наборы входных сигналов, оставшиеся после сокращения их числа).
Для разных людей получены очень разные результаты (первые результаты представлены в [87]), совсем непохожие на результаты Осгуда. Вот типичные примеры:
Определяющий набор признаков 1-го человека (размерность 7):
Умный - глупый, шумный - тихий, разумный - неразумный, плотный - рыхлый, дружественный - враждебный, страшный - не страшный, опасный - безопасный.
2-го человека: сильный - слабый, приятный - неприятный, опасный - безопасный, страшный - не страшный, дружественный - враждебный, удобный - неудобный (размерность 6).
3-го человека: приятный - неприятный, опасный - безопасный (размерность 2). Представляет интерес, что Осгудовские признаки почти не представлены в большинстве наборов. В связи с этим было решено проверить, можно ли предсказать значения произвольно выбранных признаков при помощи набора Осгуда (ошибка обучения в экспериментах допускалась 0.49 балла). Практически во всех случаях нейронные сети обучались с приемлемой ошибкой обучения, но ошибка обобщения в экспериментах со скользящим контролем (нейронные сети обучались по всем словам, кроме 2-х - 3-х, а потом тестировались на этих словах) часто была недопустимо велика (5-9 баллов). После этого проводились следующие эксперименты: нейронная сеть обучалась предсказывать значения параметров по уже определенному минимальному набору признаков на одной половине слов, далее она тестировалась на словах из другой половины.
При этом для большинства слов нейронные сети давали удовлетворительные прогнозы по всем параметрам (с точностью до 3 баллов), но почти во всех случаях обнаруживались одно - два слова, для которых сразу по нескольким признакам ошибка нейронных сетей была очень велика.
5.2. MAN-многообразия
Итак, для каждого человека обнаруживается многообразие сравнительно малой размерности, в небольшой окрестности которого лежат почти все слова.
При осмыслении этого возникает гипотеза, связанная с тем, что отношение человека к большинству вещей, событий и т.д. не индивидуально, а сформировано культурой, в которой этот человек рос, его окружением и поэтому зависит от сравнительно небольшого числа признаков. В связи с этим и могли появиться многообразия малой размерности, в небольшой окрестности которых лежат почти все слова. Назовем их ман-многообразиями (от немецкого неопределенного местоимения man (некто)). Вероятно, для каждой определенной культуры имеется небольшое количество различных ман-многообразий, специфичных для нее. В ходе воспитания человек присваивает одно из типичных ман-многообразий. Например, определяющий набор признаков 3-го человека представляется основным набором признаков и для животных: опасность и приятность имеют прямой химический аналог и соответствуют уровню адреналина, эндорфинов и энкефалинов.
Обнаружено, что у большинства людей есть слова, которые неожиданно "выпадают" из ман-многообразий, _ отстоят от них довольно далеко. Вероятно, это слова, с которыми у человека связаны какие-либо сильные переживания, ощущения, что приводит к появлению "индивидуальности" оценки или же слова, свое истинное отношение к которым человек пытается скрыть. Есть еще один тип таких точек, специфичных для каждой отдельной культуры (или субкультуры), особое отношение к которым сформировано самой культурой (например, в России - Великая Отечественная, в мусульманских странах - бог). Интерпретация "индивидуальных точек" может дать полезную психодиагностическую информацию, а анализ особенных точек культуры - культурологическую. Возможно проведение культурологических исследований путем сравнения особенностей и закономерностей для различных культур.
Уже первые опыты показывают, что набор индивидуальных точек дает яркий и узнаваемый портрет личности, а общекультурные особенности пока не были изучены, так как требуют более масштабных исследований.
В перспективе результаты работы могут быть использованы во многих областях, где требуется информация о психологии и психическом здоровье человека, могут быть применены для создания компьютерных психодиагностических методик, выявляющих и анализирующих индивидуальные особенности и скрытые напряжения и т.п.
ТЕХНОЛОГИЯ ИЗВЛЕЧЕНИЯ ЗНАНИЙ ИЗ НЕЙРОННЫХ СЕТЕЙ:
АПРОБАЦИЯ,
ПРОЕКТИРОВАНИЕ ПО,
ИСПОЛЬЗОВАНИЕ В ПСИХОЛИНГВИСТИКЕ
Формальный нейрон
Слоистая сеть
ОБУЧЕНИЕ - МИНИМИЗАЦИЯ ОШИБКИ НА ПРИМЕРАХ С ИЗВЕСТНЫМ ОТВЕТОМ
МЕТОДЫ (АЛГОРИТМЫ)
ОБРАТНОГО РАСПРОСТРАНЕНИЯ
Вычисление сложной функции многих переменных представим, как движение по графу: в каждой его вершине производится вычисление простой функции (рис. а).
Вычисление градиента (для оптимизации) представляется обратным движением (рис. б).
Рис. а. Прохождение вершины в прямом направлении.
Рис. б. Прохождение вершины в обратном направлении.
Схематическое представление вычисления сложной функции одного переменного и ее производных.
ЗНАЧИМОСТЬ И УПРОЩЕНИЕ
Показатели значимости - оценки изменения значения штрафной функции после некоторой модификации нейросети.
Показатели значимости нулевого порядка, основаны на рассмотрении абсолютной величины веса синапса.
Показатели значимости первого порядка оценивают по линейному приближению изменение значения штрафной функции после модификации.
Показатели значимости второго порядка используют второе тейлоровское приближение изменения штрафной функции после модификации.
КРИТЕРИИ ЛОГИЧЕСКОЙ ПРОЗРАЧНОСТИ
Чем меньше слоев нейронов в сети, тем сеть более логически прозрачна. В более сложных случаях: чем меньше нейронов в каждом из имеющихся путей прохождения сигналов в сети от входа к выходу, тем лучше.
Чем меньше число нейронов в каждом слое сети, тем лучше.
Чем меньше входных сигналов сети, тем лучше.
Чем меньше число приходящих на нейрон сигналов, тем лучше.
Чем меньше общее число синапсов в сети, тем лучше.
Необходимо приведение значений настраиваемых параметров сети к конечному набору выделенных значений.
Упрощение (контрастирование) нейронной сети строится как последовательный процесс исключения из сети наименее значимого элемента, уменьшающий нужный показатель, и дальнейшего подучивания сети. Если после шага упрощения невозможно доучивание сети до требуемой точности, то возвращаемся к сети, полученной на предыдущем шаге, и завершаем процесс упрощения.
МЕТОД СЕМАНТИЧЕСКОГО ДИФФЕРЕНЦИАЛА
Слова осмысляются человеком не через "толковый словарь", а через ощущения, переживания. Определить смысл слова - значит выделить этот комплекс переживаний. Путь к смыслу через качественные признаки понятия.
ГИПОТЕЗА ОСГУДА -
СУЩЕСТВУЮТ КООРДИНАТЫ СМЫСЛА:
все существенные свойства понятия определяются на основании небольшого числа базисных свойств
Cлово
Основной базис Осгуда:
Оценка («Хороший-Плохой»),
Сила («Сильный-Слабый»),
Активность («Активный-Пассивный»)
ОТЛИЧИЕ НАШЕЙ ПОСТАНОВКИ ОТ ЗАДАЧИ ОСГУДА
У Осгуда |
У нас |
|
Ищется базис для всех носителей языка («Средний базис»). |
Ищется базис для индивидуального носителя языка («Базис индивидуальных смыслов»). |
|
Ищутся линейные связи. |
Ищутся нелинейные связи (параметр, характеризующий регулярность связи - число нейронов). |
|
У Осгуда признаки, не восстанавливаемые по базисным, выбрасываются, как незначимые. |
У нас объекты, признаки которых не удается восстановить, рассматриваются как особые, характеризующие индивидуальные отклонения («психоаналитические»). |
|
У Осгуда |
У нас |
|
Пространство смыслов трехмерно, ошибка предсказания свойств велика. |
Размерность пространства смыслов индивидуальна, само пространство есть объединение типового MAN-многообразия с небольшим числом точек «психоаналитических» больших отклонений. Именно их наличие не позволяет дать точное «трехмерное» (среднекультурное) предсказание. |
|
ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ, ПОЛУЧЕННЫЕ ЛИЧНО АВТОРОМ
1. Предложены следующие приемы, упрощающие и делающие более гибким процесс вербализации (семантического анализа - осмысления в терминах проблемной области) извлеченного из сети набора правил:
a) На основе гипотезы о неединственности извлекаемых правил и учитывая, что разные фрагменты сети (поднаборы правил) будут более или менее правдоподобны и интерпретируемы, предложено конструирование новой, более понятной пользователю нейронной сети из наиболее просто интерпретируемых фрагментов других сетей, решающих ту же задачу.
b) Предложено добавление выходного сигнала некоторого фрагмента сети (содержательно интерпретируемого и правдоподобного с точки зрения пользователя) в качестве нового интегрального признака в число независимых признаков таблицы данных, и решение задачи извлечения знаний на основе полученного расширенного набора признаков.
2. Разработано техническое задание на новую версию программы-нейроимитатора, реализующую предложенные технологии.
3. Усовершенствован метод семантического дифференциала Осгуда при помощи технологии разреживания обучаемых нейронных сетей. Проведена серия экспериментов, заключающихся в исследовании индивидуальных смысловых пространств, проинтерпретированы их результаты.
4. Предложена гипотеза о структуре индивидуального пространства смыслов: оно состоит из многообразия малой размерности, задаваемого культурой («ман-многообразия» от немецкого безличного местоимения «man») и сравнительно небольшого множества индивидуальных отклонений, которые могут быть важны для диагностики.
УДК 681.31
Нейросетевой анализ структуры индивидуального пространства смыслов
П.А.Горбань
Усовершенствован метод семантического дифференциала Осгуда при помощи технологии разреживания обучаемых нейронных сетей. Проведена серия экспериментов, заключающихся в исследовании индивидуальных смысловых пространств, проинтерпретированы их результаты. Предложена гипотеза о структуре индивидуального пространства смыслов: оно состоит из многообразия малой размерности, задаваемого культурой («ман-многообразия» от немецкого безличного местоимения «man») и сравнительно небольшого множества индивидуальных отклонений, которые могут быть важны для диагностики. Каждая культура имеет небольшое количество специфических для нее ман -многообразий (субкультур).
The method of the semantic differential by Osgood was improved using the technology of pruning neural networks. The series of the experiments, consists of the research of the individual meaning space was made, and there given an interpretation of their results. A hypothesis about the structure of the individual meaning space, concluding in that this consists of the manifold of small dimention (man-manifold, from the german indefinite pronoun «man») and a small quantity of individual divertions, which could be important for the psychodiagnostics, was proposed. Every culture have a small amount of its specific man-manifolds (subcultures).
Слова осмысляются человеком не через "толковый словарь", а через ощущения, переживания. За каждым словом у человека стоит несколько этих базовых переживаний: собака - это что-то маленькое, добродушненькое, пушистое, с мокрым язычком, …, но это и здоровенный, грозно рычащий зверь со злобными глазами, огромными клыками, … . Большинство слов кодирует некоторые группы переживаний, ощущений, и определить смысл слова, то есть эти самые переживания - довольно сложная задача.
Дж. Осгуд с соавторами в работе под названием “Измерение значений” ввели для решения этой задачи метод “семантического дифференциала” (обзор литературы дан в работе [1]). Они предложили искать координаты слова в пространстве свойств следующим образом. Был собран некоторый набор слов (например, "мама", "папа" и т.д.) и набор признаков к этим словам (таких, как близкий - далекий, хороший - плохой, и т.д.), и опрашиваемые люди оценивали слова по этим шкалам. Затем отыскивался минимальный набор координат смысла, по которому можно восстановить все остальные. Было выделено 3 базовых координаты смысла, по которым все остальные можно предсказать достаточно точно: сильный - слабый, активный - пассивный и хороший - плохой. С другой стороны, выявились огромные различия между культурами, например, у японцев и американцев очень многие вещи имеют существенно разные смысловые характеристики.
Существуют различные способы выделения основных признаков (базовых координат), например, метод главных компонент, факторный анализ и др. В данной работе используются нейросетевые методы. Разработка технологии сокращения описания и извлечения знаний из данных с помощью обучаемых и разреживаемых нейронных сетей началась в 90-е годы XX века (см., например, [2-4]) и к настоящему времени созданы библиотеки нейросетевых программ даже для PC, позволяющие строить полуэмпирические теории в различных областях [5-7].
В данной работе с помощью нейроимитатора исследовались индивидуальные смысловые пространства. Был создан вопросник, в котором определяются координаты (от -10 до 10) 40 слов по 27 параметрам и были проведены эксперименты на нескольких людях.
Слова:
Папа
Мама
Болезнь
Детский сад
Школа
Собака
Кот
Воробей
Ворона
Апельсин
Яблоко
Дед Мороз
Дерево
Змея
Еда
Тортик
Горшок
Брат
Сестра
Работа
Деньги
Квартира
Муж (жена)
Дедушка
Бабушка
Музыка
Президент
Парламент
Политика
Наука
Политик
Ученый
Теорема
Выборы
Коммунизм
Доказательство
Россия
Америка
Китай
Израиль
Религия
Бог
Плотный - рыхлый
Молодой - старый
Светлый - темный
Разумный - неразумный
Холодный - горячий
Быстрый - медленный
Близкий - далекий
Пугливый - бесстрашный
Страшный - не страшный
Спокойный - беспокойный
Веселый - грустный
Удобный - неудобный
Красивый - некрасивый
Опасный - безопасный
Приятный - неприятный
Ручной - дикий
Утонченный - грубый
Умный - глупый
Шумный - тихий
Ласковый - грубый
Большой - маленький
Дружественный - враждебный
Мягкий - твердый
Добрый - злой
Активный - пассивный
Хороший - плохой
Сильный - слабый
В экспериментах отыскивался минимальный набор координат смысла, по которому можно восстановить все остальные с точностью до тенденции (т.е. с точностью до 3 баллов). Это делалось при помощи нейросетевого имитатора NeuroPro [5]. Следует отметить, что предсказание с точностью до 3 баллов фактически соответствует переходу от 21-балльных шкал (от -10 до 10) к традиционным 7-балльным (от -3 до 3).
С помощью NeuroPro возможно получение показателей значимости входных сигналов для принятия нейросетью решения, показателей чувствительности выходного сигнала сети к изменению входных сигналов, показателей значимости и чувствительности по отдельным примерам выборки.
За начальную архитектуру была взята слоистая нейронная сеть, состоящая из трех слоев по 10 нейронов в каждом. Далее проводились последовательно следующие операции.
3) Обучение нейронной сети с максимальной допустимой ошибкой обучения 0.49 балла (такая ошибка приводит к тому, что после округления ошибка обучения фактически равна 0). Как показал опыт, такой ошибки обучения чаще всего достаточно для предсказаний с требуемой точностью, то есть для ошибки обобщения, меньшей 3 баллов.
4) Из входных сигналов выбирался наименее значимый и исключался, после чего проводилось повторное обучение нейросети с новыми входными сигналами и прежней ошибкой обучения.
Эта процедура проводилась до тех пор, пока нейросеть могла обучиться. В результате этих операций были получены минимальные определяющие наборы признаков (т.е. наборы входных сигналов, оставшиеся после сокращения их числа).
Для разных людей получены очень разные результаты (первые результаты представлены в [8]), совсем непохожие на результаты Осгуда. Вот типичные примеры:
Определяющий набор признаков 1-го человека (размерность 7):
Умный - глупый, шумный - тихий, разумный - неразумный, плотный - рыхлый, дружественный - враждебный, страшный - не страшный, опасный - безопасный.
2-го человека: сильный - слабый, приятный - неприятный, опасный - безопасный, страшный - не страшный, дружественный - враждебный, удобный - неудобный (размерность 6).
3-го человека: приятный - неприятный, опасный - безопасный (размерность 2).
Представляет интерес, что Осгудовские признаки почти не представлены в большинстве наборов. В связи с этим было решено проверить, можно ли предсказать значения произвольно выбранных признаков при помощи набора Осгуда (ошибка обучения в экспериментах допускалась 0.49 балла). Практически во всех случаях нейронные сети обучались с приемлемой ошибкой обучения, но ошибка обобщения в экспериментах со скользящим контролем (нейронные сети обучались по всем словам, кроме 2-х - 3-х, а потом тестировались на этих словах) часто была недопустимо велика (5-9 баллов).
После этого проводились следующие эксперименты: нейронная сеть обучалась предсказывать значения параметров по уже определенному минимальному набору признаков на одной половине слов, далее она тестировалась на словах из другой половины. При этом для большинства слов нейронные сети давали удовлетворительные прогнозы по всем параметрам (с точностью до 3 баллов), но почти во всех случаях обнаруживались одно - два слова, для которых сразу по нескольким признакам ошибка нейронных сетей была очень велика.
Итак, для каждого человека обнаруживается многообразие сравнительно малой размерности, в небольшой окрестности которого лежат почти все слова.
При осмыслении этого возникает гипотеза, связанная с тем, что отношение человека к большинству вещей, событий и т.д. не индивидуально, а сформировано культурой, в которой этот человек рос, его окружением и поэтому зависит от сравнительно небольшого числа признаков. В связи с этим и могли появиться многообразия малой размерности, в небольшой окрестности которых лежат почти все слова. Назовем их ман-многообразиями (от немецкого неопределенного местоимения man (некто)). Вероятно, для каждой определенной культуры имеется небольшое количество различных ман-многообразий, специфичных для нее. В ходе воспитания человек присваивает одно из типичных ман-многообразий. Например, определяющий набор признаков 3-го человека представляется основным набором признаков и для животных: опасность и приятность имеют прямой химический аналог и соответствуют уровню адреналина, эндорфинов и энкефалинов.
Обнаружено, что у большинства людей есть слова, которые неожиданно "выпадают" из ман-многообразий, _ отстоят от них довольно далеко. Вероятно, это слова, с которыми у человека связаны какие-либо сильные переживания, ощущения, что приводит к появлению "индивидуальности" оценки или же слова, свое истинное отношение к которым человек пытается скрыть. Есть еще один тип таких точек, специфичных для каждой отдельной культуры (или субкультуры), особое отношение к которым сформировано самой культурой (например, в России - Великая Отечественная, в мусульманских странах - бог). Интерпретация "индивидуальных точек" может дать полезную психодиагностическую информацию, а анализ особенных точек культуры - культурологическую. Возможно проведение культурологических исследований путем сравнения особенностей и закономерностей для различных культур.
Уже первые опыты показывают, что набор индивидуальных точек дает яркий и узнаваемый портрет личности, а общекультурные особенности пока не были изучены, так как требуют более масштабных исследований.
В перспективе результаты работы могут быть использованы во многих областях, где требуется информация о психологии и психическом здоровье человека, могут быть применены для создания компьютерных психодиагностических методик, выявляющих и анализирующих индивидуальные особенности и скрытые напряжения и т.п.
Литература
Language, meaning and culture: the selected papers of C. E. Osgood / ed. by Charles. E. Osgood and Oliver C. S. Tzeng. New York (etc.) : Praeger, 1990 XIII, 402 S.
Горбань А.Н. Обучение нейронных сетей. М.: изд. СССР-США СП "ParaGraph", 1990. - 160с. (English Translation: AMSE Transaction, Scientific Siberian, A, 1993, Vol. 6. Neurocomputing, рp.1-134).
Le Cun Y., Denker J.S., Solla S.A. Optimal Brain Damage / Advances in Neural Information Processing Systems 2. - Morgan Kaufmann, 1990. - pp.598-605.
McMillan C., Mozer M.C., Smolensky P. The Connectionist Scientist Game: Rule Extraction and Refinement in a Neural Network / Proc. XIII Annual Conf. of the Cognitive Science Society, Hillsdale, NJ, USA, 1991. Erlbaum Press, 1991.
Царегородцев В.Г. Производство полуэмпирических знаний из таблиц данных с помощью обучаемых искуственных нейронных сетей // Методы нейроинформатики. Красноярск: Изд-во КГТУ, 1998.
Gorban A.N., Mirkes Ye.M., Tsaregorodtsev V.G. Generation of explicit knowledge from empirical data through pruning of trainable neural networks / Int. Joint Conf. on Neural Networks, Washington, DC, USA, 1999.
Tsaregorodtsev V.G., Nazimova D.I., Nozhenkova L.F. Neural Identification of the Zonal Classes and Siberian Forest Formations Based on Climatic Parameters / Proc. Int. Symposium "Biodiversity and Dynamics of Ecosystems in North Eurasia", Novosibirsk, Aug. 2000. Vol.4. Part 1. - pp.37-39.
Горбань П.А. Нейросетевая реализация метода семантического дифференциала и анализ выборов американских президентов, основанный на технологии производства явных знаний из данных // Материалы XXXVII Международной научной студенческой конференции "Cтудент и научно-технический прогресс": Информационные технологии. Новосибирск, НГУ, 1999
Горбань Павел Александрович (1982 г.р.) -
Студент 4 курса математического факультета КрасГУ.
Область научных интересов: нейроинформатика, теория групп.
! | Как писать дипломную работу Инструкция и советы по написанию качественной дипломной работы. |
! | Структура дипломной работы Сколько глав должно быть в работе, что должен содержать каждый из разделов. |
! | Оформление дипломных работ Требования к оформлению дипломных работ по ГОСТ. Основные методические указания. |
! | Источники для написания Что можно использовать в качестве источника для дипломной работы, а от чего лучше отказаться. |
! | Скачивание бесплатных работ Подводные камни и проблемы возникающие при сдаче бесплатно скачанной и не переработанной работы. |
! | Особенности дипломных проектов Чем отличается дипломный проект от дипломной работы. Описание особенностей. |
→ | по экономике Для студентов экономических специальностей. |
→ | по праву Для студентов юридических специальностей. |
→ | по педагогике Для студентов педагогических специальностей. |
→ | по психологии Для студентов специальностей связанных с психологией. |
→ | технических дипломов Для студентов технических специальностей. |
→ | выпускная работа бакалавра Требование к выпускной работе бакалавра. Как правило сдается на 4 курсе института. |
→ | магистерская диссертация Требования к магистерским диссертациям. Как правило сдается на 5,6 курсе обучения. |
Дипломная работа | Формирование устных вычислительных навыков пятиклассников при изучении темы "Десятичные дроби" |
Дипломная работа | Технологии работы социального педагога с многодетной семьей |
Дипломная работа | Человеко-машинный интерфейс, разработка эргономичного интерфейса |
Дипломная работа | Организация туристско-экскурсионной деятельности на т/к "Русский стиль" Солонешенского района Алтайского края |
Дипломная работа | Разработка мероприятий по повышению эффективности коммерческой деятельности предприятия |
Дипломная работа | Совершенствование системы аттестации персонала предприятия на примере офиса продаж ОАО "МТС" |
Дипломная работа | Разработка системы менеджмента качества на предприятии |
Дипломная работа | Организация учета и контроля на предприятиях жилищно-коммунального хозяйства |
Дипломная работа | ЭКСПРЕСС-АНАЛИЗ ФИНАНСОВОГО СОСТОЯНИЯ ООО «АКТ «ФАРТОВ» |
Дипломная работа | Психическая коммуникация |