Как система может сохранять устойчивость и всё же меняться?
Прошлый урок оставил нейрон, у которого веса ставит человек. Сегодня —
две идеи 1940-х, которые впервые позволили системе настраивать себя
самой: обратная связь, удерживающая цель, и правило Хебба, меняющее
связь по совпадению сигналов. Из них выросли и теория управления, и
обучение без учителя.
Наука о кормчем
В 1948 году математик Норберт Винер издал книгу с придуманным им
словом в заглавии — «Кибернетика». Слово он произвёл от греческого
κυβερνητης —
«кормчий», рулевой, который постоянно подправляет курс, глядя на
отклонение лодки от нужного направления. Винер заметил, что один и тот
же приём — измерить отклонение и подействовать против него — управляет
и рулевым, и термостатом, и зрачком, сужающимся на свету, и телом,
держащим температуру, и рынком, и автопилотом. Кибернетика — это наука
об управлении и связи в машине и живом, и её центральное понятие мы
разберём сегодня, потому что из него позже вырастет то, как учится
нейросеть.
Нам понадобятся две идеи-ровесницы. Первая — обратная связь: система
смотрит на результат своего действия и корректирует следующее.
Вторая — правило Хебба: связь между двумя элементами усиливается,
когда они активны вместе. Первая объясняет устойчивость, вторая —
обучение; вместе они впервые описали систему, которая настраивает себя
без внешнего конструктора.
Отрицательная обратная связь: рулевой против отклонения
Возьмём термостат. Он измеряет температуру xt, сравнивает с целью
r и вычисляет ошибку
et=r−xt.
Мощность нагревателя он делает пропорциональной ошибке: ut=Ket,
где K>0 — коэффициент усиления. Чем холоднее относительно цели, тем
сильнее греем; перегрели — ошибка сменила знак, и нагрев убавляется
сам. Знак реакции всегда против отклонения — потому связь и зовётся
отрицательной. Комната отвечает не мгновенно, её простая динамика:
xt+1=xt+αut−β(xt−xсн),
где α переводит мощность в нагрев, β — потери тепла
наружу, xсн — температура снаружи. Подставив ut=Ket,
получаем замкнутый контур: будущее состояние зависит от текущей ошибки,
а ошибка — от состояния.
Замкнём это в схему. Контур обратной связи всегда один и тот же круг:
цель сравнивается с измерением, разность-ошибка идёт в регулятор,
регулятор действует на объект, объект даёт новое измерение — и круг
замыкается. Стрелка от выхода обратно ко входу и дала имя всему —
обратная связь.
Универсальный контур управления. Сумматор слева вычитает измерение из
цели r; ошибка e поступает в регулятор (u=Ke); воздействие u
меняет объект; его выход x возвращается по нижней стрелке обратной
связи и снова вычитается из цели. Термостат, рулевой, зрачок и нейрон,
который вот-вот научится, — все они этот круг.
Слишком слабо, в самый раз, слишком сильно
Всё поведение контура задаёт одно число — усиление K. Проследим три
режима на комнате, которую выстудили ниже цели.
При маленьком K нагреватель реагирует вяло: температура ползёт к цели
медленно, за много шагов. При большом K система выправляется быстро,
но проскакивает цель по инерции запаздывания, потом откатывается назад,
снова проскакивает — возникает перерегулирование и затухающие
колебания. А если K сделать ещё больше, колебания перестают затухать
и раскачиваются: система теряет устойчивость. Между «вяло» и
«вразнос» есть узкая полоса, где восстановление быстрое и без
болтанки, — и вся инженерия регуляторов про то, как в неё попасть.
Рис. 14.2. Один контур, три судьбы: отклик комнаты при разном усилении
Отклик температуры на один и тот же холодный старт при четырёх
значениях усиления K. Слабое усиление тянется к цели долго; среднее
выходит гладко; сильное перелетает и колеблется; чрезмерное
раскачивается вразнос. Цель — пунктир. Устойчивость и скорость —
противоборствующие желания, и балансирует их одно число.
Когда связь толкает в ту же сторону
Перевернём знак. Положительная обратная связь усиливает отклонение
вместо того, чтобы гасить его: чуть отклонилось — система толкает
дальше, ещё отклонилось — толкает ещё. Поднесите микрофон к динамику,
который его же и озвучивает: слабый шум усиливается, попадает обратно в
микрофон, усиливается снова — и зал сотрясает вой за доли секунды. Та
же математика у лавины, у ядерной цепной реакции, у эпидемии, где
каждый заражённый заражает больше одного, у паники на бирже.
Положительная обратная связь не «плохая» — она двигатель всего, что
должно нарастать: усилитель сигнала, запуск нейрона, рост популяции.
Но сама по себе она неустойчива и без ограничителя уходит в разнос.
Живые и технические системы почти всегда сочетают обе: положительная
разгоняет, отрицательная удерживает в берегах. Этот баланс — и есть
устойчивое поведение, и следующая машина показывает его в чистом виде.
Две связи вместе: логистический рост
Красивее всего баланс двух связей виден в росте населения с
ограничением. Пусть x — доля от предельной численности M, которую
среда способна прокормить. Динамика:
x_{t+1}=x_t+
ho\,x_t\Bigl(1-rac{x_t}{M}\Bigr).
Множитель hoxt — положительная обратная связь: чем больше особей,
тем больше потомства, разгон. Скобка (1−xt/M) — отрицательная: чем
ближе к пределу, тем слабее рост, торможение ресурсами. При малом x
верх берёт разгон, популяция растёт почти по экспоненте; у предела
торможение уравновешивает разгон, и система замирает на x=M —
устойчивое равновесие, рождённое борьбой двух связей.
Интересное начинается при большом ho: торможение срабатывает
слишком резко, популяция проскакивает M, откатывается, снова
проскакивает — те же колебания, что у пережатого термостата. Разгонишь
ещё — и простая формула роста порождает хаос. Одно и то же уравнение,
меняя единственный параметр разгона, проходит путь от гладкого выхода к
равновесию через колебания к непредсказуемости; узнать в этом порог
устойчивости из задачи про термостат — значит понять, что перед нами
не три разных явления, а одно.
Гомеостат: машина, которая держится за жизнь
В том же 1948 году английский психиатр Уильям Росс Эшби построил
устройство, которое назвал гомеостатом. Четыре связанных
электромагнитных блока, каждый со стрелкой в ванночке с электролитом;
блоки влияют друг на друга через регулируемые связи. Если внешнее
воздействие выгоняет любую стрелку за допустимые пределы, срабатывает
переключатель, случайно меняющий связи, — и так до тех пор, пока
система не набредёт на конфигурацию, в которой все стрелки снова в
норме. Толкни её как угодно — она перестроит собственные связи и
вернётся в устойчивость.
Эшби назвал это свойство ультрастабильностью: устойчивостью не одного
состояния, а способности искать устойчивость заново после любого
возмущения. Гомеостат словно «хотел выжить» — не потому, что был
запрограммирован на конкретный ответ, а потому, что перебирал свои
настройки, пока не находил рабочую. Это была первая машина, меняющая
собственную структуру ради цели, и в ней уже виден зародыш обучения:
система, подстраивающая внутренние связи под требование «оставаться в
допустимой области».
Стоит вглядеться, как именно гомеостат ищет. Он не вычисляет, в какую
сторону менять связи, — он пробует случайную конфигурацию, проверяет,
удержались ли стрелки, и, если нет, пробует другую. Это слепой перебор,
поиск без подсказки о направлении. Обучение, к которому мы идём, устроено
умнее: градиентный спуск не тычется наугад, а вычисляет, куда шагнуть,
чтобы ошибка убывала быстрее всего. Но общая рамка — «меняй внутренние
параметры, пока критерий не выполнится» — у гомеостата и у обучающегося
нейрона одна, и Эшби нащупал её первым, пусть и самым медленным из
возможных способов.
Рис. 14.3. Гомеостат Эшби: четыре блока, перекрёстные связи и переключатель поиска
Четыре блока Эшби связаны взаимно; у каждого есть допустимая зона
(серая полоса). Пока стрелки внутри зон, связи держатся; стоит любой
выйти — включается случайная переустановка связей, и поиск идёт, пока
все четыре не вернутся в норму. Ультрастабильность — устойчивость
самого умения возвращаться к устойчивости.
Правило Хебба: вместе — значит связаны
Обратная связь удерживает цель, но не запоминает. Второй кирпич
самонастройки заложил канадский психолог Дональд Хебб в 1949 году,
описав, как меняется связь между двумя нейронами. Его правило часто
пересказывают присказкой «нейроны, что срабатывают вместе, связываются
вместе»: если пресинаптический нейрон регулярно возбуждает
постсинаптический, связь между ними крепнет.
На языке нашего порогового элемента из прошлого урока,
где вход x и выход y, правило Хебба меняет вес так:
Δw=ηxy,
где η>0 — скорость обучения, маленький шажок. Если вход и выход
активны одновременно (xy>0), вес растёт; связь, часто участвующая в
срабатывании, усиливается. Это принципиально иное правило, чем то, что
мы увидим у перцептрона в следующем уроке: там вес
меняется по ошибке, по разнице с правильным ответом, а здесь — только
по совпадению сигналов, безо всякого учителя. Хеббовское обучение —
обучение без учителя: никто не говорит, что правильно; вес отражает
лишь то, что вход и выход часто совпадали.
Проблема бесконечного роста и её лекарство
У чистого Хебба есть изъян, видный уже из упражнения: вес растёт всегда
в одну сторону и без предела — ⟨Δw⟩=ηw⟨x2⟩ раздувает w до бесконечности. Живая синапса так не может,
и математическая модель тоже не должна. Лекарство предложил финский
инженер Эркки Ойа в 1982 году: добавить в правило самоограничение,
которое подтягивает длину вектора весов к единице,
Δw=ηy(x−yw).
Слагаемое −ηy2w гасит рост, когда выход велик, и вектор весов
перестаёт разбухать, останавливаясь на единичной длине. Но самое
красивое не это. Нейрон Ойи, обученный на облаке точек, поворачивается
и застывает вдоль направления наибольшего разброса данных — вдоль той
самой оси, по которой облако вытянуто сильнее всего. Локальное правило
«усиливай совпадения» само, без всякого учителя, находит главную
структуру данных.
На реальных данных: нейрон находит ось развития
Возьмём датасет Gapminder за 2007 год — 142 страны, у каждой валовой
продукт на душу (в логарифме, как мы условились в
уроке о кластерах) и ожидаемая продолжительность жизни.
Приведём обе величины к общему масштабу — вычтем среднее, поделим на
разброс, — чтобы оси были сравнимы. Облако вытянуто: богатые страны
живут дольше, корреляция здесь 0,81.
Запустим на этом облаке хеббовский нейрон с правилом Ойи, начав с
произвольного направления вектора весов. Шаг за шагом он
поворачивается — и останавливается точно вдоль главной диагонали
облака, под углом 45∘: направления «богаче и дольше живёт»
против «беднее и короче». Это направление объясняет 90% всего
разброса стран; нейрон нашёл главную ось развития, не получив ни одной
подсказки о том, что такое «развитие», — только правило «усиливай
совпадение входа и выхода».
Рис. 14.4. Хеббовский нейрон находит главную ось облака стран
Слева — 142 страны в приведённых осях log ВВП и продолжительности
жизни; серые стрелки показывают, как вектор весов нейрона Ойи
поворачивается от случайного старта к главной оси облака (синяя,
45∘). Справа — угол вектора по шагам обучения выходит на плато.
Локальное правило Хебба воспроизвело главную компоненту реальных
данных о развитии.
Русская линия: обратная связь до Винера
Кибернетику принято отсчитывать от Винера, но идея опережающей и
корректирующей связи в живом созрела раньше и во многом в России.
Физиолог Пётр Анохин ещё в 1930-х развил теорию функциональных систем
с «акцептором результата действия» — механизмом, который заранее
предсказывает результат и сверяет с ним фактический исход, то есть
обратной связью, встроенной в саму цель поведения. Николай Бернштейн в
те же годы построил физиологию активности: движение он описал как
непрерывную сенсорную коррекцию — мозг не рассылает готовую команду, а
правит её по ходу, глядя на отклонение, — и это за десять с лишним лет
до «Кибернетики». А устойчивость систем с обратной связью опирается на
теорию Александра Ляпунова, чьи функции устойчивости, созданные ещё в
1892 году, и сегодня доказывают, что регулятор не пойдёт вразнос: идея
Ляпунова — найти для системы «энергию», которая только убывает, и тогда
система обязана прийти к равновесию, — почти дословно повторится, когда
мы будем доказывать сходимость обучения через убывающую функцию потерь.
Лаборатория: поймайте устойчивость руками
Усиление, устойчивость и колебания: настройте регулятор
График шире экрана — листайте по горизонтали →
Загружается живая иллюстрация…
Порядок опытов. Выстудите комнату и крутите усиление K: при малом
наблюдайте вялый подъём к цели, увеличивайте — поймайте гладкий
быстрый выход, ещё увеличьте — получите перерегулирование и
затухающие колебания, а за порогом — расходящийся вой. Табло считает
время установления и величину перелёта; найдите K, где выход самый
быстрый без болтанки. Добавьте возмущение и посмотрите, как контур
сам возвращает температуру к цели, — та самая ультрастабильность, но
уже на понятном термостате.
Сборка: две пружины самонастройки
Кибернетика дала машинам и живому общий словарь, и два его слова —
опоры всего дальнейшего курса. Отрицательная обратная связь удерживает
цель, действуя против отклонения; вся её судьба — от вялости до воя —
решается одним усилением, и порог устойчивости оказался тем же
неравенством «множитель больше или меньше единицы», что правит
эпидемией. Гомеостат Эшби показал систему, которая перестраивает
собственные связи, пока не вернётся в допустимую область, — первый
проблеск самообучения. А правило Хебба дало локальный закон изменения
связи по совпадению сигналов, и в форме Ойи этот закон без всякого
учителя нашёл главную ось реальных данных о странах. Обратная связь
станет предком коррекции по ошибке в градиентном спуске,
Хебб — образцом обучения без учителя, а устойчивость — тем, чего мы
будем добиваться от каждого обучающегося нейрона. В следующем уроке
эти нити сходятся: перцептрон Розенблатта соединит обратную связь по
ошибке с изменением весов и впервые научит нейрон проводить границу
сам.