Примечание переводчика - с момента перевода оригинальные посты несколько обновились, через некоторое время обновлю и перевод. На общие выводы цепочки это, вроде бы, не влияет.
Предыдущие два поста (№2 и №3) представили общую картину мозга, состоящего из Направляющей Подсистемы (мозговой ствол и гипоталамус) и Обучающейся Подсистемы (всё остальное), где последняя «обучается с чистого листа» в конкретном смысле, определённом в Посте №2.
Я предположил, что наши явные цели (например, «Хочу быть космонавтом!») возникают из взаимодействия этих двух подсистем, и понимание этого критически важно, если мы хотим научиться формировать мотивацию подобного-мозгу СИИ так, чтобы он пытался делать то, что мы хотим, чтобы он пытался делать, и избежать катастрофических происшествий, описанных в Посте №1.
Следующие три поста (№4-6) прорабатывают это дальше. Этот пост предоставляет необходимый нам ингредиент: «краткосрочный предсказатель».
Краткосрочное предсказание – одна из вещей, которые делает Обучающаяся Подсистема, я поговорю о других в следующих постах. Краткосрочный предсказатель получает управляющий сигнал («эмпирическую истину») извне и использует обучающийся алгоритм для построения модели, предсказывающей, каким будет этот сигнал через короткий промежуток времени (например, долю секунды) в будущем.
Этот пост содержит общее обсуждение того, как краткосрочные предсказатели работают, и почему они важны. Как мы увидим в следующих двух постах, они окажутся ключевым строительным элементом мотивации и обучения с подкреплением.
Тизер следующей пары постов: Следующий пост (№5) опишет, как определённый вид замкнутой схемы, обёрнутой вокруг краткосрочного предсказателя, превращает его в «долгосрочный предсказатель», связанный с обучением методом временных разниц (TD). Я заявлю, что в мозгу много таких долгосрочных предсказателей, созданных петлями «конечный мозг – мозговой ствол», одна из которых сродни «критику» из модели «субъект-критик» обучения с подкреплением. «Субъект» - это тема поста №6.
Содержание:
Представьте, что у вас есть работа или хобби, где есть конкретный распознаваемый сенсорный намёк (например, кто-то орёт «FORE!!!» в гольфе), а потом через пол секунды после этого намёка вам очень часто прилетает удар в лицо. Ваш мозг научится (непроизвольно) вздрагивать в ответ на этот намёк. В мозгу есть обучающийся алгоритм, управляющий этим вздрагиванием; вероятно, он эволюционировал для защиты лица. Об этом обучающемся алгоритме я и хочу поговорить в этом посте.
Я называю это «краткосрочным предсказателем». Это «предсказатель», потому что цель алгоритма – предсказать что-то заранее (например, приближающийся удар в лицо). Он «краткосрочный», потому что он должен предсказывать, что произойдёт, только на долю секунды в будущее. Это разновидность обучения с учителем, потому что есть «эмпирический» сигнал, задним числом показывающий, какой вывод алгоритму следовало произвести.
Наш «краткосрочный предсказатель» имеет «API» («программный интерфейс приложения» – т.е. каналы, через которые другие части мозга взаимодействуют с модулем «краткосрочного предсказателя») из трёх составляющих:
Контекстные сигналы не обязаны все иметь отношение к задаче предсказания. Мы можем просто закинуть туда целую кучу мусора, и обучающийся алгоритм автоматически отыщет контекстные данные, полезные для задачи предсказания, и будет игнорировать всё остальное.
Как краткосрочный предсказатель может работать на низком уровне?
Ну, предположим, что мы хотим получить сигнал вывода, предшествующий управляющему сигналу на 0.3 секунды – как выше, к примеру, мы хотели бы научиться вздрагивать до удара. Мы хватаем кучу контекстных данных, которые могут иметь отношение к делу – к примеру, нейроны, несущие частично обработанную сенсорную информацию. Мы отслеживаем, какие из этих контекстных потоков особенно вероятно срабатывают за 0.3 секунды до управляющего сигнала. И мы связываем эти потоки с выводом.
И готово! Легкотня.
В биологии это может выглядеть как что-то вроде синаптической пластичности с «трёхфакторным правилом обучения» - т.е. синапс становится сильнее или слабее в зависимости от активности трёх других нейронов (контекст, управление, вывод) и их относительного времени срабатывания.
Чёрные точки обозначают синапсы настраиваемой силы
Для ясности – краткосрочный предсказатель может быть намного, намного сложнее этого. Большая сложность может обеспечить лучшую работу. Приведу интересный пример, про который я совсем недавно узнал – оказывается, в краткосрочных предсказателях в мозжечке (Раздел 4.6 ниже) есть нейроны, которые каким-то образом могут хранить настраиваемый параметр временной задержки внутри самого нейрона(!!) (ссылка – это всплыло на этом подкасте). Другие возможные прибамбасы включают разделение паттернов (Пост №2, Раздел 2.5.4) и обучение одним и тем же управляющим сигналом большого количества выводов и их объединение (ссылка), или, ещё лучше – обучение большого количества выводов с одним и тем же управляющим сигналом, но разными гиперпараметрами, чтобы получить распределение вероятностей (оригинальная статья, дальнейшее обсуждение), и так далее.
Так что этот подраздел – сильное упрощение. Но я не буду извиняться, я думаю, что такие грубо упрощённые игрушечные модели важно рассказывать и держать в голове. С концептуальной точки зрения, мы получили ощущение правдоподобной истории того, как ранние животные могут начать с очень простой (но уже полезной) схемы, которая может затем стать более сложной по прошествии многих поколений. Так что привыкайте – в будущих постах вас ждёт ещё много грубо упрощённых игрушечных моделей!
Давайте вернёмся к примеру выше: вздрагиванию перед получением удара в лицо. Я предположил, что хороший способ решить, когда вздрогнуть – это обучающийся алгоритм «краткосрочного предсказателя». Вот альтернатива: мы можем жёстко прошить схему, определяющую, когда вздрогнуть. К примеру, если в поле зрения есть быстро увеличивающееся пятно, но, вероятно, это хороший момент, чтобы вздрогнуть. Такой детектор правдоподобно может быть прошит в мозгу.
Как сравнить эти два решения? Какое лучше? Ответ: нет нужды выбирать! Они взаимодополняющие. Можно иметь оба. Но всё же, педагогически полезно обговорить их сравнительные преимущества и недостатки.
Главное (единственное?) преимущество жёстко прошитой системы вздрагивания – она работает с рождения. В идеале, не надо получать удар в лицо ни разу. Напротив, краткосрочный предсказатель – обучающийся алгоритм, так что ему в общем случае надо «учиться на своих ошибках».
С другой стороны, у краткосрочного предсказателя есть два мощных преимущества над жёстко прошитым решением – одно очевидное, другое не столь очевидное.
Очевидное преимущество – краткосрочный предсказатель работает на прижизненном, а не эволюционном обучении, так что он может выучивать намёки на то, что надо вздрогнуть, которые редко или вовсе никогда не встречались у предыдущих поколений. Если я часто ударяюсь головой, когда вхожу в конкретную пещеру, я научусь вздрагивать. Нет никакого шанса, чтобы у моих предков эволюционировал рефлекс вздрагивать в этой конкретной части этой конкретной пещеры. Мои предки вообще могли никогда не заходить в эту пещеру. Сама пещера могла не существовать до прошлой недели!
Менее очевидное, но всё же важное преимущество – краткосрочный предсказатель может использовать как ввод выученные с чистого листа паттерны (Пост №2), а жёстко прошитая система вздрагивания – нет. Обоснование тут такое же, как в Разделе 3.2.1 предыдущего поста: геном не может точно знать, какие именно (если вообще какие-то) нейроны будут хранить информацию о конкретном выученном с чистого листа паттерне, так что геном не может жёстко прошить связи с этими нейронами.
Способность использовать выученные с чистого листа паттерны очень выгодна. К примеру, хороший намёк на вздрагивание может зависеть от выученных с чистого листа семантических паттернов (вроде знания «Я сейчас играю в гольф»), выученных с чистого листа зрительных паттернов (например, образ замахивающегося клюшкой человека) или выученных с чистого листа указаний на место (вроде «эта конкретная комната с низким потолком»), и т.д.
Схема краткосрочного предсказывания – особый случай обучения с учителем.
Обучение с учителем – это когда обучающийся алгоритм получает сигнал такого рода:
«Хе-хей, обучающийся алгоритм, ты облажался – тебе вместо этого следовало сделать то-то и то-то.»
Сравните это с обучением с подкреплением, при котором обучающийся алгоритм получает куда менее помогающий сигнал:
«Хе-хей, обучающийся алгоритм, ты облажался.»
(также известный как отрицательное вознаграждение). Очевидно, обучение с учителем может быть куда быстрее обучения с подкреплением. Управляющие сигналы, по крайней мере в принципе, говорят тебе точно, какие параметры менять и как, если ты хочешь лучше справиться в следующий раз в схожей ситуации. Обучение с подкреплением так не делает; вместо этого приходится учиться методом проб и ошибок.
В технических терминах машинного обучения, обучение с учителем «бесплатно» предоставляет полный градиент ошибки на каждом запросе, а обучение с подкреплением – нет.
Эволюция не всегда может использовать обучение с учителем. К примеру, если вы – профессиональный математик, пытающийся доказать теорему, и ваше последнее доказательство не работает, то нет никакого сигнала «эмпирической истины», сообщающего вам, что в следующий раз надо сделать по-другому – ни в вашем мозгу, ни где-то ещё в мире. Извините! Ваше пространство того, что можно сделать, имеет очень высокую размерность и никаких явных указателей. На каком-то уровне метод проб и ошибок – ваш единственный вариант. Не повезло.
Но эволюция может иногда использовать обучение с учителем, как в примерах в этом посте. И суть такова: если она может, скорее всего она использует.
Я сразу перескочу к тому, для чего, как я думаю, нужен мозжечок, а потом поговорю о том, как моя теория соотносится с другими предложениями в литературе.
Я утверждаю, что мозжечок – место обитания большого количества схем краткосрочного предсказывания.
Связи нейроанатомии мозжечка (красным) с нашей диаграммой выше. Как обычно (см. выше), я опускаю множество прибамбасов, которые делают краткосрочный предсказатель точнее, вроде ещё одного дополнительного слоя, который я не показываю, плюс разделение паттернов (Пост №2, Раздел 2.5.4), и т.д.
Насколько много краткосрочных предсказателей: Моя лучшая оценка: около 300000.[1]
Какого чёрта?? Зачем мозгу может понадобиться 300000 краткосрочных предсказателей?
У меня есть версия! Я думаю, что мозжечок смотрит на много сигнал в мозге и обучается сам посылать эти сигналы заранее.
Вот так. Это вся моя теория мозжечка.
Другими словами, мозжечок может открыть правило «С учётом нынешней контекстной информации, я предсказываю, что выходной нейрон коры №218502 активируется через 0.3 секунды». Тогда мозжечок просто берёт и посылает сигнал туда же прямо сейчас. Или наоборот, мозжечок может открыть правило «Учитывая нынешнюю контекстную информацию, я предсказываю, что проприоцептивный нерв №218502 активируется через 0.3 секунды». Опять же, мозжечок идёт на опережение и посылает сигнал туда же прямо сейчас.
Некоторые примерно-аналогичные концепции:
По сути, я думаю, что у мозга есть проблемы такого вида, что пропускная способность некой подсистемы вполне адекватная, но её время ожидания слишком высоко. В случае периферийных нервов время ожидания высоко, потому что сигналам надо пройти большое расстояние. В случае конечного мозга задержка высока потому что сигналам надо пройти не-такое-длинное-но-всё-же-существенное расстояние, а кроме этого им надо пройти через много последовательных шагов обработки. В любом случае, мозжечок может чудесным образом уменьшить время ожидания, заплатив за это периодическими ошибками. Мозжечок находится в центре событий, постоянно спрашивая себя «что за сигнал сейчас появится?» и предвосхищает его сам. И потом через долю секунды он видит, было ли предсказание корректным и обновляет свою модель, если не было. Это как маленькая волшебная коробочка путешествий во времени – линия задержки, чья задержка отрицательна.
И теперь у нас есть ответ: зачем нам надо ≈300000 краткосрочных предсказателей? Потому что периферийных нервов и потоков вывода конечного мозга и может ещё чего много. И многие из этих сигналов выгодно предсказывать-и-предвосхищать! Чёрт, если я понимаю правильно, то мозжечок может даже предсказать-и-предвосхитить сигнал, который конечный мозг посылает сам себе!
Вот моя теория. Я не запускал никаких симуляций; это просто идея. См. здесь и здесь два примера, где я использовал эту модель, чтобы попытаться понять наблюдения из нейробиологии и психологии. Всё остальное, что я знаю про мозжечок – нейроанатомия, как он соединён с другими частями мозга, исследования повреждений и визуализации, и т.д. – всё, насколько я могу сказать, кажется хорошо соответствующим моей теории. Но на самом деле, этот маленький раздел – это почти что сумма всего, что я знаю на эту тему.
(Я тут не эксперт и открыт для поправок.)
Я думаю, широко признано, что мозжечок вовлечён в обучении с учителем. Вроде бы, эта идея называется моделью Марра-Альбуса-Ито, см. Марр 1969 или Альбус 1971, или занимательный YouTube канал Brains Explained.
Напомню, что краткосрочный предсказатель – это случай алгоритма обучения с учителем как более широкой категории. Так что часть про обучение с учителем – не отличительная черта моего предложения, и, например, диаграмма выше (с указанием анатомических деталей мозжечка красным) совместима с обычной картиной Марра-Альбуса-Ито. Отличительный аспект моей теории – чем являются эмпирические сигналы (или чем являются сигналы ошибки – всё равно).
В Посте №2 я упоминал, что когда я вижу прижизненный обучающийся алгоритм, у меня возникает немедленный вопрос: «На каких эмпирических данных он учится?» Я также упоминал, что обычно поиски ответа на этот вопрос в литературе приводят к замешательству и неудовлетворённости. Литература о мозжечке – идеальный тому пример.
К примеру, я часто слышу что-то вроде «синапсы мозжечка обновляются при моторных ошибках». Но кто говорит, что считается моторной ошибкой?
Откуда мозжечку знать? Непонятно.
Я читал несколько вычислительных теорий по поводу мозжечка. Они обычно куда сложнее моей. И они всё ещё оставляют ощущение непонимания, откуда берутся эмпирические данные. Для ясности, я не читал тщательно каждую такую статью, и вполне возможно, что я что-то упустил.
Ну, в любом случае, это не сильно влияет на эту цепочку. Как я упоминал ранее, вы можете быть функционирующим взрослым человеком, способным жить независимо, работать и т.д., вовсе без мозжечка. Так что даже если я полностью неправ по его поводу, это не должно сильно влиять на общую картину.
В вашей коре находится богатая генеративная модель мира, включающего вас самих. Много раз в секунду ваш мозг использует эту модель, чтобы предсказать поступающие сенсорные вводы (зрение, звук, прикосновение, проприоцепция, интероцепция, и т.д.), и, когда его предсказания неверны, модель обновляется в результате ошибки. Так, к примеру, вы можете открыть дверцу вашего шкафа и немедленно понять, что кто-то смазал петли. Вы предсказывали, что это будет звучать и ощущаться определённым образом, и это предсказание было опровергнуто.
С моей точки зрения, предсказательное обучение сенсорных вводов – это главный двигатель запихивания информации из мира в нашу модель мира в коре. Я поддерживаю цитату Яна Лекуна: «Если бы интеллект был тортом, то его основой было бы [предсказательное обучение сенсорных вводов], глазурью – [остальные виды] обучение с учителем, а вишенкой на торте – обучение с подкреплением». Просто количество битов информации, которые мы получаем предсказательным обучением сенсорных вводов подавляюще превосходит все остальные источники.
Предсказательное обучение сенсорных вводов – в том конкретном смысле, в котором я это тут использую – не большая общая теория мышления. Большая проблема возникает, когда оно сталкивается с «решениями» (какие мышцы двигать, на что обращать внимание, и т.д.). Рассмотрим следующее: я могу предсказать, что я буду петь, а потом петь, и предсказание получится правильным. Или я могу предсказать, что я буду танцевать, а потом танцевать, и тогда это предсказание было правильным. Так что у предсказательного обучения есть недостаток; оно не может помочь мне сделать правильное действие. Потому нам нужна ещё и Направляющая Подсистема (Пост №3), посылающая управляющие сигналы и сигналы вознаграждения обучения с подкреплением. Эти сигналы могут продвинуть хорошие решения ток, как предсказательное обучение сенсорных вводов не может.
Всё же, предсказательное обучение сенсорных вводов – это очень важная штука для мозга, и о ней можно много чего сказать. Однако, я рассматриваю её как одну из многих тем, которые очень напрямую важны для создания подобного–мозгу СИИ, но лишь немного относятся к его безопасности. Так что я буду упоминать её время от времени, но если вы ищете точных деталей, вы сами по себе.
Эти примеры тоже не будут важны для этой цепочки, так что я не буду много о них говорить, но просто для интереса вот ещё три случайные штуки, которые, как я думаю, Эволюция может делать с помощью краткосрочных предсказателей.
———