Вербализация нейронных сетей

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

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

Цели вербализации[править | править вики-текст]

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

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

Частные задачи упрощения и вербализации[править | править вики-текст]

  1. Упрощение архитектуры нейронной сети
  2. Уменьшение числа входных сигналов
  3. Сведение параметров нейронной сети к небольшому количеству выделенных значений
  4. Снижение требований к точности входных сигналов
  5. Формулировка явных знаний в виде симптом-синдромной структуры и явных формул формирования синдромов из симптомов.

Алгоритмы прореживания[править | править вики-текст]

Перед вербализацией сети, как правило с помощью продукционных правил, для некоторых видов сетей было предложено упрощать структуру сетей - прореживать. Основная идея прореживания (англ. pruning) заключается в том, что те элементы модели или те нейроны сети, которые оказывают малое влияние на ошибку аппроксимации, можно исключить из модели без значительного ухудшения качества аппроксимации [2]. Но при этом нужно иметь в виду, что это справедливо только для решаемой задачи. Если же появится новые статистические данные для обучения, то прореженная сеть потеряет способность к обобщению, которой она обладала бы если бы связи не были бы потеряны (как минимум обратное не было доказано). Таким образом, идет речь о алгоритмах с потерей качества, которые могут применяться для частных задач, но не могут применяться вне зависимости от задачи.

Для многослойного перцептрона Румельхарта и основанных на нём[править | править вики-текст]

Метод второго порядка (использующий анализ чувствительности, основанный на вычислении вторых производных) был предложен ЛеКюном в 1990 году[3] и назывался «optimal brain damage». Затем он был развит Хассиби[4] и получил название «optimal brain surgery».

Несколько ранее были предложены методы прореживания[5] и скелетонизации[6] нейронных сетей, основанные просто на удалении элементов с наименьшими весами (методы нулевого порядка).

Наконец, в том же 1990 году А. Н. Горбанём был предложен эффективный метод, основанный на анализе первых производных в ходе обучения градиентными методами и не требующий отдельного дифференцирования.[7] Кроме задачи удаления элементов решались также другие проблемы упрощения: уменьшение разрядности весов и сигналов (огрубление), упрощение функций активации нейронов, получение интерпретируемого знания и т. д. Вся совокупность подходов получила также название «контрастирование нейронных сетей». Описание основных показателей чувствительности представлено в обзоре.[8]

Е. М. Миркес в проекте «Идеального нейрокомпьютера» на основе подхода Горбаня и опыта разработки прикладного программного обеспечения ввёл элемент «Контрастёр», построил библиотеку его основных функций и разработал язык описания.[9]

Для подготовки нейронной сети к упрощению оказывается полезным ввести в оценку её работы, минимизируемую при обучении, штрафные слагаемые (англ. penalty), штрафующие за сложность. Эти алгоритмы введены в книге А. Н. Горбаня[7]. Такой подход был впоследствии переоткрыт и положен в основу теории структурного обучения Исикавы и Зурады.[10][11]

Для перцептрона Розенблатта и основанных на нём[править | править вики-текст]

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

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

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

Примечания[править | править вики-текст]

  1. Миркес Е. М.,Логически прозрачные нейронные сети и производство явных знаний из данных, В кн.: Нейроинформатика / А. Н. Горбань, В. Л. Дунин-Барковский, А. Н. Кирдин и др. — Новосибирск: Наука. Сибирское предприятие РАН, 1998. — 296 с. ISBN 5-02-031410-2
  2. Оптимальное прореживание нейронных сетей
  3. LeCun Y., Denker J. S., Solla S. A. Optimal brain damage / Touretzky D. S.  ed., Advances in Neural Information Processing Systems 2. Morgan Kaufmann, San Mateo, CA. 1990. P. 598—605.
  4. Hassibi B., Stork D. G. Second order derivatives for network pruning: Optimal brain surgeon / NIPS 5. 1993.
  5. Sietsma J., Dow R.J.F., Neural net pruning — why and how. In: Proc. IJCNN'88, San Diego, CA., IEEE, Vol.1. — pp.325-333.
  6. Mozer M.C., Smolensky P. Skeletonization: a technique for trimming the fat from a network via relevance assessment. In: Advances in Neural Network Information Processing Systems, Morgan Kaufmann, 1989. Vol.1, pp.107-115.
  7. 1 2 Горбань А. Н., Обучение нейронных сетей. М.: изд. СССР-США СП «Параграф», 1990. 160 с.
  8. Gorban A. N., Mirkes Eu. M., Tsaregorodtsev V. G. Generation of Explicit Knowledge from Empirical Data through Pruning of Trainable Neural Networks In: Proc. IJCNN'99, Washington DC, July 1999, IEEE, Vol. 6, pp. 4393-4398.
  9. Миркес Е. М., Нейрокомпьютер. Проект стандарта.- Новосибирск: Наука, Сибирская издательская фирма РАН, 1999 .- 337 с. ISBN 5-02-031409-9 (Глава 9: «Контрастер») Другие копии онлайн: [1].
  10. Ishikawa S., Structural learning with forgetting, Neural Networks, 1996, Vol.9, 3, 509-521.
  11. Miller D. A., Zurada, J. M., A dynamical system perspective of structural learning with forgetting, IEEE Transactions on Neural Networks, Vol. 9, 3, 1998, 508-515.