Научно-технический вебинар “Catalysis Clustering с GAN и использованием накопленного опыта”

9 февраля 2021, 16:00 MCK

О вебинаре

  • Спикер

    Ольга Андреева, аспирант, прикладное машинное обучение, Университет штата Массачусетс Бостон, США

  • Тема

    Научно-технический вебинар “Catalysis Clustering с GAN и использованием накопленного опыта”

  • Подробнее про вебинар

    Спикер о вебинаре:

    Кластеринг является важным методом в машинном обучении без учителя и особенно сложен, когда собранные данные редки и обладают высокой размерностью. Обычно, полученные кластеры оцениваются общими метриками, которые могут не отображать всю значимость или пользу на практике. Очень сложно подобрать подходящую метрику для каждого случая, еще сложнее когда используются данные в виде перечислений. К тому же, существующие метрики, измеряющие расстояние, могут быть бесполезными в некоторых сферах применения. Для решения этих проблем можно включать в кластеринг накопленные в сфере знания и опыт. В данной работе мы предлагаем Catalysis Clustering на основе GAN, который использует имеющиеся знания и опыт во время кластеринга.

    Запись прошедшего вебинара: https://youtu.be/Gxa50inFnUA

    (00:00:00) (Начало записи) 

    Ольга Андреева: Для начала немного о себе. Я в 2015 году окончила Санкт-петербургский государственный университет по направлению специалитета в прикладной информатике в сфере международных отношений. Был опыт исследования, совместного исследований с Латеранским институтом технологий. В 2016 году я начала Master’s Program in Computer Science в Университете Массачусетса, Бостон. В 2017 году имела честь присоединиться к Knowledge Discovery Lab у нас в университете под предводительством профессора _____, (00:00:46) который является моим супервайзером. В 2012 году я перешла на PhD, я так понимаю, это аспирантура, правильный перевод, в России, и в свободное от исследований время я занимаюсь professional service, организую всякие мероприятия по продвижению STM среди молодежи и среди бакалавриата, являюсь ментором в нескольких программах. Так что, в принципе, если у нас есть студенты на данной встрече, если есть какие-то вопросы, на последнем слайде будет мой e-mail. Пожалуйста, пишите, задавайте вопросы, буду рада на них ответить.

    Пожалуй, начнем с собственно GANs, генеративные сети. Есть достаточно интересный ресурс, GAN Lab называется, я прикрепила ссылку, и он визуально очень хорошо показывает, как они работают. Я уверена, что люди имеют представление, но если вдруг нет, у нас есть две сети, генератор и дискриминатор. Задача генератора – обмануть дискриминатор и задача дискриминатора – не дать себя обмануть. В процессе генератор учит дистрибьюшен, собственно, как данные выглядят, и способен генерировать данные высокой точности.

    Здесь будет пример нашей идеи. В настоящее время проблема у алгоритмов кластеринга какая? Особенно у каких-то стандартных алгоритмов, какие минусы и прочее? Они используют метрики по расстоянию, то есть они меряют расстояние, согласно тому, какое расстояние вы указали, евклидово или Manhattan distance, и, собственно, согласно этому расстоянию он пытается определить, какие данные ближе всего находятся друг к другу в пространстве.

    Допустим, у нас есть такая картина, и, допустим, у нас есть кластеринг-алгоритм, который сказал, что о’кей, вот эти три красных квадрата ближе всего находятся к кластеру C1. Но наш эксперт, доменный эксперт… Когда я говорю «доменный эксперт», это значит, эксперт из какой-то сферы. Допустим, у нас были прикладные эксперименты на онкологии, то есть если вы дадите полученные кластер онкологу, он скажет: «Все хорошо, только эти три пациента по клинической картине больше подходят к кластеру третьему, нежели чем к первому». Но, как я уже сказала, наш кластеринг-алгоритм определил их к кластеру С1 просто потому, что они оказались в пространстве ближе.

    Почему так происходит? Возможно, когда собирались данные для анализа, просто не было тех пациентов, которые соединили бы, грубо говоря, соединили бы нам наши три квадратика с остальными квадратами, красными квадратами, и таким образом они бы точно определили, что все красные квадраты относятся к третьему кластеру.

    (00:05:05)

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

    Что мы предлагаем сделать? Мы предлагаем использовать главную особенность GAN, и собственно выучить дистрибьюшен или выучить функцию, по которой наши данные собственно… откуда произошли наши данные. Хорошо, допустим, наш GAN сгенерировал нам какие-то данные, не все из них будут полезны, потому что какие-то из них, как можно было видеть, они просто добавляют дополнительные точки в пространстве к кластеру C1 и кластеру С2, и не имеют никакого влияния на исход кластеринга. Нас уже интересуют те сгенерированные сэмплы, которые мы назвали в нашей работе catalysts, катализаторы, которые собственно позволяют нам соединить те три неправильно определенные пациентов, определить их непосредственно к верному кластеру, потому что, согласно тому, что говорит нам эксперт, их клиническая картина больше подходит кластеру С3, значит, имеет смысл их определить к кластеру С3. Чтобы это сделать правильно, мы предлагаем использовать GAN, сгенерировать данные, найти те, которые нам помогут улучшить результаты кластеринга, и собственно провести лучший анализ данных, своевременно среагировать на лечение. Это значит, что мы можем правильно сказать пациенту, что «вместо первого кластера, где продолжительность жизни – пять месяцев, вы больше подходите к третьему кластеру, где продолжительность жизни в среднем пять лет», допустим. Это улучшает диагноз, улучшает прогнозы.

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

    Также очень сложно оценивать данные, которые не обладают натуральной последовательностью, если так можно выразиться. Что я имею в виду? Это больше как категории, то есть красные, оранжевые, синие, как вы будете измерять дистанцию между красной, оранжевой, синей? Или на примере онкологии, у нас были данные, где показывалось, какие гены мутировавшие, а какие нет. Да, векторы бинарные, но все-таки, допустим, расстояние между двумя генами – достаточно непонятная величина. Также sparse high-dimensional data analysis, что мы имели в виду под этим?

    (00:09:53)

    Очень часто, особенно, а также онкология, на примере онкологии, генов расшифровываю достаточно много. У нас был рак легких, там было больше 15 тысяч генов, и пациентов было около 300. Если мы посмотрим на размерность нашего пространства, 15 тысяч генов, но всего 300 точек в пространстве. Собственно, это у нас sparse data называется, они очень редкие.

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

    Непосредственно проблема, которая идет к нам от GAN, это то, что сама оценка того, что генерирует GAN, она достаточно нетривиальная, и это достаточно сложно. Почему? Изначально GAN были придуманы в Канаде, Ян Гудфеллоу и профессор Йошуа Бенжио, и они это придумали для картинок. Мы можем проследить на данной картинке, как из года в год качество генерируемых картинок увеличивается, и мы, в принципе, достаточно легко можем отличить плохого качества картинки от хорошего качества картинок.

    Также есть различные метрики. Допустим, есть inception score, он показывает качество сгенерированных картинок и их разнообразие. Есть множество различных других метрик, допустим, Fréchet inception distance, она также нацелена на картинке больше. Ежели мы говорим о числовых данных, достаточно сложно понять, кто из них, какое число, какие числовые данные сгенерированы высокого качества, и какие сгенерированы плохого качества.

    Также есть такие особенности, как Mode Collapse, вы можете видеть Mode Collapse на примере достаточно известного датасета MNIST, где собраны вручную написанные цифры, и собственно Mode Collapse, допустим, GAN научился определять только шестерки или что-то, как можете видеть, похожее на шестерки. В принципе, дискриминатор это принимает как цифру, и собственно GAN концентрируются только на этих цифрах.

    Если мы говорим о числовых данных, как понять, что эта Mode Collapse, и как понять, что GAN нам сгенерировал бинарный вектор, несколько таких векторов, как понять, что они все принадлежат к какому-то одному кластеру? Очень сложно.

    Также Vanishing Gradients, генератор может не выучить data distribution.

    (00:15:01)

    Что это значит? Это просто в какой-то момент вашего тренинга у вас дискриминатор настолько хорошо обучился отличать фейки от настоящих данных, что генератор просто больше не в состоянии догнать дискриминатор, и он начинает просто генерировать шум и ничего более. Опять, и снова, как понять, что числовые данные – это просто шум? Достаточно сложно.

    В этой работе мы предлагаем соединить Domain Knowledge. Domain Knowledge, что я имела в виду? Я перевела это как «накопленный опыт», но, в принципе, это относится к собственно знаниям и опыту, накопленным в разных сферах, то есть медицина, это может быть healthcare. У каждого такого домена, у них уже есть состоявшиеся знание, состоявшиеся метрики, на которых и основывается оценка того, какие кластеры являются хорошими, какие кластеры являются плохими.

    Собственно, мы можем использовать этот накопленный опыт и накопленные знания, метрики, чтобы оценить данные, которые производит нам наш генератор.

    На данном слайде вы в принципе можете видеть целиком наш фреймворк. Его основной advantage, приоритет между всеми другими фреймворками в том, что он не заточен на какой-то определенный алгоритм кластеринга. На втором этапе вы можете видеть Catalysis Clustering, это, в принципе, наше название, но идея в том, что вы можете подставить любой алгоритм кластеринга. В данном исследовании мы использовали non-negative matrix factorization, но в принципе это может быть любой другой алгоритм.

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

    Catalysts Generation, первый этап нашего фреймворка, он отличается от существующих методов в чем? Допустим, есть методы с Mode, когда берутся уже готовые кластеры, и в них, грубо говоря, добавляются точки данных. Мы увеличиваем количество данных, но уже исходя из того, какие кластеры у нас есть. У нас же подход другой. Мы исходим от обратного, мы пытаемся сгенерировать кластеры с увеличенного количества данных, увеличенного с помощью нашего натренированного генератора. Наши сгенерированные точки данных постоянно на этом этапе проходят оценку: о’кей, мы добавили точки, есть улучшение или нет. Если нет улучшения, это не точка-катализатор, и нам она в принципе не подходит. Соответственно, не точки-катализаторы, если вы помните из начала презентации, это собственно те точки, которые не имеют никакого влияния на результирующие кластеры.

    (00:20:12)

    Дальше, как второй этап, это непосредственно кластеринг. Как я уже сказала, мы можем применить любой кластеринг-алгоритм, наш метод не ограничивает круг и применение алгоритмов кластеринга, то есть вы можете подставить любой, можете подставить узконаправленный алгоритм кластеринга для вашей сферы применения либо тот же самый Key Means, например, Мы увеличиваем количество наших данных. Это помогает, когда… В начале я говорила, что иногда сокращение размерности данных нежелательно, соответственно, то, что мы генерируем больше данных, мы заполняем пространство, и они становятся менее редкими, точки данных.

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

    По крайней мере, на момент подачи статьи в KDD и в принципе презентации это был первый фреймворк, первый approach, который использовал непосредственно сгенерированные GAN данные числовые во время непосредственно процесса кластеринга.

    Последний этап – это оценка результирующих кластеров. На данный момент у нас нет точного определения, что является хорошим кластером и что является плохим кластером, то есть такого общего определения, которое нацелено на любой алгоритм кластеринга, на любые полученные кластеры, его нет. Безусловно, если у нас есть истинные значения кластеринга, то есть, как это называется, true clusters, истинные кластеры, которые, мы точно знаем, что эти данные распределяются на три кластера, и они идут именно на эти три кластера, тогда мы можем оценить, как хорошо справляется тот или иной алгоритм кластеринга. Однако в общей картине такого нет, и обычно если мы используем unsupervised learning, то есть обучение без учителя, оно на то и нацелено, что у нас нету true labels, у нас нет истинных классов, истинных значений, поэтому кластеринг пытается что-то куда-то определить согласно расстоянию или согласно непосредственно тем метрикам, которые были заложены в алгоритм кластеринга применимо к какой-то определенной задаче.

    Также наш метод помогает оценивать данные категории, и также мы используем доменные знания во время нашего процесса.

    Как применение, мы испытывали данный метод, как я уже ранее сказала, на данных из онкологии, это был рак легких и это был ovarian cancer, рак яичников. Какие там доменные знания или накопленный опыт?

    (00:24:58)

    Мы использовали для этой части исследования Kaplan-Meier survival plot, пример вы видите сейчас на экране. Что он делает? Вы ему даете ваши результирующие кластеры, и он вам строит survivor plot, что называется. В данный момент я говорю о раке, и имеет смысл говорить именно о продолжительности жизни. Но Kaplan-Meier survival plots также используются для других направлений, например, оценить время, которое нужно на реабилитацию, также используются данные алгоритмы.

    Что он делает? Как я уже сказала, он строит survival plots, и, глядя на них, допустим, если мы посмотрим на survival plot, который построен для subtype 1, мы видим, что это прямая линия, значит, у нас все пациенты, которые были определены к первому сабтайпу, их продолжительность жизни дольше 15 месяцев. В принципе, мы можем точно сказать, что если пациент принадлежит как первому сабтайпу, то 15 месяцев у него точно есть.

    С другой стороны, если мы посмотрим на subtype 3, мы видим, что никто не дожил до 5 месяцев. Соответственно, в принципе, к сожалению, если пациент принадлежит к третьему сабтайпу, то 5 месяцев – это в принципе максимум. На данном примере мы можем четко определить, что если subtype 1, продолжительность жизни такая, если subtype 3, продолжительность жизни – 5 месяцев, небольшая.

    Однако, если мы посмотрим на subtype 2, то на протяжении 15 месяцев есть моменты, где кто-то умирает из пациентов, которые принадлежали к этому подтипу. Возможно, лечение не сработало, возможно, в принципе достаточно тяжело было переживать именно данный subtype рака, и в какой-то момент каждый пациент умирал. В принципе, если мы посмотрим на subtype 2, то мы не можем точно сказать, сколько проживет пациент.

    Subtype 1 и subtype 3 относятся к лучшему примеру того, куда можем может попасть пациент, мы четко можем сказать, сколько ему осталось. Subtype 2 – это, что называется, worst case scenario, наихудший сценарий, потому что мы не можем дать четкой оценки.

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

    Сложность наших данных, данных по раку, опять-таки, они очень редкие. Как я уже упоминала, рак легких, больше 15 тысяч генов и всего 300 пациентов, рак яичников, там было немного меньше 10 тысяч генов и так же где-то 300, чуть больше, пациентов.

    (00:29:54)

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

    На этом слайде два вопроса, которыми мы руководствовались для дизайна, для разработки метрики для определения качества кластеров, и есть ли улучшение, и полезна ли сгенерированная точка или нет. Два вопроса, «насколько вероятно, что я выживу, что я попаду в рецессию?» и «сколько я проживу?». Это два вопроса, которые интересуют пациентов, когда они узнают об очень страшном и неприятном диагнозе.

    Здесь опять-таки примеры того, как мы разрабатывали, то есть на основе survival plots мы решили вычислять собственно угол, и в принципе для каждого сабтайпа определить расстояние, насколько далеко находится от worst case scenario, subtype 2, то есть в принципе диагонали.

    Наиболее интересные результаты здесь. Если мы посмотрим на то, как распределились пациенты между кластерами, мы видим, что самые большие в количестве кластеры, большинство пациентов осталось в них. Это исключительно те данные, которые находились на границе кластеров, то есть они перераспределились согласно нашим доменным знаниям и нашим доменным метрикам, которые мы разработали. Это именно эти пациенты, которые перераспределились, и к которым у нас есть интерес. Для них повышается вероятность, что врач подберет правильное лечение, то, что терапии сработает. Мы также видим, что малочисленные кластеры согласно NBS-кластерингу, это метод, с которым мы сравнивали, более-менее увеличились в размерах.

    Также на рак легких, у нас здесь было шесть кластеров и всего 303 пациента, в принципе мы также получили улучшение согласно нашим доменным метрикам.

    NBS, с этим алгоритмом можно ознакомиться в работе Хоффри, Nature Methods, 2013 год. Повторю результаты данной работы. Это то, что мы предположили Catalysis Clustering, который использует накопленный опыт и знания домена, сферы, (00:34:07) чтобы сгенерировать кластеры, которые непосредственно полезны для данного домена. Наш фреймворк работает с любым существующим алгоритмом, то есть вы можете, опять повторюсь, использовать любой алгоритм кластеринга, у нас нет ограничений на это никаких. Наш фреймворк независим ни от какого домена, ни от какой сферы, его можно адаптировать для любого применения.

    (00:34:53)

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

    На этом все. Данная работа была поддержана грантом от NSF. Статью можно скачать с сайта университета, линк предоставлен. Также, если есть какие-то вопросы, буду рада ответить сейчас, или же также предоставлен мой email, если возникнут вопросы в будущем, буду рада на них ответить. Пожалуйста, пишите.

    Николай Михайловский: Да, Ольга, спасибо большое. Но тут уже задают вопрос у нас в QNA. Валера, привет, рад тебя видеть. Валерий Парубец задает вопрос: «Возможно, я упустил этот момент – какой лосс мы можем применять для обучения GAN на невизуальных данных, когда Perceptual loss, возможно, не самый применимый вариант, или пространство признаков не делает целесообразным использовать Inception VDG или подобные бэкбоны для функции потерь. Есть ли методика подбора функции потерь для генеративной сети для различных типов данных?»

    Ольга Андреева: Хороший вопрос. Если я правильно поняла, как подобрать…

    Николай Михайловский: Вот здесь вопрос, на самом деле, если вы кликните в QNA, он тут написан, в Zoom есть такая штучка, QNA, вы ее видите?

    Ольга Андреева: Да. Это хороший вопрос. В данной работе мы решили применить _____ (00:37:29) GAN, _____ loss, он смотрит на собственно расстояние между дистрибьюшен, соразмерностью GAN. Inception VDG – это больше на картинки, насколько я помню, потому что VDG – это Key CNN (00:38:05) у нас.

    Николай Михайловский: Вопрос о том, какой у вас был backbone.

    Ольга Андреева: А, backbone собственно мы использовали WGAN _____ (00:38:13) loss. Сейчас очень много различных опять-таки различных GAN. Насколько мне известно, лосс имеет значение, но также большое значение имеет то, как вы его тренируете, потому что, если мы посмотрим на саму Loss Surface, мы ищем saddle points. Если у нас обновление дискриминатора происходит быстрее, и дискриминатор учится быстрее, чем генератор, то генератор просто не успевает обновиться и не успевает прийти в себя от обновления дискриминатора. Соответственно, если честно, это хороший вопрос для дальнейшего рассмотрения, я особо над этим не думала, именно в методике подбора функции. Но, в принципе, буду рада это обсудить и после, так что напишите.

    Николай Михайловский: Коллеги, пожалуйста, есть еще вопросы? Можно писать в QNA, можно писать в чат. Пока коллеги задают свои вопросы или думают над ними, у меня на самом деле есть ряд целый вопросов к работе. для меня слова «использование доменного знания» звучат как скромный способ сказать, что мы на самом деле делаем обучение с учителем.

    (00:40:13)

    Вообще говоря, если мы используем некий Domain Knowledge, то мы должны на самом деле говорить об обучении с учителем. А у вас тут так стыдливо то, что у нас обучение с учителем как бы забыто, мы хотим как бы делать без учителя, но на самом деле с учителем. Для этого, чтобы как бы делать обучение без учителя, но на самом деле с учителем, мы тут притаскиваем генеративную сетку, которую еще делаем, то есть довольно сложную конструкцию строим, вместо того, чтобы вроде бы сделать обучение с учителем. Это связано с тем, что в вашем случае обучение с учителем конкретно не работает, или просто так случилось, что вы сделали так?

    Ольга Андреева: В данном конкретном… Я понимаю ваш вопрос, спасибо за него. В данном конкретном случае обучение с учителем, его сама теория, она невозможна, в каком плане? Мы не знаем точно собственно лейблов и класса, к которому принадлежат те или иные пациенты. Именно существование обучения без учителя, изначально, да, у нас там есть данные, мы по каким-то… наша сеть, допустим, или наш алгоритм пытается выучить какие-то features, какие-то свойства данных, по которым их как-то распределить на группы. Соответственно, и используют, как я уже сказала во время презентации, метрики расстояния. Эти метрики расстояния стандартные, то есть евклидово расстоянии или Manhattan distance, оно может не работать применимо к данным в вашем домене. Это одна из причин, почему в различных доменах разрабатываются свои узконаправленные алгоритмы кластеринга. Допустим, NBS, там использовалась генная сеть, и в зависимости от того, какие гены были мутированные, она определяла, какие ближе всего и, собственно говоря, из бинарной матрицы нам производила небинарную, то есть растягивала на соседей, на гены соседей часть данных, и потом производила non-negative matrix factorization.

    Я понимаю, откуда данный вопрос, поскольку, да, мы можем на это посмотреть, что мы привязываем каким-то образом GAN и стараемся как-то подогнать, грубо говоря, данные, заменяя истинные классы нашими доменными метриками. Но все же это немного другое, поскольку у нас нет сейчас истины, у нас до конца теории в принципе нету. Не то, что у нас, допустим, в том же самом исследовании онкологии, почему конкретно этот пациент, у которого мутировал ген номер 1, реагирует так же на лечение, как и пациент, у которого мутировало два гена, ген номер 100 и ген номер 1021? Опять-таки, очень гетерогенные данные, и мы не понимаем истинных значений лейблов.

    Николай Михайловский: Да, в этом смысле, конечно, понятно, что Data Science is for the cases where is no science, so It’s okay, да? Дело вот в чем. С моей точки зрения, постановка задачи – это постановка задачи регрессии. У нас есть 300 примеров, каждый со своим набором генов, у нас есть, сколько они прожили. Мы берем, делаем задачу регрессии, задача решена.

    (00:45:05)

    Первый подход к вопросу определения, сколько они проживут, он мог бы быть через задачу регрессии, которая тривиально ставится. Но, возможно, она в ваших случаях почему-то не работает. Мне интересно было понять, вы знаете, почему она не работает, или просто не попробовали?

    Ольга Андреева: Нет, мы попробовали, почему? Проблема в том, что… Хорошо, вы используете регрессию, сколько они прожили, а как статистически они… У вас будут сгенерированы кластеры, и статистически они будут одинаковые.

    Николай Михайловский: Нет, задача регрессии – это не про кластеры, да?

    Ольга Андреева: Я понимаю, да.

    Николай Михайловский: Мы получаем на вход список генов или их мутации, что у вас там на входе в точности, на выход получаем предсказанную продолжительность жизни.

    Ольга Андреева: Да, я понимаю.

    Николай Михайловский: Неким образом задача тривиально ставится без генеративных сеток.

    Ольга Андреева: Безусловно. У нас просто задача не регрессии. Мы хотим настроить такой алгоритм, который в будущем, вот придет пациент, а мы… В принципе, он сейчас болен, мы не знаем, сколько он проживет, и мы хотим использовать данный алгоритм кластеринга, и предсказать ему продолжительность жизни, либо же согласно тому, к какому сабтипу он относится, ему выписать лечение. Сколько курсов химиотерапии, сколько… Это не совсем регрессия, мы не хотим…

    Николай Михайловский: Да, то есть мы, помимо регрессии, хотим ему еще назначить какое-то лечение.

    Ольга Андреева: Конечно, задача регрессии больше стоит для тех данных, которые уже собраны. При всем уважении, но умершим пациентам, в принципе, уже, очень грубо говоря, до лампочки, какое лечение мы им назначим.

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

    Ольга Андреева: Конечно.

    Николай Михайловский: А почему вы собираете в кластере, а не в классы? Если у вас есть определенное количество предзаданных типов лечения, почему вы не пользуетесь все-таки обучением с учителем для того, чтобы определить в эти классы?

    Ольга Андреева: Это очень хороший вопрос. Проблема кластеринга в том, что мы изначально не знаем, сколько точно кластеров будет. Мы использовали для рака яичников и рака легких 4-6 кластеров для того, чтобы сравнить с работой Хоффри, и там они указали, что 4-6 кластеров, они выяснили, что это более-менее описательно для данных ситуаций. Опять-таки, извиняюсь за слово-паразит, мы не знаем, точно ли там будет четыре кластера, или точно ли там будет шесть кластеров. Мы можем попробовать меньше, можем попробовать больше. Дальше идет анализ уже непосредственно от наших коллег из Гарварда. Они смотрят, хорошо статистически независимы или все-таки статистически зависимы получившиеся кластеры, имеют ли они смысл, на самом ли деле пациенты, которые организованы в данные кластеры, их клиническая картина разная? Под статистически зависимыми и статистически независимыми я имею в виду, разная ли клиническая картина – реакция на лечение, продолжительность жизни, зависит ли их продолжительность жизни от того, что мы их определили в кластер 1, 2 или 3.

    Николай Михайловский: Хорошо, то есть вам нужно было построить некий метод, про который не известно, сколько кластеров, потому что какие-то внешние люди потом скажут, хорошо такое количество кластеров или нет.

    Ольга Андреева: Это достаточно интересное определение. Не столько хорошо ли такое количество кластеров или нет, а именно, улучшается ли полезность, польза от этих кластеров для работы онкологов, поможет ли им это в принятии решений. На данный момент мы не можем стопроцентно использовать никакие нейронные сети, никакие алгоритмы для того, чтобы исключительно на них основывать решения, как лечить пациентов.

    (00:50:02)

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

    Николай Михайловский: Хорошо. Теперь ваша задача для меня звучит как задача Metric Learning, то есть мы должны выработать… Мы же не обязаны использовать евклидово расстояние для точек, мы можем выучить любую метрику. Тогда, когда нам надо как-то использовать доменное знание для кластеризации, обычно используются методы типа Metric Learning, когда мы эту метрику, расстояние между точками, выучиваем, какое нам надо. А почему таким образом задача не была поставлена?

    Ольга Андреева: Это хороший вопрос. Метрику, какую нам надо. Это уже непосредственно больше таргетированная задача, метрику, которую нам надо, для чего? Только для этих данных? Хорошо, будет еще один, очередной узконаправленный алгоритм кластеринга. У нас больше задача была сделать общий, general method для того, чтобы его могли применять на других сферах.

    Это, безусловно, хорошее направление, и в этом направлении работают очень много и онкологов, и онкологов вместе с data scientists, и онкологов вместе с экспертами в сфере машинного обучения, чтобы улучшить непосредственно алгоритмы кластеров.

    У нас же все-таки задача была поставлена немного по-другому, и нам было больше интересно исследовать именно это направление, в том числе, и с нашими коллабораторами мы это обсуждали, и пришли к выводу, что мы будем рассматривать больше это направление.

    Николай Михайловский: Хорошо, не буду вас больше мучить. Есть еще вопрос Ивана Даниловича.

    Ольга Андреева: Да, я вижу.

    Николай Михайловский: Пожалуйста, вы можете сами зачитать, мне так даже удобнее.

    Ольга Андреева: Хорошо. «Если нет размеченных истинных кластеров, как происходит выборка catalyst points, улучшающих работу кластеризации? Как мы отличаем их от всех прочих сгенерированных?» Это хороший вопрос, я на него отвечала больше в начале презентации. Собственно, нет различных истинных кластеров, но все равно для алгоритма, для части, для большей части алгоритмов кластеринга нам нужно их указывать, указывать количество, на которое мы хотим разделить наши данные.

    Давайте посмотрим еще раз картинку. Мы генерируем данные. На данный момент сгенерированные данные – это просто какие-то синтетические данные. Что мы делаем? Мы постоянно с помощью наших доменных метрик смотрим, улучшают ли они ситуацию или нет, и как только мы сгенерировали достаточное количество сейчас этих catalyst points, собственно у нас уже на исходе и есть те кластеры, которые нас интересует с точки зрения домена. Постоянная оценка вместе с доменными метриками, разработанными на основе доменных знаний, нам помогает оценивать, полезна точка или нет, является ли она catalyst point или нет.

    (00:55:10)

    Для catalyst point у нас есть два рекваймента, они расписаны и в статье, если интересно, можно почитать. Для них необходимо происходить из дистрибьюшен, _____ дистрибьюшен, собственно GAN, натренировавшись, нам позволяет генерировать данные из distribution _____, которая является близким к дистрибьюшену настоящих данных, и также они должны, согласно нашим доменным метрикам, улучшать пользу кластера.

    Николай Михайловский: Хорошо, спасибо. Коллеги, еще вопросы к Ольге. Кажется, больше вопросов нет, да и стандартное время у нас, в общем-то, закончилось.

    Ольга, спасибо большое за рассказ.

    Ольга Андреева: Спасибо вам, что пригласили.

    Николай Михайловский: А, вот что-то нам еще пишут в QNA.

    Ольга Андреева: «Проводилось ли тестирование на синтетических данных?» Нет, не проводилось.

    Николай Михайловский: И данных на экспертах.

    Ольга Андреева: Нет, не производилось. Но это хорошее направление, мы обязательно рассмотрим как отдельный… оценку нашего метода на синтетических данных. Но с точки зрения синтетических данных… Это хорошее направление, подумаем на этот счет.

    Николай Михайловский: Хорошо. Спасибо большое, до свидания. Коллеги, до новых встреч.

    (00:57:20) (Конец записи)