Оптимальное прореживание нейронных сетей
Материал из MachineLearning.
м |
|||
Строка 7: | Строка 7: | ||
== Описание метода == | == Описание метода == | ||
- | Рассмотрим регрессионную модель <tex>y_n=f(\mathbf{w},\x_n)+\nu</tex>, в которой <tex>\x</tex> — [[регрессионный анализ|независимая переменная]], <tex>y</tex> — [[регрессионный анализ|зависимая переменная]], <tex>\mathbf{w}</tex> — параметры регрессионной модели <tex>f</tex>, и <tex>\nu</tex> — аддитивная [[случайная величина]]. Задана регрессионная выборка — множество пар <tex>D=\{(\ | + | Рассмотрим регрессионную модель <tex>y_n=f(\mathbf{w},\x_n)+\nu</tex>, в которой <tex>\x</tex> — [[регрессионный анализ|независимая переменная]], <tex>y</tex> — [[регрессионный анализ|зависимая переменная]], <tex>\mathbf{w}</tex> — параметры регрессионной модели <tex>f</tex>, и <tex>\nu</tex> — аддитивная [[случайная величина]]. Задана [[выборка|регрессионная выборка]] — множество пар <tex>D=\{(\mathbf{x}_n, y_n)\}</tex>, |
<tex>n=1,\ldots,N</tex>. | <tex>n=1,\ldots,N</tex>. | ||
Для построения [[регрессионный анализ|регрессии]] требуется найти такие параметры <tex>\mathbf{w}^{MP}</tex>, которые доставляли бы наименьшее значение функции ошибки <tex>E_D</tex>. | Для построения [[регрессионный анализ|регрессии]] требуется найти такие параметры <tex>\mathbf{w}^{MP}</tex>, которые доставляли бы наименьшее значение функции ошибки <tex>E_D</tex>. |
Версия 18:31, 27 апреля 2008
Оптимальная хирургия мозга (optimal brain surgery) — метод упрощения структуры регрессионной модели, например, нейронной сети. Основная идея метода заключается в том, что те элементы модели или те нейроны сети, которые оказывают малое влияние на ошибку аппроксимации, можно исключить из модели без значительного ухудшения качества аппроксимации. Первоначально метод был предложен ЛеКюном в 1990 году и назывался «optimal brain damage». Затем он был развит Хассиби и получил название «optimal brain surgery».
Содержание[убрать] |
Описание метода
Рассмотрим регрессионную модель , в которой
— независимая переменная,
— зависимая переменная,
— параметры регрессионной модели
, и
— аддитивная случайная величина. Задана регрессионная выборка — множество пар
,
.
Для построения регрессии требуется найти такие параметры
, которые доставляли бы наименьшее значение функции ошибки
.
Найдем локальную аппроксимацию функции в окрестности точки
с помощью разложения в ряд Тейлора:
где — возмущение вектора параметров
,
— градиент
,
и
— матрица вторых производных (матрица Гессе)
.
Предполагается, что функция достигает своего максимума при значении параметров
и ее поверхность квадратична.
Таким образом, предыдущее выражение можно упростить и представить в виде
Пусть исключение элемента модели есть исключение одного параметра модели, .
Исключенный параметр будем считать равным нулю.
Это самое сильное ограничение, не позволяющее применять данный метод для регрессионных моделей произвольного вида.
Исключение элемента эквивалентно выражению
, иначе
где — вектор,
-й элемент которого равен единице, все остальные элементы равны нулю.
Для нахождения исключаемого элемента требуется минимизировать квадратичную форму относительно
при ограничениях
, для всех значений
. Индекс
, который доставляет минимум квадратичной форме,
задает номер исключаемого элемента:
Задача условной минимизации решается с помощью введения Лагранжиана
в котором — множитель Лагранжа. Дифференцируя Лагранжиан по приращению параметров и приравнивая его к нулю получаем
(для каждого индекса
параметра
)
Этому значению вектора приращений параметров соответствует минимальное значение Лагранжиана
Полученное выражение называется мерой выпуклости функции ошибки при изменении параметра
.
Функция зависит от квадрата параметра
. Это что говорит о
том, что параметр с малым значением скорее всего будет удален из модели. Однако если величина
достаточно мала,
это означает, что данный параметр оказывает существенное влияние на качество аппроксимации модели.
Алгоритм
Задана выборка , модель
, функция ошибки
. Для упрощения структуры регрессионной модели выполняем следующие шаги.
- Настраиваем модель, получаем параметры
.
- Для приращения
решаем оптимизационную задачу, находим для каждого индекса
минимальное значение Лагранжиана
.
- Выбираем среди
минимальное, отсекаем элемент модели, соответствующий
-му параметру.
- Добавляем к вектору параметров
, вектор приращений
, соответствующий отсеченому параметру.
- Получаем упрощенную модель. Модель перенастраивать не требуется.
- Процедуру можно повторять до тех пор, пока значение ошибки не превзойдет заранее заданное.
Смотри также
Литература
- Hassibi B., Stork D. G. Second order derivatives for network pruning: Optimal brain surgeon / NIPS 5. 1993. [1]
- 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]
- Хайкин С. Нейронные сети, полный курс. М: Вильямс. 2006.