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

Из Википедии, бесплатной энциклопедии

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

Цели вербализации

[править | править код]

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

Вербализация осуществляется, в частности, для подготовки обученной и упрощённой нейросети к реализации в программном коде или в виде специализированного электронного (оптоэлектронного) устройства, а также для использования результатов в виде явных знаний.[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. Миркес Е. М.,Логически прозрачные нейронные сети и производство явных знаний из данных Архивная копия от 25 февраля 2008 на Wayback Machine, В кн.: Нейроинформатика / А. Н. Горбань, В. Л. Дунин-Барковский, А. Н. Кирдин и др. — Новосибирск: Наука. Сибирское предприятие РАН, 1998. — 296 с. ISBN 5-02-031410-2
  2. Оптимальное прореживание нейронных сетей. Дата обращения: 30 августа 2008. Архивировано 18 мая 2011 года.
  3. LeCun Y., Denker J. S., Solla S. A. Optimal brain damage Архивная копия от 20 мая 2008 на Wayback Machine / 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 Архивная копия от 7 мая 2008 на Wayback Machine / 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 Горбань А. Н., Обучение нейронных сетей Архивная копия от 9 августа 2010 на Wayback Machine. М.: изд. СССР-США СП «Параграф», 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 Архивная копия от 17 февраля 2016 на Wayback Machine In: Proc. IJCNN'99, Washington DC, July 1999, IEEE, Vol. 6, pp. 4393-4398.
  9. Миркес Е. М., Нейрокомпьютер. Проект стандарта. Архивная копия от 15 июня 2009 на Wayback Machine- Новосибирск: Наука, Сибирская издательская фирма РАН, 1999 .- 337 с. ISBN 5-02-031409-9 (Глава 9: «Контрастер») Другие копии онлайн: Архивированная копия. Дата обращения: 15 октября 2008. Архивировано 3 июля 2009 года..
  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.