Привет, Хабр! Меня зовут Дмитрий Крюков, я — научный сотрудник лаборатории «Сильный ИИ в медицине» в AIRI. Недавно мы опубликовали статью на стыке биологии старения и машинного обучения, в которой раскритиковали использование так называемых эпигенетических часов старения для измерения омоложения клеток в процессе клеточного репрограммирования. Тема часов старения уже поднималась на Хабре (раз, два, три) — настолько она стала популярной в современной биологии с приходом в неё методов машинного обучения. А уж тема репрограммирования клеток, которую Юрий Дейгин (кстати, рекомендую его блог на Хабре) с легкой руки назвал «эпиоткатом», так вообще превратилась в гигантское направление клеточной биологии и инженерии тканей.
Однако в этой статье мне хотелось бы поделиться с вами своей историей. Историей того, как я медленно проникал в глубины математики и концепцию часов старения. В один прекрасный момент я ужаснулся тому, насколько заблуждения и когнитивные искажения нормализовались в этой части науки. Чтобы показать, как машинное обучение может зло подшутить над учёными, я последовательно введу в текст все ключевые термины, после чего расскажу, почему расчёт неопределённости так важен в практическом машинном обучении и в биологии старения в частности. Понимаю, что вряд ли мне удастся исчерпать эту тему в рамках одной статьи, однако, я сделаю всё, что в моих силах, чтобы заставить вас настороженно прищуривать взгляд, едва вы услышите что‑либо про биологический возраст или часы старения.
1. Тот самый омолаживающий эпиоткат
Окончив магистратуру по электроэнергетике, я поступил в аспирантуру с четкой установкой: сделать всё возможное, чтобы помочь шарящим людям найти лекарство от старения, предлагая свои вычисляющие рабочие руки тем, кому они нужны. Уже тогда я понимал, что тема часов старения довольно странная, и хотя мне, как человеку, умеющему считать и писать код, она была по духу близка, заниматься я хотел всё же чем‑то более биологическим. Тем не менее, я полагал, что «часовщики» знают, что делают, и не сомневался, что это одна из достойнейших ветвей науки — биологии старения. Не сомневался, пока меня самого не попросили использовать часы старения в исследовании…
Тема моего исследования — клеточное репрограммирование, а именно молекулярные особенности процесса омоложения, который, как полагается, происходит в процессе репрограммирования. Репрограммирование клетки (буду иногда называть эпиоткат, в дань уважения Юрию) это процесс обретения ей «стволовости» при воздействии на нее некоторых генетических или химических факторов. То есть, например, когда вы берете клетки кожи, поливаете их специальными веществами, и они превращаются в стволовые клетки. Особенность стволовых клеток в том, что они способны превращаться в практически любые клетки организма –– мышцы, кости, нейроны и т. д. (за биологическими подробностями отсылаю вас к свежему обзору). Чуть более 10 лет назад было подсчитано, что эпигенетический (биологический) возраст клеток, подвергшихся эпиоткату, уменьшается до нуля! Результат этот был повторен много раз, и мне самому доводилось строить графики по типу нижеследующего:
![Рис. 1 - Эпигенетический возраст клеток на различных стадиях репрограммирования, посчитанный с помощью часов старения С. Хорвата. Источник: babraham.ac.uk. Рис. 1 - Эпигенетический возраст клеток на различных стадиях репрограммирования, посчитанный с помощью часов старения С. Хорвата. Источник: babraham.ac.uk.](https://habrastorage.org/getpro/habr/upload_files/937/cae/e2a/937caee2a628bd103a887ab09c0a2b1e.png)
В нашем исследовании мы считали другую ипостась биологического возраста клеток, а именно транскриптомный возраст, то есть возраст на основе экспрессии генов в клетке. Посчитали. Действительно увидели, как этот возраст падает до нуля, правда, в некоторых экспериментах он падал ниже нуля, а в некоторых не падал вовсе. Все эти результаты уже тогда вызвали у меня сомнения, которые я не мог облечь в слова — не знал языка, на котором эти сомнения могут быть выражены лаконично и точно. Я не знал, что на самом деле такое биологический возраст.
2. Биологический возраст и часы старения: краткий экскурс
Отвлечемся на минуту от омоложения клеток и поговорим про биологический возраст. Начнем с определения:
Биологический возраст — число, выраженное в единицах времени (например в годах), отражающее состояние здоровья организма.
Важно отметить, что биологический возраст B в общем случае не равен хронологическому C. Ваш паспортный возраст может быть равен 30 годам, хотя внешне выглядеть вы можете на все 40. В то же время, уровень сахара и давление у вас могут быть как у 18-летнего/ей. Расхождение между биологическим и хронологическим возрастами принято называть «ускорением старения» Δ, а все три понятия лаконично укладываются в следующее элементарное соотношение:
При этом когда я говорю, что по фотографии мы оцениваем один возраст, а по параметрам крови другой, то формально я могу записать это в следующем виде:
где X это данные, исходя из которых я оцениваю ваш биологический возраст (параметры анализа крови, мочи, фотография лица, психологические опросники и т. д.), а функция f — это часы старения с помощью которых я его оцениваю.
Hidden text
Здесь я специально использую абстрактную функцию f для обозначения часов старения. В частном случае функция f может быть алгоритмом машинного обучения: решающим деревом, линейной регрессией, нейросетью и т. д. Но также функцией f может быть любой произвольный алгоритм, экспертная оценка или даже ваша соседка, которую вы попросили оценить ваш возраст в новом прикиде.
Внимательные читатели уже на этом моменте могут почувствовать напряжение от некоторой произвольности определения биовозраста, данного выше, а также от того, что он может существенно зависеть от данных X, на основе которых мы его определяем.
Следовательно, можно задаться вопросом: «А существует ли золотой стандарт биовозраста?», — и, как можно догадаться, ответом будет «Нет». Биовозраст является своего рода латентной переменной, некоторой характеристикой, которую мы рассчитываем, но не измеряем напрямую. Это эдакий индекс здоровья, значение которого полностью зависит от его определения. В этом заключается его красота и его проклятье (но об этом ниже).
Каждый раз, когда вы слышите, что «ученые изобрели эпигенетические часы старения» или «когнитивные часы старения», или «часы старения по крови», или «калькулятор биологического возраста на основе фотографии» — знайте: скорее всего, имеется в виду очередная модель машинного обучения (ML), обученная на соответствующих названию данных. В этой плеяде часов старения эпигенетические часы, то есть те, в которых ML‑модель обучалась на данных метилирования ДНК (разновидность эпигенетических данных), стоят особняком.
Дело в том, что метилирование ДНК — химическая модификация, возникающая в множестве мест нашего генома, — будучи измеренным в образце крови человека, имеет свойство хорошо коррелировать с его хронологическим возрастом. Иными словами, это довольно необычный тип данных, который может быть использован, чтобы предсказать ваш хронологический возраст с весьма хорошей точностью. И да, здесь я не случайно подчеркнул хронологический возраст. Сейчас я объясню вам, как работает большинство (к счастью, не все) созданных на сегодняшний день часов старения (так называемые часы первого поколения). Следите за руками.
Шаг 1
Давайте возьмем некоторую модель машинного обучения g. Это может быть линейная регрессия, случайный лес, бустинг — не важно. Обучим модель предсказывать хронологический возраст С по данным некоторых биомаркеров X (например, метилирование ДНК). На совесть обученная модель будет удовлетворять следующему соотношению:
где ε –– ошибка модели до истинного хронологического возраста C.
Шаг 2
Считаем предсказания модели g(X) равными биологическому возрасту. То есть
...
PROFIT!
Если вы подумали, что я не закончил мысль или ошибся, то… нет. Вот вам довольно свежий обзор в хорошем журнале на эту тему (см. фрагмент из обзора ниже). Именно так определяется биологический возраст в представлении большинства ученых — подменой понятий.
![Рис. 2 - Краткое изложение процедуры создания часов старения первого поколения. Ошибка модели с обратным знаком равна ускорению старения. Источник: Jarod Rutledge et al. / Nature, 2022. Рис. 2 - Краткое изложение процедуры создания часов старения первого поколения. Ошибка модели с обратным знаком равна ускорению старения. Источник: Jarod Rutledge et al. / Nature, 2022.](https://habrastorage.org/getpro/habr/upload_files/04d/162/3a3/04d1623a3e798e4805089a20c1cdf56a.png)
Для меня было совершенно удивительным наблюдать, как за толстенным слоем эпитетов и филигранных наукоемких выражений скрывается эта неявная, но простая манипуляция понятиями. Но тогда возникает закономерный вопрос: «Как это все живет и самовоспроизводится уже более 10 лет, а если брать по‑крупному, то более 50?». Ох… дело в том, что иногда это действительно работает!
Так уж вышло, что многие из тех биомаркеров, что хорошо коррелируют с хронологическим возрастом, в том же направлении коррелируют с патологическими состояниями.
Hidden text
Это явление также связано с понятием identical association assumption, которое было введено и фундаментально разобрано в статье, которая вышла совсем недавно. Удивительно, что на это потребовалось целых 10 лет. Статья эта, конечно, заслуживает отдельного разбора и обсуждения.
Например, известно, что в среднем по популяции систолическое артериальное давление увеличивается с возрастом. Но если вы страдаете от хронической гипертонии и игнорируете рекомендации врачей, то для вас существенно возрастает риск возникновения ранних сердечно‑сосудистых заболеваний и, как следствие, смерти. Поэтому можно довольно обоснованно предположить, что биологический возраст для гипертоников в среднем будет выше. Получается, что если обучить часы старения на артериальном давлении по описанному выше алгоритму, то они в общем‑то будут иногда корректно работать. К сожалению, этого «иногда» недостаточно.
3. Неопределенность
Прежде чем мы вернемся к теме с омоложением клеток, разберем, что такое неопределенность в машинном обучении, и почему она так важна в нашей теме.
Рассмотрим классическую задачу бинарной классификации фотографий кошек и собак. Вы честно тренируете модель на обычном датасете с фотками кошек и собак. Натренировали. Идете смотреть, как модель ведет себя на тестировочном датасете. Внезапно замечаете, что в тесте прилетает картинка дивана. Каков будет ответ модели? Люди, знакомые с темой, без труда распознают проблему выброса в данных (outlier или out‑of‑distribution sample) и правильно ответят, что корректного предсказания от такой модели не получить. «Ну, выдаст что‑то типа 0.51 в качестве вероятности класса „собака“», — скажут они. Но скажут это как эксперты в различении кошек, собак и диванов, поскольку все упомянутые объекты им интуитивно понятны.
![Рис. 3 - Классический пример out-of-distribution prediction для интуитивно понятных данных. Рис. 3 - Классический пример out-of-distribution prediction для интуитивно понятных данных.](https://habrastorage.org/getpro/habr/upload_files/458/b7d/428/458b7d4286eba85c528aabef2b934efb.png)
Куда хуже обстоят дела в ситуации, когда классифицируемые объекты представлены некоторыми биологическими данными, о поведении которых у нас куда меньше интуитивных знаний. Именно такая ситуация часто происходит, когда машинное обучение приходит в науку: наша интуиция уменьшается, а ставки растут. Врач, использующий в своей практике ML-алгоритмы, не может позволить себе роскошь ошибиться в диагностике рака поджелудочной железы у пациента, а значит, ML-модель должна быть не только точной, но и надежной. Надежная модель в данном случае — это та, что известит врача о степени своей неуверенности в предсказании рака. Говоря чуть формальнее, модель должна не только выдавать предсказание, но и степень своей неопределенности.
Неопределенность в машинном обучении бывает различных видов, оценивать ее количественно бывает сложно, а еще это требует привлечения довольно продвинутых ML-моделей. Для моего рассказа важна так называемая эпистемологическая неопределенность (классификация взята отсюда), то есть неопределенность, связанная с отсутствием знания о чем-то (про эту и другие неопределенности можно прочитать в статье моего коллеги по AIRI Артёма Важенцева).
Возвращаясь к примеру с кошками и собаками: нейросеть ничего не знала о существовании такого объекта, как диван, для нее это просто что-то совершенно непостижимое, что-то вне исходного распределения тренировочной выборки. Вполне естественно считать, что если наблюдаемый набор признаков не встречается в обучении, то модель ничего не может о нем знать, как человек, никогда не слышавший об утконосах, едва ли сможет корректно классифицировать его, единожды встретив.
Теперь мы готовы вернуться к примеру с клеточным омоложением, собрав воедино все введенные в этой статье понятия. По аналогии с кошками и собаками модель часов старения, будучи регрессионной моделью, в процессе обучения видит только данные, взятые из образцов тканей здоровых людей, однако, в тестовом датасете находится нечто совершенно иное.
![Рис. 4 - Пример out-of-distribution prediction для неинтуитивных биологических данных. Рис. 4 - Пример out-of-distribution prediction для неинтуитивных биологических данных.](https://habrastorage.org/getpro/habr/upload_files/02b/5d9/8dd/02b5d98ddaae564a9da9259bb8057b46.png)
В тесте мы видим клетки, исходно похожие на обычные человеческие, но в процессе репрограммирования с помощью химических или генетических факторов, претерпевающие превращения, невиданные для модели. С каждым новым днем превращения (см. Рис. 1) клетка все меньше напоминает исходную клетку нормальной здоровой ткани, все больше приобретая признаки стволовой клетки. Все это довольно сложно представить, но легко видеть на данных прямиком из нашей публикации.
![Рис. 5 — Проекция данных метилирования ДНК на оси первых двух главных компонент. Источник: Dmitrii Kriukov et al. / Aging Cell, 2024 Рис. 5 — Проекция данных метилирования ДНК на оси первых двух главных компонент. Источник: Dmitrii Kriukov et al. / Aging Cell, 2024](https://habrastorage.org/getpro/habr/upload_files/5ee/3b3/cac/5ee3b3cac2254c43779138d2feeb9677.png)
Здесь многомерные данные метилирования ДНК спроецированы на плоскость для того, чтобы увидеть, как по мере увеличения дня репрограммирования (красные квадратики) клетки все больше отдаляются от исходного тренировочного датасета (синие кружки). Это постепенное отдаление от тренировочного датасета неизбежно должно приводить к тому, что ошибка предсказания биологического возраста должна расти.
Наконец, чтобы продемонстрировать нарастание ошибки, можно обучить ML‑модель, способную оценивать свой уровень неопределенности, и применить ее к данным репрограммирования, что мы и сделали.
![Рис. 6 - Предсказания возраста репрограммируемых клеток вместе с доверительным интервалом. Для оценки доверительного интервала мы использовали модель гауссовских процессов. Источник: Dmitrii Kriukov et al. / Aging Cell, 2024 Рис. 6 - Предсказания возраста репрограммируемых клеток вместе с доверительным интервалом. Для оценки доверительного интервала мы использовали модель гауссовских процессов. Источник: Dmitrii Kriukov et al. / Aging Cell, 2024](https://habrastorage.org/getpro/habr/upload_files/ce5/02f/8e3/ce502f8e376527634bd712644ab8e5a8.png)
Можно заметить, что на 20 день предсказанный возраст вовсе ушел в отрицательные значения. Это не должно нас удивлять, ведь у модели, как правило, нет никаких ограничений на знак возраста — это просто алгоритм, делающий свою работу.
Hidden text
К слову, даже упомянутые часы Хорвата возвращают отрицательные предсказания, если применить их к репрограммированным клеткам. Но откуда тогда взялся нулевой возраст? А это, как я выяснил, уже результат постпроцессинга предиктов, введенный самим Хорватом. Дело в том, что к предсказаниям линейной модели часов Хорвата применяется преобразование, напоминающее ELU-функцию активации из нейросетей. То есть все отрицательные входы обнуляются.
В итоге мы приходим к выводу, что из‑за гигантской ошибки предсказания (доверительный интервал охватывает 100 лет) эпигенетические часы старения едва ли можно назвать «надежным» инструментом для предсказания омоложения в репрограммировании. Кто‑то может сказать: «Но мы же видим убывающую динамику возраста — разве этого недостаточно?». На это я отвечу следующее.
Во‑первых, не всегда. Согласно некоторым часам старения, динамика, наоборот, растущая. Во‑вторых, эта кажущаяся убывающей динамика — не про нормальное физиологическое старение/омоложение. Это уже третье, невиданное моделью, состояние, биологический возраст которого безопаснее всего охарактеризовать как «сбивающий нас с толку». Ни в коем случае это состояние не следует рассматривать как приглашение к массовому репрограммированию организмов вживую. Едва ли вы назовёте инъекцию ботокса в лицо системным омолаживающим воздействием (хотя выглядеть будете моложе).
Впрочем, здесь я должен специально оговориться. Я не знаю, сможет ли репрограммирование привести к системному омоложению организма. До сих пор накопленные экспериментальные результаты (их упоминание вы тоже можете найти в нашей статье) говорят, что скорее нет.
Выше я привел лишь малую часть аргументов из нашей статьи, но их достаточно, чтобы объяснить вам суть того, что мы с коллегами хотели сказать, и о чем я хотел бы подискутировать здесь.
4. Часы старения — способ впечатлить вашего научрука или реальный клинический инструмент?
Часы старения прокляты. В этом я убедился за 4 года своей аспирантуры, которую, ввиду ряда причин, я решил посвятить этой теме. Но в чем заключается это проклятье? Оно касается всякого, кто вместо того, чтобы использовать честные, явные и, должно сказать, скучные суррогатные метрики старения (например, индекс хрупкости (Frailty Index)), решил заигрывать с неявными ML‑алгоритмами, порождая латентные величины и в итоге запутываясь в них. Жонглируя своими когнитивными искажениями, такой исследователь выдаёт противоречивые или даже абсурдные утверждения за позитивный научный результат. Притом хайп на ML/DL‑алгоритмы только усугубляет ситуацию, поскольку некоторые врачи и биологи, особо не разбирающиеся в алгоритмах машинного обучения (а их студенты‑математики, соответственно, в биологии и медицине), пишут десятки статей ради статей. Как ни странно, схема эта работает, на это дают гранты, про это делают хакатоны, открываются компании, продающие услуги по измерению биовозраста. Но есть ли у всего этого светлая сторона? Могут ли часы старения реально быть полезными в клинике?
Да! И ещё раз да! Но это очень непросто. Дело в том, что те часы старения первого поколения, о которых я рассказывал во второй главе, к счастью, лишь часть истории. Согласно нашей формуле (2), биовозраст есть просто функция от данных. Но что если эту функцию мы будем учить предсказывать не хронологический возраст, а, например, оставшуюся продолжительность жизни или время до наступления хронического заболевания? Оказывается, что полученный алгоритм после честной тренировки становится совсем не игрушкой, а вполне серьезным суррогатным биомаркером, на который можно полагаться в гериатрии или персонализированной медицине. Снабжая такой алгоритм оценкой неопределенности, мы сделаем его и вовсе клинически релевантным.
Проблема появляется откуда не ждали. У нас нет больших открытых биобанков с размеченными датами постановки диагнозов или хотя бы с датами смерти, которым предшествовало измерение каких‑либо биомаркеров. Существующие датасеты либо закрыты за семью печатями лицензий, либо стоят дорого, либо недоступны в РФ, либо всё вместе. Единственный крупный и известный мне набор таких данных, это NHANES (кстати, напишите в комментариях, если знаете другие большие открытые базы с биомаркерами и датами смерти). В ряде случаев само законодательство не позволяет публиковать такие биобанки в открытый доступ, в иных случаях просто нет инициативы к их созданию. Это приводит нас к тому, что я называю малой дилеммой трансгуманиста: готовы ли вы пожертвовать приватностью ваших персональных медицинских данных в обмен на возможность проведения крупномасштабных исследований биомаркеров старения? В любом случае, если вы заведуете клиникой или стартапом с доступом к таким данным, то мы открыты к сотрудничеству!
5. Эпилог: «...им лишь бы ресерчить…»
Дописав текст диссертации и успешно пройдя предзащиту, после глубокого вдоха/выдоха, сталось мне рефлексировать о пройденном пути. Открылось мне еще одно соображение касательно часов старения, которое впервые я излагаю тут, на Хабре.
Часы старения являют собой пример того, что происходит с наукой без теории. На сегодняшний день нет единой и общепризнанной теории биологического старения организма. Есть монументальные труды, энциклопедически аккумулирующие все наблюдаемые признаки старения (вот), но с теориями все хуже. Безусловно, есть попытки сформулировать подобные теории, есть люди, узко действующие в их рамках и ставящие много честных и красивых экспериментов (см., например, вот эту статью). Часы старения в их текущей форме не используют плоды этих теорий, даже игнорируют их. Предлагая все больше и больше новых биомаркеров, ученые неосознанно заполняют Pubmed мусором, плеядой новых коррелятов хронологического возраста или иными ассоциациями с тем, что они понимают под старением (у которого, кстати, тоже нет единого определения). Короче говоря, им лишь бы ресерчить.
На мой взгляд, такой агностический подход к старению полностью себя изжил и дискредитировал. Мы достаточно много всего узнали о старении, чтобы дать начало когерентному поиску, в рамках наиболее успешных из существующих теорий старения. Биомаркеры старения больше не должны быть оторваны от теорий старения, но должны быть привязаны к ним, дополняя и расширяя, или опровергая их. В этом я надеюсь увидеть продолжение пути, и своего, и науки о старении в целом.
Если вас так же, как и меня, очень интересует вопрос того, как бороться со старением вычислительными методами, добро пожаловать в наш чат, где мы обсуждаем подобные вопросы, делимся полезными ресурсами, ссылками и тому подобным. И как же без личного телеграм-канала: там всё кратко и по делу.
Для самостоятельного изучения темы также может помочь бесплатный онлайн-курс по вычислениям в биологии старения, который составили мы с коллегами — тема часов там также раскрыта, но главы периодически претерпевают изменения, ввиду появления новых знаний по теме. Наконец, оставлю здесь ссылку на видео с докладом о том, как построить и обучить часы старения с нуля: