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

–PAGE_BREAK–С помощью 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-го человека представляется основным набором признаков и для животных: опасность и приятность имеют прямой химический аналог и соответствуют уровню адреналина, эндорфинов и энкефалинов.
Обнаружено, что у большинства людей есть слова, которые неожиданно «выпадают» из ман-многообразий, ‑ отстоят от них довольно далеко. Вероятно, это слова, с которыми у человека связаны какие-либо сильные переживания, ощущения, что приводит к появлению «индивидуальности» оценки или же слова, свое истинное отношение к которым человек пытается скрыть. Есть еще один тип таких точек, специфичных для каждой отдельной культуры (или субкультуры), особое отношение к которым сформировано самой культурой (например, в России – Великая Отечественная, в мусульманских странах – бог). Интерпретация «индивидуальных точек» может дать полезную психодиагностическую информацию, а анализ особенных точек культуры — культурологическую. Возможно проведение культурологических исследований путем сравнения особенностей и закономерностей для различных культур.
Уже первые опыты показывают, что набор индивидуальных точек дает яркий и узнаваемый портрет личности, а общекультурные особенности пока не были изучены, так как требуют более масштабных исследований.
В перспективе результаты работы могут быть использованы во многих областях, где требуется информация о психологии и психическом здоровье человека, могут быть применены для создания компьютерных психодиагностических методик, выявляющих и анализирующих индивидуальные особенности и скрытые напряжения и т.п.

Литература 1.     Лорьер Ж.-Л. Системы искусственного интеллекта. М.: Мир, 1991. — 568с.
2.     Искусственный интеллект. В 3-х кн. Кн. 2. Модели и методы: Справочник / Под ред. Д.А.Поспелова. М.: Радио и связь, 1990. — 304с.
3.     Хафман И. Активная память. М.: Прогресс. 1986. — 309с.
4.     Бонгард М.М. Проблема узнавания. М.: Наука, 1967. — 320с.
5.     Загоруйко Н.Г. Методы обнаружения закономерностей. М.: Наука, 1981. — 115с.
6.     Гаек П., Гавранек Т. Автоматическое образование гипотез. М.: Наука, 1984. — 278с.
7.     Гуревич Ю.В., Журавлев Ю.И. Минимизация булевых функций и и эффективные алгоритмы распознавания // Кибернетика. — 1974, №3. — с.16-20.
8.     Искусственный интеллект. В 3-х кн. Кн. 1. Системы общения и экспертные системы: Справочник / Под ред. Э.В.Попова. М.: Радио и связь, 1990. — 464с.
9.     Айвазян С.А., Енюков И.С., Мешалкин Л.Д. Прикладная статистика: Основы моделирования и первичная обработка данных. М.: Финансы и статистика, 1983. — 471с.
10.Загоруйко Н.Г. Гипотезы компактности и l-компактности в алгоритмах анализа данных // Сибирский журнал индустриальной математики. Январь-июнь, 1998. Т.1, №1. — с.114-126.
11.Браверман Э.М., Мучник И.Б. Структурные методы обработки эмпирических данных. М.: Наука, 1983. — 464с.
12.Дуда Р., Харт П. Распознавание образов и анализ сцен. М.: Мир, 1976. — 512с.
13.Цыпкин Я.З. Информационная теория идентификации. М.: Наука, 1995. — 336с.
14.Айзерман М.А., Браверман Э.М., Розоноер Л.И. Метод потенциальных функций в теории обучения машин. — М.: Наука, 1970. — 240с.
15.Россиев Д.А. Самообучающиеся нейросетевые экспертные системы в медицине: теория, методология, инструментарий, внедрение. Автореф. дисс. … доктора биол. наук. Красноярск, 1996.
16.Горбань А.Н. Обучение нейронных сетей. М.: изд. СССР-США СП «ParaGraph», 1990. — 160с. (English Translation: AMSE Transaction, Scientific Siberian, A, 1993, Vol. 6. Neurocomputing, рp.1-134).
17.Горбань А.Н., Россиев Д.А. Нейронные сети на персональном компьютере. Новосибирск: Наука, 1996. — 276с.
18.Нейроинформатика / А.Н. Горбань, В.Л. Дунин-Барковский, А.Н. Кирдин и др. Новосибирск: Наука, 1998. — 296с.
19.Ежов А.А., Шумский С.А. Нейрокомпьютинг и его применение в финансах и бизнесе. М.: МИФИ, 1998.
20.Миркес Е.М. Нейрокомпьютер: проект стандарта. Новосибирск, Наука, 1998.
21.Kwon O.J., Bang S.Y. A Design Method of Fault Tolerant Neural Networks / Proc. ICNN 1994, Seoul, Korea. — Vol.1. — pp. 396-400.
22.Горбань А.Н., Царегородцев В.Г. Методология производства явных знаний из таблиц данных при помощи обучаемых и упрощаемых искусственных нейронных сетей // Труды VI Международной конференции «Математика. Компьютер. Образование» / — М.: Прогресс-традиция, 1999. — Ч.I. — С.110-116.
23.Царегородцев В.Г. Извлечение явных знаний из таблиц данных при помощи обучаемых и упрощаемых искусственных нейронных сетей // Материалы XII Международной конференции по нейрокибернетике. — Ростов-на-Дону. Изд-во СКНЦ ВШ. 1999.- 323с. — С.245-249.
24.Reed R. Pruning Algorithms — a Survey / IEEE Trans. on Neural Networks, 1993, Vol.4, №5. — pp.740-747.
25.Depenau J., Moller M. Aspects of Generalization and Pruning / Proc. WCNN’94, 1994, Vol.3. — pp.504-509.
26.Гилев С.Е., Коченов Д.А., Миркес Е.М., Россиев Д.А. Контрастирование, оценка значимости параметров, оптимизация их значений и их интерпретация в нейронных сетях // Доклады III Всероссийского семинара “Нейроинформатика и ее приложения”. – Красноярск, 1995.- С.66-78.
27.Weigend A.S., Rumelhart D.E., Huberman B.A. Generalization by Weights-elimination with Application to Forecasting / Advances in Neural Information Processing Systems. Morgan Kaufmann, 1991. Vol.3. — pp. 875-882.
28.Yasui S. Convergence Supdivssion and Divergence Facilitation for Pruning Multi-Output Backpropagation Networks / Proc. 3rd Int. Conf. on Fuzzy Logic, Neural Nets and Soft Computing, Iizuka, Japan, 1994. — pp.137-139.
29.Yasui S. A New Method to Remove Redundant Connections in Backpropagation Neural Networks: Inproduction of ‘Parametric Lateral Inhibition Fields’ / Proc. IEEE INNS Int. Joint Conf. on Neural Networks, Beijing, Vol.2. — pp.360-367.
30.Yasui S., Malinowski A., Zurada J.M. Convergence Supdivssion and Divergence Facilitation: New Approach to Prune Hidden Layer and Weights in Feedforward Neural Networks / Proc. IEEE Int. Symposium on Circuits and Systems 1995, Seattle, WA, USA. Vol.1. — pp.121-124.
31.Malinowski A., Miller D.A., Zurada J.M. Reconciling Training and Weight Supdivssion: New Guidelines for Pruning-efficient Training / Proc. WCNN 1995, Washington, DC, USA. Vol.1. — pp.724-728.
32.Krogh A., Hertz J. A Simple Weight Decay can Improve Generalization / Advances in Neural Infromation Processing Systems 4, 1992. — pp. 950-957.
33.Kamimura R., Nakanishi S. Weight-decay as a Process of Redundancy Reduction / Proc. WCNN, 1994, Vol.3. — pp.486-489.
34.Karnin E.D. A Simple Procedure for Pruning Back-propagation Trained Network / IEEE Trans. on Neural Networks, June 1990. Vol. 1, No.2. — pp.239-242.
35.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.
36.Hassibi B., Stork D.G., Wolff G. Optimal Brain Surgeon: Extensions and Performance Comparisions / Advances in Neural Information Processing Systems 6, 1994. – pp.263-270.
37.Гилев С.Е. Алгоритм сокращения нейронных сетей, основанный на разностной оценке вторых производных целевой функции // Нейроинформатика и ее приложения: Тезисы докладов V Всеросс. семинара, 1997. Красноярск. КГТУ. 1997. — 190с. — C.45-46.
38.Tanpraset C., Tanpraset T., Lursinsap C. Neuron and Dendrite Pruning by Synaptic Weight Shifting in Polynomial Time / Proc. IEEE ICNN 1996, Washington, DC, USA. Vol.2. — pp.822-827.
39.Kamimura R. Principal Hidden Unit Analysis: Generation of Simple Networks by Minimum Entropy Method / Proc. IJCNN 1993, Nagoya, Japan. — Vol.1. — pp.317-320.
40.Mozer M.C., Smolensky P. Using Relevance to Reduce Network Size Automatically / Connection Science. 1989. Vol.1. — pp.3-16.
41.Mozer M.C., Smolensky P. Skeletonization: A Technique for Trimming the Fat from a Network via Relevance Assessment / Advances in Neural Network Information Processing Systems 1, Morgan Kaufmann, 1989. — pp.107-115.
42.Watanabe E., Shimizu H. Algorithm for Pruning Hidden Units in Multi Layered Neural Network for Binary Pattern Classification Problem / Proc. IJCNN 1993, Nagoya, Japan. — Vol.1. — pp.327-330.
43.Yoshimura A., Nagano T. A New Measure for the Estimation of the Effectiveness of Hidden Units / Proc. Annual Conf. JNNS, 1992. — pp.82-83.
44.Murase K., Matsunaga Y., Nakade Y. A Back-propagation Algorithm which Automatically Determines the Number of Association Units / Proc. IJCNN, Singapore, 1991. — Vol.1. — pp.783-788.
45.Matsunaga Y., Nakade Y., Yamakawa O., Murase K, A Back-propagation Algorithm with Automatic Reduction of Association Units in Multi-layered Neural Network / Trans. on IEICE, 1991. Vol. J74-DII, №8. — pp.1118-1121.
46.Hagiwara M. Removal of Hidden Units and Weights for Back Propagation Networks / Proc. IJCNN 1993, Nagoya, Japan. — Vol.1. — pp.351-354.
47.Majima N., Watanabe A., Yoshimura A., Nagano T. A New Criterion «Effectiveness Factor» for Pruning Hidden Units / Proc. ICNN 1994, Seoul, Korea. — Vol.1. — pp. 382-385.
48.Царегородцев В.Г. Производство полуэмпирических знаний из таблиц данных с помощью обучаемых искусственных нейронных сетей // Методы нейроинформатики. – Красноярск: Изд-во КГТУ, 1998. — 205c. — C.176-198.
49.Sietsma J., Dow R.J.F. Neural Net Pruning — Why and How / Proc. IEEE IJCNN 1988, San Diego, CA. Vol.1. — pp. 325-333.
50.Sietsma J., Dow R.J.F. Creating Artificial Neural Network that Generalize / Neural Networks, 1991. Vol.4, No.1. — pp.67-79.
51.Yamamoto S., Oshino T., Mori T., Hashizume A., Motoike J. Gradual Reduction of Hidden Units in the Back Propagation Algorithm, and its Application to Blood Cell Classification / Proc. IJCNN 1993, Nagoya, Japan. — Vol.3. — pp.2085-2088.
52.Sarle W.S. How to measure importance of inputs? SAS Institute Inc., Cary, NC, USA, 1999. ftp://ftp.sas.com/pub/neural/importance.html
53.Goh T.-H. Semantic Extraction Using Neural Network Modelling and Sensitivity Analisys / Proc. IJCNN 1993, Nagoya, Japan. — Vol.1. — pp.1031-1034.
54.Howlan S.J., Hinton G.E. Simplifying Neural Network by Soft Weight Sharing / Neural Computations, 1992. Vol.4. №4. — pp.473-493.
55.Keegstra H., Jansen W.J., Nijhuis J.A.G., Spaanenburg L., Stevens H., Udding J.T. Exploiting Network Redundancy for Low-Cost Neural Network Realizations / Proc. IEEE ICNN 1996, Washington, DC, USA. Vol.2. — pp.951-955.
56.Chen A.M., Lu H.-M., Hecht-Nielsen R. On the Geometry of Feedforward Neural Network Error Surfaces // Neural Computations, 1993. — 5. pp. 910-927.
57.Гордиенко П. Стратегии контрастирования // Нейроинформатика и ее приложения: Тезисы докладов V Всероссийского семинара, 1997 / Под ред. А.Н.Горбаня. Красноярск. КГТУ. 1997. — 190с. — C.69.
58.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.
59.Ishibuchi H., Nii M. Generating Fuzzy If-Then Rules from Trained Neural Networks: Linguistic Analysis of Neural Networks / Proc. 1996 IEEE ICNN, Washington, DC, USA. Vol.2. — pp.1133-1138.
60.Lozowski A., Cholewo T.J., Zurada J.M. Crisp Rule Extraction from Perceptron Network Classifiers / Proc. 1996 IEEE ICNN, Washington, DC, USA. Plenary, Panel and Special Sessions Volume. — pp.94-99.
61.Lu H., Setiono R., Liu H. Effective Data Mining Using Neural Networks / IEEE Trans. on Knowledge and Data Engineering, 1996, Vol.8, №6. – pp.957-961.
62.Duch W., Adamczak R., Grabczewski K. Optimization of Logical Rules Derived by Neural Procedures / Proc. 1999 IJCNN, Washington, DC, USA, 1999.
63.Duch W., Adamczak R., Grabczewski K. Neural Optimization of Linguistic Variables and Membership Functions / Proc. 1999 ICONIP, Perth, Australia.
64.Ishikawa M. Rule Extraction by Successive Regularization / Proc. 1996 IEEE ICNN, Washington, DC, USA. Vol.2. — pp.1139-1143.
65.Sun R., Peterson T. Learning in Reactive Sequential Decision Tasks: the CLARION Model / Proc. 1996 IEEE ICNN, Washington, DC, USA. Plenary, Panel and Special Sessions Volume. — pp.70-75.
66.Gallant S.I. Connectionist Expert Systems / Communications of the ACM, 1988, №31. – pp.152-169.
67.Saito K., Nakano R. Medical Diagnostic Expert System Based on PDP Model / Proc. IEEE ICNN, 1988. – pp.255-262.
68.Fu L.M. Rule Learning by Searching on Adapted Nets / Proc. AAAI, 1991. — pp.590-595.
69.Towell G., Shavlik J.W. Interdivtation of Artificial Neural Networks: Mapping Knowledge-based Neural Networks into Rules / Advances in Neural Information Processing Systems 4 (Moody J.E., Hanson S.J., Lippmann R.P. eds.). Morgan Kaufmann, 1992. — pp. 977-984.
    продолжение
–PAGE_BREAK–

    продолжение
–PAGE_BREAK–Общий вид гипотезы Н зависит от цели обобщения и выбранного способа представления знаний. Методы обобщения, включающие модели классификации, формирования понятий, распознавания образов, обнаружения закономерностей, определяются целями обобщения, способами представления знаний, общими характеристиками фактов, критериями оценки гипотез.
Для обобщения по выборкам совокупность фак­тов F имеет вид обучающей выборки – множества объектов, каждый из которых сопоставляется с именем некоторого класса. Целью обобщения в этом случае может являться:
–                     формирование понятий: построение по данным обучающей выборки для каждого класса максимальной совокупности его общих характеристик [4];
–                     классификация: построение по данным обучающей выборки для каждого класса минимальной совокупности характеристик, которая отличала бы элементы класса от элементов других классов;
–                     определение закономерности последовательного появления событий.
К методам обобщения по выборкам относятся лингвистические модели, методы автоматического синтеза алгоритмов и программ по при­мерам и другие [2].
В методах обобщения по данным априорное разделение фактов по классам отсутствует. Здесь могут ставиться следующие цели:
–                     формулирование гипотезы, обобщающей данные факты;
–                     выделение образов на множестве наблюдаемых данных, группировка данных по признакам (задача формиро­вания понятий, определенная в модели обобщения по выборкам, также часто ставится без априорного разбиения обучающей выборки по классам) [4];
–                     установление закономерностей, характеризующих совокупность наблюдаемых данных [5].
Рассмотрим кратко связь между задачами обобщения и классификации и задачами, решаемыми в рамках теории вероятностей и математической статистики. В математической статистике ставятся и решаются задачи вывода новых знаний на основании анализа совокупности наблюдений, при этом устанавливаются частотные закономерности появления событий: определяются общий вид и параметры функций распределения вероятно­стей событий по данным наблюдений, делаются выводы о степени статистиче­ской зависимости наблюдаемых случайных величин, проверяются гипотезы о характеристиках случайного события. Действительно, в задаче формализации и вывода знаний о реальном мире нельзя не учитывать наличия стати­стических закономерностей в его проявлениях. Общая же задача формирования гипотез по данным наблюдений не ограничивается установлением статистических закономерностей. Так, разработаны формально-логические модели выдвижения гипотез [6], которые используются в теории искусственного интеллекта.
С точки зрения способа представления знаний и допущений на общий вид объектов наблюдений, методы обобщения делятся на методы обобщения по признакам и структурно-логические (или концептуальные) методы [2]. В первом случае объекты представляются в виде совокупности значений косвенных признаков. Методы обоб­щения и распознавания по признакам различаются для качественных (номинальных или порядковых) и количественных (измеримых) значений признаков. Структурно-логические методы, в отличие от признаковых, предназначены для решения задачи обобщения на множестве объектов, имеющих внутреннюю логическую структуру (последовательности событий, иерархически организованные сети, характеризуемые как признаками и свойствами объектов – элементов сети, так и отношениями между ними). В формально-логических системах, использующих структурно-логические методы обобщения, вывод общих следствий из данных фактов называют ин­дуктивным выводом. Сформулированы основные вопросы, на которые долж­ны давать ответы индуктивные логики и методы выдвижения гипотез:
1.                 Явля­ется ли гипотеза Н обоснованной данным знанием?
2.                 Существуют ли методы обосно­вания Н при данном знании?
3.                 Каковы условия для Н при данном знании, такие, что Н дает наиболее разумное и интересное объяснение?
4.                 Существуют методы для выдвижения гипотез на основании данного знания, дающих наи­более разумное и интересное объяснение изучаемого явления?
В экспертных системах (ЭС) для представления знаний об объектах используются обычно модификации языка исчисления предикатов без ограничения арности предикатных символов или адекватные им по выразительной мощности семантические сети [2]. Моделям обобщения на семантических сетях свойственны черты как алгоритмов обобщения по признакам, так и индуктивной логики. Здесь также определяется набор операторов, используе­мых при формировании обобщенного представления (гипотезы) Н, и выдвига­ются критерии оценки «интересности» и обоснованности гипотез. Кроме того, в этих моделях широко используется характерный для обобщения по качест­венным признакам [7] аппарат теории покрытий и устанавливаются отношения на множестве значений при­знаков объектов-элементов сети. Методами структурного обобщения реша­ются обычно задачи классификации, формирования понятий, анализа сцен [2].
Для задачи обобщения по признакам известен следующий результат: каков бы ни был реальный вид разделяющей функция y (в общем случае – индуктив­ной гипотезы Н) и алгоритм ее формирования по обучающей выборке, всегда найдется такая (непустая) обучающая выборка, что сформированная функция y ‘ (гипотеза Н’) явится некорректной (ложной).
В связи с этим гипотезы принято оценивать с точки зрения их «разумности», «рациональности», «интересности». В [6] рациональ­ность ответа на вопрос 1 (см. выше) индуктивного вывода понимается следующим обра­зом. Пусть F – имеющиеся истинные утверждения, а j – эмпирические данные. Тогда для порождаемой ложной гипотезы F,jÞy вероятностная мера наблюдения y на j должна быть мала (например, меньше 0,05).
Можно оценивать гипотезы с точки зрения мощностей подмножеств покрываемых ими элементов обучаю­щей выборки. В ряде исследований для подтверждения или отрицания выдвигаемой гипотезы используются методы автоматического порождения новых элементов обучающей выборки, которые выдаются для классификации эксперту. Решающее правило переопределяется, пока не будет достигнута равновесная ситуация [2].
1.2.1.1. Трудности при разработке экспертных систем К настоящему времени в теории классических экспертных систем разработана формализованная технология извлечения и представления экспертных знаний. Однако, существует целый ряд трудностей [8]:
–                     Построение ЭС не под силу конечному пользователю, не обладающему экспертными знаниями о проблемной области.
–                     Необходимость привлечения человека-эксперта в проблемной области, который является носителем знаний. Кроме трудности нахождения эксперта (его может и не быть), необходимо добавить еще и возможные трудности взаимодействия эксперта со специалистом-когнитологом (именно последний, путем диалога с экспертом, оформляет полученные от эксперта знания в выбранном формализме представления знаний).
–                     Имеющаяся оболочка ЭС и/или используемая ей модель представления знаний могут плохо подходить для выбранной проблемной области, задачи. Это часто вынуждает разрабатывать программный инструментарий «с нуля».
–                     Процесс извлечения знаний из эксперта, их формализация, проверка на непротиворечивость и устранение противоречий очень длителен, несмотря на наличие программных средств автоматизации. До получения первого прототипа системы проходит длительное время (месяцы), и до этих пор нельзя определить, возможно ли построение ЭС, решающей поставленную задачу с заданной степенью точности и увеличивающей точность решения при дальнейшем пополнении базы знаний, либо достижение заданных характеристик системы невозможно. Это может вести к большим материальным затратам в последнем случае. Другими словами, один из самых первых этапов при разработке любой информационной системы – анализ реализуемости – при разработке ЭС откладывается до момента построения исследовательского прототипа системы.
Перечисленные трудности препятствуют широкому применению теоретических методов и программных оболочек ЭС на практике.
1.2.2. Методы извлечения знаний из таблиц данных 1.2.2.1. Технология извлечения знаний из таблиц данных В настоящей работе исследуется извлечение знаний из таблиц данных при помощи математических или эмпирических методов обработки данных и моделирования. Фактически, в индустрии обработки данных существуют некоторые формальные схемы обработки данных и анализа результатов. Так, общая схема обработки данных методами математической статистики приведена в [9]:
1.                 Анализ исследуемой системы или объекта. В ходе анализа определяются: основные цели исследования на содержательном уровне; совокупность единиц (объектов, измерений,..), представляющих предмет исследования; перечень показателей (свойств), характеризующих состояние или поведение каждой из исследуемых единиц; степень формализации и детализации этих показателей при сборе данных; моменты, требующие дополнительной проверки перед составлением детального плана исследований; формализованная постановка задачи (например, на статистическом уровне, т.е. включающая вероятностную модель изучаемого явления и природу статистических выводов, к которым должен или может прийти исследователь в ходе обработки массива данных).
2.                 Составление плана сбора исходной статистической информации: определение типа выборки – случайная, пропорциональная и т.п.; определение требуемого объема выборки и продолжительности наблюдений; планирование активного эксперимента (если допускается задачей и исследуемым объектом).
3.                 Сбор данных и их ввод в ЭВМ.
4.                 Первичная статистическая обработка данных: статистическое описание совокупностей данных с определением пределов варьирования переменных; анализ резко выделяющихся наблюдений, принятие решения об исключении выделяющихся наблюдений или дальнейшем уменьшении учета их вклада с помощью некоторой весовой функции, убывающей по мере роста степени аномальности наблюдений; восстановление значений пропущенных наблюдений; проверка однородности нескольких порций исходных данных (требуется при разделении в пространстве и/или времени моментов получения этих порций данных); проверка статистической независимости последовательных наблюдений; унификация типов переменных; экспериментальный анализ закона распределения исследуемой генеральной совокупности и параметризация распределений.
5.                 Составление плана вычислительного анализа статистического материала.
6.                 Вычислительная реализация обработки данных.
7.                 Осмысление, интерпретация и подведение итогов исследования.
Как при использовании традиционных статистических методов анализа данных, так и при использовании нейронных сетей приведенная схема действий остается без изменений. При этом пункты 5-7 детализируются в зависимости от целей и задач исследования и применяемых методов.
1.2.2.2. Таблица эмпирических данных Строгие математические методы построения статистически достоверных решающих правил разработаны для случаев, когда о распределениях генеральных совокупностей образов известно абсолютно все: виды законов распределений и все их параметры, априорные вероятности появления образов, матрица потерь от ошибок и т.д.
К сожалению, при решении реальных задач такие условия не встречаются. Обучающая выборка каждого из k образов S1, S2,…,Sk представлена конечным числом mi реализаций, описанных n характеристиками x1,x2,…,xn. Сведений о законах и параметрах распределения генеральных совокупностей Gi образов нет. Неизвестна связь обучающей выборки с генеральными совокупностями (неизвестна степень «представительности» выборки). Владелец обучающей выборки имеет туманные представления об априорной вероятности появления различных образов Pi и о матрице стоимости ошибок распознавания Cij. Выборка может быть очень небольшой, в данных могут быть ошибки и пробелы, признаки могут быть измерены в разных шкалах [7], среди признаков могут быть неинформативные, «шумящие» признаки.
Для приведения ситуации к виду, при котором можно было бы применить тот или иной статистический алгоритм, нужно к имеющейся объективной информации добавить ряд субъективно выбираемых предположений или гипотез. Этот этап привнесения эвристических гипотез имеет место во всех случаях решения реальных задач, и поэтому деление алгоритмов на «строгие статистические» и «нестрогие эвристические» не имеет смысла [10].
Фактически, выдвижение и проверку новых гипотез для рассматриваемой таблицы данных можно рассматривать часть процесса извлечения знаний.
На применимость и качество работы отдельных методов большое влияние оказывает тип признаков (характеристик) объектов – дискретный (качественный), номинальный (порядковый) или количественный.
Во всех случаях вопрос о том, что является полезной информацией, совсем не очевиден и требует специального рассмотрения.
Представления о характере полезной информации, содержащейся в эмпирических данных, а зачастую и сам характер подобных данных не позволяют использовать для их обработки классические статистические методы. В связи с этим возникли совершенно новые задачи обработки эмпирических данных, а значит, и новые методы решения таких задач.
Это прежде всего задачи регрессионного, авторегрессионного и факторного анализов. В последние годы регрессионный и факторный анализ развивались особенно интенсивно и обогатились рядом новых моделей и методов, например, такими, как модель структурных уравнений регрессии [11], или методы группировки параметров.
Другая группа задач обработки данных – получение типологии изучаемых объектов. С ними связаны распознавание образов, методы автоматической классификации и т.п.
Новые эффекты обнаружились при комбинированном применении методов формирования факторов и методов автоматической классификации с тем, чтобы с каждым фактором была связана своя типология. Оказалось, что полученные типологии легко поддаются интерпретации и их можно понимать как системы терминов, позволяющих достаточно коротко описывать отдельные явления. Удалось создать обобщенный подход к обработке эмпирических данных самой различной природы, получивший название лингвистического [11].
1.2.2.3. Статистические методы извлечения знаний из таблицы данных Рассмотрим статистические методы извлечения знаний из таблиц данных. Естественно, объем имеющейся выборки будет определять надежность статистического вывода – т.е. подтверждения или отклонения гипотезы или доверия к полученным параметрам модели. При этом неотрицательный результат статистической проверки гипотезы не означает, что высказанное предположение является наилучшим, единственно подходящим: просто оно не противоречит имеющимся выборочным данным, однако таким же свойством могут наряду с этой гипотезой обладать и другие гипотезы [9].
    продолжение
–PAGE_BREAK–Кратко перечислим существующие на данный момент методы:
1.                 Проверка гипотезы об аномальном измерении.
2.                 Проверка гипотез о выборочных значениях характеристик случайной величины.
3.                 Проверка гипотезы о распределении случайной величины и нахождение параметров этого распределения.
4.                 Корреляционный анализ.
5.                 Линейный регрессионный и авторегрессионный анализ.
6.                 Факторный анализ и анализ главных компонент.
7.                 Байесовские классификаторы в задаче бинарной классификации.
8.                 Построение линейных и кусочно-линейных разделяющих поверхностей в задаче бинарной классификации.
9.                 Автоматическая группировка объектов – методы автоматической классификации (кластеризации).
1.2.3. Методы идентификации систем Под идентификацией понимается построение модели, с заданной точностью описывающей реакцию наблюдаемого объекта на внешнее воздействие (описываемое набором входных, независимых переменных).
Задаче идентификации посвящено огромное количество работ (см., например, библиографию в [13]), отличающихся не только типами объектов, которые необходимо идентифицировать, но и самими методами и алгоритмами идентификации. Среди алгоритмов идентификации чаще всего используются рекуррентные алгоритмы, позволяющие осуществлять идентификацию в режиме нормальной работы объекта. Иными словами, для рекуррентных алгоритмов не формируется обучающая выборка (таблица данных), а адаптация модели ведется с использованием только текущей пары «вход объекта – выход объекта». Однако нет никаких ограничений на использование рекуррентных алгоритмов для обработки таблицы ранее собранных данных об объекте.
Принципы формирования алгоритмов идентификации тесно связаны с выбором уравнения, использующего наблюдаемые данные и аппроксимирующего уравнение объекта, выбором критерия качества аппроксимации (функции потерь), выбором метода оптимизации критерия. Этот выбор до последнего времени был в значительной мере произволен и обусловил господство линейной аппроксимации уравнения объекта и квадратичного критерия (при этом задача идентификации сводилась к решению системы линейных уравнений). Но практика показала, что такой выбор не всегда приводит к положительным результатам.
В настоящее время разработана информационная теория идентификации [13], позволяющая оптимально выбирать уравнение аппроксимации, критерий, и алгоритм идентификации в зависимости от точки приложения к объекту помех, наличия той или иной информации о плотности распределения помех и параметров этого распределения, используемой целевой функции, априорной информации об искомом решении. Показана возможность улучшения алгоритмов за счет управления входными воздействиями.
1.2.4. Другие методы обработки данных Существуют и другие методы обработки таблиц данных:
1.  Метод потенциальных функций [14] для решения задач классификации объектов с учителем.
2.  Методы непараметрической обработки данных:
–                     байесовские классификаторы на основе непараметрических оценок условных плотностей распределения вероятности [12];
–                     непараметрическая регрессия;
–                     непараметрические алгоритмы идентификации объектов;
Однако использование этих методов для приобретения знаний невозможно, поскольку при этом не возникает нового отдельного «объекта» (например, регрессионного уравнения, уравнения разделяющей поверхности,…), которым можно манипулировать и который можно пытаться интерпретировать – такой объект заменяется обучающей выборкой. Конечно, для каждого метода можно определить оптимальные значения некоторых параметров («заряды» классов для метода потенциальных функций, параметры сглаживания и вид ядерных функций для непараметрических методов), минимизирующих ошибку классификации или предсказания, но нахождение оптимальных значений этих параметров трудно интерпретировать как прибавление новых знаний.
1.3. Требования к технологии извлечения знаний Возможности применения технологии извлечения знаний должны распространяться вплоть до индивидуального пользователя, имеющего возможность применять технологию извлечения знаний к доступных данных и конкретизирующего отдельные аспекты этой технологии в зависимости от своего собственного опыта и конкретной задачи. Это означает, что должно произойти коренное изменение технологии производства таких систем. Системы принятия решений, основанные на явных правилах вывода, создаются, как правило, группой специалистов, в числе которых – математики, программисты и предметные специалисты, ставящие задачи. Возможности настройки таких систем на конечного потребителя часто недостаточны. Приобретая такую систему, он часто сталкивается с ее неприменимостью к конкретным условиям работы (например, другой спектр лабораторных анализов или методов обследования, принятый в данной клинике). Выход – дать специалисту возможность самому конструировать ЭС исходя из конкретных условий, собственного опыта и опыта коллег. Такое конструирование должно производиться без знания предметным специалистом математического аппарата, требуя только обычных навыков работы на ЭВМ. В этой ситуации снимается психологическая проблема доверия к заключениям ЭС, которая работает, опираясь на опыт и знания того специалиста, который ее сконструировал, его коллег, которым он доверяет, и реальные данные, которые он сам получил в результате наблюдений [15].
Самообучающиеся ЭС принятия решений, диагностики и прогнозирования должны удовлетворять следующим требованиям [15]:
1.  Индивидуализация (настройка на конкретные наборы экспериментальных данных, индивидуальный опыт и знания специалиста);
2.  Динамическое развитие (накопление опыта системы в процессе функционирования, следуя изменениям в пунктах, перечисленных в предыдущем требовании);
3.  Возможность перенастройки при резком изменении условий, например, при перенесении в другой регион;
4.  Способность к экстраполяции результата. Требование, обратное индивидуальности. Система не должна резко терять качество работы при изменении условий;
5.  Возможность конструирования с нуля конечным пользователем (специалист должен иметь возможность придумать совершенно новую ЭС и иметь возможность просто и быстро создать ее);
6.  “Нечеткий” характер результата. Решение, выдаваемое системой, не должно быть окончательным. Оно может быть вероятностным или предлагать сразу несколько вариантов на выбор. Это дает возможность специалисту критически оценивать решение системы и не лишает его инициативы в принятии окончательного решения.
7.  ЭС является только советчиком специалиста, не претендуя на абсолютную точность решения. Она должна накапливать опыт и знания и значительно ускорять доступ к ним, моделировать результат при изменении условий задачи. Ответственность за решение всегда лежит на специалисте.
8.  Универсальность такой технологии означает, она не должна опираться на семантику проблемной области, предлагая унифицированный подход для решения типовых задач в любой проблемной области. Семантический аспект постановки задачи, осмысления процесса решения и анализа результатов лежит на конечном специалисте.
Анализ существующих методов обработки информации показал, что этим требованиям хорошо удовлетворяют нейроинформационные технологии, основанные на искусственных нейронных сетях [16-19]. В основе их функционирования лежат алгоритмы, моделирующие распространение сигналов по нейронам и синапсам нервной системы. Существует достаточно большой набор архитектур и метаалгоритмов функционирования нейронных сетей, при этом задачи, решаемые нейроинформатикой, в большинстве случаев требуют подгонки архитектуры и алгоритмов обучения нейросетей под определенный класс задач или даже конкретную задачу. Поэтому разработка теоретических и методологических основ и универсальной технологии создания ЭС, включающей оптимизацию архитектур и метаалгоритмов функционирования нейросетей при работе с информацией, и извлечение знаний из нейросетей является актуальной задачей.

Глава 2. Нейронные сети
2.1. Коннекционизм Нейронные сети ‑ это сети, состоящие из связанных между собой простых элементов ‑ формальных нейронов. Нейроны моделируются довольно простыми автоматами, а вся сложность, гибкость функционирования и другие важнейшие качества определяются связями между нейронами. Каждая связь представляется как совсем простой элемент, служащий для передачи сигнала.
Научно-техническое направление, определяемое описанным представлением о нейронных сетях, называется коннекционизмом (по-ангийски connection – связь). С коннекционизмом тесно связан следующий блок идей:
1) однородность системы (элементы одинаковы и чрезвычайно просты, все определяется структурой связей);
2) надежные системы из ненадежных элементов и «аналоговый ренессанс» – использование простых аналоговых элементов;
3) «голографические» системы – при разрушении случайно выбранной части система сохраняет свои полезные свойства.
Существует большой класс задач: нейронные системы ассоциативной памяти, статистической обработки, фильтрации и др., для которых связи формируются по явным формулам. Но еще больше (по объему существующих приложений) задач требует неявного процесса. По аналогии с обучением животных или человека этот процесс также называют обучением.
Обучение обычно строится так: существует задачник – набор примеров с заданными ответами. Эти примеры предъявляются системе. Нейроны получают по входным связям сигналы – «условия примера», преобразуют их, несколько раз обмениваются преобразованными сигналами и, наконец, выдают ответ – также набор сигналов. Отклонение от правильного ответа штрафуется. Обучение состоит в минимизации штрафа как (неявной) функции связей.
Неявное обучение приводит к тому, что структура связей становится «непонятной» – не существует иного способа ее прочитать, кроме как запустить функционирование сети. Становится сложно ответить на вопрос: «Как нейронная сеть получает результат?» – то есть построить понятную человеку логическую конструкцию, воспроизводящую действия сети.
Это явление можно назвать «логической непрозрачностью» нейронных сетей, обученных по неявным правилам.
 С другой стороны, при использовании нейронных сетей в экспертных системах возникает потребность прочитать и логически проинтерпретировать навыки, выработанные сетью. Для этого служат методы контрастирования – получения неявными методами логически прозрачных нейронных сетей.
2.2. Элементы нейронных сетей Для описания алгоритмов и устройств в нейроинформатике выработана специальная «схемотехника», в которой элементарные устройства – сумматоры, синапсы, нейроны и т.п. объединяются в сети, предназначенные для решения задач.
Адаптивный сумматор вычисляет скалярное произведение вектора входного сигнала x на вектор параметров a. На схемах он обозначается так, как показано на рис. 1. Адаптивным он называется из-за наличия вектора настраиваемых параметров a. Для многих задач полезно иметь линейную неоднородную функцию выходных сигналов. Ее вычисление также можно представить с помощью адаптивного сумматора, имеющего n+1 вход и получающего на 0-й вход постоянный единичный сигнал (рис. 2).
Нелинейный преобразователь сигнала изображен на рис. 3. Он получает скалярный входной сигнал x и переводит его в j(x).
Точка ветвления служит для рассылки одного сигнала по нескольким адресам (рис. 4). Она получает скалярный входной сигнал x и передает его всем своим выходам.
 Стандартный формальный нейрон составлен из входного сумматора, нелинейного преобразователя и точки ветвления на выходе (рис. 5).
Линейная связь ‑ синапс ‑ отдельно от сумматоров не встречается, однако для некоторых рассуждений бывает удобно выделить этот элемент (рис. 6). Он умножает входной сигнал x на “вес синапса” a.
Итак, дано описание основных элементов, из которых составляются нейронные сети.
2.3. Основные архитектуры нейронных сетей Как можно составлять эти сети? Строго говоря, как угодно, лишь бы входы получали какие-нибудь сигналы. Используются несколько стандартных архитектур, из которых путем вырезания лишнего или (реже) добавления строятся большинство используемых сетей.
Здесь и далее рассматриваются только нейронные сети, синхронно функционирующие в дискретные моменты времени: все нейроны срабатывают “разом”.
В семействе нейронных сетей можно выделить две базовых архитектуры – слоистые и полносвязные сети.
Слоистые сети: нейроны расположены в несколько слоев (рис. 7). Нейроны первого слоя получают входные сигналы, преобразуют их и через точки ветвления передают нейронам второго слоя. Далее срабатывает второй слой и т.д. до k-го слоя, который выдает выходные сигналы для интерпретатора и пользователя. Если не оговорено противное, то каждый выходной сигнал i-го слоя подается на вход всех нейронов i+1-го. Число нейронов в каждом слое может быть любым и никак заранее не связано с количеством нейронов в других слоях. Стандартный способ подачи входных сигналов: все нейроны первого слоя получают каждый входной сигнал. Особое распространение получили трехслойные сети, в которых каждый слой имеет свое наименование: первый – входной, второй – скрытый, третий – выходной.
Полносвязные сети: каждый нейрон передает свой выходной сигнал остальным нейронам, включая самого себя. Выходными сигналами сети могут быть все или некоторые выходные сигналы нейронов после нескольких тактов функционирования сети. Все входные сигналы подаются всем нейронам.
Элементы слоистых и полносвязных сетей могут выбираться по-разному. Существует, впрочем, стандартный выбор – нейрон с адаптивным неоднородным линейным сумматором на входе (рис. 5).
Для полносвязной сети входной сумматор нейрона фактически распадается на два: первый вычисляет линейную функцию от входных сигналов сети, второй – линейную функцию от выходных сигналов других нейронов, полученных на предыдущем шаге.
Функция активации нейронов (характеристическая функция) j – нелинейный преобразователь, преобразующий выходной сигнал сумматора (см. рис. 5) – может быть одной и той же для всех нейронов сети. В этом случае сеть называют однородной (гомогенной). Если же j зависит еще от одного или нескольких параметров, значения которых меняются от нейрона к нейрону, то сеть называют неоднородной (гетерогенной).
Если полносвязная сеть функционирует до получения ответа заданное число тактов k, то ее можно представить как частный случай k-слойной сети, все слои которой одинаковы и каждый из них соответствует такту функционирования полносвязной сети.
2.4. Обучение нейронных сетей как минимизация функции ошибки Построение обучения как оптимизации дает универсальный метод создания нейронных сетей для решения задач. Если сформулировать требования к нейронной сети, как задачу минимизации некоторой функции — оценки, зависящей от части сигналов (входных, выходных, …) и от параметров сети, то обучение можно рассматривать как оптимизацию и строить соответствующие алгоритмы, программное обеспечение и, наконец, устройства. Функция оценки обычно довольно просто (явно) зависит от части сигналов — входных и выходных, но ее зависимость от настраиваемых параметров сети может быть сложнее и включать как явные компоненты (слагаемые, сомножители,…), так и неявные — через сигналы (сигналы, очевидно, зависят от параметров, а функция оценки — от сигналов).
    продолжение
–PAGE_BREAK–За пределами задач, в которых нейронные сети формируются по явным правилам (сети Хопфилда, проективные сети, минимизация аналитически заданных функций и т.п.) требования к нейронной сети обычно можно представить в форме минимизации функции оценки. Не следует путать такую постановку задачи и ее весьма частный случай — «обучение с учителем».
Если для решения задачи не удается явным образом сформировать сеть, то проблему обучения можно, как правило, сформулировать как задачу минимизации оценки. Осторожность предыдущей фразы («как правило») связана с тем, что на самом деле неизвестны и никогда не будут известны все возможные задачи для нейронных сетей, и, быть может, где-то в неизвестности есть задачи, которые несводимы к минимизации оценки.
Минимизация оценки — сложная проблема: параметров астрономически много (для стандартных примеров, реализуемых на РС — от 100 до 1000000), адаптивный рельеф (график оценки как функции от подстраиваемых параметров) сложен, может содержать много локальных минимумов, извилистых оврагов и т.п.
Наконец, даже для того, чтобы воспользоваться простейшими методами гладкой оптимизации, нужно вычислять градиент функции оценки. В данном разделе описывается связь двойственного функционирования сетей — автоматов с преобразованием Лежандра и неопределенными множителями Лагранжа.
Переменные обратного функционирования m появляются как вспомогательные при вычислении производных сложной функции. Переменные такого типа появляются не случайно. Они постоянно возникают в задачах оптимизации и являются множителями Лагранжа.
Для всех сетей автоматов, встречавшихся в предыдущих разделах, можно выделить три группы переменных:
внешние входные сигналы x…,
переменные функционирования — значения на выходах всех элементов сети f…,
переменные обучения a…(многоточиями заменяются различные наборы индексов).
Объединим их в две группы — вычисляемые величины y… — значения f… и задаваемые — b… (включая a… и x…). Упростим индексацию, перенумеровав f и b натуральными числами: f1,…,fN; b1 ,…,bM.
Пусть функционирование системы задается набором из N уравнений
yi(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. Непосредственно и явно это сделать трудно.
Поступим по-другому. Введем новые переменные m1,…,mN (множители Лагранжа) и производящую функцию W:
 
В функции W аргументы y, b и m — независимые переменные.
Уравнения (1) можно записать как
                                               (3)
Заметим, что для тех y, b, которые удовлетворяют уравнениям (13), при любых m
W(y,b,m)ºH(y,b).                                                 (4)
Это означает, что для истинных значений переменных функционирования y при данных b функция W(y,b,m) совпадает с исследуемой функцией H.
Попытаемся подобрать такую зависимость mi(b), чтобы, используя (4), получить для Di=¶H1(b)/¶bi наиболее простые выражения. На многообразии решений (15)
 
Поэтому
     (5)
Всюду различается функция H(y,b), где y и b — независимые переменные, и функция только от переменных b H(y(b),b), где y(b) определены из уравнений (13). Аналогичное различение принимается для функций W(y,b,m) и W(y(b),b,m (b)).
Произвол в определении m(b) надо использовать наилучшим образом — все равно от него придется избавляться, доопределяя зависимости. Если выбрать такие m, что слагаемые в первой сумме последней строки выражения (5) обратятся в нуль, то формула для Di резко упростится. Положим поэтому
.                                  (6)
Это — система уравнений для определения mk (k=1,…,N). Если m определены согласно (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 (…)).
Можно представить вычисление любой сложной функции многих переменных, как движение по графу: в каждой его вершине производится вычисление простой функции (рис 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]:
1.      Методы, использующие только информацию о значениях весов синапсов и, при необходимости, внутренние сигналы сети на обучающей выборке.
2.      Методы, использующие информацию об изменении значения целевой функции либо оценку такого изменения на основе первых или вторых производных целевой функции по значению упрощаемого элемента.
Другая классификация делит методы на 3 класса по стратегии упрощения:
1.                 Методы, выполняющие цикл «элементарное упрощение – дообучение нейросети» до тех пор, пока дообучение приводит к решению задачи с требуемой точностью.
2.                 Методы, добавляющие к целевой функции дополнительное штрафное слагаемое (штрафующее за структурную сложность нейросети) и оптимизирующие при обучении полученный композиционный критерий. После завершения обучения проводится исключение выявленных избыточных элементов. Дообучения сети после этого не требуется.
3.                 Методы, упрощающие уже обученную сеть и не требующие дообучения. Они используют идею о как можно меньшем изменении поведения системы – например, чтобы выходной сигнал нейрона или нейросети после проведения упрощения как можно меньше отличался от сигнала до упрощения [17].
Можно вводить и другие классификации.
Далее, при рассмотрении методов, в отдельных случаях будет использоваться вторая классификация.
Избыточным, незначимым элементом или сигналом нейросети является элемент или сигнал, который может быть удален из сети при сохранении требуемой точности решения задачи.
Такое удаление элемента будем называть контрастированием [16,17,20,26].
Другая возможная модификация элемента – модификация его параметров. Для синапса имеется операция бинаризации – приведение веса синапса к значению из зафиксированного набора выделенных значений [17,20,26].
Для нелинейного преобразователя нейрона возможна замена его нелинейной функции на иную.
Рассмотрим существующие методы упрощения.
3.3.1. Контрастирование синапсов нейросети Рассматриваемые в параграфе методы применимы как к синапсам, так и к неоднородным входам нейронов – содержательных отличий синапса от неоднородного входа нет.
Один из наиболее широко используемых методов сокращения числа синапсов нейросети – добавление штрафного слагаемого в целевую функцию – т.н. «структурное обучение» [30-33]. Это слагаемое штрафует за большой (по абсолютному значению) вес синапса. Новая целевая функция имеет, например, вид . В качестве первого слагаемого взят критерий наименьших квадратов ( – требуемый, – текущий выходной сигнал сети на i-м примере обучающей выборки). Для упрощения нейросети с несколькими выходными сигналами в первом слагаемом для каждого примера суммируются невязки всех выходных сигналов сети [28,29]. Штраф за веса синапсов wjk (второе слагаемое) входит с регуляризующим весом e, от величины которого зависит баланс между точностью решения задачи и простотой структуры сети.
После завершения обучения проводится удаление синапсов, модуль веса которых близок к нулю (не превосходит некоторой малой величины d), т.е. контрастирование выполняется, фактически, одновременно с обучением. К сожалению, этот подход не позволяет заранее задавать число удаляемых из сети элементов и требует экспериментов для определения оптимальной величины веса e.
Для решения проблемы определения оптимальной величины регуляризующего веса e может быть использована его адаптивная подстройка на основе учета текущей ошибки сети и желаемого пользователем финального уровня ошибки. Однако при этом требуется задание финального уровня ошибки, который может быть недостижим для нейросети заданного размера.
Вторая группа методов контрастирования синапсов основана на вычислении т.н. показателей значимости – оценки изменения значения штрафной функции после некоторой модификации нейросети, либо показателей чувствительности – оценки изменения выходного сигнала нейросети после модификации нейросети.
    продолжение
–PAGE_BREAK–В [34] предложено осуществлять мониторинг сумм изменений весов синапсов во время обучения. Малозначимыми считаются синапсы, веса которых претерпевали малые изменения во время обучения.
В [36,37] вычисляются показатели чувствительности второго порядка. В [35] чувствительностью синапса является произведение второй производной целевой функции по весу синапса  на квадрат величины планируемого изменения веса синапса. Использование вторых производных связано с тем, что упрощается нейросеть, достигшая при обучении локального минимума, т.е. имеющая нулевой градиент (нулевые значения первых частных производных).
Есть также методы, где используется полная матрица вторых частных производных, а не только ее диагональные элементы: построенная только по диагональным элементам оценка изменения значения целевой функции может оказаться неточной. Но в отличие от [35], где удаляется наименее значимый синапс и затем дообучается сеть, тут предложена явная формула для коррекции значений остающихся весов синапсов сети, что исключает потребность в дообучении.
Использование первых производных (компонент градиента) целевой функции как традиционно применяемых, например, при идентификации систем [13] показателей чувствительности в случае нейронных сетей сталкивается с трудностями. Во-первых, при идентификации систем чаще всего используются линейные модели, а нейросети являются сильно нелинейными моделями, первые производные которых могут существенно меняться от точки к точке в пространстве обучаемых параметров сети. Во-вторых, после обучения до достижения локального минимума целевой функции вычисление показателей значимости первого порядка невозможно – градиент в точке минимума нулевой. Это вынуждает использовать некоторые дополнительные приемы.
В [16-17,20,26] для контрастирования синапсов, основанного на показателях чувствительности первого порядка, предлагается усреднять первые производные целевой функции по весу синапса в ходе нескольких шагов обучения, либо – после завершения обучения – по нескольким точкам, полученным небольшим случайным сдвигом относительно достигнутой точки минимума. Усреднение проводится в некоторой норме (сумма модулей или максимум модуля) в зависимости от того, какую чувствительность нужно получить: усредненную или максимальную. Затем полученная величина домножается на планируемое изменение веса синапса.
Также в [17] предлагаются показатели значимости первого порядка, основанные не на оценке изменения значения целевой функции, а на оценке изменения выходного сигнала нейросети: первые производные выходного сигнала сети по весу синапса усредняются по обучающей выборке в той или иной норме и домножаются на планируемое изменение веса синапса.
Показатели значимости нулевого порядка, основанные на рассмотрении абсолютной величины веса синапса, фактически, используются только после обучения со штрафом за большие по модулю веса синапсов. В других случаях часто случается так, что удаление синапса с малым весом может гораздо сильнее ухудшить навык сети по сравнению с удалением синапса с большим весом (значимость синапса зависит и от величин проходящих через синапс сигналов и величин активации нейрона, которому принадлежит синапс). Третья группа методов контрастирования синапсов удаляет синапс из сети путем «перераспределения» его веса по другим синапсам так, чтобы наименее сильно изменить выходной сигнал нейрона или сети.
Существует алгоритм упрощения, не требующий дообучения сети:
–                     Задается порог допустимого изменения значения суммарной целевой функции на всей обучающей выборке.
–                     Находится синапс с минимальным по модулю весом – (используется показатель значимости нулевого порядка).
–                     Перераспределяется вес этого синапса между другими входными синапсами нейрона по заданным в [38] явным формулам.
–                     Если значение целевой функции не вышло за некоторый установленный порог, проведенные изменения окончательно вносятся в сеть и осуществляется упрощение следующего синапса, а иначе последнее изменение отменяется.
Число удаляемых элементов зависит от избыточности сети – в описываемой в [38] задаче удавалось удалять без ухудшения качества распознавания для сетей с 5, 10, 15 и 20 нейронами 13, 17, 23 и 35% синапсов соответственно.
В [17] алгоритм сокращения синапсов основан на рассмотрении сумматора отдельного нейрона сети.
Показано, что для достижения минимального изменения выходного сигнала сумматора на обучающей выборке контрастироваться должен тот синапс сумматора, произведение веса которого на среднеквадратичное уклонение проходящего по нему сигнала минимально среди всех синапсов нейрона.
При этом к весу неоднородного входа должно добавляться произведение веса контрастируемого синапса на матожидание проходящего по синапсу сигнала. Существует модификация метода, вместо среднеквадратичного уклонения использующая среднеквадратичное уклонение «с весами», зависящими от ошибки на каждом обучающем примере.
3.3.2. Контрастирование нейронов нейросети Контрастирование нейронов может достигаться как побочный результат контрастирования синапсов: если у нейрона удалены все входные синапсы или все выходные синапсы, то такой нейрон можно удалить из сети без ухудшения качества решения задачи. Тем не менее, имеются методы контрастирования собственно нейронов.
В [39] предложено в целевую функцию добавлять дополнительное штрафное слагаемое. Это слагаемое (энтропийного вида) штрафует за слишком большие модули выходных сигналов нейронов. Минимизация такой оценки приводит к тому, что в сети будет активироваться только малое число нейронов, а остальные нейроны будут выдавать сигнал, близкий к 0. Формула штрафного слагаемого: , где M – число нейронов,  – нормированный выходной сигнал  i-го нейрона, , e – параметр регуляризации. Это слагаемое пересчитывается для каждого примера выборки, и градиент для каждого примера считается с учетом этого слагаемого. После обучения сети для удаления нейронов, которые не активируются, используется следующиий метод: для каждого нейрона на обучающей выборке усредняется его выходной сигнал, и из сети удаляются нейроны, средняя активация которых меньше некоторого порога d.
В [40,41] предлагается вычислять значимость нейрона как модуль вызванного контрастированием нейрона изменения значения целевой функции, просуммированный по всем примерам выборки. Нейрон с наименьшей значимостью удаляется из сети, и сеть дообучается. Поскольку для вычисления значимости нейрона не требуется вычисления градиента целевой функции, подход может применяться для сетей, которые нельзя обучать градиентными методами (например, для сетей с пороговыми нейронами).
Работа [21] использует тот же подход, что и [40,41], но взамен усреднения изменения значения целевой функции по примерам выборки ищется максимум модуля такого изменения.
Похожий на [21,40,41], но более специализированный метод предложен в [42] для сети-классификатора (требуемые выходные сигналы сети – 0 или 1, число выходных нейронов сети не важно). Вводится функция качества, характеризующая правильность интерпретации ответа для всей выборки: , где , oj, yj – требуемый и выходной сигналы j-го выходного нейрона, n – число выходных нейронов, N – число примеров в обучающей выборке, e – требуемая близость сигнала выходного нейрона к требуемому выходному значению для данного примера. Для каждого нейрона невыходного слоя вычисляется значение функции качества при условиях удаления этого нейрона из сети, и нейрон, вызывающий наименьшее ухудшение качества распознавания, удаляется из сети.Этот метод нацелен на сохранение правильной интерпретации ответа сети – чтобы контрастирование нейрона приводило к неправильной классификации как можно меньшего числа примеров обучающей выборки.
В [43] показателем значимости нейрона является сумма квадратов весов синапсов нейрона (включая неоднородный вход) и весов всех синапсов, по которым нейрон рассылает свой выходной сигнал.
В [44,45] наряду с весами синапсов учитываются и величины проходящих по синапсам сигналов. Для каждого нейрона считается значение критерия , где oi — выходной сигнал i-го нейрона для примера p обучающей выборки, wij — вес синапса, идущего от i-го нейрона к j-му нейрону следующего слоя. Удаляются нейроны с наименьшим значением критерия. Т.е. значимые нейроны – те, которые часто возбуждаются и рассылают свой сигнал по синапсам со значительными (по модулю) величинами весов. В [46] проводится дальнейшая модификация: в критерий входит еще и выходной сигнал j-го нейрона следующего слоя:. Т.е. предполагается, что значимые нейроны обладают свойствами из [44,45] (сильное возбуждение и большие веса выходных синапсов) и вдобавок приводят к возбуждению нейронов следующего слоя.
На основе метода контрастирования синапсов второго порядка [36] предложен метод контрастирования нейронов второго порядка, где показателем значимости нейрона является сумма произведений всех вторых частных производных целевой функции по весу синапса на квадрат веса синапса, взятая по всем входным синапсам нейрона и синапсам, по которым нейрон рассылает свой выходной сигнал.
В [48] предложено показателем значимости нейрона считать показатель значимости первого порядка вида [16-17,20,26] его выходного сигнала. Также рассмотрен основанный на показателях значимости синапсов первого [16-17,20,26], а не второго порядка вариант метода [47], где показателем значимости нейрона считается сумма показателей значимости всех его входных и выходных синапсов.
Обобщенный подход [17,20,26] позволяет получать для выходного сигнала любого нейрона сети показатели значимости выходных сигналов нейронов предыдущих слоев и входных сигналов сети. Поэтому возможно контрастирование нейронов не на основе оценки изменения величины целевой функции, но и оценки изменения выходного сигнала сети (выходного сигнала некоторого нейрона последнего слоя сети).
В [49-50] вводится и в [51] выполняется контрастирование нейронов путем переупорядочивания весов синапсов. Удаляются нейроны, имеющие на обучающей выборке наименьшую дисперсию своего выходного сигнала среди сигналов всех нейронов, при этом происходит коррекция весов неоднородных входов нейронов следующего слоя на величины, равную произведению матожидания выходного сигнала удаляемого нейрона на вес синапса, по которому на нейрон следующего слоя приходил этот сигнал. Удаляются все, кроме одного, нейроны, имеющие сильно скоррелированные выходные сигналы, также с коррекцией весов синапсов, по которым будет рассылать сигнал остающийся нейрон.
3.3.3. Контрастирование входных сигналов нейросети Критическому обзору идей, лежащих в основе методов контрастирования входов сети, посвящена работа Уоррена С. Сарле [52]. Все приводимые автором аргументы и примеры могут быть адресованы и к рассмотренным ранее методам вычисления показателей значимости синапсов и нейронов сети. Основные положения статьи таковы:
–                     Имеется показатель значимости входа и показатель чувствительности выходного сигнала сети к изменению на входе. Это – разные показатели, и их надо разделять.
–                     Нельзя определять значимость входа через изменение остаточной дисперсии модели после удаления этого входа и соответствующей перестройки модели – при наличии коррелированных признаков остающиеся признаки скомпенсируют отсутствие удаленного.
–                     Использовать как показатель значимости абсолютное значение веса синапса при входном параметре нельзя – могут быть и разные диапазоны изменения входов, и разные их дисперсии. Нормирование входов проблему не решает, поскольку используемые при нормализации полученные по выборке оценки могут сильно отличаться от истинных значений.
–                     Использование произведения веса синапса, по которому проходит входной сигнал на вес синапса, по которому нейрон разошлет свой выходной сигнал дальше, и усреднение этих произведений по всем выходным синапсам нейрона (см. [44,45]) не учитывает влияние функции активации нейрона (дополнительное домножение на величину активации, как сделано в [46], будет правильней).
–                     Рассмотрение компоненты градиента выходного сигнала сети по входному сигналу предпочтительнее рассмотрений весов синапсов. Однако опираться только на величины производных недостаточно в случае, когда планируется кардинальное изменение сети – контрастирование входа.
–                     Усреднение производных по всему диапазону изменения входа в большом числе точек (т.е. получение репрезентативной выборки значений производных) требует сведения их в одно число – показатель значимости. Простое суммирование (или поиск среднего) тут применяться не может из-за того, что производные могут иметь как положительный, так и отрицательный знаки и при усреднении дать среднее вблизи нуля, хотя их абсолютные значения могут быть очень большими. Усреднять нужно модули или квадраты значений производных.
–                     Конечные разности, когда в качестве одной точки выступает текущее состояние входов, а в качестве второй – состояние после предполагаемой модификации, предпочтительнее производных.
–                     Имеется проблема выбора константного значения, которым будет заменяться отконтрастированный входной сигнал. Тут мы сталкиваемся с проявлением нелинейности модели (может быть, при выбранном значении нейросеть будет выдавать сильно отличающийся сигнал), вдобавок входной сигнал может быть распределен по любому закону, поэтому средним значением интервала изменения заменять большинство сигналов нельзя.
–                     Шум в данных, другие факторы тоже требуют учета путем обязательного оперирования с обучающей выборкой – рассмотрения только нейронной сети недостаточно.
Теперь рассмотрим существующие методы контрастирования входных сигналов в свете критических положений статьи У.Сарле.
В [17,20,26] предложен подход первого порядка, усредняющий произведения частных производных целевой функции по входам сети на планируемые изменения величин сигналов. Усреднение ведется в некоторой норме по всем примерам обучающей выборки и нескольким точкам в пространстве адаптивных параметров сети. Здесь удовлетворяется большинство требований У.Сарле: используется усреднение модулей значений произведений производных по выборке и в нескольких точках и производится умножение на планируемое изменение величин сигналов. Вместо производных целевой функции можно использовать производные выходных сигналов сети по входным сигналам.
3.3.4. Бинаризация синапсов В [16,17,26] для бинаризации применяется показатель значимости синапса первого порядка при замене веса синапса на выделенное значение. Для задачи контрастирования выделенным весом синапса являлся 0, для задачи бинаризации формируется набор выделенных значений.
 Для синапса вычисляются показатели значимости для каждого выделенного значения и находится выделенное значение, соответствующее минимальному значению показателя чувствительности.
 Такая операция проводится для всех синапсов сети и синапс с наименьшим показателем значимости бинаризуется до найденного для него выделенного значения
    продолжение
–PAGE_BREAK–Также для бинаризации может применяться метод контрастирования [16], добавляющий к функции оценки штрафной член, «притягивающий» веса синапсов к выделенному значению.
В [54] представлен алгоритм квантования весов синапсов, отличающийся тем, что число и величины выделенных дискретных значений синапсов задаются не пользователем, а определяются самим алгоритмом.
Другие методы бинаризации, основанные не на показателях значимости и не на штрафных функциях, а на требовании к минимальному изменению выходного сигнала сумматора на выборке, введены в [17,18].
3.3.5. Упрощение нелинейных преобразователей нейронов В [55] представлен метод замены гладких нелинейных функций нейронов константами, линейными, пороговыми или кусочно-линейными функциями.
На обучающей выборке для каждого нейрона вычисляется минимальный и максимальный выходные сигналы его сумматора и на полученном отрезке вычисляется интеграл разности исходной нелинейной функции нейрона и новой замещающей функции (ошибка). Упрощается нейрон с наименьшим значением интеграла ошибки.
Недостаток предложенного алгоритма – невозможность оптимального подбора параметров замещающей функции. Поскольку введение в нейросеть порогового или кусочно-линейного нейрона не позволяет затем дообучать сеть градиентными методами, то для подбора параметров замещающей функции могут потребоваться дополнительные эксперименты.
3.3.6. Дополнительные модификации алгоритмов контрастирования Контрастирование не обязательно вести как процесс только исключения незначимых элементов. В [17,57] предложено на некотором шаге упрощения дополнительно возвращать в сеть часть ранее отконтрастированных элементов.
Действительно, сеть после шага контрастирования модифицировалась. В связи с этим изменилась и значимость ранее отброшенных элементов.
Можно определить эту новую значимость и вернуть в сеть несколько наиболее значимых ранее отброшенных элементов. Это может помочь отконтрастировать в дальнейшем большее количество элементов [27].
3.3.7. Методы модификации структуры обученной сети Существуют методы, которые нельзя отнести к методам упрощения сети, поскольку упрощение структуры сети при этом не выполняется. Однако эти методы проводят такую эквивалентную модификацию сети (с сохранением достигнутого при обучении сети навыка решения задачи), которая может быть полезна для последующего процесса извлечения знаний.
Так, для нейрона с сигмоидной нелинейной функцией вида  (или другой симметричной относительно нуля нелинейной функцией) возможна одновременная смена знака весов всех его синапсов и всех синапсов, по которым рассылается выходной сигнал нейрона, с сохранением правильности решения нейросетью задачи [56]. Поэтому появляется возможность, например, приведения общего числа отрицательных весов синапсов сети к минимуму (если задана гипотеза, что именно такая структура сети упростит в дальнейшем извлечение и интерпретацию знаний).
3.4. Требования к процессу упрощения сети для извлечения знаний Перейдем к оценке применимости описанных методов упрощения сети к задаче извлечения знаний. Рассмотренные ранее методы контрастирования синапсов, нейронов и входных сигналов можно разбить на 2 группы методов:
1.                 Методы, не позволяющие задавать число контрастируемых элементов сети (методы, основанные на модификации штрафной функции).
2.                 Методы, выполняющие пошаговое упрощение нейронной сети. На каждом шаге удаляется наименее значимый элемент сети (или несколько наименее значимых элементов – [57]), затем после дообучения удаляется следующий наименее значимый элемент и т.д. Такие методы позволяют удалять из нейросети заданное число элементов и строить пользовательские стратегии упрощения путем последовательного применения различных методов, контрастирующих различные элементы.
Представляется, что методы из первой группы мало пригодны для упрощения сети при последующем извлечении из нее знаний из-за недостаточной гибкости и невозможности конструирования комбинированных алгоритмов, так как у пользователя обычно имеется некоторое соображение об оптимальной структуре сети. Оптимальность обычно достигается не по одному какому-то критерию (например, «минимальность числа нейронов », «минимальность числа входов »,…), а по нескольким. И если последовательно применять методы из первой группы, то достижение одного критерия возможно, а последующих –проблематично, поскольку примененный для достижения первого критерия оптимальности метод контрастирования отконтрастировал сеть до минимума по этому критерию и оставил очень мало избыточности в сети, чтобы можно было достичь общего оптимума путем дальнейшего контрастирования по другим критериям.
Поэтому можно сформировать следующие требования к процессу упрощения нейросети для задачи последующего извлечения из нее знаний. Эти требования накладывают определенные ограничения на возможность использования тех или иных методов упрощения:
1.                 Процесс упрощения должен позволять пользователю выбирать контрастируемые структурные элементы сети (нейроны, входы, синапсы,…) путем выбора отдельных элементарных упрощающих операций.
2.                 Процесс упрощения должен позволять задавать последовательность проведения различных выбранных в п.1 упрощающих операций.
3.                 Возможность задавать число контрастируемых элементов как для каждого шага отдельной упрощающей операции, так и для всего процесса в целом.
4.                 Возможность определять условие остановки контрастирования (по каждой упрощающей операции) взамен контрастирования сети «до предела».
5.                 Процесс упрощения должен быть настраиваем под требования конкретного метода извлечения знаний из нейронной сети. Иными словами, процесс упрощения должен сформировать нейросеть, оптимальную для дальнейшей работы конкретного алгоритма извлечения знаний.
Требование к возможности выбирать и задавать последовательность выполнения упрощающих операций требует введения номенклатуры элементарных упрощающих операций.
3.5. Упрощающие операции над нейронной сетью Введем номенклатуру элементарных упрощающих операций [22,23,58]:
–                     Удаление входного сигнала (см. раздел 3.3.3).
–                     Удаление синапса сети (раздел 3.3.1).
–                     Удаление нейрона сети (раздел 3.3.2).
–                     Бинаризация синапса сети (раздел 3.3.4).
–                     Модификация нелинейного преобразователя нейрона сети (раздел 3.3.5).
–                     Эквивалентное преобразование структуры сети, приводящее к оптимизации структуры сети по некоторому критерию (раздел 3.3.7).
Для всех этих операций возможно назначение «области действия» как задания фрагмента нейросети (путем перечисления элементов и сигналов сети), внутри которого на каждом шаге упрощения и будет проводиться контрастирование.
Путем задания последовательности применения элементарных упрощающих операций, критерия остановки выполнения операции, задания требований к результирующему виду нейросети стратегии упрощения нейросети настраиваются под предпочтения пользователя и алгоритма извлечения знаний.
3.6. Процедура комплексного упрощения нейронной сети Для задачи извлечения явных знаний из данных введем понятие логически прозрачной сети [17,18,20,23,58]. Под логически прозрачной понимается нейросеть, обладающая минимальной структурной сложностью и при этом удовлетворяющая требованиям (предпочтениям) пользователя (если пользователь сам будет вручную проводить процесс извлечения знаний – осмысления и интерпретации структуры сети) и/или требованиям алгоритма автоматизированного извлечения знаний к виду результирующей сети.
Формализуем процесс получения логически прозрачной сети, удовлетворяющий введенным в*Параграфе 3.2 требованиям (процесс упрощения должен быть настраиваем под конкретный метод извлечения знаний из нейронной сети, т.е. должен формировать нейросеть, оптимальную для конкретного алгоритма извлечения знаний).
1.                 Вводятся требуемые критерии логической прозрачности. Критериями могут являться как перечисленные в предыдущем подразделе критерии простоты сети, так и другие требования. Например, может потребоваться квантование внутренних, проходящих по нейронной сети сигналов. Критерии логической прозрачности определяют требуемый в настоящее время пользователю класс логически прозрачных сетей – множество вариантов структур сети, удовлетворяющих поставленным требованиям.
2.                 Для каждого критерия вводится дискретная шкала, по которой отсчитывается удаленность текущего состояния нейронной сети от класса логически прозрачных сетей, как число сигналов или элементов сети, не удовлетворяющее требованиям критерия. Поскольку для каждого критерия может вводиться число элементов или сигналов, которые необходимо оставить в сети неотконтрастированными и/или немодифицированными, либо другое условие останова, то этим числом или условием определяется нуль дискретной шкалы.
3.                 Проводится процедура упрощения нейронной сети. Упрощение строится так, чтобы минимизировать «расстояние» от текущей нейронной сети до класса логически прозрачных функций. «Расстояние» вычисляется как взвешенная сумма тех критериев, по которым сеть не удовлетворяет требованиям логической прозрачности. На каждом шаге упрощения среди всех доступных элементарных операций выбирается такая операция, которая приводит к наибольшему уменьшению «расстояния». Если выбранная операция не может быть выполнена (например, из-за достижения минимума по этому критерию логической прозрачности), то выбирается следующая операция. Если достигнуты условия остановки, процесс упрощения заканчивается.
4.                 Если требования некоторых критериев не достигнуты, но никакая из упрощающих операций не может быть выполнена, то возможно возвращение в нейросеть некоторых ранее отконтрастированных элементов или сигналов (см. раздел 3.3.6). Возвращать в сеть нужно те элементы, которые не приводят к росту текущего расстояния до класса логически прозрачных сетей либо дают минимальный рост расстояния. Затем осуществляется очередное выполнение шага 3. Естественно, нужно принимать некоторые меры против зацикливания шагов 3-4.

 Глава 4. Методы извлечения знаний из искусственных нейронных сетей
4.1. Существующие методы извлечения знаний из обученной нейросети Как и для методов упрощения нейросети, для методов извлечения из сети знаний можно тоже ввести несколько классификаций. Так, в [59] представлено ранжирование методов извлечения знаний по следующим свойствам:
–                     Накладываются ли ограничения на возможный вид нейросети (на структуру сети, число нейронов, входов и выходов сети, вид входных и выходных сигналов сети).
–                     Модифицируется или нет обученная сеть при извлечении из нее знаний.
–                     Делится ли непрерывнозначная входная и/или промежуточная (сигнал нейрона) переменная на интервалы, которым затем можно сопоставить лингвистические категории. Как происходит процесс этого деления.
4.1.1. Методы на основе квантования сигналов сети Квантование непрерывнозначных сигналов имеет целью получение для каждой входной переменной таких интервалов ее изменения, каждому из которых можно в дальнейшем сопоставить некоторую лингвистическую категорию. Порождаемые лингвистические категории можно использовать для процесса объяснения принятия сетью решения. Некоторые методы позволяют переход от непрерывнозначных сигналов к дискретнозначным либо путем сопоставления с каждым интервалом некоторого дискретного значения (и в дальнейшем дискретизации каждой непрерывнозначной переменной по сопоставленным с ней значениям), либо путем некоторой модификации сети.
В [53] разработан метод порождения и проверка гипотез о структурной и функциональной связи между входом и выходом, состоящий из трех этапов:
1.     Определение «границ решения» – разбиение диапазонов значений непрерывных входных признаков на поддиапазоны, внутри которых правила принятия решения будут различаться. Работа ведется на уже обученной сети. Для каждого i-го входного сигнала строится график показателя чувствительности выходного сигнала сети к изменению i-го сигнала в точке x, из диапазона значений сигнала: , где j – номер примера обучающей выборки, Oj(i) – выходной сигнал сети при замене значения i-го входного сигнала j-го примера на заданную величину. Входные сигналы, содержащие границы решения, будут иметь высокие пики на своих графиках (соответствующие большим значениям производной выходного сигнала). Неинформативные сигналы пиков иметь не будут, высота их графиков будет малой.
2.     Анализ чувствительности выхода к входу для определения причинно-следственной связи – путем вычисления показателя значимости входа как суммы по всем примерам выборки модуля разностной аппроксимации частной производной выходного сигнала по входному. Формула аналогична накоплению показателей значимости в норме «сумма модулей» [17,26], но основана на разностной аппроксимации производной выходного сигнала сети по входному. Самостоятельного значения этот этап не имеет, используется внутри этапа 3.
3.     Проверка гипотезы о существовании границы решения. Для наиболее чувствительного сигнала делим выборку на поднаборы (в зависимости от числа пиков на графике чувствительности для этого сигнала из п.1.), внутри которых сигнал принимает значения из соответствующего диапазона. Внутри каждого интервала исследуем значимость сигналов (п.2.) по соответствующему поднабору выборки. Если граница решения существует, то внутри этих интервалов будет различна чувствительность выходов по входам – каждый раз будут значимы другие входы. Далее можно использовать обычный регрессионный анализ – у нас уже есть выделение значимых признаков для каждого интервала, и можно надеяться, что внутри этих интервалов зависимость выхода от соответствующих интервалу наиболее значимых входных сигналов может быть линейна.
Аналогичный подход к определению границ решения на основе анализа производных выходного сигнала сети (именно выходного сигнала, а не функции качества) по входным сигналам использован в [59].
В [59] рассмотрено извлечение нечетких правил из сети-классификатора с непрерывнозначными входными сигналами. Для каждого входного сигнала формируются несколько лингвистических категорий (например, «малый», «ниже среднего», «средний», «выше среднего», «высокий» или другие в зависимости от физического смысла сигнала) и соответствующие каждой лингвистической категории нечеткие функции принадлежности. Процесс построения правил использует только входные и выходные сигналы сети и выполняется путем перебора всех возможных сочетаний лингвистических категорий на входах с вычислением нечетких значений на выходах при работе сети. Для каждого сочетания категорий получается набор нечетких значений на выходах сети, и для класса с наибольшим значением записывается правило вида if-then, где в правой части правила коэффициент уверенности принимает значение вычисленной нечеткой величины. Построения иерархии правил (по числу слоев нейросетевого классификатора) в [59] не делается. Правила в левой части содержат значения входных переменных, а в правой – выходных переменных нейросети. Практически аналогичный метод извлечения нечетких правил предложен в [60] – фаззификация и введение лингвистических категорий для входных сигналов сети, построение набора нечетких правил, выдающих по фаззифицированным входным сигналам ответ, близкий к ответу сети (требуемому выходному сигналу). Т.е. структура сети снова во внимание не принимается, фактически, можно обойтись просто обучающей выборкой.
    продолжение
–PAGE_BREAK–Наиболее недавние работы [62,63] предлагают свободное от семантики, полуавтоматизированное определение числа и границ диапазонов значений. В [62] предлагается следующий процесс извлечения знаний:
–                     Выделение диапазонов значений (и соответствующих им лингвистических переменных) для непрерывнозначных входных сигналов. Выполняется путем анализа гистограмм (в случаях, когда величины сигналов распределены по мультимодальному закону), используя методы линейного разделения по переменной (в случае решения задачи классификации),… либо с использованием подхода из [63].
–                     Наращивание нейронной сети над сформированным набором слингвистических переменных – до тех пор, пока добавление нейронов не будет повышать точности прогноза сети.
–                     Оптимизация правил путем упрощения сформированного логического выражения и/или сокращения числа лингвистических категорий путем их объединения. На новом наборе лингвистических переменных может быть повторен предыдущий шаг построения сети и т.д. до сходимости процесса.
Более подробно механизм определения диапазонов рассмотрен в [63]. Функция принадлежности формируется как разность выходных сигналов двух сигмоидных нейронов с разными значениями весов неоднородных входов  и одинаковыми (единственными) входными сигналами с одинаковыми же весами синапсов. Т.е. таким образом кодируется лингвистическая переменная для интервала . Если этот разностный сигнал используется далее с отрицательным весом, то лингвистическая переменная получается для интервала . Одна сигмоида может кодировать переменную ³a0или £a0. Фактически, предлагается строить дополнительный кодирующий слой нейронов (самый первый), где для каждого непрерывнозначного входного сигнала будут иметься несколько пар нейронов (их обучение должно идти с сохранением одинаковых значений весов синапсов в каждой паре), и два дополнительных нейрона для представления лингвистических переменных вида ³a0или £a0. Обучение нейросети и контрастирование такого слоя окончательно сформирует интервалы для лингвистических переменных, а их число будет оптимизировано по сравнению с исходным числом кодирующих нейронов для каждого сигнала.
4.1.2. Методы извлечения знаний параллельно с обучением нейросети Отдельные методы опираются на процесс обучения нейросети.
В [64] исследуется возможность применения «структурного обучения» и его модификаций [28-33] не только как метода контрастирования синапсов, но и как метода извлечения знаний. Подчеркивается необходимость упрощения сети для получения более компактного и понятного набора правил. Предложено построение иерархии правил – выделение сначала доминантных правил, а затем дополнений и исключений из правил (или, другими словами, правил, определяющих основные зависимости, и правил, которые уточняют детали). Процесс – установка сравнительно большого значения величины параметра регуляризации и обучение сети до получения простой структуры, запись правил (наиболее доминантных) по полученной сети, фиксация и выведение из обучения полученной структуры сети (ненулевых весов синапсов), уменьшение значения параметра регуляризации, обучение сети (чтобы достигнуть большей точности решения, некоторые ранее отконтрастированные синапсы получат ненулевые веса и сформируют иерархию правил уровнем ниже), и запись дополнительно сформированных менее доминантных правил и т.д. до тех пор, пока суммарный набор правил (именно набор правил, а не нейросеть) не будет работать на обучающей/тестовой выборке с заданной точностью.
Однако процесс выбора начального значения параметра регуляризации и стратегии его уменьшения неоднозначен. Вдобавок, используемая в [64] оценка МНК может приводить к избыточной сложности набора правил для сетей-классификаторов. Также не обсуждается механизм собственно записи правил (тестовый пример в [64] работал с булевыми входными переменными) обсуждается только механизм упрощения сети для формирования структуры правил, отранжированных по шкале общности (доминирования) – детализации.
Как доработку метода можно предложить построение графика зависимости точности решения примеров обучающей выборки от числа элементов в сети или числа правил, порождаемых по сети (эти величины, в свою очередь, зависят от величины параметра регуляризации). Вероятнее всего, на графике будут наблюдаться несколько скачкообразных изменений точности распознавания – см., например, пример в [60]. Представляется, что, при формировании иерархии правил, «естественной» будет иерархия, соответствующая наблюдаемым скачкообразным изменениям точности.
В [65] рассматривается метод, формирующий правила параллельно с обучением сети. Если текущий прогноз сети правилен, то в набор правил вводится правило, обеспечивающее такой же ответ на данной ситуации, и делается попытка переформулирования некоторых имеющихся и добавляемого правил – например, путем объединения нескольких частных правил в одно более универсальное правило. Если ответ сети неверен, то набор правил модифицируется для недопущения ошибки. Т.е. правила формируются не по нейронной сети, а на основании обучающей выборки. По сравнению с извлечением знаний после обучения сети, такой подход формирует более «сырой» и «рыхлый» набор правил и может оставлять рудиментарные правила. Но для ситуаций, когда необходимо формирование знаний в режиме on-line (когда невозможно заранее сформировать обучающую выборку), такая идея достаточно перспективна для дальнейшего развития.
4.1.3. Методы извлечения знаний из обученной нейросети В [66-68] предложен метод извлечения знаний, опирающийся только на структуру и веса синапсов обученной нейросети, не требующий обучающей выборки и не рассматривающий природу входных и промежуточных сигналов сети. Для каждого нейрона взвешенная с весами синапсов сумма его входных сигналов (т.е. выходной сигнал сумматора нейрона) сравнивается со значением неоднородного входа нейрона. Превышение/непревышение оформляется в отдельное правило вида “если…, то”. В случае сигмоидных или пороговых функций превышение или непревышение взвешенной суммой значения неоднородного входа описывает уровень активации выходного сигнала нейрона.
В [69] рассматривались похожие идеи, но с анализом порождаемых на обучающей выборке промежуточных сигналов нейросети – величин активации нейронов. Рассматривалась ситуация активации/неактивации нейрона при конкретных комбинациях значений бинарных входных сигналов нейрона. Строились правила вида «M of N», описывающие накладываемые на значения входных сигналов условия для получения того или иного выходного состояния нейрона. При этом при записи правил отсеивались те входные сигналы нейрона, изменение значений которых не приводит к изменению выходного состояния при фиксированных значениях других входов.
MofN-правила – продукционные правила вида:
«ЕСЛИ хотя бы / ровно / по меньшей мере M из N условий C1, C2,..,CN выполнены, ТО…, ИНАЧЕ…»
Такие правила более гибки чем простейшая форма «если…, то…».
В алгоритме [70] извлекаются правила простейшего вида, вдобавок содержащие в левой и правой частях правила только по единственному атрибуту. Это приводит к необходимости дальнейшей оптимизации и переформулирования получающегося большого количества простых продукционных правил, например, в набор меньшего числа правил вида MofN.
В [71] предлагается метод построения многошаговой схемы логического вывода, где на каждом шаге вывода могут использоваться как концепты предыдущего шага, так и концепты всех более ранних шагов и первоначальные входные данные – это отличает предложенный метод от большинства других методов, где в формировании концептов некоторого уровня участвуют только концепты предыдущего уровня. Здесь концепты формируются в ходе просмотра обучающей выборки путем объединения встречающихся 2 и более раз комбинаций значений дискретных входных признаков в величину с некоторым значением, которой можно дать лингвистическое описание. После порождения концепта он начинает участвовать в формировании концептов следующего уровня наряду со всеми ранее сформированными концептами.
Большинство методов извлечения знаний нацелено на работу с нейросетями, получающими на вход и выдающими на выходе бинарные, номинальные или порядковые величины. При обработке же непрерывных величин каждая величина разбивалась на несколько интервалов, причем практически всегда разбиение на интервалы проводилось вручную без учета статистической природы величины.
Другие методы начали свою жизнь как методы уточнения имеющихся явных знаний, когда производилось встраивание имеющихся наборов правил в нейросеть, затем проводилось обучение сети и извлечение уточненных знаний.
Именно как методы уточнения имеющихся априорных знаний первоначально были представлены методы [69,70,72-74]. При этом в нейросеть встраивается имеющийся набор правил вывода, который не должен обязательно быть ни полным, ни непротиворечивым. Правила оперируют бинарными или номинальными величинами, входные/промежуточные сигналы реализующей эти правила нейросети тоже делаются квантованными. Для обработки входной информации каждая непрерывнозначная величина разбивается пользователем на несколько интервалов. Нейросеть «достраивается» до полного размера набором связей с небольшими весами и набором добавочных нейронов. После обучения сети извлекаются откорректированные правила логического вывода вида M of N. Высокая или низкая активация нейронов интерпретируется как истинное или ложное значение вычисляемой нейроном булевой переменной. Такой метод извлечения знаний называется в [73,74] KBANN-алгоритмом.
Ограничение KBANN-алгоритма в том, что, фактически, не порождается новых правил. При формировании сети делается так, чтобы добавляемые синапсы имели малые веса и добавляемые нейроны имели низкую активацию. При обучении сети корректируются как добавленные элементы, так и сопоставленные с первоначальными символьными правилами элементы. Но поскольку последние изначально имеют большие значения синапсов и высокие активации нейронов, то они и сформируют кластера активности, а добавленные элементы будут использоваться на этапе извлечения правил. Фактически из сети извлекается немного скорректированный набор исходных правил.
Определению необходимости добавления и числа добавляемых к сети нейронов в ходе ее формирования посвящены работы [75,76], обходящие указанное ограничение KBANN-метода. TopGen-расширение KBANN-алгоритма осуществляет эвристический поиск оптимальных модификаций сети на основе обучающих данных, получающегося набора символьных правил и поведения сети. Другие алгоритмы наращивают сеть при малой скорости сходимости обучения и/или большой ошибке обучения/обобщения и т.д. TopGen же нацелен на работу с KBANN-сетями и при своей работе использует извлечение из сети и анализ символьных правил для того, чтобы определить, в каком месте сети требуется коррекция. При работе алгоритма корректируется символьное представление правил и их иерархическая структура наряду с их адаптацией путем обучения сети. Еще одна особенность алгоритма – стремление не слишком нарушать вставленные в нейросеть исходные формализованные правила, а иначе после извлечения правил можно получить правила, кардинально отличающиеся от первоначальных и сложные в интерпретации. Т.е. добавляемые в сеть элементы должны научиться по обучающей выборке распознавать исключения из исходных правил и/или научиться корректировать ответ этих правил, если последние слишком уж плохо работают на выборке.
Метод извлечения знаний, использовавшийся в составе KBANN-алгоритма [73,74], был адаптирован и для извлечения знаний из нейросетей без первоначального встраивания в них правил. Идея исходного метода – при обучении получить нейросеть, в которой значения весов синапсов и активаций нейронов группируются в кластеры, и лингвистически интерпретировать полученные кластеры. Были предложены следующие варианты доработки:
1.                 В [77] используется процедура коррекции, которая после обычного обучения сети группирует значения весов синапсов каждого нейрона в кластеры (веса синапсов затем заменяются значениями центров кластеров) и корректирует значения неоднородного входа нейрона так, чтобы скомпенсировать внесенные в сеть изменения, и таким образом делает возможным применение старого варианта метода извлечения знаний.
2.                 В [78] на основе поискового алгоритма разработан метод построения набора правил, приблизительно эквивалентных правилам, сформированным некоторой произвольной сетью без ограничений на ее топологию. Не требуется квантования величин активаций нейронов при обучении сети, и требуется только равенство выходных сигналов сети и нового набора правил на обучающей выборке, что дает свободу в применении правил различного вида и не привязывает иерархию извлеченных правил к структуре сети.
3.                 В [78,79] на основе идей [76,77] предложен алгоритм TREPAN построения построения иерархии правил, причем число уровней иерархии может не совпадать с числом слое нейронов сети. При этом также используется обучающая выборка.
Наиболее недавняя работа [79] дает начало новому этапу развития методов извлечения знаний из нейросетей. Cуществует 2 основных подхода к извлечению знания из нейросети – это анализ топологии сети и анализ поведения сети в терминах отображения вход-выход и/или активации нейронов. Существующие методы интерпретации топологии нейросети «локальны» и не учитывают «распределенного» по нейросети знания об алгоритме решения задачи. Очень редко при извлечении правил удается выявить именно распределенные правила принятия решения. Второй же подход более интересен.
До [79] фактически единственной работой этого подхода была работа [53], в которой проводилось формирование границ решения (построение интервалов изменения входных переменных, внутри которых имелось отличие функциональной зависимости вход-выход от зависимостей в других интервалах) и определение значимости входных сигналов внутри каждого интервала с возможностью дальнейшего перехода от нейросети к структурно-функциональной модели, состоящей из набора условных правил, в зависимости от значений входных сигналов выбирающих ту или иную простую (по сравнению с исходной нейронной сетью) модель отображения «вход-выход».
В [79] вдобавок предложено использовать анализ активации нейронов сети; при этом желательно иметь пороговые нейроны, либо нейроны, чья активация на обучающей выборке подчиняется многомодальному закону распределения (для получения информации о состояниях нейрона можно использовать гистограмму его активации, кластерный анализ его выходных сигналов,..). Анализируя этот закон, для нейрона можно сформировать несколько границ его состояния (и затем семантически интерпретировать каждое состояние). Таким образом мы получаем знания о структуре внутренних сигналов сети [69-74,77,78]. Но такой анализ активаций тоже является локальной интерпретацией нейронов.
Также предложено для каждого из выделенных состояний нейронов проверять различные статистические гипотезы для групп примеров, формирующих именно это состояние. Причем гипотезы могут касаться как значений входных переменных в группе примеров, так и значений внутренних сигналов сети на этой группе примеров. Для нескольких групп примеров (каждая группа формирует свое состояние нейрона) проверяются гипотезы о равенстве или отличии матожиданий, равенстве или отличии значений сигналов,… Такая статистическая информация не извлекается ни из исходной таблицы данных, ни при анализе нейросети без одновременного анализа таблицы данных. При таком анализе возможно упрощение извлеченных из сети правил и параллельная или альтернативная запись всего набора правил или отдельных правил на другом «языке». Возможно рассмотрение вектора, составленного из выходных сигналов нейронов (например, некоторого слоя) сети, и применение кластерного анализа для набора полученных по выборке таких векторов. Для каждого кластера опять проверяются статгипотезы. Тут может получаться меньше кластеров, чем число сочетаний состояний этих нейронов.
    продолжение
–PAGE_BREAK–4.2. Методы извлечения знаний: требования к методам Обзорам методов извлечения знаний и требованиям к ним, анализу текущего состояния проблемы посвящены работы [80,81-83]. В этих работах рассматриваются общие вопросы применимости нейросетей для анализа данных и извлечения знаний, преимущества, получаемые от применения нейросетей, методы извлечения знаний из нейросетей и встраивания знаний в нейросети, методы обучения/формирования сети, содержащей явные правила.
В [80] требования, сформированные в [84] для задач машинного обучения в теории классического искусственного интеллекта («Результатом компьютерного индуктивного вывода должны быть символьные описания заданных сущностей, семантически и структурно похожие на те, которые формирует человек-эксперт на основе обзора тех же сущностей. Компоненты этих описаний должны формировать самодостаточные информационные сущности, прямо интерпретируемые на естественном языке, и единоднообразно определять как количественные, так и качественные понятия» – [84]), переносятся и на алгоритмы и методы извлечения знаний из нейросетей. Поясняется, почему такое требование является важным:
–                     С точки зрения проверки полученных правил – человек должен понимать полученные правила, чтобы им доверять.
–                     С точки зрения получения новых знаний – человек должен иметь возможность понять и проинтерпретировать порожденное системой знание.
–                     С точки зрения объяснения – важно не просто ответить на введенный запрос, но и объяснить промежуточные рассуждения, приведшие к получению именно этого ответа.
–                     С точки зрения дальнейшего уточнения и обобщения знаний – представление входной информации оказывает существенное влияние на получаемый набор правил и возможность его обобщения, поэтому анализ извлеченного набора правил может привести к появлению более корректной кодировки входной информации или к укрупнению/огрублению входных сущностей без потери качества решения задачи.
–                     С точки зрения уточнения знаний – как человеком, так и с помощью автоматических процедур – требуется манипулирование атомарными, самодостаточными сущностями.
Знания в нейронной сети являются процедурными, поэтому их символьное декларативное представление дает как дополнительное знание, так и является более открытым для дополнения, дает возможность использования отдельных фрагментов полученного знания.
Также показательна недавняя работа [83], рассматривающая результаты десятилетия исследований методик и алгоритмов извлечения знаний из нейронных сетей. В этой работе говорится, что технология извлечения знаний еще не стала широко применимой на практике и не дала таких результатов, которые могла бы дать. Все дело в том, что наиболее точные извлекаемые модели и знания оказываются слишком сложными и непонятными/неявными. Там же вводится дополнительный набор критериев для методов извлечения знаний:
1.                 Явность/понятность извлеченного набора правил для человека.
2.                 Точность описания исходной нейросети, из которой знания были извлечены.
3.                 Точность решения задачи.
4.                 Масштабируемость – применимость метода для сетей с большим числом нейронов и/или входных сигналов и/или большой обучающей выборкой.
5.                 Общность – отсутствие жестких ограничений на архитектуры сети, алгоритмы обучения, решаемые сетью задачи.
Критерии 2,3 необходимы потому, что еще с работы [85] 1991г процесс извлечения знаний из нейронной сети строился в подавляющем большинстве случаев итеративным образом, когда из нейросети извлекается и записывается в символьной форме знание о проблемной области, а затем полученный алгоритм корректируется экспертом и снова встраивается в нейросеть для коррекции. Такой процесс извлечения и встраивания знаний продолжается до тех пор, пока не будет получен алгоритм, адекватный экспертному знанию о проблемной области. Итерационный процесс, фактически, требуется из-за двух обстоятельств, существенных на время работы [85] и так и не обойденных до сих пор:
–                     Извлечение знаний производится из неупрощенной сети и использует только наибольшие по модулю веса синапсов, что приводит к потере тех знаний, которые распределены по большому числу синапсов с малыми весами, и поэтому часто дает малую точность извлеченного набора правил.
–                     нет такой процедуры извлечения/встраивания знаний, которая после встраивания извлеченных знаний давала бы сеть, аналогичную исходной. Требования пользователей к виду извлекаемых знаний и форме их записи могут приводить к очень большим отличиям извлеченных знаний от знаний, содержащихся в исходной сети.
В [62] под извлечением знаний из данных понимается наиболее компактное описание данных и правил решения задачи, обеспечивающее достаточную точность решения. Извлечение логических правил из данных может выполняться различными инструментами – статистикой, распознаванием образов, методами автоматического обучения, нейросетевыми алгоритмами и их комбинациями. Подчеркивается, что при извлечении знаний недостаточно просто извлечь знания из нейросети и представить их в некотором требуемом виде, но необходимо оптимизировать их структуру и постоянно иметь в виду аспекты дальнейшего их применения. Фактически же исследователи делают упор только на этап извлечения знаний.
4.3. Методология извлечения явных знаний, использующая технологию комплексного упрощения нейросети Понятности извлекаемых знаний для пользователя сложно или невозможно достичь автоматизированной процедурой извлечения знаний. Программная система не имеет никаких экспертных знаний о проблемной области и не может оценить ни уровня правдоподобия, ни уровня понятности предлагаемого извлеченного знания для конкретного человека, поэтому задача интерпретации знаний так и остается прерогативой пользователя.
Остальные же критерии, описывающие требования к точности и форме рассуждений (знаний), достижимы автоматизированными методами. Правда, сначала пользователь должен уточнить эти требования для конкретной задачи.
Требования точности описания исходной нейронной сети и точности решения задачи делают невозможным использование для извлечения знаний тех рассмотренных выше методов, которые извлекают описание, соответствующее только наиболее сильно активирующимся нейронам и/или синапсам с наибольшими весами – при использовании таких методов может происходить потеря точности. С другой стороны, избыточность структуры сети будет приводить к избыточности набора правил, если при извлечении правил учитывать абсолютно все элементы сети. Эти два фактора приводят к следующему утверждению: для получения простой структуры знаний необходимо предварительное упрощение нейросети с целью оставить в нейросети только действительно необходимые для решения задачи элементы и сигналы, а затем использование такого метода извлечения знаний, который формирует знания по всем элементам и сигналам, оставшимся у сети после упрощения.
Требование масштабируемости – применимости метода извлечения знаний для сетей больших размеров – во многих случаях не будет важным при правильном определении требований к точности решения задачи и корректной постановке задачи, поскольку упрощение сети даст для не слишком высоких требований как достаточно малое число элементов в сети, так и малое число входных сигналов по сравнению с первоначальным. Поскольку процесс интерпретации большого объема правил более длителен по сравнению со временем выполнения упрощения сети и дальнейшего процесса интерпретации гораздо меньшего набора правил, то требование масштабируемости становится некритическим при обязательном выполнении предварительного упрощения. Достигнутая к настоящему моменту производительность средств вычислительной техники и быстрота алгоритмов обучения и контрастирования сети делают затраты на проведение упрощения малыми по сравнению с затратами на анализ человеком интерпретацию системы правил.
Требование отсутствия ограничений на архитектуры сети приводит к требованию проведения извлечения знаний как поэлементного описания сети, когда вид сопоставленных с элементом продукционных правил не будет зависеть от места элемента в структуре сети. Этому требованию удовлетворяют методы, описывающие сеть понейронно, когда нейрону может соответствовать несколько правил и вид правил не зависит от места нейрона в структуре сети.
Представим сформированные требования к процессу извлечения знаний более формально:
1.                 Обязательное проведение упрощения сети перед извлечением знаний.
2.                 Формирование набора правил путем описания всего множества элементов и сигналов сети, без разделения элементов и сигналов на значимые и незначимые (незначимые должны полностью отсеяться при упрощении).
3.                 Формирование набора продукционных правил поэлементно. При этом заданный человеком вид результирующего представления правил не должен и не будет зависеть от места элемента в структуре сети.
4.                 Заданный человеком вид результирующих правил, предпочтения к особенностям, свойствам и структуре правил должны обязательно влиять на процесс проведения упрощения в п.1.
На основе этих требований разработан следующий процесс извлечения правил [22,23,58]. Правила извлекаются в ходе понейронного рассмотрения нейросети и для каждого нейрона возможно построение одного или нескольких правил. Пусть Y – выходной сигнал нейрона, Yi – i-е дискретное значение выхода (в случае дискретнозначного выхода), X1,..,Xn – входные сигналы нейрона, xij – j-e дискретное значение i-го входа (в случае дискретнозначного входа), F(X1,..,Xn) – нелинейная функция нейрона. Здесь имеется и может использоваться упрощающая операция над нелинейной функцией нейрона, после проведения которой нейрон с сигмоидной нелинейной функцией может становиться пороговым нейроном или нейроном с кусочно-линейной функцией. Возможны различные виды извлекаемых правил:
1.                 Если все входные сигналы нейрона дискретны, то независимо от вида нелинейной функции выходной его сигнал будет дискретнозначен. Поэтому для каждой возможной комбинации значений входов будет получено правило вида IF (X1=x1j AND X2=x2k AND … AND Xn=xnl) THEN Y=Yi.
После построения набора атомарных правил вида «если-то» в варианте 1 возможен переход от них к правиам вида MofN.Если же хотя бы один входной сигнал у нейрона непрерывен, то применимо нижеследующее:
2.                 Если нелинейная функция гладкая (например, сигмоидная), то строится зависимость вида Y= F(X1,..,Xn).
3.                 Если нелинейная функция пороговая, то выход дискретен и для каждого его дискретного значения можно определить условия, налагаемые на взвешенную сумму входных сигналов как IF A
4.                 Если функция кусочно-линейна, то кусочно-постоянные участки будут описываться условными правилами (п.3), а кусочно-линейные – функциональными (п.2).
Видно, что требования пользователя к виду извлекаемых правил приводят к необходимости выполнения той или иной модификации нелинейной функции нейрона. Задаваемое ограничение на число сущностей (входных сигналов нейрона), учитываемых в левой части правила, приводит к необходимости проведения операции равномерного упрощения сети по входам нейронов, и.т.д. В случае, когда упрощение нейросети не выполнено или все же оставило некоторые избыточные элементы, возможно огрубление извлеченных из сети правил с одновременным сокращением их числа по сравнению с исходным числом правил. Критерием возможности проведения огрубления выступает точность решения задачи набором правил – если точность при огрублении не опускается ниже требуемой пользователем точности, то огрубление можно производить. Вот варианты огрубляющих операций:
1.                 В случае использования сигмоидной нелинейной функции можно даже при непрерывнозначных входных сигналах нейрона перейти к описанию активации нейрона в терминах высокой (+1 или иное значение в зависимости от конкретной нелинейной функции) или низкой (-1 или иное значение) активации. Для этого взвешенная сумма входных сигналов нейрона W1X1+W2X2+…+WnXn сравнивается со значением неоднородного входа нейрона W0и при превышении значения активация нейрона считается положительной, а иначе – отрицательной. Т.е. формируется единственное правило вида IF (W1X1+ …+WnXn)>W0THEN Y=Yвысокая ELSE Y=Yнизкая.
2.                 В случае сигмоидной функции возможно исследование вида функции распределения выходного сигнала нейрона и при многомодальном распределении возможен переход к квантованию величин активации по центрам кластеров [61,62].
3.                 Для k выделенных кластеров активации с центрами кластеров в точках Ui и k-1 граничными значениями активации Zij между кластерами i и j формируется правило в виде цепочки
IF (W1X1+ …+WnXn)
4.                 При многомодальном распределении значений величин активации нейрона с сигмоидной, пороговой или кусочно-линейной функцией возможна проверка различных гипотез касательно статистических характеристик величин входных и промежуточных сигналов нейронной сети при различных делениях обучающей выборки на фрагменты. Это делает возможным замену некоторого числа продукционных правил на более простые правила. В качестве начальной нелинейной функции нейрона может быть рассмотрена любая функция, имеющая непрерывную первую производную. Каждой конкретной функции сопоставляется набор ее негладких аппроксимаций в зависимости от последующих требований семантики. Так, гауссова функция  может быть в дальнейшем интерпретируема как нечеткая функция принадлежности и аппроксимируема прямоугольной, трапецеидальной или треугольной негладкой функцией. Соответственно этому меняются описывающие нейрон правила и схемы огрубления. Здесь можно сделать следующие выводы:
–                     Существует номенклатура видов извлекаемых из сети элементарных правил.
    продолжение
–PAGE_BREAK–