avatar
gonzo-обзоры ML статей
@gonzo_ML
17.07.2021 19:58
Highly accurate protein structure prediction with AlphaFold
John Jumper, Richard Evans, Alexander Pritzel, Tim Green, Michael Figurnov, Olaf Ronneberger, Kathryn Tunyasuvunakool, Russ Bates, Augustin Žídek, Anna Potapenko, Alex Bridgland, Clemens Meyer, Simon A. A. Kohl, Andrew J. Ballard, Andrew Cowie, Bernardino Romera-Paredes, Stanislav Nikolov, Rishub Jain, Jonas Adler, Trevor Back, Stig Petersen, David Reiman, Ellen Clancy, Michal Zielinski, Martin Steinegger, Michalina Pacholska, Tamas Berghammer, Sebastian Bodenstein, David Silver, Oriol Vinyals, Andrew W. Senior, Koray Kavukcuoglu, Pushmeet Kohli & Demis Hassabis
Статья: https://www.nature.com/articles/s41586-021-03819-2
Модель: https://github.com/deepmind/alphafold

Ну вот наконец и AlphaFold2. В статье и на гитхабе новая система называется просто AlphaFold, а под названием AlphaFold2 она фигурировала на соревновании CASP14. Новая система является совершенно другой системой по сравнению со старой AlphaFold, участвовавшей на CASP13, так что будьте внимательны и не путайте.

Итак, собственно, какова структура этой системы.

На вход системы поступает последовательность аминокислот белка. Для этой последовательности ищутся эволюционные родственники и генерируется множественное выравнивание (MSA, про него мы несколько раз писали в предыдущих постах о похожих моделях). Также в базе структур белков (с 3D координатами атомов) ищутся гомологичные структуры (если есть), и они тоже поступают на вход.

Сама сеть AlphaFold напрямую предсказывает 3D координаты всех тяжёлых атомов (углероды, азоты) по входным данным.

Сеть состоит из двух частей.

Сначала ствол сети обрабатывает входы с помощью последовательности (аж 48 штук, каждый со своими весами) новых блоков под названием Evoformer (хитрый вариант трансформера). Evoformer выдаёт на выходе тензор с обработанным MSA (размера N_seq*N_res, где N_seq — число последовательностей в MSA, а N_res — число аминокислот) и тензор (размера N_res*N_res) с репрезентацией пар аминокислотных остатков.

За стволом сети следует структурный модуль (structure module), генерирующий вращения и смещения для каждого из аминокислотных остатков (инициализируются они identity вращениями и позициями в начале координат) с помощью 8 слоёв с расшаренными весами.

И структурный модуль, и вся сеть целиком итеративно улучшает свои предсказания, подавая их себе же на вход. Этот процесс называется в работе “recycling”, он выполняется трижды, и существенно повышает качество результата.

Главная хитрость Evoformer’а в обмене информацией между репрезентациями MSA и пар аминокислот, образующих по сути отдельные стримы обработки данных.

Для обработки MSA используется вариант axial attention с чередующимся вниманием по строкам и по столбцам, причём оно gated через сигмоиду. Также есть transition layer, который по сути двуслойный MLP.

Стрим для обработки репрезентаций пар аминокислот по сути представляет собой графовый трансформер, узлами графа выступают соседние аминокислоты, а операции обновления репрезентаций работают над треугольниками аминокислот (следствие из интуиции относительно необходимости соблюдения неравенства треугольника для расстояний между аминокислотами). Две основные операции там это triangle multiplicative update и triangle self-attention.

По репрезентациям MSA считается outer product между всеми позициями попарно и добавляется к соответствующим репрезентациям пар. Так происходит регулярный обмен между стримом MSA и стримом парных фич.

Структурный модуль работает с репрезентацией бэкбона белка, используя прилетающие на вход репрезентации пар и оригинальную последовательность белка из MSA. Структура бэкбона представлена N_res независимыми вращениями и трансляциями каждой конкретной аминокислоты относительно глобального фрейма. Это называется “residue gas” (как бы независимо плавающие аминокислотные остатки, которые мы пытаемся ориентировать в пространстве).
👍 1
43 3.3K

Обсуждение 0

Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.

Обсудить в Telegram