gonzo-обзоры ML статей – Telegram
gonzo-обзоры ML статей
24.1K subscribers
2.72K photos
2 videos
3 files
1.34K links
Авторы:
Гриша Сапунов, ранее руководитель разработки Яндекс-Новостей, ныне CTO Intento. Области интересов: AI/ML/DL, биоинформатика.
Лёша Тихонов, ранее аналитик в Яндексе, автор Автопоэта, Нейронной Обороны... Области интересов: discrete domain, NLP, RL.
Download Telegram
Во вторник я (Лёша Тихонов) буду рассказывать на онлайн семинаре Sberlogа про нашу статью на ICML 2021, кому интересно, приходите послушать.
Forwarded from Sberloga (Alexander C)
🚀 Онлайн DS доклад от @SBERLOGA
👨‍🔬 Алексей Тихонов (Яндекс) "Систематический анализ метрик кластерной близости"
⌚️ Вторник 22 июня, 19.00 по Москве

Доклад основан на работе https://arxiv.org/abs/1911.04773 недавно принятой на ICML 2021. Существует много метрик (индексов) для сравнения различных кластеризаций одного датасета, и выбор лучшей из них для конкретной задачи остается открытой проблемой. Мы демонстрируем, что эта проблема имеет решающее значение: имеется много разногласий между метриками (индексами), эти разногласия действительно влияют на то, какие алгоритмы предпочтительнее в приложениях, и это может привести к снижению производительности в реальных системах. Мы предлагаем теоретическую основу для решения этой проблемы: разрабатываем список желаемых свойств и проводим обширный теоретический анализ, чтобы проверить, какие индексы им удовлетворяют. Это позволяет сделать осознанный выбор: для конкретного приложения можно сначала выбрать свойства, которые желательны для задачи, а затем определить удовлетворяющие им индексы. Наша работа объединяет и значительно расширяет существующие попытки анализа индексов сходства кластеров: мы вводим новые свойства, формализуем существующие и математически подтверждаем или опровергаем каждое свойство для обширного списка индексов валидации. Этот более широкий и более строгий подход приводит к рекомендациям, которые значительно отличаются от того, как индексы валидации в настоящее время выбираются практиками. Показано, что в некоторых из самых популярных индексов даже преобладают индексы, на которые ранее не обращали внимания.

PS
Также Алексей является автором одного из наиболее популярных каналов в тг по анализу данных "Жалкие низкочастотники" и соавтором лучшего канала с разбором МЛ-статей "gonzo-обзоры ML статей".

Ссылка на зум будет доступна через тг чат t.me/sberlogadataclub ближе к началу доклада.
Biological structure and function emerge from scaling unsupervised learning to 250 million protein sequences
Alexander Rives, Joshua Meier, Tom Sercu, Siddharth Goyal, Zeming Lin, Jason Liu, Demi Guo, Myle Ott, C. Lawrence Zitnick, Jerry Ma, and Rob Fergus
Статья: https://www.pnas.org/content/118/15/e2016239118
Модель: https://github.com/facebookresearch/esm

Чего мы всё про NLP, да про NLP, давайте про биологию. Там уже тоже как и в NLP пару лет назад происходит свой “ImageNet moment”, который я бы скорее назвал “BERT moment”, ибо как раз NLP сильнее на него повлиял. Да и DeepMind вот-вот уже обещает заопенсорсить свой AlphaFold2 (https://t.co/uP7uzgGMSf), так что самое время. Вот недавно в PNAS вышла статья по уже древнему препринту.

Идея классическая: давайте возьмём все белковые последовательности (для незнакомых с биологией, белки состоят из последовательности аминокислот, здесь их 20 стандартных и 5 нестандартных) и обучим языковую модель по типу BERT’а (энкодер трансформера, восстанавливающий замаскированные токены — конкретные аминокислоты, лосс обычный MLM). Прелесть такого обучения, что оно целиком self-supervised, то есть не требует никаких размеченных данных и выучивает закономерности, наблюдаемые в самих данных. И как полагается возьмём всего побольше — трансформер поглубже, датасет побольше.

Датасет это 250M последовательностей из UniParc (UniProt Archive содержит большинство опубликованных в мире последовательносей, https://www.uniprot.org/help/uniparc), которые суммарно состоят из 86B аминокислот (ну то есть как бы 86Гб текста). Из него набирают три разных датасета, 1) low-diversity UR100 (последовательности UniRef100 получены кластеризацией идентичных последовательностей из UniParc), 2) high-diversity sparse UR50/S (репрезентативные последовательности кластеров из UniRef50, который кластеризован по 50% sequence identity), и 3) high-diversity dense UR50/D (делается равномерная выборка по кластерам из UniRef50). Для оценки модели рандомно спрятаны 10% кластеров из UniRef50 и все последовательности этих кластеров не участвуют в обучении.

Моделей в итоге обучено несколько разных (6, 12, 34 слоя), и дополнительно самая глубокая (в 652.4М параметров) потом ещё оптимизирована по своим гиперпараметрам, она называется ESM-1b.

Главный интерес в этом, выучит ли модель чисто из данных одиночных последовательностей (но зато в огромном количестве) какие-то полезные биологически релевантные фичи. И она выучивает!

Модель работает в режиме аналогичном BERT’у, на вход подаются последовательности аминокислот, где каждый токен — это отдельная аминокислота, на выходе получаются эмбеддинги этих аминокислот, которые можно использовать для разных задач. Ну и поскольку мы знаем, что рандомные эмбеддинги тоже неплохо работают, сравниваются эмбеддинги до обучения и после.

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

Можно получить эмбеддинги для целого белка — например, усреднив эмбеддинги всех аминокислот (хотя по идее <cls> токен в модели вроде как тоже есть). Ортологичные (с общим происхождением у разных видов) группы белков при этом кластеризуются. По расстоянию в пространстве эмбеддингов также неплохо определяются дальние гомологи. Плюс для позиций, которые совпали бы после множественного выравнивания, эмбеддинги после обучения оказываются сильно более близкими. То есть модель неявно выучивает и что-то про выравнивание (в обучении никакого выравнивания не было, работа идёт на индивидуальных последовательностях).

Отдельный пул задач про предсказание вторичной (спирали, листы и т.п.) и третичной структуры (контактов между аминокислотами в цепочке белка). Проверяют это традиционными методами: выучивают линейные проекции фич или строят глубокую сетку поверх них, и далее решают задачи предсказания вторичной структуры (по восьми классам) или вероятность контакта для любых пар аминокислот. Неплохо работает, не хуже более классических альтернатив.
1
Трансформеры всегда бьют LSTM бэйзлайны, даже с тем же количеством параметров. Из интересного, авторы также показали, что перплексия по сути выступает отличной прокси метрикой для качества предсказания вторичной структуры и контактов. Прям линейная зависимость. И даже самая большая в статье модель явно не насыщается, так что можно спокойно делать ещё более тяжёлые модели и они наверняка будут ещё лучше.

Авторы также показали, что фичи ESM-1b неплохо обогащают другие классические фичи, улучшая предыдущие SoTA, то есть они содержат какую-то новую ценную информацию. Также эти фичи работают для предсказания эффекта ненаблюдавшихся мутаций, что полезно в генеративной биологии.

В общем классный пример торжества unsupervised learning на больших датасетах. Теперь в биологии. И да, модель опубликована, можно юзать в своих пайплайнах как BERT.
Transformer protein language models are unsupervised structure learners
Roshan Rao, Joshua Meier, Tom Sercu, Sergey Ovchinnikov, Alexander Rives
Статья: https://www.biorxiv.org/content/10.1101/2020.12.15.422761v1
Модель: https://github.com/facebookresearch/esm

Продолжение темы про большую языковую модель для белков ESM-1b частично от тех же авторов. Название перекликается с известными статьями из NLP/CV, например, про GPT-2 (“Language Models are Unsupervised Multitask Learners”), GPT-3 (“Language Models are Few-Shot Learners”) или SimCLRv2 (“Big Self-Supervised Models are Strong Semi-Supervised Learners”).

В данной работе фокусируются на задаче предсказания контактов в белке с целью заменить текущие многоступенчатые пайплайны на один forward pass уже предобученной сетки (та самая ESM-1b на 650М параметров). И показывают, что все необходимые для этого фичи уже содержатся в картах внимания определённых голов self-attention’а.

Предсказание контактов (contact prediction) бывает как водится supervised и unsupervised.

В supervised части уже было много интересных результатов, в том числе с обучением глубоких residual networks на структурах белков.

Unsupervised предсказание контактов обучается на последовательностях без какой-либо информации о структуре белка. Широко используемый для этого метод — это обучение Potts model (специальный вариант Markov Random Field) на множественном выравнивании (Multiple sequence alignment, MSA — это когда множество эволюционно связанных последовательностей выравнивается между собой по позициям, делая вставки, делеции и замены где надо, так чтобы минимизировать метрику типа edit distance по всем последовательностям).

Фичи из предсказания контактов могут потом использоваться для предсказания структуры (AlphaFold использовал фичи из Potts model).

Языковые модели уже использовались для предсказания контактов. Это было и в оригинальной работе про ESM-1b, и в других работах на трансформерах и LSTM, в том числе с supervised обучением предобученной модели. В данной работе показывают, что SoTA unsupervised предсказатель контактов можно напрямую извлечь из карт внимания предобученного трансформера (того же ESM-1b).

В работе сравниваются с тулом Gremlin, который принимает на вход MSA (и от качества этого выравнивания сильно зависит и качество результата). Gremlin берётся в двух вариантах: 1) на всех MSA из обучающей выборки trRosetta (которые сгенерены по Uniref100 и куда добавлены метагеномные последовательности, если глубина выравнивания по Uniref100 оказалась мала), и 2) на MSA полученных через Jackhmmer на том же датасете, на котором обучался ESM-1b (подмножество Uniref50). MSA из trRosetta называются ключевым ингредиентом state-of-the-art пайплайнов.

Что собственно делают? Последовательность белка (без какого либо MSA) прогоняют через ESM-1b, получают в трансформере карты внимания (attention maps, то есть скоры, которые получаются внутри трансформера при перемножении матриц Q и K). Эти карты отправляются независимо для каждой пары аминокислот (i,j) в L1 логрегрессию, которую обучают на каком-то небольшом числе последовательностей (например, 20). Это обучение нужно лишь для того, чтобы найти веса логрегрессии и понять, какие головы каких слоёв трансформера важны, сам трансформер никак не обновляется. Также пробуют обучать отдельные модели для предсказания близких (6-12 аминокислот), средних (12-24) и далёких контактов (24+).

Результат? На 20 обучающих последовательностях ESM-1b даёт на всех дистанциях более высокую точность, чем Gremlin (а также предыдущие языковые модели типа TAPE или ProtBERT-BFD).

Интересные абляции.

Всего с одной отобранной головой (из 660), качество ESM-1b сравнимо с Gremlin, а при усреднении 10 голов приближается к Gremlin’у на оптимизированном MSA.

Одного обучающего примера достаточно, чтобы получить статистически неотличимый от Gremlin’а результат. 10 примеров достаточно, чтобы его обойти.

Также вместо структур пробуют обучать по MSA (обучают Gremlin, берут оттуда top-L couplings и считают их настоящими контактами), получается похуже, но сравнимо с Gremlin.
Ещё пробуют ансамблирование по нескольким последовательностям из MSA, качество улучшается.

Снова (как и в предыдущей работе) показали, что перплексия хорошо коррелирует с точностью предсказания контактов (и снова видно, что есть куда скейлить).

Логрегрессия выделила 102 из 660 голов, которые помогают предсказаниям. Две головы оказались в top-10 по предсказаниям на всех масштабах. Одна голова оказалась особенно хороша для предсказания локальных контактов и мешала предсказывать дальние. И в целом видна специализация по типам контактов.

Ну и наконец показывают, что вероятности, которые выдаёт логрегрессия, близки к реальным вероятностям контактов, модель неплохо откалибрована и не overconfident. А в кейсах, где она ошибочно предсказывает контакт, он часто оказывается в пределах нескольких аминокислот от предсказанной точки, либо оказывается контактом между двумя цепочками гомодимера. К вставкам модель устойчива, можно вставить в начало/конец 256 аланинов (или 64 в середину) и модель не особенно деградирует. Более раннему трансформеру TAPE хватало 8 аланинов в начале, чтобы качество сильно ухудшилось (возможно, потому что тот обучался на белковых доменах).

Работа взята постером на ICLR 2021 (https://openreview.net/forum?id=fylclEqgvgd).