Оптимальное прореживание нейронных сетей
Материал из 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.