Нейросетевые языковые модели как многоцелевой медицинский ИИ
Нейросетевые языковые модели — это большие нейронные сети, которые обучаются предсказывать следующее слово (или часть слова) в тексте с учетом предыдущего контекста. Несмотря на кажущуюся простоту задачи, оказалось, что такая постановка задачи приводит к появлению весьма многофункциональной нейронной сети.
Некоторые исследователи даже предположили, что языковые модели могут стать путем к AGI — сильному искусственному интеллекту человеческого уровня. Предположение это исходит из того, что сама задача предсказания следующего слова является ИИ-полной (требующей мышления) на уровне человека. В этой статье приведу некоторые примеры того, что может сделать с языковой моделью, обученной на медицинских данных.
Идеи о том, что языковые модели могут учится выполнять самые разные задачи существуют давно, но до самого последнего времени к ним редко относились серьезно.
Ситуация изменилась с появлением больших вычислительных мощностей. Известные нейронные модели GPT от OpenAI умеют выполнять машинный перевод, отвечать на вопросы и другие задачи без специализированного обучающего набора, при этом недавно выпущенная огромная модель GPT-3 [1], содержащая 170 млрд. параметров, может по нескольким примерам «догадаться» о том, что от нее хотят и начать решать нужную задачу (хотя, как отмечают авторы, это работает не со всеми задачами и не во всех случаях).
На практике пока такие огромные модели сложно использовать в силу ограниченности ресурсов, поэтому в большинстве задач традиционные подходы пока продолжают доминировать. Однако есть области, где их применение уже сейчас может принести полезные результаты.
Одна из таких областей — медицина. В этой области открытых наборов обучающих данных сравнительно мало из-за высоких затрат на их создание и аннотацию, а также из-за проблем с защитой персональных данных.
В этой статье я приведу несколько примеров того, что может сделать языковая модель в медицинской области. Для изучения этого вопроса мы обучили довольно большую языковую модель на основе набора данных биомедицинской литературы, состоящего из всех аннотаций PubMed + 2 миллиона бесплатных полнотекстовых статей + дискуссий на медицинских форумах в Интернете. Наша модель имеет 800 миллионов параметров, что значительно меньше OpenAI GPT-3, но сравним по размерам с со средней GPT-2.
Поскольку делалось это с исследовательскими целями, для опытов мы использовали модель работающую на уровне символов, т. е. она получает на вход не разделенную на слова последовательность букв и предсказывает следующий символ. При этом подходе с «абсолютного нуля» понимание текста намного сложнее, так как нужно сначала понять, что есть слова, что слова обозначают понятия, которые в свою очередь связаны между собой. Сможет ли такая модель обучится каким-то серьезным закономерностям в области медицины?
Образцы генерации текста
Во-первых, мы обнаружили, что модель может генерировать связные фрагменты текста, описывая довольно разумные эксперименты. Вот два примера:
1. The present study was designed to evaluate the effect of a single intravenous injection of a single dose of recombinant human erythropoietin (rhEPO) on the serum levels of the pro-inflammatory cytokines IL-1, IL-6, IL-8, IL-10, IL-12p40, and TNF-α in patients with acute and chronic inflammatory arthritis. The study included 10 patients with rheumatoid arthritis (RA) and 10 healthy controls.
2. The present study was designed to evaluate the effect of the anti-inflammatory drug cyclosporine A (CsA) on the proliferation of human primary keratinocytes and to explore the possible mechanisms of the anti-inflammatory effect of CsA on the proliferation of keratinocytes. The experiments were performed in the presence of CsA (10 mM) and the combination of CsA and prednisolone (10 mM).
(Перевод на русский:
1. Настоящее исследование было разработано для оценки влияния однократного внутривенного введения однократной дозы рекомбинантного человеческого эритропоэтина (rhEPO) на сывороточные уровни провоспалительных цитокинов IL-1, IL-6, IL-8, IL-10., IL-12p40 и TNF-α у пациентов с острым и хроническим воспалительным артритом. В исследование были включены 10 пациентов с ревматоидным артритом (РА) и 10 здоровых пациентов.
2. Настоящее исследование было разработано для оценки влияния противовоспалительного препарата циклоспорина А (CsA) на пролиферацию первичных кератиноцитов человека и для изучения возможных механизмов противовоспалительного действия CsA на пролиферацию кератиноцитов. Эксперименты проводились в присутствии CsA (10 мМ) и комбинации CsA и преднизолона (10 мМ).)
Обратите внимание, что сгенерированный текст является полностью оригинальным и все же разумным.
Например, мы искали аннотации, наиболее похожие на приведенный выше в PubMed
ближайший найденный реальный пример:
Cyclosporin A (CsA) has been shown to inhibit, in vitro, the proliferation of cultured normal and neoplastic keratinocytes and to exert also in vivo an antiproliferative effect on keratinocytes of normal human skin xenografted onto nude mice. To gain further insight into the effects of CsA on human skin we investigated the immunohistochemical expression of several epidermal proliferation- and differentiation-associated antigens in the same model
(Показано, что циклоспорин А (CsA) ингибирует in vitro пролиферацию культивируемых нормальных и неопластических кератиноцитов и оказывает также in vivo антипролиферативный эффект на кератиноциты нормальной кожи человека, ксенотрансплантированные на голых мышей. Чтобы получить более полное представление о влиянии CsA на кожу человека, мы исследовали иммуногистохимическую экспрессию нескольких антигенов, связанных с пролиферацией и дифференцировкой эпидермиса, в той же модели)
Таким образом, модель не просто копирует этот текст из своего обучающего набора. И тем не менее, текст имеет смысл, поскольку кажется, что модель «знает», что циклоспорин А оказывает некоторое влияние на пролиферацию кератиноцитов, и поэтому оно и его механизмы могут быть изучены.
Ответы на вопросы с множественным выбором
Далее мы представили нашей модели тест с набором из 50 вопросов с несколькими вариантами ответов. Наш первый тестовый набор был основан на вопросах о клинических лабораторных методах. Примеры вопросов (переведено с английского):
Какой тест можно использовать при ревматоидном артрите?
а. антитела против CCP
б. моноаминооксидазы
с. вестерн-блоттинг
е. Метод Фолина-Ву
е. сывороточная глюкоза
Какой диагностический маркер можно использовать для выявления болезни Крона?
а. калпротектин в кале
б. антитела против CCP
с. Метод Фолина-Ву
е. С-реактивный белок
д интерлейкин-1
а. агонист адренергических рецепторов
б. антигистамин
с. противовоспалительное средство
е. ингибитор тирозинкиназы
Случайные ответы, выбранные в этом тесте, дают 26% правильных ответов, в то время как наша модель была на 75% точной. Модель, видимо, узнала кое-что о лабораторных методах.
Извлечение отношений — побочный эффект препарата или лечение?
Скептики могут заметить, что ответы на вышеупомянутые вопросы означают только то, что модель выучила, что некоторые слова встречаются вместе чаще, чем другие. Поэтому давайте рассмотрим задачу, которую таким образом решить нельзя. Суть задачи зная препарат определить, какие заболевания он лечит.
Основанные на совместной встречаемости слов справляются с ней плохо. Например, поиск по сходству на основе word2vec возвращает аспирин как средство лечения гастрита, потому что аспирин часто упоминается вместе с гастритом. Могут ли языковые модели решить эту проблему?
Мы обнаружили, что вероятность фразы «гастрит вызван аспирином» в 10 раз выше, чем «гастрит лечится аспирином», что указывает на то, что модель выучила реальные отношения и может дифференцировать побочные эффекты от леченных заболеваний. В нашем тесте, состоящем из 500 пар «болезнь / пары лекарств», точность определения отношения была 75%. Для сравнения, сходство word2vec было только на случайном уровне 52%.
Придирчивый читатель может заметить, что это опять вариант совместной встречаемости слов, только уже не единичных слов, а триграмм. Однако, просто поиск заданных триграмм в обучающем наборе дает точность только 58%, для многих пар препарат /заболевание именно такие формулировки в данных отсутствуют. Таким образом, наша модель научилась делать некоторое обобщение, причем, вспомним, что в качестве входа наша модель видит не слова, а только отдельные буквы.
Прогнозирование диагноза: языковая модель как средство проверки симптомов
Система проверки симптомов (symptom checker) — рассчитанная на пациента программа, которая может предположить возможные заболевания, основанные на симптомах пользователя. В основном эти приложения сейчас работают задавая вопросы с вариантами ответов.
При изучении языковых моделей обнаружилось, что они могут делать осмысленные предположения просто на основании текста содержащего описания жалоб пользователя. Такие описания распространены на медицинских форумах онлайн, а также в записях истории болезни, что позволяет теоретически использовать систему для «фоновой» проверки историй болезни с целью выявления возможных упущений.
Технические детали метода описаны в нашей статье [2], а также в полученном патенте на изобретение, там же есть систематическая оценка качества его работы, но для модели меньшего размера и обученной на русских текстах. Тут же мне хочется рассказать о некоторых необычных результатах, которая показала английская модель большего размера.
Например, на симптомы аллергического насморка ”itchy watery and red eyes, constant runny nose sneezing, but no fever, usually starts outdoors”, модель предложила четвертым вариантом «гастрит». Это кажется странным курьезом, ведь гастрит явно вызывает совсем другие симптомы. Но изучив вопрос глубже я обнаружил, что оказывается, что есть известная статистическая связь между аллергическим ринитом и частотой гастрита [3], т. е. пациент с хроническим насморком с большей вероятностью может иметь и гастрит. В ряде случаем, возможно, для врача имеет смысл увидев одно заболевание опросить пациента, нет ли у него симптомов и второго.
В другом примере, если мы добавим в модель следующее описание: «Severe frequent headaches starting in the morning, prolonged, fatigue, eye pain» («Сильные частые головные боли, начиная с утра, продолжительные, усталость, боль в глазах»), мы получаем ожидаемо мигрень и головные боли напряжения в топ-2, но, например, на пятом месте обнаружился рассеянный склероз. Это кажется нелогичным предположением, но рассеянный склероз действительно в ряде случаев сопровождается головными болями [4,5], и более этого, головные боли могут предшествовать в ряде случаев появлению других симптомов. Таким образом, модель, кажется, способна создавать связи, которые не всегда очевидны даже специалистам.
Ответы на вопросы
Интересно, что полученная модель имеет также способность отвечать на вопросы, путем последовательной генерации ответа. Пока что мы не исследовали эти возможности детально, но вот некоторые интересные примеры (для удобства чтения все переведено на русский язык):
Вопрос: У меня вопрос по поводу ушей, носа и горла. С прошлого года у меня непрерывная послеродовая капля и очень болит горло. Я пытался принимать безрецептурные антигистаминные препараты и разбавитель слизи, но они не помогли. У меня также есть щелчок в моем ухе. Что бы это могло быть?
Ответ модели: наиболее распространенной причиной этого является простуда или аллергия
Вопрос: нормально ли, что у ребенка поднимается температура после прививки?
Ответ модели: да. Нередко бывает жар после прививки. Нередко бывает жар после прививок. Если у вас жар или вас беспокоит жар, вам следует обратиться к врачу.
Вопрос: что такое моноцитоз?
Ответ модели: Моноклональная гаммопатия неопределенного значения (MGUS) — это редкое аутоиммунное заболевание, которое может быть вызвано различными инфекциями, включая мононуклеоз, миелому и другие.
Некоторые ответы звучат разумно, однако есть и полностью ошибочные варианты, поэтому до врача-консультанта эта модель пока не дотягивает, однако то, что мы получили уже кажется достаточно интересным.
1. Brown, T. B., Mann, B., Ryder, N., Subbiah, M., Kaplan, J., Dhariwal, P.,… & Agarwal, S. (2020). Language Models are Few-Shot Learners. arXiv preprint arXiv:2005.14165.
2. Matveeva, T., and N. Galiullina. «Language models for unsupervised acquisition of medical knowledge from natural language texts: application for diagnosis prediction» (2019) Proceedings of the International Conference “Dialogue 2019”, Moscow May 29—June 1, www.dialog-21.ru/media/4632/tarasovdplusetal-069.pdf
3. Locatelli, Francesca, et al. «The association between gastritis/gastroesophageal reflux and rhinitis/rhinosinusitis.» (2016): PA4255.
4. Freedman, Mark S., and Trevor A. Gray. «Vascular headache: a presenting symptom of multiple sclerosis.» Canadian journal of neurological sciences 16.1 (1989): 63-66.
5. D’Amico, Domenico, et al. «Prevalence of primary headaches in people with multiple sclerosis.» Cephalalgia 24.11 (2004): 980-984.