Как мозг прокладывает собственные "провода", стартуя с единственной клетки и опираясь только на информацию, закодированную в геноме? Задачу можно поставить как инженерную: написать программу, которую выполняет одна-единственная клетка, чтобы построить из себя мозг. Программа должна быть достаточно компактной, чтобы уместиться в геноме, и достаточно быстрой, чтобы завершиться в пределах времени развития организма. Программист, мало знакомый с биологией, довольно быстро понимает, почему очевидные стратегии — те самые, что экспериментальная биология развития уже отвергла — не выдерживают масштабирования: геном слишком мал, чтобы хранить проводку для каждого синапса, а аксоны, вслепую ищущие цели, потратили бы на это слишком много времени. Те же алгоритмические ограничения подталкивают к решениям, напоминающим стратегии, которые реально используют живые организмы. Совпадение структуры решения, вытекающего из пределов масштабирования, со структурой решения, найденного эволюцией, говорит о том, что многие черты нейроразвития можно объяснить вычислительной необходимостью, а не только случайностью эволюционного пути. Там, где прежние мысленные эксперименты приводили к неутешительным выводам о способности биолога починить радиоприёмник1 или понять устройство микропроцессора2, здесь новость лучше: устройство мозга, возможно, удастся восстановить не разбирая его на части, а задавшись вопросом, как геном вообще должен его специфицировать.

Представим, что программисту вручили полную схему соединений мозга и попросили: напишите программу, которую единственная клетка выполнит, чтобы развиться в эту сеть. Программа должна уместиться в инструкции размером с геном — около 1 гигабайта, и завершиться в пределах окна развития — максимум примерно за год. Сложность в том, что алгоритм должен масштабироваться: работать и для 302 нейронов C. elegans, и для ~10⁵ нейронов мухи, и для ~10⁸ нейронов мыши3, и для ~10¹⁰ нейронов мозга человека4 (рис. 1). Как решал бы эту задачу человек, ничего не знающий о биологии развития?

Рис. 1. Информационный разрыв. Размер мозга в сравнении с размером генома для ряда организмов. Размер генома варьирует лишь примерно в один порядок величины, тогда как размер мозга — в восемь. Пунктирная линия показывает границу, где простейшее возможное кодирование связей — матрица смежности с одним битом на пару нейронов, n² бит в сумме — едва помещается в геном*. В зелёной зоне геном достаточно велик для такого кодирования. В красной зоне мозг слишком велик. Только C. elegans отчётливо попадает в допустимую область и потому может быть закодирован матрицей смежности. Мозг остальных видов должен кодироваться другой стратегией. Открытый вопрос — какая стратегия способна закодировать и построить такие сети при вычислительных ограничениях.

Программист, по сути, формализует задачу в духе Тьюринга5, фон Неймана6, Уоддингтона7 и Бреннера8, которые видели в геноме набор инструкций для построения организма, а не описание готового организма. Формализация задачи помогает выделить алгоритмические стратегии, которые одновременно осуществимы и вычислимы за разумное время. Разбирая упражнение, можно увидеть, что стратегии, работающие для маленькой нервной системы, упираются в жёсткие стены при росте сети, и ограничения сужают поле решений до узкого класса. Совпадение теории и эксперимента полезно в обоих направлениях. Для нейробиологов развития это формализует знакомые молекулярные механизмы как решения чётко поставленной алгоритмической задачи и выделяет, какие черты этих механизмов — вычислительная необходимость, а какие свободны для вариации. Для теоретиков это представляет биологическое развитие как систему, решающую пока не решённую вычислительную задачу. Современное машинное обучение пока не умеет генерировать крупные функциональные сети из компактных описаний, полагаясь либо на большую хранимую матрицу весов, скопированную с диска, либо на обучающую выборку на порядки большего размера9. Исходная зигота содержит именно такое компактное описание, и анализ процесса развития может подсказать новые алгоритмы для искусственных систем.

Задача и её ограничения

Что значит написать программу развития1014? Программист не может расставить нейроны и соединить их снаружи, как инженер, паяющий плату. Вместо этого нужно написать набор инструкций, который закладывается в единственную исходную клетку, — а дальше нужно просто уйти. Эта клетка делится, и каждая дочерняя клетка наследует ту же программу и выполняет её независимо. Каждый экземпляр программы может читать только то, что чувствует локально: собственное внутреннее состояние плюс молекулярные сигналы от соседних клеток, которые сами выполняют ту же программу. Клетка совершает действия, строящие мозг: делится, мигрирует, выпускает конусы роста, которые находят путь, считывая молекулярные метки, и по прибытии формируют синапсы. Весь процесс построения распределён и рекурсивен, поскольку каждый сигнал, который читает клетка, был произведён другой клеткой, выполняющей тот же код. Единственный рычаг программиста — набор инструкций, загружаемых в геном в самом начале, плюс исходное состояние клетки.

Программа должна давать правильную сеть, соблюдая практические ограничения. В центре внимания — два аспекта: программа должна быть достаточно короткой, чтобы уместиться в геноме, и завершаться за разумное время. Мозг человека содержит n ≈ 10¹⁰ нейронов, каждый из которых формирует связи с числом целей до m ≈ 10⁴15, в сумме до n × m ≈ 10¹⁴ соединений.

Программа должна удовлетворять двум жёстким ограничениям.

Информационное ограничение. Инструкции для построения мозга в конечном счёте должны находиться в геноме, который содержит примерно 3 × 10⁹ пар оснований21. Каждая пара оснований представляет 2 бита, поскольку существует четыре азотистых основания. Общее информационное содержание генома составляет, таким образом, порядка 6 × 10⁹ бит, или около 10¹⁰ бит как щедрая верхняя оценка. Эта оценка щедра, поскольку предполагает, что в геноме нет избыточности и что каждый нуклеотид посвящён проводке мозга, не оставляя ничего на остальной организм. Любая стратегия проводки, чьи инструкции превышают этот бюджет, не может быть той, что использует биология. Бюджет не сильно меняется между видами: C. elegans и человек отличаются менее чем на два порядка по размеру генома, но более чем на восемь — по числу нейронов (рис. 1). Каким бы ни был алгоритм проводки мозга млекопитающего, он должен масштабироваться сублинейно по числу нейронов.

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

Наш программист рассмотрит три подхода в следующих разделах. Каждый подход оценивается на соответствие ограничениям задачи, пока не найдётся стратегия, не нарушающая ни одного из них. Пока что рассмотрение ограничено детерминированными, не зависящими от активности процессами: каждая клетка выполняет свою программу без обратной связи от нейронной активности и без шума. Пластичность, в частности, работает на уже существующих связях; вопрос о том, как аксоны вообще попадают к нужным популяциям клеток, рассматривается первым. Стохастичность и зависящая от активности пластичность обсуждаются кратко в более поздних разделах.

Стратегия 1: подход идентичности

  • Время O(n)
  • Объём O(mn log n)
Рис. 2. Подход идентичности. Каждый нейрон хранит список идентичностей целей. На рисунках 2–5 мозг имеет n нейронов, каждый соединяется с m целями, построен из генома, кодирующего до 10¹⁰ бит, а t — число типов клеток, разделяющих общее правило проводки. «Время» означает суммарную длину аксона на одну цель, узкое место — скорость, с которой нейрон способен наращивать длину аксона. «Объём» означает биты геномных инструкций.

В своей Тьюринговской лекции 1974 года28 Дональд Кнут заявил, что преждевременная оптимизация — корень всех зол. Следуя этому знаменитому принципу, программист сначала пробует самый наивный алгоритм (рис. 2): присвоить каждому нейрону уникальную метку идентичности, хранить в геноме список меток целей для каждого нейрона, и заставить каждый конус роста перебирать этот список, находя путь к каждой цели и формируя синапс. Но как конус роста находит клетку с заданной меткой? Без карты или пространственной структуры, которую можно использовать, лучшее, что может сделать конус роста, — систематически перебирать клетки, пока не найдётся совпадение.

Задача аналогична поиску книги в неотсортированной библиотеке. В среднем поиск находит нужную книгу, пройдя половину полок; в худшем случае — все. Стоимость поиска растёт пропорционально размеру коллекции. При n нейронах и отсутствии навигационной структуры конус роста должен пройти мимо до n клеток, чтобы найти одну цель. Суммарная длина аксона на цель, таким образом, составляет O(n), растущая линейно с размером мозга. Для человеческого мозга с n ≈ 10¹⁰ нейронами, упакованными в объём около 1300 см³, около 15 см в поперечнике4, среднее расстояние между клетками составляет ~50 мкм, так что поиск O(n) растягивается примерно на 500 км аксона на одну цель — на порядки больше того, что нейрон способен произвести (и обрезать) за недели-месяцы развития27,29.

Но длина аксона — не единственная проблема. Список целей должен браться из генома, который одинаков в каждой клетке. Геном нейрона должен, таким образом, содержать не только его собственные цели, но и список проводки для каждого из n нейронов. Рис. 1 показал, что кодирование матрицей смежности несёт информационную стоимость порядка O(n²), или 10²⁰ бит. Однако это не учитывает того, что проводка мозга очень разрежена: подавляющее большинство пар нейронов не соединены. Вместо перечисления всех пар нейронов было бы гораздо экономичнее закодировать для каждого нейрона список меток для каждого смежного нейрона. Сколько бит нужно, чтобы уникально пометить каждый нейрон? 1 битом можно различить 2 клетки; 2 битами — 4; 3 битами — 8. Каждый дополнительный бит удваивает число различимых меток, так что маркировка n клеток требует log₂ n бит на метку, около 33 бит для 10¹⁰ нейронов. Каждому из n нейронов нужен список из m меток целей, и каждая метка длиной log₂ n бит. Требуемый объём хранения составляет n × m × log n, или O(nm log n) бит. Для человеческого мозга это составляет примерно 3 × 10¹⁵ бит — по-прежнему на порядки больше, чем ёмкость генома в 10¹⁰ бит (верхняя оценка, при условии, что каждый бит генома посвящён проводке мозга, чего, конечно, нет).

Стратегия 1 проваливается по обоим ограничениям: время, необходимое для наращивания требуемой длины аксона, слишком велико, а список инструкций слишком большой.

Нейробиология развития пришла к тому же выводу экспериментальным путём. Гипотеза хемоаффинности Сперри предполагала, что каждый нейрон несёт молекулярную идентичность и находит свою цель, сопоставляя метки, — центральная идея Стратегии 130. Рассуждая на основе экспериментов по регенерации, в которых перерезанные аксоны заново находили свои изначальные цели, Сперри предполагал существование «буквально миллионов, а возможно, и миллиардов химически различающихся типов нейронов, каждый из которых отличим от всех остальных»30. Гипотеза оказалась продуктивной и запустила плодотворные поиски молекул идентичности. Эти поиски обнаружили впечатляющее молекулярное разнообразие (Dscam1 у Drosophila производит свыше 10 000 изоформ31, а протокадгерины позвоночных создают комбинаторные коды идентичности32), но это разнообразие опосредует локальное самоизбегание, а не глобальный выбор цели33,34. С тех пор область сместилась от точных профилей «ключ-замок» к логическим правилам распознавания, реализованным в молекулярной машинерии3436, — тот же сдвиг, который предсказывает аргумент о масштабировании.

Стратегия 2: подход путевых меток

  • Время O(∛n)
  • Объём O(kmn log n)
Рис. 3. Подход путевых меток. Каждый нейрон хранит последовательность путевых точек к каждой цели. Длина пути масштабируется как n^(1/3), поскольку n нейронов заполняют трёхмерный объём, линейная протяжённость которого растёт как кубический корень.

Проблема поиска — эффективного нахождения нужных партнёров — более очевидный провал, поэтому программист берётся за неё первой (рис. 3). Снова в неотсортированной библиотеке: вместо блуждания по полкам кто-то предоставляет последовательность ориентиров. Чтобы найти «Моби Дика», сначала идите к полке с «Войной и миром»; оттуда ищите «Гордость и предубеждение»; оттуда найдите «Потерянный рай», который находится рядом с вашей целью. Каждый ориентир — это маркер, который конус роста способен распознать по прибытии в это место; конус роста считывает их последовательно вдоль своего физического пути. Конус роста никогда не ищет вслепую — он всегда знает следующий шаг.

Это решает проблему навигации. В Стратегии 1, без указаний, конусу роста приходилось искать клетку за клеткой, порождая длину пути, пропорциональную числу нейронов n. Ориентиры превращают этот исчерпывающий поиск в прямой проход: конус роста движется прямо к своей цели, направляемый на каждом шагу. Направленный проход через трёхмерный объём гораздо короче исчерпывающего поиска по нему, поскольку n нейронов, упакованных в три измерения, отстоят друг от друга лишь на O(∛n) клеточных ширин. Длина аксона на цель падает с O(n) до O(∛n).

Но проблема хранения только усугубляется. Указания специфичны для отправной точки. Тому, кто начинает с другой полки, нужен совершенно другой набор ориентиров. Каждый нейрон стартует из другого места, поэтому каждому нужен свой набор указаний для каждой цели. Если каждый путь требует k путевых точек, геном должен хранить n × m × k меток, каждая стоимостью log n бит, как и раньше; сложность по объёму составляет O(nmk log n), превышая Стратегию 1 в k раз. Подход путевых меток меняет одну проблему на другую: он сокращает путь, но раздувает инструкции.

Модель путевых меток при наведении аксонов34,3739, в которой длинные траектории аксонов разбиваются на короткие сегменты, ограниченные последовательными молекулярными точками выбора, документирует именно то явление, что описывает Стратегия 2. Модель оказалась чрезвычайно продуктивной: она объясняет, как аксоны преодолевают тканевые границы, пересекают срединную линию и входят в целевые области. Но наблюдение, что аксон поворачивает в серии точек выбора, не объясняет, как эти точки специфицируются. Если каждая метка независима и выставляется в геноме по одной путевой точке за раз, стоимость растёт с каждым шагом, и аргумент о масштабировании исключает такой вариант. Более дешёвая альтернатива в том, что метки не независимы, а являются считываниями лежащего в основе порядка — именно этот шаг делает Стратегия 3. Так же как читатель, не знающий алфавита, не может определить, отсортирована ли библиотека или просто помечена от полки к полке, одна лишь траектория не позволяет отличить две стратегии друг от друга.

Программист на верном пути. Навигация по ориентирам работает; проблема в том, что ориентиры произвольны. Каждый из них — специальный молекулярный маркер, который геном должен специфицировать, а конус роста должен научиться распознавать. Что нужно программисту — это систематический набор ориентиров, где каждое место имеет предсказуемый адрес.

Стратегия 3: координатный подход

нереализуемо

Рис. 4. Координатный подход на внешней сетке. Клетки имеют адреса, а правила проводки — компактные преобразования этих адресов. В этой версии используется внешняя декартова сетка с правилами смещения. Она нереализуема, поскольку требует глобальной системы координат, которую ни одна клетка не может считать изнутри ткани.
  • Время O(∛n)
  • Объём O(tm log n)
Рис. 5. Координатный подход на внутренней иерархии. Иерархия строится рекурсивным подразделением (см. рис. 6), которое клетки могут порождать самостоятельно по мере деления. Битовая маска — бинарный паттерн, задающий, какие биты адреса исходной клетки нужно инвертировать: маска 1000, применённая к любому 4-битному адресу, инвертирует первый бит, соединяя каждую клетку с её контралатеральным партнёром. Каждый нейрон определённого типа применяет ту же маску к своему собственному адресу, так что правило хранится один раз на тип, а не один раз на нейрон.

Очевидная первая попытка привнести структуру в ориентиры — координатная сетка. Снова в библиотеке: «Моби Дик» находится на третьем этаже, в юго-восточном углу, в двенадцати футах от стены, на второй полке (рис. 4). С таким адресом любой читатель может найти любую книгу без индивидуальных указаний для каждой отправной точки. Но у внешней координатной системы есть серьёзный изъян: если библиотека перестраивается — переезжает в более высокое здание, меняет расположение этажей, — каждый адрес приходится переписывать. Метки описывают позиции во внешней системе отсчёта, и когда система отсчёта меняется, метки ломаются. Это декартова сетка с координатами x, y, z, и у неё тот же изъян применительно к мозгу. Мозг строится из единственной клетки, ткань меняет форму по мере роста, и любой адрес, привязанный к фиксированной внешней системе отсчёта, приходилось бы переписывать каждый раз, когда система отсчёта сдвигается.

Но есть более глубокая причина, почему декартова сетка не просто хрупка, а прямо нереализуема. Приведённый выше аргумент написан снаружи. Он предполагает, что кто-то штампует координаты на клетках, и беспокоится, что штампы сдвинутся. С точки зрения самой клетки — единственной, которая имеет значение, поскольку программист уже ушёл, — штамповать нечем изначально. Декартов адрес вида (x, y, z) предполагает наличие линейки и начала отсчёта, а и то, и другое существует вне клетки, вне самого организма. Привилегированной системы отсчёта не существует.

Алфавитный порядок решает эту проблему, предоставляя систему отсчёта в относительных координатах. Никому не нужно знать, на каком этаже или полке стоит книга. Сам порядок указывает, где находится любая книга относительно любой другой, без необходимости запоминать координаты. Тот же порядок, что назначает каждой книге позицию, также обеспечивает быстрый поиск: начните примерно с середины стеллажа, проверьте, идёт ли ваше название раньше или позже, повторите. Каждый шаг сокращает вдвое оставшиеся полки. Библиотека из 1000 книг требует лишь около 10 таких делений пополам (2¹⁰ = 1024); библиотека из миллиона книг — лишь 20. Число шагов растёт как O(log n): очень медленно, даже когда n становится большим. Процесс сортировки строит координатную систему и навигационную структуру за один шаг. Ориентиры по-прежнему присутствуют — это алфавитные идентичности книг на каждой полке, — но они возникают из организации самой библиотеки, а не из внешней системы отсчёта.

Клеточное деление способно обеспечить именно такое упорядочивание для развивающейся ткани (рис. 5). Каждый раз, когда клетка-предшественник делится, она производит две дочерние клетки. Если каждая дочерняя клетка наследует метку, кодирующую её позицию в дереве деления, — бинарный адрес, удлиняемый на один бит при каждом делении, — то после d = log₂ n раундов каждая клетка получает уникальный d-битный адрес, лексикографически упорядоченный в пространстве40 (рис. 6). Рассмотрим три раунда деления. Первый делит ткань пополам: одна дочерняя клетка помечается 0, другая — 1. Второе деление снова делит каждую половину, добавляя второй бит: 00, 01, 10, 11. После третьего раунда получаются восемь клеток с 3-битными адресами. Две клетки, разделяющие префикс 01, происходят от одной и той же дочерней клетки второго раунда и находятся рядом друг с другом в ткани. Клетки, разделяющие недавнего предка, имеют схожие адреса, и дерево отражает пространственную структуру ткани. Каждый бит адреса соответствует пространственной оси: первое деление может разделять левое и правое, второе — переднее и заднее, третье — медиальное и латеральное. В биологических терминах каждый бит — молекулярное различие между дочерними популяциями: транскрипционный фактор, экспрессируемый в одной линии, но не в другой, либо градиент, разделяющий домен на две субдомена с разной идентичностью41,42. Полный адрес клетки задаёт её положение в ткани. Эта координатная система не требует внешней системы отсчёта — она наследуется при каждом делении, порождается бесплатно самим процессом, создающим клетки. Карта также продолжает расти: ранее проложенные аксоны служат каркасом, по которому следуют более поздние аксоны, расширяя навигационную структуру со временем38,43. Правила проводки не нужно переписывать при изменении формы мозга.

Рис. 6. Иерархическая структура ткани и компактные правила проводки. Дерево — это H-дерево, построенное рекурсивным подразделением. Каждое деление удлиняет бинарный адрес на один бит, так что после трёх раундов у каждого листа уникальная 3-битная метка. Каждый бит кодирует пространственную ось: левое-правое — бит 1, переднее-заднее — бит 2, медиальное-латеральное — бит 3, и анатомические метки вокруг дерева окрашены соответственно. Три цветные панели изображают по одному правилу инверсии одного бита на том же дереве, с выделенным инвертируемым битом в каждом адресе. Инверсия бита 1 (красный) соединяет каждый нейрон с его контралатеральным партнёром. Инверсия бита 2 (зелёный) соединяет переднезадних партнёров. Инверсия бита 3 (голубой) соединяет медиолатеральных партнёров. Каждое правило — компактное преобразование, общее для всех нейронов, которое конус роста может вычислить, навигируя по дереву.

Координатная система способна решить проблему навигации: в каждой точке ветвления конус роста проверяет один бит своего целевого адреса и выбирает соответствующую половину ткани, считывая полный адрес за O(log n) сравнений битов. Физическая длина пути по-прежнему O(∛n), как и в Стратегии 2; выигрыш перед Стратегией 2 — в информационной стоимости, а не во времени. Система также предоставляет естественный язык для записи правил проводки.

Простейшее правило на этом языке — «соединись с четырьмя ближайшими соседями (север, юг, восток, запад)», но оно порождает лишь сетку. Структурированные адреса позволяют более богатые правила. Инверсия одного бита в адресе может соединить нейрон с его контралатеральным партнёром на противоположной стороне мозга. Другая инверсия бита может соединить его с клеткой в другой области или другом слое. Разные типы клеток могут нести разные правила, обеспечивая формирование сложных схем44.

Механика проста. Поскольку каждый бит адреса клетки кодирует позицию в иерархии развития, две клетки, чьи адреса различаются в определённой битовой позиции, находятся по разные стороны этого деления. Клетки, различающиеся по биту 1, — контралатеральные партнёры. Клетки, различающиеся по биту 2, — переднезадние партнёры. Так что «соединись со своим контралатеральным партнёром» переводится как «инвертируй бит 1». Правило можно записать как битовую маску — бинарный паттерн, задающий, какие биты инвертировать (рис. 6). Маска 101, применённая к любому исходному адресу, инвертирует первый и третий биты, порождая целевой адрес. Геном хранит эту маску один раз, и каждый нейрон данного типа применяет её к собственному адресу. Конкретное преобразование здесь схематично, реальные отображения включают несколько молекулярных сигналов. Ключевое свойство сохраняется: правило разделяется всеми нейронами одного типа, и его длина масштабируется как log n, а не n.

Как и любой язык, этот делает одни вещи легко выразимыми, а другие — трудно. Контралатеральные проекции, топографические карты, ламинарное нацеливание и связи между областями — всё это можно дёшево выразить как преобразования адресов развития42,45. Но правило вроде «соединись с этими 47 произвольными нейронами, разбросанными по мозгу» обошлось бы так же дорого, как и в Стратегии 1 (хотя всё же дешевле, чем в Стратегии 2). Координатная система — это ставка на то, что большую часть проводки мозга можно описать компактными преобразованиями адресов. Если так, бюджета генома достаточно. Если нет — никакая координатная система не поможет.

Цифры это подтверждают. Каждое правило занимает log₂ n бит, около 33 бит для 10¹⁰ нейронов. При t ≈ 10³ типов клеток46 и m = 10⁴ целей на тип, общий объём хранения составляет O(tm log n) ≈ 3 × 10⁸ бит — с большим запасом в пределах генома. Для сравнения, списки целей на нейрон в Стратегии 1 потребовали бы ≈ 3 × 10¹⁵ бит, примерно в 300 000 раз больше ёмкости генома, а Стратегия 2 хуже в k раз, где k — число путевых точек на путь. Длина пути на цель составляет O(∛n) как для Стратегии 2, так и для Стратегии 3; разделяет их информация.

Бинарные адреса соответствуют комбинаторным паттернам транскрипционных факторов и сигнальных молекул, отличающих одну область мозга от другой. Первое деление нервной трубки на левую и правую половины — это один «бит», поддерживаемый дифференциальной экспрессией генов по обе стороны срединной линии47. Последующие подразделения вдоль переднезадней и дорсовентральной осей добавляют новые биты, разделяя ткань на дискретные домены, различающиеся экспрессируемыми транскрипционными факторами41,48,49. Конус роста, навигирующий по этой иерархии, считывает молекулярные маркеры на каждой границе — биологический эквивалент проверки бита на каждой точке ветвления. Полученная координатная система не временна: клетки сохраняют наследуемую, автономную память о своей позиции ещё долго после того, как исходные сигналы паттернирования исчезли50, поддерживаемую эпигенетическими механизмами, такими как дифференциальное метилирование51. Эта позиционная память имеет функциональные последствия для проводки: денервированные мышцы преимущественно реиннервируются моторными аксонами из позиционно соответствующих спинальных сегментов52,53. Координатная система, установленная развитием, становится постоянным молекулярным свойством, которое аксоны способны считывать.

Иерархия, вероятно, возникает из нескольких перекрывающихся механизмов48,54: градиентов морфогенов, действующих выше по цепи регуляторных сетей генов49,5558, и, возможно, самой клеточной линии42,5962. Недавние работы предполагают, что клеточная линия может играть непосредственную роль: дерево клеточных линий способно установить глобальное пространство молекулярных адресов, которые аксоны считывают для навигации40, и предсказанная иерархическая структура действительно проявляется в паттернах экспрессии генов по всему мозгу как у мыши, так и у данио-рерио63.

Стратегия 3 делает сильное предсказание. Если мозг проводит себя, используя адресную систему, то эта адресная система — реальная карта, записанная в экспрессии генов и распространённая по всему мозгу. Она закладывается рано и остаётся на месте во взрослом возрасте. Отсюда следуют два вывода. Во-первых, карта должна быть видимой: её должно быть можно прочитать по экспрессии генов во взрослом мозге63. Во-вторых, небольшой набор правил, применённых к этой карте, должен предсказывать, какие нейроны с какими соединяются40.

Роль шума

Задача, сформулированная до сих пор, состояла в том, чтобы написать программу, генерирующую конкретную схему соединений. Это неплохое приближение постановки задачи для C. elegans, чьи 302 нейрона и примерно 7000 синапсов проводятся почти идентично от особи к особи22,64. Но по мере роста мозга развитие допускает стохастические исходы и уже не задаёт единственную схему, а скорее распределение65,66. Даже мозг однояйцевых близнецов проводится по-разному67,68. Эволюция отбирает правила, чьё распределение по большей части хорошее: большинство схем проводки, взятых из него, должны представлять рабочий мозг.

Шум способен делать алгоритмы быстрее и проще69. Допустим, каждому нейрону в области A нужно выбрать примерно 10 входов из области B, и каждая клетка в A должна получить некоррелированное подмножество. Эта цель легко достигается правилом «соединись с каждой кандидатной целью с вероятностью 10/n» для n кандидатных целей в B. Каждый нейрон в итоге получает своё случайное подмножество, что и требуется схеме. Правило дёшево, поскольку тепловые и молекулярные флуктуации, на которые оно опирается, присутствуют всегда. Детерминированное правило вроде «соединись с ближайшими 10 нейронами в B, образующими некоррелированный набор входов» тоже выполняет задачу. Однако без стохастических выборов нейронам в A пришлось бы явно договариваться с соседями, чтобы гарантировать некоррелированность всех наборов. Детерминированное устранение корреляций несёт накладные расходы, которых избегает стохастический алгоритм, использующий шум как бесплатный ресурс. В целом шум облегчает алгоритмы, требующие независимых переменных.

Но шум — не панацея. Тот же шум, что удешевляет вариативность, может удорожать согласованность. Область A может случайным образом выбрать 10 входов из области B, но, оставленный без контроля, шум мог бы случайно выбрать входы из области C или отобрать слишком мало или слишком много входов. Небольшая ошибка, не исправленная на раннем этапе развития, часто оказывается фатальной на более поздних стадиях. И фон Нейман70, и Уоддингтон7 размышляли о том, как зашумлённые процессы могут давать надёжные результаты. Дискретизация оказалась решением как для компьютеров, так и для организмов. Память компьютера имеет две дискретные ячейки: 0 и 1. Напряжение может зашумлённо колебаться внутри ячейки, но пока оно не пересекает порог, разделяющий их, вычисление не страдает. Канализация Уоддингтона основана на том же принципе. Траектории развития распределяются по дискретному числу каналов. Зашумлённая вариация внутри канала даёт тот же результат развития, пока траектория не выходит за берега канала. Стоимость дискретизации заключена в порогах и берегах. Берега нужно специфицировать в геноме, и более высокие берега, устойчивые к более сильным флуктуациям, обходятся дороже71,72.

Задание распределений схем проводки вместо конкретного экземпляра имеет потенциальное преимущество. Это может приводить к более компактным правилам. Правила, оставляющие открытыми больше возможностей, часто требуют меньше информации, чем те, что фиксируют конкретику73,74. Правило, предписывающее конкретную нейронную цель — соедини нейрон 845 с целевым нейроном 342, расположенным в области X, — требует больше информации в битах, чем правило, которое просто говорит «доберись до области X и соединись с любым партнёром типа Y». Полезны ли распределения и стохастичность или вредны, зависит от конкретного алгоритма и сценария использования. Возможно, эволюция нашла особые случаи и алгоритмы, использующие преимущества и минимизирующие недостатки.

Пластичность

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

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

Зависящая от опыта пластичность черпает информацию извне организма. Геном не содержит словарного запаса родного языка, лиц членов семьи или расположения фруктовых деревьев. Естественный отбор не стал бы хранить эту информацию, даже если бы мог, поскольку она меняется быстрее, чем эволюция способна отследить. Геном может хранить предварительные настройки, облегчающие усвоение такой информации, — например, общую структуру человеческого языка или естественных изображений78. Геном поставляет правила, зависящие от опыта, которые работают на данных, поступающих из среды, — подобно тому, как стохастические правила из предыдущего раздела работают на шуме, поступающем от клетки. Коннектом — результат работы геномной программы против как шума, с которым она сталкивается, так и средового ввода, которому она подвергается.

Две формы выглядят похоже, поскольку часто используют общую машинерию. Пластичность, обеспечивающая корректирующую обратную связь во время развития, часто оказывается тем же аппаратом, что позже поддерживает обучение79,80. Их информационные роли различаются: одна сходится к ответу, который геном уже подразумевает, другая заполняет реальные пробелы, оставленные геномом открытыми. Общий механизм отражает общее эволюционное происхождение. Геном не изобретал обучение с нуля. У него уже была система, регулирующая связность в ответ на активность, использовавшаяся для уточнения схем на основе внутренне генерируемых волн. Перепрофилирование этой системы для зависящего от опыта обучения могло потребовать немного нового молекулярного аппарата — главным образом изменения того, что служит точкой отсчёта: от спонтанной активности к сенсорному миру.

Обсуждение

Два влиятельных мысленных эксперимента задавались вопросом, способны ли методы биологии восстановить устройство системы, чья истинная схема известна заранее. Лазебник спрашивал, сможет ли биолог починить радио1; Йонас и Кординг спрашивали, сможет ли нейробиолог понять микропроцессор2. Оба вернулись с одинаково неутешительным ответом. Исследования поражений, корреляции активности и снижение размерности не смогли восстановить логику даже этих простых инженерных систем. Эти мысленные эксперименты утверждают: раз такие методы не способны восстановить логику радио или микропроцессора, мало оснований ожидать, что они объяснят мозг по его проводке и активности.

Проблема не ограничивается аналогиями с радио и микропроцессорами. Понимание обученной искусственной нейронной сети — важный пример той же сложной задачи, которой занимается подобласть искусственного интеллекта под названием «механистическая интерпретируемость»81. В искусственных сетях синаптические веса и активации известны. Тем не менее прогресс в объяснении того, как нейроны и схемы внутри обученных искусственных сетей вычисляют, был медленным. Используя подходы, вдохновлённые нейробиологией, исследователи, например, идентифицировали популяции юнитов в крупной языковой модели (LLM), представляющие мост Золотые Ворота; искусственная активация этих юнитов — вмешательство, напоминающее оптогенетику, — заставляла модель сводить почти любой разговор к этому мосту, порождая немало забавных диалогов82. Но даже при полном доступе к практически неограниченным объёмам данных о весах и активациях эти методы дали лишь скромный прогресс в понимании того, как языковая модель приходит к столь впечатляющей симуляции человеческого мышления, или как переделать её, чтобы она стала более надёжной и заслуживающей доверия.

У искусственных и биологических сетей разная длина описания. Рецепт искусственной нейронной сети кажется простым: цель, правило обучения, архитектура и набор данных. Но набор данных — это обучающая выборка, которая для современных LLM включает большую часть интернета9. Акт обучения сжимает эти данные в список весов. Биологическая аналогия этому процессу — не зависящее от опыта обучение, а эволюция, которая захватила и сжала миллионы лет данных78. Но вместо длинного списка в духе Стратегии 1 эволюция сохранила гораздо более короткую программу развития в геноме, которая производит эти веса при запуске83. Успехи в считывании поведенческих и вычислительных стратегий, которые градиентный спуск и эволюция извлекли из своих данных, путём изучения весов и активаций, были ограниченными. Считывание тех же стратегий из гораздо более короткой программы развития может оказаться более простой задачей.

Десятилетия молекулярной генетики детально разобрали программу развития — морфогены, транскрипционные факторы, направляющие сигналы и их рецепторы84,85. Здесь сделан шаг к формализации алгоритмической теории: описания того, как геном специфицирует связность всего мозга в рамках явных бюджетов информации и времени, и того, какие механизмы эти бюджеты вынуждают использовать. Отправная точка — два фундаментальных ограничения: информация, которую способен хранить геном, и время, отведённое на развитие. Разбирая это упражнение, оба ограничения оказались весьма требовательными. Большинство способов специфицировать мозг проваливаются по одному или другому. Стратегии, которые выживают, попадают в узкий класс: иерархические координаты, закладываемые клеточным делением, правила проводки, записанные как компактные преобразования этих координат, и каждое правило хранится один раз на тип клетки, а не на нейрон86. Это близко к тому, что, судя по всему, делает развитие. Рассмотренные через призму этих ограничений, молекулярные механизмы, изученные за десятилетия, можно представить как шаги алгоритма. Для любого данного механизма затем можно спросить, вынуждают ли его ограничения, или он свободен для вариации.

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