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