Двойственность по Лежандру и смысл двойственных переменных
Просматривая текст предыдущих разделов, я убедился, что подробное изложение и элементы стиля математической логики могут даже очевидное сделать сложным. В данном разделе описывается связь двойственного функционирования сетей автоматов с преобразованием Лежандра и неопределенными множителями Лагранжа. Это изложение ориентировано на читателя, знакомившегося с лагранжевым и гамильтоновым формализмами и их связью (в классической механике или вариационном исчислении). Фактически на двух страницах будет заново изложен весь предыдущий материал лекции.
Переменные обратного функционирования ? появляются как вспомогательные при вычислении производных сложной функции. Переменные такого типа появляются не случайно. Они постоянно возникают в задачах оптимизации и являются множителями Лагранжа.
Мы вводим ?, исходя из правил дифференцирования сложной функции. Возможен другой путь, связанный с переходом от функции Лагранжа к функции Гамильтона. Изложим его и параллельно получим ряд дальнейших обобщений. Для всех сетей автоматов, встречавшихся нам в предыдущих разделах и лекциях, можно выделить три группы переменных:
- внешние входные сигналы x...,
- переменные функционирования - значения на выходах всех элементов сети f...,
- переменные обучения a...
(многоточиями заменяются различные наборы индексов).
Объединим их в две группы - вычисляемые величины y... - значения f... и задаваемые - b... (включая a... и x...). Упростим индексацию, перенумеровав f и b натуральными числами: f1,...,fN; b1,...,bM.
Пусть функционирование системы задается набором из N уравнений
![]() |
(13) |
Для послойного вычисления сложных функций вычисляемые переменные - это значения вершин для всех слоев, кроме нулевого, задаваемые переменные - это значения вершин первого слоя (константы и значения переменных), а уравнения функционирования имеют простейший вид (4), для которого
![](../../../../img/tex/c/d/a/cda97c7906e06806c602fb9c947b54ef.png)
где
![](../../../../img/tex/3/3/4/334f6c287648aa347499b733e8bab0cf.png)
![](../../../../img/tex/6/c/3/6c3e225d02d7a9bc9cfb6ac619105058.png)
Предполагается, что система уравнений (13) задает способ вычисления yi.
Пусть имеется функция (лагранжиан) H(y1,...,yN,b1,...,bM). Эта функция зависит от b и явно, и неявно - через переменные функционирования y.
Если представить, что уравнения (13) разрешены относительно всех y (y=y(b)), то H можно представить как функцию от b:
H=H1 (b)=H(y1 (b),...,yN (b),b). (14)
где b - вектор с компонентами bi.
Для задачи обучения требуется найти производные Di =?H1(b)/?bi. Непосредственно и явно это сделать трудно.
Поступим по-другому. Введем новые переменные ?1,...,?N (множители Лагранжа) и производящую функцию W:
![](../../../../img/tex/3/e/c/3ec5405175bf195d82dbea8ca728e062.png)
В функции W аргументы y, b и ? - независимые переменные.
Уравнения (13) можно записать как
![]() | (15) |
![](../../../../img/tex/1/0/7/1072eb304555bc0d493a01b054f5c374.png)
![]() | (16) |
![](../../../../img/tex/5/4/c/54c4539c5494326d03fb387e11cabe0d.png)
Попытаемся подобрать такую зависимость
![](../../../../img/tex/9/2/2/922897071545a3c4658986256e382c7c.png)
![](../../../../img/tex/6/f/9/6f9c3bc158693b0e244834544b86cb51.png)
Поэтому
![]() | (17) |
Произвол в определении ?(b) надо использовать наилучшим образом - все равно от него придется избавляться, доопределяя зависимости. Если выбрать такие ?, что слагаемые в первой сумме последней строки выражения (17) обратятся в нуль, то формула для Di резко упростится. Положим поэтому
![]() | (18) |
![](../../../../img/tex/8/e/1/8e1a49e855e420f8f6ee71b0c88d33da.png)
это - в точности те выражения, которые использовались при поиске производных сложных функций. В наших вычислениях мы пользовались явным описанием функционирования. Метод множителей Лагранжа допускает и менее явные описания сетей.
В математическом фольклоре бытует такой тезис: сложная задача оптимизации может быть решена только при эффективном использовании двойственности. Методы быстрого дифференцирования являются яркой иллюстрацией этого тезиса.
Если представить, что уравнения (13) разрешены относительно всех y (y=y(b)), то H можно представить как функцию от b:
H=H1 (b)=H(y1 (b),...,yN (b),b). (14)
где b - вектор с компонентами bi.
Для задачи обучения требуется найти производные Di =?H1(b)/?bi. Непосредственно и явно это сделать трудно.
Поступим по-другому. Введем новые переменные ?1,...,?N (множители Лагранжа) и производящую функцию W:
![](../../../../img/tex/3/e/c/3ec5405175bf195d82dbea8ca728e062.png)
В функции W аргументы y, b и ? - независимые переменные.
Уравнения (13) можно записать как
![]() | (15) |
![](../../../../img/tex/1/0/7/1072eb304555bc0d493a01b054f5c374.png)
![]() | (16) |
![](../../../../img/tex/5/4/c/54c4539c5494326d03fb387e11cabe0d.png)
Попытаемся подобрать такую зависимость
![](../../../../img/tex/9/2/2/922897071545a3c4658986256e382c7c.png)
![](../../../../img/tex/6/f/9/6f9c3bc158693b0e244834544b86cb51.png)
Поэтому
![]() | (17) |
Произвол в определении ?(b) надо использовать наилучшим образом - все равно от него придется избавляться, доопределяя зависимости. Если выбрать такие ?, что слагаемые в первой сумме последней строки выражения (17) обратятся в нуль, то формула для Di резко упростится. Положим поэтому
![]() | (18) |
![](../../../../img/tex/8/e/1/8e1a49e855e420f8f6ee71b0c88d33da.png)
это - в точности те выражения, которые использовались при поиске производных сложных функций. В наших вычислениях мы пользовались явным описанием функционирования. Метод множителей Лагранжа допускает и менее явные описания сетей.
В математическом фольклоре бытует такой тезис: сложная задача оптимизации может быть решена только при эффективном использовании двойственности. Методы быстрого дифференцирования являются яркой иллюстрацией этого тезиса.