Прошлый урок оставил нейрон, у которого веса ставит человек. Сегодня — две идеи 1940-х, которые впервые позволили системе настраивать себя самой: обратная связь, удерживающая цель, и правило Хебба, меняющее связь по совпадению сигналов. Из них выросли и теория управления, и обучение без учителя.

Наука о кормчем

В 1948 году математик Норберт Винер издал книгу с придуманным им словом в заглавии — «Кибернетика». Слово он произвёл от греческого κυβερνητης\kappa\upsilon\beta\varepsilon\rho\nu\eta\tau\eta\varsigma — «кормчий», рулевой, который постоянно подправляет курс, глядя на отклонение лодки от нужного направления. Винер заметил, что один и тот же приём — измерить отклонение и подействовать против него — управляет и рулевым, и термостатом, и зрачком, сужающимся на свету, и телом, держащим температуру, и рынком, и автопилотом. Кибернетика — это наука об управлении и связи в машине и живом, и её центральное понятие мы разберём сегодня, потому что из него позже вырастет то, как учится нейросеть.

Нам понадобятся две идеи-ровесницы. Первая — обратная связь: система смотрит на результат своего действия и корректирует следующее. Вторая — правило Хебба: связь между двумя элементами усиливается, когда они активны вместе. Первая объясняет устойчивость, вторая — обучение; вместе они впервые описали систему, которая настраивает себя без внешнего конструктора.

Отрицательная обратная связь: рулевой против отклонения

Возьмём термостат. Он измеряет температуру xtx_t, сравнивает с целью rr и вычисляет ошибку

et=rxt.e_t = r - x_t .

Мощность нагревателя он делает пропорциональной ошибке: ut=Ketu_t = K e_t, где K>0K>0 — коэффициент усиления. Чем холоднее относительно цели, тем сильнее греем; перегрели — ошибка сменила знак, и нагрев убавляется сам. Знак реакции всегда против отклонения — потому связь и зовётся отрицательной. Комната отвечает не мгновенно, её простая динамика:

xt+1=xt+αutβ(xtxсн),x_{t+1} = x_t + \alpha\,u_t - \beta\,(x_t - x_{\text{сн}}),

где α\alpha переводит мощность в нагрев, β\beta — потери тепла наружу, xснx_{\text{сн}} — температура снаружи. Подставив ut=Ketu_t=Ke_t, получаем замкнутый контур: будущее состояние зависит от текущей ошибки, а ошибка — от состояния.

Замкнём это в схему. Контур обратной связи всегда один и тот же круг: цель сравнивается с измерением, разность-ошибка идёт в регулятор, регулятор действует на объект, объект даёт новое измерение — и круг замыкается. Стрелка от выхода обратно ко входу и дала имя всему — обратная связь.

Рисунок шире экрана — проведите по немуОткрыть целиком ↗
Блок-схема замкнутого контура: цель r, сумматор вычитает измерение, ошибка e идёт в регулятор с усилением K, воздействие u на объект-комнату, выход x возвращается стрелкой обратной связи к сумматору
Рис. 14.1. Контур обратной связи: сравнение, регулятор, объект, измерение

Универсальный контур управления. Сумматор слева вычитает измерение из цели rr; ошибка ee поступает в регулятор (u=Keu=Ke); воздействие uu меняет объект; его выход xx возвращается по нижней стрелке обратной связи и снова вычитается из цели. Термостат, рулевой, зрачок и нейрон, который вот-вот научится, — все они этот круг.

Слишком слабо, в самый раз, слишком сильно

Всё поведение контура задаёт одно число — усиление KK. Проследим три режима на комнате, которую выстудили ниже цели.

При маленьком KK нагреватель реагирует вяло: температура ползёт к цели медленно, за много шагов. При большом KK система выправляется быстро, но проскакивает цель по инерции запаздывания, потом откатывается назад, снова проскакивает — возникает перерегулирование и затухающие колебания. А если KK сделать ещё больше, колебания перестают затухать и раскачиваются: система теряет устойчивость. Между «вяло» и «вразнос» есть узкая полоса, где восстановление быстрое и без болтанки, — и вся инженерия регуляторов про то, как в неё попасть.

K мало    вяло;K в меру    быстро и гладко;K велико    колебания и срыв.K\ \text{мало}\;\Rightarrow\;\text{вяло}; \qquad K\ \text{в меру}\;\Rightarrow\;\text{быстро и гладко}; \qquad K\ \text{велико}\;\Rightarrow\;\text{колебания и срыв}.
Рисунок шире экрана — проведите по немуОткрыть целиком ↗
Четыре кривых температуры во времени: при малом K медленный подъём к цели, при среднем гладкий выход, при большом затухающие колебания вокруг цели, при очень большом расходящиеся колебания; пунктиром отмечена цель
Рис. 14.2. Один контур, три судьбы: отклик комнаты при разном усилении

Отклик температуры на один и тот же холодный старт при четырёх значениях усиления KK. Слабое усиление тянется к цели долго; среднее выходит гладко; сильное перелетает и колеблется; чрезмерное раскачивается вразнос. Цель — пунктир. Устойчивость и скорость — противоборствующие желания, и балансирует их одно число.

Когда связь толкает в ту же сторону

Перевернём знак. Положительная обратная связь усиливает отклонение вместо того, чтобы гасить его: чуть отклонилось — система толкает дальше, ещё отклонилось — толкает ещё. Поднесите микрофон к динамику, который его же и озвучивает: слабый шум усиливается, попадает обратно в микрофон, усиливается снова — и зал сотрясает вой за доли секунды. Та же математика у лавины, у ядерной цепной реакции, у эпидемии, где каждый заражённый заражает больше одного, у паники на бирже.

Положительная обратная связь не «плохая» — она двигатель всего, что должно нарастать: усилитель сигнала, запуск нейрона, рост популяции. Но сама по себе она неустойчива и без ограничителя уходит в разнос. Живые и технические системы почти всегда сочетают обе: положительная разгоняет, отрицательная удерживает в берегах. Этот баланс — и есть устойчивое поведение, и следующая машина показывает его в чистом виде.

Две связи вместе: логистический рост

Красивее всего баланс двух связей виден в росте населения с ограничением. Пусть xx — доля от предельной численности MM, которую среда способна прокормить. Динамика:

x_{t+1}=x_t+ ho\,x_t\Bigl(1- rac{x_t}{M}\Bigr).

Множитель hoxt ho x_t — положительная обратная связь: чем больше особей, тем больше потомства, разгон. Скобка (1xt/M)(1-x_t/M) — отрицательная: чем ближе к пределу, тем слабее рост, торможение ресурсами. При малом xx верх берёт разгон, популяция растёт почти по экспоненте; у предела торможение уравновешивает разгон, и система замирает на x=Mx=M — устойчивое равновесие, рождённое борьбой двух связей.

Интересное начинается при большом ho ho: торможение срабатывает слишком резко, популяция проскакивает MM, откатывается, снова проскакивает — те же колебания, что у пережатого термостата. Разгонишь ещё — и простая формула роста порождает хаос. Одно и то же уравнение, меняя единственный параметр разгона, проходит путь от гладкого выхода к равновесию через колебания к непредсказуемости; узнать в этом порог устойчивости из задачи про термостат — значит понять, что перед нами не три разных явления, а одно.

Гомеостат: машина, которая держится за жизнь

В том же 1948 году английский психиатр Уильям Росс Эшби построил устройство, которое назвал гомеостатом. Четыре связанных электромагнитных блока, каждый со стрелкой в ванночке с электролитом; блоки влияют друг на друга через регулируемые связи. Если внешнее воздействие выгоняет любую стрелку за допустимые пределы, срабатывает переключатель, случайно меняющий связи, — и так до тех пор, пока система не набредёт на конфигурацию, в которой все стрелки снова в норме. Толкни её как угодно — она перестроит собственные связи и вернётся в устойчивость.

Эшби назвал это свойство ультрастабильностью: устойчивостью не одного состояния, а способности искать устойчивость заново после любого возмущения. Гомеостат словно «хотел выжить» — не потому, что был запрограммирован на конкретный ответ, а потому, что перебирал свои настройки, пока не находил рабочую. Это была первая машина, меняющая собственную структуру ради цели, и в ней уже виден зародыш обучения: система, подстраивающая внутренние связи под требование «оставаться в допустимой области».

Стоит вглядеться, как именно гомеостат ищет. Он не вычисляет, в какую сторону менять связи, — он пробует случайную конфигурацию, проверяет, удержались ли стрелки, и, если нет, пробует другую. Это слепой перебор, поиск без подсказки о направлении. Обучение, к которому мы идём, устроено умнее: градиентный спуск не тычется наугад, а вычисляет, куда шагнуть, чтобы ошибка убывала быстрее всего. Но общая рамка — «меняй внутренние параметры, пока критерий не выполнится» — у гомеостата и у обучающегося нейрона одна, и Эшби нащупал её первым, пусть и самым медленным из возможных способов.

Рисунок шире экрана — проведите по немуОткрыть целиком ↗
Схема из четырёх блоков, соединённых стрелками взаимных связей; у каждого блока стрелка-указатель и зона допустимых значений; при выходе за зону срабатывает блок случайной переконфигурации связей
Рис. 14.3. Гомеостат Эшби: четыре блока, перекрёстные связи и переключатель поиска

Четыре блока Эшби связаны взаимно; у каждого есть допустимая зона (серая полоса). Пока стрелки внутри зон, связи держатся; стоит любой выйти — включается случайная переустановка связей, и поиск идёт, пока все четыре не вернутся в норму. Ультрастабильность — устойчивость самого умения возвращаться к устойчивости.

Правило Хебба: вместе — значит связаны

Обратная связь удерживает цель, но не запоминает. Второй кирпич самонастройки заложил канадский психолог Дональд Хебб в 1949 году, описав, как меняется связь между двумя нейронами. Его правило часто пересказывают присказкой «нейроны, что срабатывают вместе, связываются вместе»: если пресинаптический нейрон регулярно возбуждает постсинаптический, связь между ними крепнет.

На языке нашего порогового элемента из прошлого урока, где вход xx и выход yy, правило Хебба меняет вес так:

Δw=ηxy,\Delta w = \eta\, x\, y ,

где η>0\eta>0 — скорость обучения, маленький шажок. Если вход и выход активны одновременно (xy>0xy>0), вес растёт; связь, часто участвующая в срабатывании, усиливается. Это принципиально иное правило, чем то, что мы увидим у перцептрона в следующем уроке: там вес меняется по ошибке, по разнице с правильным ответом, а здесь — только по совпадению сигналов, безо всякого учителя. Хеббовское обучение — обучение без учителя: никто не говорит, что правильно; вес отражает лишь то, что вход и выход часто совпадали.

Проблема бесконечного роста и её лекарство

У чистого Хебба есть изъян, видный уже из упражнения: вес растёт всегда в одну сторону и без предела — Δw=ηwx2\langle\Delta w\rangle=\eta w\langle x^2\rangle раздувает ww до бесконечности. Живая синапса так не может, и математическая модель тоже не должна. Лекарство предложил финский инженер Эркки Ойа в 1982 году: добавить в правило самоограничение, которое подтягивает длину вектора весов к единице,

Δw=ηy(xyw).\Delta w = \eta\, y\,(x - y\,w).

Слагаемое ηy2w-\eta y^2 w гасит рост, когда выход велик, и вектор весов перестаёт разбухать, останавливаясь на единичной длине. Но самое красивое не это. Нейрон Ойи, обученный на облаке точек, поворачивается и застывает вдоль направления наибольшего разброса данных — вдоль той самой оси, по которой облако вытянуто сильнее всего. Локальное правило «усиливай совпадения» само, без всякого учителя, находит главную структуру данных.

На реальных данных: нейрон находит ось развития

Возьмём датасет Gapminder за 2007 год — 142 страны, у каждой валовой продукт на душу (в логарифме, как мы условились в уроке о кластерах) и ожидаемая продолжительность жизни. Приведём обе величины к общему масштабу — вычтем среднее, поделим на разброс, — чтобы оси были сравнимы. Облако вытянуто: богатые страны живут дольше, корреляция здесь 0,810{,}81.

Запустим на этом облаке хеббовский нейрон с правилом Ойи, начав с произвольного направления вектора весов. Шаг за шагом он поворачивается — и останавливается точно вдоль главной диагонали облака, под углом 4545^\circ: направления «богаче и дольше живёт» против «беднее и короче». Это направление объясняет 90%90\% всего разброса стран; нейрон нашёл главную ось развития, не получив ни одной подсказки о том, что такое «развитие», — только правило «усиливай совпадение входа и выхода».

Рисунок шире экрана — проведите по немуОткрыть целиком ↗
Слева облако из 142 стран в осях стандартизованного логарифма ВВП и продолжительности жизни, вектор весов нейрона поворачивается от случайного начала к диагонали 45 градусов; справа график угла вектора по шагам обучения, выходящий на 45 градусов
Рис. 14.4. Хеббовский нейрон находит главную ось облака стран

Слева — 142 страны в приведённых осях log\log ВВП и продолжительности жизни; серые стрелки показывают, как вектор весов нейрона Ойи поворачивается от случайного старта к главной оси облака (синяя, 4545^\circ). Справа — угол вектора по шагам обучения выходит на плато. Локальное правило Хебба воспроизвело главную компоненту реальных данных о развитии.

Русская линия: обратная связь до Винера

Кибернетику принято отсчитывать от Винера, но идея опережающей и корректирующей связи в живом созрела раньше и во многом в России. Физиолог Пётр Анохин ещё в 1930-х развил теорию функциональных систем с «акцептором результата действия» — механизмом, который заранее предсказывает результат и сверяет с ним фактический исход, то есть обратной связью, встроенной в саму цель поведения. Николай Бернштейн в те же годы построил физиологию активности: движение он описал как непрерывную сенсорную коррекцию — мозг не рассылает готовую команду, а правит её по ходу, глядя на отклонение, — и это за десять с лишним лет до «Кибернетики». А устойчивость систем с обратной связью опирается на теорию Александра Ляпунова, чьи функции устойчивости, созданные ещё в 1892 году, и сегодня доказывают, что регулятор не пойдёт вразнос: идея Ляпунова — найти для системы «энергию», которая только убывает, и тогда система обязана прийти к равновесию, — почти дословно повторится, когда мы будем доказывать сходимость обучения через убывающую функцию потерь.

Лаборатория: поймайте устойчивость руками

Усиление, устойчивость и колебания: настройте регулятор

Загружается живая иллюстрация…

Порядок опытов. Выстудите комнату и крутите усиление KK: при малом наблюдайте вялый подъём к цели, увеличивайте — поймайте гладкий быстрый выход, ещё увеличьте — получите перерегулирование и затухающие колебания, а за порогом — расходящийся вой. Табло считает время установления и величину перелёта; найдите KK, где выход самый быстрый без болтанки. Добавьте возмущение и посмотрите, как контур сам возвращает температуру к цели, — та самая ультрастабильность, но уже на понятном термостате.

Сборка: две пружины самонастройки

Кибернетика дала машинам и живому общий словарь, и два его слова — опоры всего дальнейшего курса. Отрицательная обратная связь удерживает цель, действуя против отклонения; вся её судьба — от вялости до воя — решается одним усилением, и порог устойчивости оказался тем же неравенством «множитель больше или меньше единицы», что правит эпидемией. Гомеостат Эшби показал систему, которая перестраивает собственные связи, пока не вернётся в допустимую область, — первый проблеск самообучения. А правило Хебба дало локальный закон изменения связи по совпадению сигналов, и в форме Ойи этот закон без всякого учителя нашёл главную ось реальных данных о странах. Обратная связь станет предком коррекции по ошибке в градиентном спуске, Хебб — образцом обучения без учителя, а устойчивость — тем, чего мы будем добиваться от каждого обучающегося нейрона. В следующем уроке эти нити сходятся: перцептрон Розенблатта соединит обратную связь по ошибке с изменением весов и впервые научит нейрон проводить границу сам.

Задачи