Глава лаборатории теоретической биофизики Университета Эмори рассказывает о нейронных сетях, машинном зрении и лечении диабета
Richard Greenhill, Hugo Elias, Shadow Robot Company
Илья Неменман — глава Theoretical Biophysics Lab в Emory University. Мы расспросили профессора об исследованиях, проводимых под его руководством, разработках в области машинного обучения и применении работ в сфере искусственного интеллекта для понимания биологических механизмов.
— Над чем сегодня работает ваша лаборатория?
— Я физик-теоретик и работаю в сфере биологии, так что наша лаборатория находится на стыке этих двух областей. И если конкретизировать, есть два основных вопроса, которые меня больше всего интересуют. Один из них — это вопрос о том, как информация обрабатывается в биологических системах разных уровней: от отдельных клеток до нейронов мозга и даже до больших популяций животных. Причиной моего интереса является то, что информация по сути своей является физической величиной, такой же, как масса или энергия. Те же самые общие законы, которые описывают, как информация обрабатывается в клетках, могут быть применимы к мозгу или популяции живых организмов. Таким образом можно получить общее представление о процессах, которые широко распространены и важны для всех живых организмов. Например, мы с вами сейчас разговариваем, мы обмениваемся информацией. Или, к примеру, во время ходьбы ваше тело собирает информацию о своем положении, о том, что происходит во внешнем мире, обрабатывает ее и отправляет эту информацию мышцам, что дает им возможность реагировать. Так что во многих отношениях жизнь — это обработка информации. И поэтому мы изучаем не определенную биологическую систему, но общие законы обработки информации в биологии. Это один аспект того, чем мы занимаемся.
Другой аспект более специализированный, и он, возможно, скорее относится к области мечтаний. Мы пытаемся вывести законы биологии. Вам, конечно, знакомы фундаментальные законы физики: общая теория относительности Эйнштейна, уравнение Шредингера и тому подобные вещи. Однако на самом деле большинство законов физики нефундаментальные, в противовес тем, которые я только что назвал. Большинство законов, с которыми мы знакомимся в старшей школе или вузе, — это так называемые феноменологические законы, такие как, например, закон Гука — о том, как приложенная к объекту сила связана с его деформацией, или закон Ома, или закон идеального газа. Эти законы по сути являются феноменологическими связями, описывающими отношения между несколькими макроскопическими физическими величинами, и не совсем очевидно, как они связаны с фундаментальными законами квантовой механики, описывающими микроскопический мир. Далеко не ясно, существуют ли фундаментальные законы биологии, однако мы надеемся, что в ней существует достаточное количество феноменологических законов. В нашей лаборатории мы пытаемся найти эти биологические законы, используя разнообразные методы, показавшие свою эффективность в физике.
Это примерное описание того, что мы делаем: мы изучаем обработку информации и пытаемся найти феноменологические законы, которые описывают процессы в биологии, и конкретно — процессы обработки информации.
— Насколько я понимаю, ваша лаборатория достаточно активно использует машинное обучение и в целом искусственный интеллект как инструменты исследований. Не могли бы вы рассказать поподробнее, как и для чего эти инструменты используются?
— На этот вопрос несколько ответов. Машинное обучение получило свое начало как сфера статистической физики — именно в этой сфере были сделаны первые важные разработки, такие как нейронная сеть Хопфилда в вычислительной нейробиологии. И мы до сих пор занимаемся похожими вещами — мы разрабатываем теории того, как происходит машинное обучение и обучение в целом. Это первая часть ответа на ваш вопрос.
Вторым аспектом нашей работы является использование алгоритмов, которые люди разработали сфере статистики и машинного обучения, в применении к биологическим задачам. Например, недавно мы изучали данные, полученных от секвенирования отрезка ДНК E.coli, который позволяет этой бактерии усваивать лактозу. Это большое количество данных, в которых хотелось бы найти интересные корреляции. Например, возможно, определенная нуклеиновая кислота в определенном месте приводит к тому, что клетка производит больше фермента, перерабатывающего этот сахар. По сути, машинное обучение — это поиск таких закономерностей, их категоризация и извлечение их из данных. Поэтому мы и использовали алгоритмы машинного обучения в этой работе и других наших работах. Другим примером является наше недавно опубликованное исследование, в котором мы использовали методы байесовской статистики для поиска динамических зависимостей, представленных в виде дифференциальных уравнений. Мы искали набор дифференциальных уравнений, которые могли бы объяснить полученные данные, и использовали машинное обучение, чтобы заставить компьютер искать вместо нас.
Итак, первым направлением была разработка методов, вторым — использование уже существующих методов, и теперь третье — это использование разработок из области искусственного интеллекта, для того чтобы понять, как работает мозг. Например, с моим коллегой Самуилом Собером здесь, в Университете Эмори, мы изучаем, как певчая птица — японская амадина — обучается своим песням. Характерная песня, которую поет эта птица, не является врожденным навыком — птицы учатся ей у своих отцов. Это очень сложный процесс: каким образом птицы находят, а потом модифицируют команды, которые необходимо послать на мышцы, чтобы произвести необходимую песню? Мы пытаемся смоделировать этот процесс примерно так же, как моделируем процесс машинного обучения: какие производятся расчеты в мозгу этой птицы в связи с обучением, когда она пытается понять, что и как ей надо делать? Таким образом, мы пользуемся уже существующими знаниями о машинном обучении и пытаемся смотреть на биологические системы как такие же обучающиеся системы.
Это замыкает круг нашей деятельности: мы разрабатываем методы, мы их используем и затем задаем вопросы: похожи ли эти методы на то, что в действительности используется биологическими системами?
— Меня заинтересовали ваши исследования по обучению нейронных сетей сегментированию поля зрения. Вы не могли бы поподробнее о них рассказать?
— Да, это один из наших маленьких проектов. Давайте поместим это в некоторый контекст. На данный момент уже достаточно много известно о том, как работает зрительная система у людей и других приматов. На самом деле алгоритмы, которые используются такими компаниями, как Google и Facebook, для анализа изображений, позволяющего задать вопрос: «На этой фотографии находится ваш друг — это так? Да или нет? Его зовут так-то и так-то, правильно?», базируются на идеях, почерпнутых из исследований работы нашего собственного мозга.
Это выглядит так: у вас есть многослойная нейронная сеть, где первый слой измеряет пиксели, анализирует соотношение черного и белого, равно как и цветов во внешнем мире. Следующий слой смотрит на эти пиксели и пытается распознать грани, образуемые этими пикселями, поскольку мы знаем, что видимый нами мир состоит из объектов, у которых есть границы. Следующий слой смотрит на характеристики более высокого уровня: соединения граней, или текстуру, или еще что-то в этом роде. И таким образом выстраивается сеть, где каждый новый слой добавляет новые, более сложные черты, и в последних слоях уже содержится информация о самом существовании объектов в поле зрения. Мы пытались задаться следующим вопросом: в рамках общей концепции как нейронная сеть или организм будут знать, относятся или нет две грани на изображении к одному и тому же объекту?
Исследования в этой области впервые провели в начале 90-х годов. Стив Цукер в Йельском университете, специалист по этим вопросам, высказал идею о том, что грани, принадлежащие к одному и тому же объекту, не независимы друг от друга, потому что контуры этих объектов непрерывны. Редко бывает так, что две грани одного объекта не образуют одну непрерывную линию. Это смотрелось бы очень странно, поскольку объекты нашего реального мира чаще гладкие и непрерывные. Эти идеи можно выразить математически и получить математические формулы, которые смогут помочь нам распознать, какие грани образуют один протяженный контур.
Эта общая задача была решена, но сейчас этот принцип нечасто используется в алгоритмах машинного зрения. В этой связи у нас был ряд дополнительных вопросов, например такой: если мы построим систему машинного зрения исходя из того, что грани, плавно переходящие друг в друга, можно считать принадлежащими к одному большому контуру, то будет ли такая система похожа на зрительную систему человека, пытающуюся «решить», какие грани связаны, а какие нет? Ответ на этот вопрос: да, будет. Выясняется, что эти алгоритмы сравнимы с аналогичными процессами у человека, у них примерно такая же точность, и им требуется примерно такое же количество времени для решения вопроса о протяженности граней, что и человеку. Помимо того, они делают примерно те же ошибки. В тех случаях, когда человек ошибается, алгоритм тоже ошибется, что, вероятно, означает, что обработка информации у человека и такого компьютерного алгоритма происходит очень похожими способами.
Позднее мы опубликовали другое исследование, основанное на этих идеях, в котором мы пытались ответить на вопрос: «Можем ли мы упростить эту модель? Есть ли способ сделать 90% того, что эта модель делает, с моделью, в десять раз более простой?» Выяснилось, что да. Даже не работая на уровне отдельных нейронов, а просто смотря на среднюю активность нескольких нейронов в определенной области, можно проделать этот вид обработки с достаточной точностью.
— Было ли это воплощено только на компьютере или же вы пытались встроить его в робота и посмотреть, как тот будет себя вести?
— Нет, проверять на роботе мы не пытались. Обычно цель наших исследований — сравнить алгоритм с человеком. Мы загружаем изображения на компьютер, даем их программе, показываем те же изображения человеку и спрашиваем: «Имеется ли на изображении объект или нет? Сколько объектов на нем? На каком из изображений больше объектов? Можете ли вы распознать содержимое этого изображения с достаточной быстротой, скажем за сто миллисекунд? Например, может ли это быть изображением утреннего часа пик? Или, может быть, на картинке классная комната с учениками и учителями? Вы можете понять, что это, за сто миллисекунд или менее?» Этот вопрос задавался и человеку, и компьютеру.
Мы считаем, что мы поняли какие-то аспекты человеческого зрения, когда компьютерный код ведет себя примерно так же, как и человек, и делает примерно те же ошибки — не только по количеству, но и по качеству. Если вкратце, то мы разрабатываем алгоритмы машинного зрения, которые ценны не столько в плане машинного зрения, но потому, что они говорят нам о том, как зрение работает у человека.
— Могли бы вы поподробнее рассказать об алгоритмах, анализирующих данные, так называемой идее «робота-ученого» и конкретно вашей недавней разработке в этой области?
— Давайте начнем издалека: как вообще работает наука? Мой любимый ученый, и в этом я буду неоригинален, — это Ричард Фейнман. У него есть прекрасная серия лекций в рамках так называемых «Мессенджеровских лекций», проводимых в Корнелльском университете для широкой публики. В последней лекции он рассуждал на тему того, как мы обнаруживаем новые законы природы. Его ответ: мы пытаемся их угадать. Мы смотрим на данные и высказываем догадку, что может существовать уравнение, их описывающее. И далее на основе этого предположения делаются предсказания. Например: если мой закон описывает систему и я повлияю на эту систему определенным способом, например совершу нокаут гена, то я буду ожидать, что, согласно закону, который мы только что «угадали», система отреагирует определенным образом. А затем проводится эксперимент, подтверждающий или опровергающий наши предсказания. И если догадка была верна, если предсказания подтвердились, мы проведем другой эксперимент. Если же догадка оказалась неверна, если эксперимент не подтвердил предсказания, тогда мы должны угадывать заново.
Ранее предпринимались попытки использовать современные компьютеры, чтобы автоматизировать эту игру в угадайку, чтобы вместо человека, вперяющего свой взор в данные и пытающегося записать описывающие их уравнения, новые законы предлагал бы компьютер, после чего мы бы тестировали их при помощи экспериментов. Мне кажется, одна из наиболее влиятельных работ в этой сфере принадлежит Ходу Липсону, работающему сейчас на факультете инженерии Университета Колумбии. По экспериментальной же части автором влиятельных статей был Джон Виксво из Университета Вандербильта. Однако эти попытки были не слишком эффективны. Причина этого — слишком большой размер множества возможностей, из которого нужно выбирать: существует неимоверное количество уравнений, которые можно рассматривать. И если вы просто начнете случайно подбирать и проверять уравнения, вам потребуется неизмеримо большое количество времени, чтобы найти правильное решение.
— Вам удалось решить эту проблему?
— В некоторой мере. Мы решили, что этот подход с использованием компьютера для ускорения угадывания может быть немного изменен. Не обязательно проводить поиск по всему множеству возможных законов, связей между данными — можно сосредоточиться только на приблизительных решениях. И хотя число всех возможных связей между данными астрономическое, конкретная система сложных уравнений может быть очень похожа на какой-то набор более простых. Достаточно небольшой набор простых уравнений может аппроксимировать почти все что угодно с достаточно большой точностью. То есть если вы не ставите своей целью найти закон, идеально описывающий ваши данные, а удовлетворяетесь только приблизительным решением, поставленная задача становится куда более достижимой.
— И каким образом можно заставить компьютер угадывать?
— На самом деле компьютер не угадывает. Фейнман описывал этот процесс как угадывание, однако у нас очень структурированная процедура поиска во множестве приближенных решений. Чтобы это объяснить, давайте сначала ответим на вопрос: какие основные проблемы возникают при попытках угадать законы природы? Представим себе такую ситуацию: кто-то предоставляет вам некую серию измерений, например, температуры за окном или упорядоченных по времени данных о движении планеты вокруг Солнца или же это могут быть данные о степени фосфориляции определенного рецептора в клетке в разные моменты времени, и ваша задача — угадать закон, то есть дифференциальные уравнения, объясняющие эти данные.
Но на вашем пути встанут два препятствия. Первое — это то, что законы, описывающие исследуемую систему, могут быть очень сложными — не линейными закономерностями и даже не квадратичными, а какими-то совсем странными функциями. А всяких разных странных функций много. Мы их можем упорядочить: сначала будем рассматривать линейные функции, затем те, которые описываются квадратичной параболой, а потом функции с многочленом третьей степени, затем четвертой и так далее. И мы знаем, что путем добавления степенных функций все более высокой степени мы можем аппроксимировать практически любую функцию.
Это уже неплохо. Но второе препятствие состоит в том, что когда вы пытаетесь описать данные, скажем, температуры за окном, то температура не будет единственной значимой вещью. Эта температура будет зависеть от прошлой температуры за сотни километров отсюда и от ветра, перегоняющего облака оттуда сюда. То есть в данных существуют скрытые переменные — ваши данные не включают всех необходимых измерений, а только часть из них.
Большой проблемой при попытках найти динамическое представление данных является необходимость делать обе эти вещи одновременно: мы должны исследовать разные виды странных нелинейных функций и в то же время думать, не пропустили ли мы переменную, или две, или пять. Чтобы понять, почему это сложно, представьте себе, что вы что-то ищете, продвигаясь по коридору, в котором на первой двери висит табличка «Линейные функции», на второй — «Квадратичные функции», на третьей — «Кубические функции». Вы заглядываете в каждую комнату по очереди, спрашивая, подходят ли линейные функции. Не совсем. А квадратичные? Нет, тоже не походят. А что насчет кубических? Подходят, и вы останавливаетесь здесь. Но если нужно изучить все эти функции одновременно с добавлением новых переменных, то больше не будет этого прямого линейного коридора, по которому вы двигаетесь, — вы должны начать двигаться в плоскости: должны ли вы добавить одну нелинейность и две скрытые переменные или же следует добавить две скрытые переменные и семь нелинейностей или любую комбинацию этих двух вещей? И этот поиск становится очень масштабным. Множество всех возможностей становится слишком большим — и вот где появляется «угадывание». Ваша лучшая догадка — это ваша лучшая стратегия. Если вы пытаетесь перебрать все возможные варианты этого огромного сложного множества, вы в буквальном смысле должны угадать — лучшего пути просто нет.
Нам удалось, грубо говоря, упорядочить этот процесс добавления переменных и нелинейностей: мы систематически пронумеровали и упорядочили все варианты таким образом, что поиск опять стал поиском в линейном коридоре, а не на плоскости. После этого угадывание уже не является необходимостью — вы просто пробуете все варианты, пока не найдете подходящий. То есть в нашем случае, потому что мы сфокусировались на приблизительных, а не точных решениях, компьютер не угадывает — он просто методично перебирает варианты приблизительно подходящих дифференциальных уравнений, и это не очень сложный поиск.
— Эти уравнения вы подбираете сами или их подбирает компьютер?
— Нам самим нужно выбрать это множество возможных дифференциальных уравнений. Они все определенной формы — не все уравнения идут на рассмотрение компьютером. И примечателен тот факт, что даже с таким ограниченным набором уравнений все еще можно аппроксимировать почти любую функцию с высокой точностью. А уж конкретное решение в этом множестве компьютер находит автоматически.
— Каково будущее этой области?
— На этот вопрос не так просто ответить. Все мы любим помечтать, но очень сложно делать точные предсказания такого рода. Мечтой, конечно, является создание такой машины, которая сможет полностью заменить меня как ученого — она будет сама строить модели и проводить все исследования. Я сомневаюсь, что это произойдет в обозримом будущем, однако мечтать не запрещается, не так ли? Однако, чтобы дать более реалистичный прогноз, вот недавняя тема заявки на грант, которую мы подали, — это то, над чем мы сейчас активно работаем.
Есть такой недуг, как диабет второго типа. Это серьезная проблема, достаточно весомая часть населения больна диабетом, и на самом деле никакие два случая этого заболевания не являются идентичными. Предыдущие работы показали, что динамика секреции инсулина и даже динамика активности ионов кальция, которая является предпосылкой секреции инсулина, очень разные в разных клетках. Они описываются более-менее одинаковыми уравнениями, однако эти уравнения имеют разные параметры. Например, один индивид может быть старше, другой младше, кто-то может иметь большее количество определенных клеток или ферментов, чем другие. Так что если вы испытаете лекарство или режим лечения на среднем человеке, то они могут не работать в каждом отдельно взятом случае. В то же время если вы попытаетесь найти все эти индивидуальные параметры так, как мы обычно это делаем при помощи бумаги и карандаша, то такой подход никогда не работает: в мире куда больше людей, больных диабетом, нежели ученых, их изучающих. Поэтому одна из задач, над которой мы работаем в сотрудничестве с моим давним коллегой и другом Андреем Левченко из Йельского университета, — это адаптация нашей техники автоматического моделирования для построения моделей отдельных людей исходя из модели общей структуры. Это позволило бы нам делать предсказания о том, какова будет реакция индивида на конкретный препарат. И это вполне осуществимо.
Мы, возможно, не сможем создать «робота-ученого», который открыл бы совершенно новые законы природы, уровня законов Ньютона или теории относительности Эйнштейна и им подобных. Но мы вполне сможем взять более общие парадигмы, более общие формулы математических отношений между физиологическими измерениями пациента, подстроить эту модель под отдельного пациента и понять, почему один пациент реагирует на лекарство, а другой — нет и что нужно изменить в лечении, чтобы реакция появилась. Это персонализированная медицина — одно из направлений, в которых мы работаем.
Илья Неменман
Associate Professor of Physics and Biology, Head of Theoretical Biophysics Lab, Emory University