Оптимальное прореживание нейронных сетей

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
м
Строка 2: Строка 2:
Основная идея прореживания (англ. pruning) заключается в том, что те элементы модели или те нейроны сети, которые оказывают малое влияние на ошибку аппроксимации,
Основная идея прореживания (англ. pruning) заключается в том, что те элементы модели или те нейроны сети, которые оказывают малое влияние на ошибку аппроксимации,
можно исключить из модели без значительного ухудшения качества аппроксимации.
можно исключить из модели без значительного ухудшения качества аппроксимации.
-
Первоначально метод был предложен ЛеКюном в 1990 году и назывался «optimal brain damage». Затем он был развит Хассиби и получил название
+
 
-
«optimal brain surgery».
+
__NOTOC__
__NOTOC__
-
== Описание метода ==
+
== История метода ==
 +
 
 +
''Метод второго порядка'' (использующий '''анализ чувствительности''', основанный на вычислении вторых производных) был предложен ЛеКюном в 1990 году<ref>LeCun&nbsp;Y., Denker&nbsp;J.&nbsp;S., Solla&nbsp;S.&nbsp;A. [http://citeseer.ist.psu.edu/lecun90optimal.html Optimal brain damage]&nbsp;/ Touretzky&nbsp;D.&nbsp;S.&nbsp; ed., Advances in Neural Information Processing Systems 2. Morgan Kaufmann, San Mateo, CA. 1990. P.&nbsp;598—605. </ref> и назывался «optimal brain damage». Затем он был развит Хассиби<ref>Hassibi&nbsp;B., Stork&nbsp;D.&nbsp;G. [http://citeseer.ist.psu.edu/hassibi93second.html Second order derivatives for network pruning: Optimal brain surgeon]&nbsp;/ NIPS 5. 1993.</ref> и получил название «optimal brain surgery».
 +
 
 +
Несколько ранее и одновременно были предложены методы прореживания<ref>Sietsma J., Dow R.J.F., Neural net pruning — why and how. In: Proc. IEEE IJCNN 1988, San Diego, CA. Vol.1. — pp.325-333.</ref> и скелетонизации<ref>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.</ref> нейронных сетей, основанные просто на удалении элементов с наименьшими весами (''методы нулевого порядка'').
 +
 
 +
Наконец, в том же 1990 году был предложен эффективный метод, основанный на анализе первых производных в ходе обучений и не требующий отдельного дифференцирования.<ref>Горбань А. Н., Обучение нейронных сетей. М.: изд. СССР-США СП «Параграф», 1990. 160 с.</ref> Кроме задачи удаления элементов решались также другие проблемы упрощения: уменьшение разрядности весов и сигналов (огрубление), получение интерпретируемого знания и&nbsp;т.&nbsp;д. Вся совокупность подходов получила также название «контрастирование нейронных сетей».
 +
 
 +
Описание основных показателей чувствительности представлено а обзоре А. Н. Горбаня с соавторами.<ref>Gorban A. N., Mirkes Eu. M., Tsaregorodtsev V. G. [http://arxiv.org/abs/cond-mat/0307083 Generation of Explicit Knowledge from Empirical Data through Pruning of Trainable Neural Networks] The talk was given at the IJCNN '99 (Washington DC, July 1999).</ref>
 +
 
 +
Е. М. Миркес в проекте «Идеального нейрокомпьютера» ввёл элемент «Контрастёр», описал его основные функции и построил язык описания.<ref>Миркес Е. М., [http://pca.narod.ru/MirkesNeurocomputer.htm Нейрокомпьютер. Проект стандарта.]- Новосибирск: Наука, Сибирская издательская фирма РАН, 1998 .- 337 с (Глава 9: «Контрастер»)</ref>
 +
 
 +
 
 +
== Описание метода второго порядка ==
Рассмотрим регрессионную модель <tex>y_n=f(\mathbf{w},\x_n)+\nu</tex>, в которой&nbsp;<tex>\x</tex>&nbsp;— [[регрессионный анализ|независимая переменная]], <tex>y</tex>&nbsp;— [[регрессионный анализ|зависимая переменная]], <tex>\mathbf{w}</tex>&nbsp;— параметры регрессионной модели&nbsp;<tex>f</tex>, и&nbsp;<tex>\nu</tex>&nbsp;— аддитивная [[случайная величина]]. Задана [[выборка|регрессионная выборка]]&nbsp;— множество пар&nbsp;<tex>D=\{(\mathbf{x}_n, y_n)\}</tex>,
Рассмотрим регрессионную модель <tex>y_n=f(\mathbf{w},\x_n)+\nu</tex>, в которой&nbsp;<tex>\x</tex>&nbsp;— [[регрессионный анализ|независимая переменная]], <tex>y</tex>&nbsp;— [[регрессионный анализ|зависимая переменная]], <tex>\mathbf{w}</tex>&nbsp;— параметры регрессионной модели&nbsp;<tex>f</tex>, и&nbsp;<tex>\nu</tex>&nbsp;— аддитивная [[случайная величина]]. Задана [[выборка|регрессионная выборка]]&nbsp;— множество пар&nbsp;<tex>D=\{(\mathbf{x}_n, y_n)\}</tex>,
Строка 13: Строка 25:
Найдем локальную аппроксимацию функции&nbsp;<tex>E_D</tex> в окрестности точки&nbsp;&nbsp;<tex>\mathbf{w}^{MP}</tex> с помощью разложения в [[ряд Тейлора]]:
Найдем локальную аппроксимацию функции&nbsp;<tex>E_D</tex> в окрестности точки&nbsp;&nbsp;<tex>\mathbf{w}^{MP}</tex> с помощью разложения в [[ряд Тейлора]]:
-
<center><tex>E_D(\mathbf{w}+\Delta\mathbf{w}) = E_D(\mathbf{w}) + \mathbf{g}^T(\mathbf{w})\Delta\mathbf{w} + \frac{1}{2}\Delta\mathbf{w}^TH\Delta\mathbf{w} +o(\|\mathbf{w}\|^3),</tex></center>
+
<center><tex>E_D(\mathbf{w}+\Delta\mathbf{w}) = E_D(\mathbf{w}) + \mathbf{g}^T(\mathbf{w})\Delta\mathbf{w} + \frac{1}{2}\Delta\mathbf{w}^TH\Delta\mathbf{w} +o(\|\mathbf{w}\|³),</tex></center>
где&nbsp;<tex>\mathbf{w}</tex>&nbsp;— возмущение вектора параметров&nbsp;<tex>\mathbf{w}</tex>, <tex>\mathbf{g}</tex>&nbsp;— градиент <tex>\frac{\partial S}{\partial \mathbf{w}}</tex>,
где&nbsp;<tex>\mathbf{w}</tex>&nbsp;— возмущение вектора параметров&nbsp;<tex>\mathbf{w}</tex>, <tex>\mathbf{g}</tex>&nbsp;— градиент <tex>\frac{\partial S}{\partial \mathbf{w}}</tex>,
-
и <tex>H=H(\mathbf{w})</tex>&nbsp;— матрица вторых производных ([[матрица Гессе]]) <tex>\frac{\partial^2 S}{\partial \mathbf{w}^2}</tex>.
+
и <tex>H=H(\mathbf{w})</tex>&nbsp;— матрица вторых производных ([[матрица Гессе]]) <tex>\frac{\partial² S}{\partial \mathbf{w}²}</tex>.
Предполагается, что функция&nbsp;<tex>E_D(\mathbf{w})</tex> достигает своего максимума при значении параметров&nbsp;<tex>\mathbf{w}=\mathbf{w}^{MP}</tex> и ее поверхность квадратична.
Предполагается, что функция&nbsp;<tex>E_D(\mathbf{w})</tex> достигает своего максимума при значении параметров&nbsp;<tex>\mathbf{w}=\mathbf{w}^{MP}</tex> и ее поверхность квадратична.
Строка 39: Строка 51:
<center><tex>\Delta\mathbf{w}=-\frac{w_i}{[H^{-1}]_{ii}}H^{-1}\mathbf{e}_i.</tex></center>
<center><tex>\Delta\mathbf{w}=-\frac{w_i}{[H^{-1}]_{ii}}H^{-1}\mathbf{e}_i.</tex></center>
Этому значению вектора приращений параметров соответствует минимальное значение Лагранжиана
Этому значению вектора приращений параметров соответствует минимальное значение Лагранжиана
-
<center><tex>L_i=\frac{w_i^2}{2[H^{-1}]_{ii}}.</tex></center>
+
<center><tex>L_i=\frac{w_i²}{2[H^{-1}]_{ii}}.</tex></center>
Полученное выражение называется мерой выпуклости функции ошибки&nbsp;<tex>E_D</tex> при изменении параметра&nbsp;<tex>w_i</tex>.
Полученное выражение называется мерой выпуклости функции ошибки&nbsp;<tex>E_D</tex> при изменении параметра&nbsp;<tex>w_i</tex>.
Строка 66: Строка 78:
# LeCun&nbsp;Y., Denker&nbsp;J.&nbsp;S., Solla&nbsp;S.&nbsp;A. Optimal brain damage&nbsp;/ Touretzky&nbsp;D.&nbsp;S.&nbsp; ed., Advances in Neural Information Processing Systems 2. Morgan Kaufmann, San Mateo, CA. 1990. P.&nbsp;598—605. [http://citeseer.ist.psu.edu/lecun90optimal.html]
# LeCun&nbsp;Y., Denker&nbsp;J.&nbsp;S., Solla&nbsp;S.&nbsp;A. Optimal brain damage&nbsp;/ Touretzky&nbsp;D.&nbsp;S.&nbsp; ed., Advances in Neural Information Processing Systems 2. Morgan Kaufmann, San Mateo, CA. 1990. P.&nbsp;598—605. [http://citeseer.ist.psu.edu/lecun90optimal.html]
# Хайкин С. Нейронные сети, полный курс. М: Вильямс. 2006.
# Хайкин С. Нейронные сети, полный курс. М: Вильямс. 2006.
 +
# Миркес Е. М., [http://pca.narod.ru/MirkesNeurocomputer.htm Нейрокомпьютер. Проект стандарта.]- Новосибирск: Наука, Сибирская издательская фирма РАН, 1998 .- 337 с (Глава 9: «Контрастер»)
 +
 +
== Примечания ==
 +
{{список примечаний}}
[[Категория:Регрессионный анализ]]
[[Категория:Регрессионный анализ]]
[[Категория:Энциклопедия анализа данных]]
[[Категория:Энциклопедия анализа данных]]

Версия 20:17, 2 августа 2008

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


История метода

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

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

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

Описание основных показателей чувствительности представлено а обзоре А. Н. Горбаня с соавторами.[1]

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


Описание метода второго порядка

Рассмотрим регрессионную модель y_n=f(\mathbf{w},\x_n)+\nu, в которой \x — независимая переменная, y — зависимая переменная, \mathbf{w} — параметры регрессионной модели f, и \nu — аддитивная случайная величина. Задана регрессионная выборка — множество пар D=\{(\mathbf{x}_n, y_n)\}, n=1,\ldots,N. Для построения регрессии требуется найти такие параметры \mathbf{w}^{MP}, которые доставляли бы наименьшее значение функции ошибки E_D.

Найдем локальную аппроксимацию функции E_D в окрестности точки  \mathbf{w}^{MP} с помощью разложения в ряд Тейлора:

E_D(\mathbf{w}+\Delta\mathbf{w}) = E_D(\mathbf{w}) + \mathbf{g}^T(\mathbf{w})\Delta\mathbf{w} + \frac{1}{2}\Delta\mathbf{w}^TH\Delta\mathbf{w} +o(\|\mathbf{w}\|³),

где \mathbf{w} — возмущение вектора параметров \mathbf{w}, \mathbf{g} — градиент \frac{\partial S}{\partial \mathbf{w}}, и H=H(\mathbf{w}) — матрица вторых производных (матрица Гессе) \frac{\partial² S}{\partial \mathbf{w}²}.

Предполагается, что функция E_D(\mathbf{w}) достигает своего максимума при значении параметров \mathbf{w}=\mathbf{w}^{MP} и ее поверхность квадратична. Таким образом, предыдущее выражение можно упростить и представить в виде

\Delta E_D = E_D(\mathbf{w}+\Delta\mathbf{w})-E_D(\mathbf{w}) = \frac{1}{2}\Delta\mathbf{w}^TH\Delta\mathbf{w}.

Пусть исключение элемента модели есть исключение одного параметра модели, w_i. Исключенный параметр будем считать равным нулю. Это самое сильное ограничение, не позволяющее применять данный метод для регрессионных моделей произвольного вида. Исключение элемента эквивалентно выражению \Delta w_i+w_i=0, иначе

\mathbf{e}_i^T\Delta\mathbf{w}+w_i=0,

где \mathbf{e}_i — вектор, i-й элемент которого равен единице, все остальные элементы равны нулю.

Для нахождения исключаемого элемента требуется минимизировать квадратичную форму \Delta\mathbf{w}^TH\Delta\mathbf{w} относительно \Delta\mathbf{w} при ограничениях \mathbf{e}_i^T+w_i=0, для всех значений i. Индекс i, который доставляет минимум квадратичной форме, задает номер исключаемого элемента:

i = \arg\min_i(\min_{\Delta\mathbf{w}} (\Delta\mathbf{w}^TH\Delta\mathbf{w} | \mathbf{e}_i^T+w_i=0)).

Задача условной минимизации решается с помощью введения Лагранжиана

S=\Delta\mathbf{w}^TH\Delta\mathbf{w}-\lambda(\mathbf{e}_i^T+w_i),

в котором \lambda — множитель Лагранжа. Дифференцируя Лагранжиан по приращению параметров и приравнивая его к нулю получаем (для каждого индекса i параметра w_i)

\Delta\mathbf{w}=-\frac{w_i}{[H^{-1}]_{ii}}H^{-1}\mathbf{e}_i.

Этому значению вектора приращений параметров соответствует минимальное значение Лагранжиана

L_i=\frac{w_i²}{2[H^{-1}]_{ii}}.

Полученное выражение называется мерой выпуклости функции ошибки E_D при изменении параметра w_i.

Функция L_i зависит от квадрата параметра w_i. Это что говорит о том, что параметр с малым значением скорее всего будет удален из модели. Однако если величина [H^{-1}]_{ii} достаточно мала, это означает, что данный параметр оказывает существенное влияние на качество аппроксимации модели.

Алгоритм

Задана выборка D, модель f(\mathbf{w},\x), функция ошибки E_D. Для упрощения структуры регрессионной модели выполняем следующие шаги.

  1. Настраиваем модель, получаем параметры \mathbf{w}^{MP}=\arg\min(E_D(\mathbf{w}|f,D)).
  2. Для приращения \mathbf{w}^{MP}+\Delta\mathbf{w} решаем оптимизационную задачу, находим для каждого индекса i минимальное значение Лагранжиана L_i.
  3. Выбираем среди L_i минимальное, отсекаем элемент модели, соответствующий i-му параметру.
  4. Добавляем к вектору параметров \mathbf{w}^{MP}, вектор приращений \Delta\mathbf{w}, соответствующий отсеченому параметру.
  5. Получаем упрощенную модель. Модель перенастраивать не требуется.
  6. Процедуру можно повторять до тех пор, пока значение ошибки не превзойдет заранее заданное.

Смотри также

  1. Регрессионный анализ
  2. Регрессионная модель

Литература

  1. Hassibi B., Stork D. G. Second order derivatives for network pruning: Optimal brain surgeon / NIPS 5. 1993. [1]
  2. 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. [2]
  3. Хайкин С. Нейронные сети, полный курс. М: Вильямс. 2006.
  4. Миркес Е. М., Нейрокомпьютер. Проект стандарта.- Новосибирск: Наука, Сибирская издательская фирма РАН, 1998 .- 337 с (Глава 9: «Контрастер»)

Примечания

Личные инструменты