Оптимальное прореживание нейронных сетей
Материал из MachineLearning.
Оптимальная хирургия мозга (optimal brain surgery) — метод упрощения структуры регрессионной модели, например, нейронной сети. Основная идея метода заключается в том, что те элементы модели или те нейроны сети, которые оказывают малое влияние на ошибку аппроксимации, можно исключить из модели без значительного ухудшения качества аппроксимации. Первоначально метод был предложен ЛеКюном в 1990 году и назывался «optimal brain damage». Затем он был развит Хассиби и получил название «optimal brain surgery».
![]() | Авторы сомневаются в правильности перевода термина 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.