Педро Домингос - Верховный алгоритм
Конечно, для обучения в таком масштабе нужно намного больше, чем простое внедрение алгоритмов, которые мы уже видели. Во-первых, в какой-то момент одного процессора станет мало: обучение придется распределить по многим серверам. Ученые, работающие в промышленности и в научных учреждениях, интенсивно исследуют, как, например, выполнять градиентный спуск, используя параллельно много компьютеров. Один из вариантов — разделить данные между процессорами, другой — разделить параметры модели. После каждого этапа результаты соединяются и работа перераспределяется. Так или иначе сделать это, не жертвуя качеством и не давая затратам на коммуникацию между процессорами вас задавить, — далеко не тривиальная задача. Другая проблема заключается в том, что, имея бесконечный поток поступающих данных, нельзя определиться с решением, пока не увидишь их целиком. Выйти из такой ситуации помогает, например, принцип выборочного обследования. Если вы хотите предсказать, кто победит на следующих президентских выборах, не обязательно спрашивать каждого избирателя, за кого он собирается голосовать: пробы из нескольких тысяч человек будет достаточно, если вы готовы смириться с некоторой долей неопределенности. Фокус в том, чтобы обобщить этот подход до сложных моделей с миллионами параметров, но это можно сделать, отбирая на каждом этапе ровно столько примеров из каждого потока, сколько нужно. Вы должны быть достаточно уверены в правильности решения и в том, что общая неопределенность по всем решениям остается в разумных пределах. Таким образом можно эффективно учиться на бесконечном количестве данных в конечное время: об этом я писал в одной из первых статей, предлагающих этот подход.
Системы больших данных — это как фильмы Сесила Демилля в машинном обучении: тысячи серверов вместо тысяч статистов. В самых крупных проектах надо собрать вместе все данные, верифицировать их, очистить и привести в приемлемую для обучающегося алгоритма форму — по сравнению с этим строительство пирамид покажется прогулкой в парке. Если говорить о масштабе фараонов, европейский проект FuturICT нацелен на построение модели всего мира — в буквальном смысле. Общества, правительства, культура, технология, сельское хозяйство, заболевания, глобальная экономика — ничего не будет упущено. Такие проекты, конечно, нам пока не по силам, но они предзнаменование того, что нас ждет в будущем, и они могут помочь нам нащупать границы масштабируемости и научиться их преодолевать.
Вычислительная сложность — это один вопрос. Другой — сложность человеческая. Если компьютеры страдают синдромом саванта, то алгоритмы машинного обучения иногда производят впечатление вундеркиндов, подверженных приступам дурного настроения: отчасти поэтому люди, способные заставить их слушаться, так много зарабатывают. Если вы умеете настроить все точно как надо, может произойти волшебство: алгоритм станет умен не по годам и одарит вас потоком идей, хотя процесс в чем-то похож на Дельфийского оракула: интерпретация пророчеств сама по себе может требовать большого мастерства. Но поверните ручку неправильно, и обучающийся алгоритм извергнет лавину бессмыслицы или вообще замкнется в себе. К сожалению, в этом отношении Alchemy не лучше большинства. Записать свои знания на языке логики, заложить данные и нажать кнопку — это здорово. Когда Alchemy выдает великолепно точные и эффективные логические сети Маркова — можно пойти в паб и отпраздновать успех. Но когда этого не происходит — а так бывает большую часть времени, — начинается битва. В чем проблема? В знаниях? В обучении? В выводе? С одной стороны, благодаря обучению и вероятностному выводу простая логическая сеть Маркова может выполнить работу сложной программы. С другой стороны, когда она не работает, ее намного сложнее отладить. Решение — сделать ее более интерактивной, способной к самоанализу и объяснению хода своих рассуждений. Это станет для нас еще одним шагом к Верховному алгоритму.
Сейчас вас примет доктор
Лекарство от рака — программа, которая на входе получает геном раковой опухоли, а на выходе дает лекарство, с помощью которого можно эту опухоль уничтожить. Теперь мы можем в общих чертах описать, как она будет выглядеть. Давайте назовем ее CanceRx. Несмотря на внешнюю простоту, эта программа станет одним из крупнейших и самых сложных проектов в истории: она так велика и сложна, что построить ее можно только с помощью машинного обучения. В ее основе — подробная модель работы живых клеток с подклассами для всех типов клеток человеческого организма и обобщающей моделью их взаимодействия. Эта модель в виде марковской логической сети или чего-то схожего соединит в себе знания из области молекулярной биологии с большим объемом данных из секвенсоров ДНК, микрочипов и многих других источников. Часть знания будет заложена вручную, но большая часть автоматически извлечена из литературы по биологии и медицине. Модель будет постоянно развиваться, включать в себя все новые результаты экспериментов, источники данных и истории болезни. В конце концов она узнает каждый метаболический путь, каждый регуляторный механизм, все химические реакции во всех типах человеческих клеток. Будет получена сумма знаний о молекулярной биологии человека.
Большую часть своего времени CanceRx будет тратить на проверку лекарств-кандидатов. Когда модели покажут новое лекарство, она спрогнозирует его действие и на раковые, и на нормальные клетки. Если Элис поставили онкологический диагноз, CanceRx применит свою модель и к нормальным, и к раковым клеткам девушки и перепробует все доступные лекарства, пока не найдет то, которое убьет раковые клетки, не повреждая здоровые. Если найти работающее лекарство или сочетание лекарств не получится, программа приступит к разработке нового препарата, возможно, путем эволюции на основе уже существующих или с использованием алгоритма восхождения на выпуклые поверхности или кроссинговера. На каждом этапе поиска лекарство-кандидат будет проходить испытание на модели. Если лекарство останавливает рак, но все же имеет вредные побочные эффекты, CanceRx попытается подкорректировать его, чтобы от них избавиться. Если рак мутирует, весь процесс повторится заново. Но модель будет прогнозировать вероятные мутации еще до их появления, и CanceRx назначит лекарства, которые заблокируют их развитие. В шахматной игре между человечеством и раком CanceRx поставит опухоли мат.
Обратите внимание, что машинное обучение само по себе не подарит нам CanceRx. Нельзя просто собрать обширную базу данных по молекулярной биологии, загрузить ее в Верховный алгоритм и получить готовую идеальную модель живой клетки. CanceRx будет конечным результатом многих итераций, сотрудничества сотен тысяч биологов, онкологов и специалистов по обработке данных по всему миру. Самое важное, однако, что CanceRx будет охватывать полученные с помощью врачей и лечебных учреждений данные миллионов пациентов с раком. Без этих данных мы не сможем победить рак, а с ними — сможем. Вносить свой вклад в растущую базу данных будет не просто в интересах каждого пациента с раком: это станет этическим долгом. В мире CanceRx тайные клинические исследования останутся в прошлом: новые методы лечения, предложенные CanceRx, будут непрерывно внедряться в практику, и в случае успеха их начнут назначать все большему числу пациентов. И успехи, и неудачи станут давать CanceRx ценные данные для обучения, поэтому чем больше данных, тем лучше результаты. С одной стороны, машинное обучение — лишь малая часть проекта CanceRx, значительно уступающая по важности сбору данных и человеческому вкладу. Но если посмотреть под другим углом, машинное обучение — ключевой элемент всего предприятия. Без него знания о биологии рака были бы фрагментарными, разбросанными по тысячам баз данных и миллионам научных статей, а каждый врач располагал бы крупицей нужной информации. Сбор всего этого знания в связное целое не под силу человеку, как бы умен он ни был. На это способно только машинное обучение. Поскольку все раковые опухоли разные, машинное обучение должно найти общие паттерны, а так как одна ткань может принести миллиарды точек данных, без машинного обучения не разобраться, что сделать с каждым новым пациентом.
Уже предприняты шаги, чтобы создать то, что в конце концов превратится в CanceRx. Специалисты в новой области знания — системной биологии — моделируют не отдельные гены и белки, а целые метаболические сети. Одна из исследовательских групп, работающая в Стэнфорде, построила модель всей клетки. Global Alliance for Genomics and Health поощряет обмен данными между учеными и онкологами, цель которого — проведение в будущем широкомасштабного анализа. CancerCommons.org собирает модели рака и позволяет пациентам делиться своими историями болезни и учиться на схожих случаях. Foundation Medicine точно выявляет мутации в опухолевых клетках пациента и предлагает самое подходящее лекарство. Десятилетие назад было неизвестно, можно ли в принципе вылечить рак, а если можно, то как это сделать. Теперь мы видим, как достичь цели. Идти придется долго, но дорога найдена.