Home Машинное обучение Объяснение AlphaFold 2: полуглубокое погружение | DeepTech

Объяснение AlphaFold 2: полуглубокое погружение | DeepTech

0
Объяснение AlphaFold 2: полуглубокое погружение
 | DeepTech

В конце прошлого месяца DeepMind, исследовательское подразделение Google по машинному обучению, известное созданием ботов, победивших чемпионов мира в Go и StarCraft II, выйти на новый уровень: точное предсказание структуры белков. Если их результаты будут такими же хорошими, как утверждает команда, их модель AlphaFold может стать большим благом как для открытия лекарств, так и для фундаментальных биологических исследований. Но как работает эта новая модель на основе нейронной сети? В этом посте я попытаюсь дать вам краткое, но полуглубокое представление как о машинном обучении, так и о биологии, лежащих в основе этой модели.

Во-первых, краткое введение в биологию: функции белков в организме полностью определяются их трехмерной структурой. Например, именно пресловутые «спайковые белки», которыми усеян коронавирус, позволяют вирусу проникать в наши клетки. Между тем, мРНК-вакцины, такие как вакцины Moderna и Pfizer, повторяют форму этих шиповидных белков, заставляя организм вырабатывать иммунный ответ. Но исторически определение белковых структур (с помощью таких экспериментальных методов, как рентгеновская кристаллография, ядерно-магнитный резонанс и криоэлектронная микроскопия) было трудным, медленным и дорогим. Кроме того, для некоторых типов белков эти методы вообще не работают.

Теоретически, однако, вся трехмерная форма белка должна быть определяется последовательность аминокислот, из которых она состоит. И мы можем легко определить последовательность аминокислот в белке с помощью секвенирования ДНК (помните из Bio 101, как ваша ДНК кодирует последовательности аминокислот?). Но на практике предсказание структуры белка по аминокислотным последовательностям было невероятно сложной задачей, которую мы пытались решить на протяжении десятилетий.

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

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

Во-первых, этот новый прорыв не так уж сильно отличается от аналогичного прорыва в области ИИ, о котором я писал несколько месяцев назад, — GPT-3. GPT-3 была большой языковой моделью, созданной OpenAI, которая могла писать впечатляющие человеческие стихи, сонеты, шутки и даже образцы кода. Что сделало GPT-3 таким мощным, так это то, что он был обучен на очень, очень большом наборе данных и основан на типе нейронной сети, называемой «Трансформатор».

Трансформеры, изобретенный в 2017 году, действительно кажется волшебным молотком машинного обучения, который раскалывает проблемы во всех областях. На вводном курсе по машинному обучению вы часто будете учиться использовать разные архитектуры моделей для разных типов данных: сверточные нейронные сети предназначены для анализа изображений; рекуррентные нейронные сети предназначены для анализа текста. Изначально трансформеры были изобретены для машинного перевода, но они оказались более эффективными, поскольку способны понимать текст, изображения, а теперь и белки. Таким образом, одно из основных различий между AlphaFold 1 и AlphaFold 2 заключается в том, что в первом использовались параллельные нейронные сети (CNN), а в новой версии используются преобразователи.

Теперь поговорим о данных, которые использовались для обучения AlphaFold. Согласно сообщению в блоге, модель обучалась на общедоступный набор данных из 170 000 белков с известной структурой и гораздо большей базой данных белковых последовательностей с неизвестной структурой. Общедоступный набор данных известных белков служит помеченным набором данных для обучения модели, эталоном истины. Размер является относительным, но, исходя из моего опыта, 170 000 «помеченных» примеров — это довольно небольшой набор обучающих данных для такой сложной задачи. Это говорит мне о том, что авторы, должно быть, хорошо поработали, воспользовавшись этим «немеченым» набором данных белков с неизвестной структурой.

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

Компьютер воссоздает нижнюю половину фотографий кошек

Изображение из https://openai.com/blog/image-gpt/

Идея состоит в том, что если у вас недостаточно данных для обучения модели тому, что вы хотите, научите ее делать что-то подобное для задачи, для которой у вас достаточно данных, задачи, которая заставляет ее узнать что-то о лежащей в основе структуры языка, изображений или белков. Затем вы можете точно настроить его для задачи, которую вы действительно хотели, чтобы он выполнял.

Одним из чрезвычайно популярных способов сделать это является встраивание. Вложения — это способ сопоставления данных с векторами, положение которых в пространстве имеет значение. Один известный пример Word2Vec: это инструмент для взятия слова (т.е. «молоток») и сопоставления его с n-мерным пространством, так что похожие слова («отвертка», «гвоздь») отображаются рядом. И, как и GPT-3, он обучался на наборе данных неразмеченного текста.

Итак, что эквивалентно Word2Vec для молекулярной биологии? Как мы можем извлечь знания из цепочек аминокислот с неизвестной, немеченой структурой? Один из методов заключается в изучении кластеров белков с похожей последовательностью аминокислот. Часто одна белковая последовательность может быть похожа на другую, потому что они имеют сходное эволюционное происхождение. Чем более похожи эти аминокислотные последовательности, тем больше вероятность того, что эти белки служат одинаковой цели для организмов, в которых они созданы, а это, в свою очередь, означает, что они с большей вероятностью будут иметь схожую структуру.

Итак, первый шаг — определить, насколько похожи две аминокислотные последовательности. Для этого биологи обычно вычисляют что-то, называемое MSA или множественное выравнивание последовательностей. Одна аминокислотная последовательность может быть очень похожа на другую, но может иметь некоторые дополнительные или «вставленные» аминокислоты, которые делают ее длиннее другой. MSA — это способ добавления пробелов, чтобы последовательности выровнялись как можно точнее.

Выравнивание нескольких последовательностей

Изображение МСЭ. Моди, В., Данбрэк, Р.Л. Структурно проверенное множественное выравнивание последовательностей 497 доменов протеинкиназ человека. Научный доклад 9, 19790 (2019).

Согласно диаграмме в блоге DeepMind, MSA кажется важным ранним шагом в модели.

Архитектура AlphaFold

Схема из сообщения в блоге AlphaFold.

На этой диаграмме также видно, что DeepMind вычисляет встраивание MSA. Именно здесь они используют все эти немаркированные данные. Чтобы понять это, мне пришлось обратиться за помощью к моему другу-биологу из Гарварда. Оказывается, в наборах сходных (но не идентичных) белков часто коррелирует то, как различаются аминокислотные последовательности. Например, возможно, мутация в 13-й аминокислоте часто сопровождается мутацией в 27-й. Аминокислоты, которые находятся далеко друг от друга в последовательности, обычно не должны оказывать большого влияния друг на друга, если только они не находятся близко в трехмерном пространстве, когда белок складывается — ценный намек для предсказания общей формы белка. Таким образом, хотя мы не знаем формы последовательностей в этом немаркированном наборе данных, эти коррелирующие мутации являются информативными. Нейронные сети могут учиться на подобных паттернах, превращая их в встраивающие слои, что, похоже, и делает AlphaFold 2.

И это, в двух словах, является учебником по машинному обучению и биологии, лежащим в основе AlphaFold 2. Конечно, нам придется подождать, пока статья не будет опубликована, чтобы узнать все подробности. Мы надеемся, что это действительно так мощно, как мы думаем.

LEAVE A REPLY

Please enter your comment!
Please enter your name here