在微软遍布全球的研究实验室里,计算机科学家、程序员、工程师和其它专家们正试图解决计算机行业的各种前沿问题:从系统设计和安全到量子计算和数据可视化,不一而数。
但其中一部分科学家、工程师和程序员拥有一个不同的目标。他们正试图攻克的,正是人类面临的最复杂、最致命的挑战之一:癌症。在大多数情况下,他们使用的是算法和计算机,而不是试管和烧杯。正如生物学家,微软英国剑桥研究院高级研究员Jasmin Fisher所言:“我们正试图改变生物学日常的科研方式。”
来看看这些计算机科学与医学的跨界狂人们是如何有理有据地脑洞大开的:
通过直观地梳理所有可用于数据研究的方式,来自微软的一支研究团队选择使用机器学习和自然语言处理技术,来帮助全球知名肿瘤学家为患者找到最有效的个性化癌症治疗方案。而另外一项工作是结合机器学习和计算机视觉,让放射科医生更详细地了解患者的肿瘤进展情况。还有一组研究人员开发出了强大的算法,来帮助科学家了解癌症发展情况以及最适合的治疗方案。另外还有一个团队则付出了巨大的努力,让科学家有一天能够对细胞进行编程来治疗各种疾病,包括癌症。
计算驱动与数据驱动
微软全球资深副总裁周以真表示,虽然各个项目之间差异看似巨大,但微软应对癌症的总体原则离不开两种基本方法。
第一种方法立足于癌症以及生理变化过程是一种信息处理系统。这意味着用于建模和推理计算流程的工具——例如编程语言、编译器和模型检测器——也可用于建模和推理生物的变化流程。另外一种方法更偏重于数据驱动。它基于这样一种想法:研究人员可以对可用的大量生物数据应用机器学习等技术,并利用这些复杂的分析工具更好地了解和治疗癌症。两种方法有着某些共同的基础,包括核心理念,那就是成功取决于生物学家和计算机科学家都为解决问题贡献自己的专业知识。周以真博士表示:“生物学家与计算机科学家之间的合作对于解决问题至关重要。微软有着充分的理由进行大胆的广泛投资,利用计算机科学抗击癌症。对微软而言,这也符合我们的核心使命:予力众生,成就不凡。这只第一步。”
除此之外,微软对云计算的庞大投资很自然地适合需要大量计算能力来解决重大问题的领域。长期来看,微软这么做也是合理的:以为客户提供工具进行投资,不管他们选择哪个计算平台,即使有一天这台电脑已不再基于硅芯片,而是基于DNA或其他生命物质,比如一个活着的细胞。在这种情况下,我们应该确保我们了解在这些未来的计算机上编程意味着什么。”
选择最佳的治疗方案
你身体里的基因隐藏着重要的健康密码。在研究基因对罹患和治疗癌症所起到的作用上,人们已经取得了重大进展。这反过来让人们更注重以个性化方式治疗每个癌症患者。这就是所谓“精准医疗”。知名科学家、微软基因部门高级总监David Heckerman表示:“癌症治疗领域正在发生一场革命。十年前,人们还认为癌症是治疗器官:脑癌就治疗大脑,肺癌就治疗肺。现在我们知道,治疗癌症的基因同样重要。”
随着技术的发展,人们能够以更低的成本更轻松地绘制人类基因组和其它基因材料。这使得有关癌症的精准治疗更加便捷。这也为科学家提供了更多信息来针对癌症制定更加个性化的治疗方案。你可能还记得,几年前好莱坞影星安吉丽娜·朱莉在《纽约时报》发表“我的医疗选择”一文,她表示,由于携带“缺陷”基因——BRCA1,医生预估她得乳腺癌的几率为87%,为此,她选择了预防性地切除双侧乳腺。其实,突变的BRCA1不仅会增加罹患乳腺癌的几率,还会大大增加罹患卵巢癌的几率。在那之后,安吉丽娜·朱莉还预防性地切除了卵巢,以避免发生在她母亲身上的卵巢癌发生在她身上。
如今,庞大的数据量同样也带来了很多挑战。生物学家Fisher表示: “我们已经达到了会被信息淹没的临界点。我们可以测量太多的信息,但如何利用这些信息并它们转化为有用的知识?这是另外一回事。信息和数据,获取知识和理解知识之间存在巨大差异。”研究人员表示,计算机科学家可以在这个领域给予生物学最好的帮助。例如某些最有前景的方法涉及利用人工智能的分支机器学习,自动进行精准医疗所需的繁重工作。在更基础的领域,机器学习系统可以根据之前看到的猫的图像来识出其他图像中的猫。对于治疗癌症而言,这些技术可以排序和整理数百万个研究和医疗数据片段。
微软雷蒙德研究院研究员Hoifung Poon利用机器阅读技术帮助肿瘤医生找到有关治疗每个癌症患者的最有效方法的最新信息。他认为,人工智能与机器学习正是这一技术中最关键的两大因素。新治疗方式的另外一个重大优势是云计算。Azure云计算平台等工具可以在云中托管这些工具,让研究人员能够为生物学家提供此类方法,即使医疗专家本身没有强大的计算机 。
微软研究人员表示,微软在引领计算癌症工作方面拥有得天独厚的优势,因为微软作为一家软件公司长久以来一直提供让人们可以在上面开发和扩展的平台。微软英国剑桥研究院的生物计算研究小组的主管Andrew Phillips表示:“如果了解一下微软真正在做的各种事情,你会发现微软参与这个行业非常合理。”特别是在他的研究领域,Phillips认为,研究人员受益于微软作为软件创新者的历史。他说:“我们可以把之前用于编程计算机的方法用于编程生物学,然后获取更多应用和更好的治疗方案。”
当然,除非这些工具能保证生物学家、肿瘤学家和其它癌症研究人员能够使用和理解这些工具,否则它们就无法帮助抗击癌症。微软研究人员表示,他们竭尽全力让系统易于使用,甚至是没有任何计算机等技术背景的用户。这包括从学习到说医生和生物学家的语言到设计模拟人们在实验室中使用的系统的计算机工具。
一种治疗癌症的方法:调试系统
Jasmin Fisher不寄望于彻底治愈癌症,而是希望能控制它。她相信,在她有生之年可以做到这一点。作为微软英国剑桥研究院的编程原则与工具组的高级研究员、剑桥大学生物系副教授,她认为,并不是说癌症会永远消失。而是一旦你能够管理它并知道如何控制它,它就不再是个问题。
为此,Fisher和她的团队认为你需要利用技术理解癌症——或者更具体说是让正常细胞变成癌细胞的生物过程。一旦了解在问题所在,你需要知道如何修复它。Fisher把计算方法引入癌症研究。她就像计算机科学家看待计算机程序一样看待癌症研究。她的目标是了解让细胞执行命令或以特定方式行动的程序或指令集。一旦开发了一个描述细胞不正常行为的计算机程序并与癌细胞的行为对比,你就可以找出改正不正常行为的方法。她说:“如果知道了如何开发这些程序,你可以调试它们,它就不再是个问题了。”
生物模型分析器(Bio Model Analyzer,BMA)
当然,这虽然听上去很简单,实际却很复杂。Fisher和她的团队正在研究的一种方法叫生物模型分析器(Bio Model Analyzer,BMA)。这个基于云的工具让生物学家可以对细胞之间的互动和通信以及它们的连接进行建模。 该系统创建一个计算机化的模型,对比健康细胞的生物流程与生病后的异常流程。这反过来让科学家可以看到导致癌症的人体中数百万基因和蛋白质之间的互动,并快速制定最好、危害最小的方式为患者提供个性化治疗。
Fisher项目团队的成员、英国剑桥皇家社会大学研究员Ben Hall说: “我使用BMA研究癌症,了解癌症的形成过程,以及正在进行的通信。”Hall说,BMA有很多用途,包括如何及早检测癌症并了解如何更好地治疗癌症,通过建模找出哪些药品最有效以及癌症在什么时候会产生抗药性。
下面是BMA可能发挥作用的一种方式:假设一名患者得了一种罕见并且致命的脑癌。使用BMA,医生可以把有关该患者的所有生物信息输入该系统。然后,他们可以使用该系统进行各种实验,例如对比癌症患者与健康人的信息,或模拟患者的身体对各种治疗方法的反应。使用笔和纸,甚至简单的计算机程序进行这种计算是不可能的,因为人体中互相配合的数百万分子、蛋白质和基因存在太多的变量。为了开发Fisher预想的这种解决方案,研究人员需要开发强大的计算模型,能够建立这些极为复杂的模型,并运行所有可能的解决方案以寻找异常情况。
由于能够使用计算机而不是纸和笔或试管和烧杯进行这些实验,研究人员可以快速地测试多得多的可能性。这反过来更好地了解癌症如何发展、演进以及与身体其它部分互动。Jonathan Dry是制药公司AstraZeneca的首席科学家,他的团队与Fisher的团队合作。他表示: “我认为这会加快研究,因为我们能够检验比在实验室中多得多的可能性。”Dry说,由于过去检验任何假设都极为困难,研究人员不得不专注于自己偏好的假设,猜测什么可能最有潜力。BMA等系统让他们可以尝试所有想法,使得他们更有可能找到正确的方法——并且更有可能找到“黑马式”的方法。Dry认为,如果每一个假设都来被检验,放在过去这是不可能的。而有了这些模型使得研究人员可以检验所有可能性,从而能找出更为科学的治疗方案。
改进和个性化癌症治疗
微软和AstraZeneca一直在使用BMA来更好地了解药品在白血病患者体内的相互作用和抗药性。借助BMA,两个研究团队能够更好地了解不同的患者为什么对特定治疗方法有着不同的反应。Dry说,BMA对于更加个性化的癌症治疗或精准医疗来说有着巨大的潜力。研究人员希望BMA这样的系统最终可以让研究人员和肿瘤医生详细了解具体的癌症病情,在检验时纳入可能影响治疗的其他因素,例如患者是否有其它疾病以及患者吃的其它药是否会与治疗癌症的药产生反应。“这真正正视了每个患者都是不同的,可能存在很大的不同这一现实”,Dry表示。
对于生物学家来说有用的计算机系统
Fisher认为,BMA这样的系统有望革命性地改变人们对癌症的看法,但只有生物学家愿意使用它们才能取得成功。经常使用BMA工作的设计师David Benque说,该系统在开发时就考虑到尽可能让生物学家感到熟悉并且可以理解。Benque多年来一直在使用生物学家可以理解的语言来开发工具,在视觉上模拟科学家在实验室中可能用到的东西。在Fisher看来,这样的系统迫切需要方便生物学家的使用。否则,就不会在治疗癌症方面实现突破。她说:“每个人都意识到癌症研究中需要计算能力。了解到这一点是一件事,说服医生实际使用这些工具又是另外一件事。”
登月计划:像计算机编程一样对细胞进行编程
如果你是开发新软件的开发者,你很可能会按照计算机科学家所说的原则性方法编写代码:使用一种编程语言和其它正式流程,开发一个遵循计算规则的系统。微软英国剑桥研究院生物计算研究组的科学家Neil Dalchau希望在生物学领域做同样的事情。他所在的团队正试图在细胞内而非芯片上进行计算。他说:“如果你能使用生物系统进行计算,你就可以把传统计算中学到的知识运用于医疗或生物技术应用。”这种计算方法的终极目标是:像计算机编程一样进行生物编程。这种突破有望带来各种可能性,从治疗疾病到为世界供应更充足的农作物。
领导生物计算研究组的Andrew Phillips说:“我们日常生活的方方面面都会受到影响。新的方法正努力开发某种分子计算机,可以放到细胞内监测疾病。如果传感器检测到疾病,会启动应对措施治疗它。“很多目前的癌症治疗方法会在消灭癌细胞时破坏健康的细胞。与之相比,这一方法无疑是一个重大进步。
早期但大有前途的措施
Phillips同时也提醒到,他们仍处于这项研究的极早期阶段,距离长期目标还有很长的路要走。他说:“这项研究的成果将是一个杀手级应用。”但一个很明显的重大挑战是生物系统(包括我们的身体)比运行软件的硬件(计算机)要神秘的多。Phillips说:“我们制造了计算机,知道它的工作原理。但我们没有制造过细胞,细胞的很多复杂内部运行机制对于我们来说仍旧是是个谜。因此,我们需要了解细胞如何计算才能对其进行编程。我们需要找到方法并开发软件来分析和编程细胞。”
以癌症为例。同样在生物计算小组工作的科学家Sara-Jane Dunn说,你可以把癌症看作出错的生物程序——有缺陷的健康细胞造成小差错。你还可以把免疫系统看作修复某些缺陷的机制,但它并不能修复所有缺陷。科学家已经了解到有关什么造成癌症以及什么会激活免疫系统的知识,但Dunn认为我们仍处于早期阶段,还有很多工作要做。如果她的团队能够像了解微软Word如何在PC上运行那样了解这些系统,他们就可能让免疫系统自行应对癌症。她说:“如果我们希望能够进行生物编程,我们实际上首先需要了解生物如何进行计算。我认为,我们可以在这方面发挥重大作用。”像计算机编程一样进行生物编程是否就像登月一样?Phillips认为,这是一个雄心勃勃的长期目标,但他看到了通向成功之路。他说:“就像登月,我们知道这在技术上是可行的。现在的问题是把它变成现实。”
数据如何帮助医生以个性化的方式治疗癌症
今年,全球有数百万人被诊断得了癌症。对于少数被选中的癌症案例,来自领先的癌症研究机构的专家加入了分子肿瘤委员会,审查患者的病史并根据他们的癌症诊断和基因构成来制定最佳的个性化治疗方案。Hoifung Poon希望使得分子肿瘤委员会更大众化,使得更多研究人员能参与其中。并正与一组研究人员一起为此开发一款工具。
它被称为汉诺威项目(Project Hanover)。这是一种数据驱动型方法,使用机器学习(人工智能的一个分支)来自动处理让癌症专家难以评估每个患者的繁重工作。Poon说:“我们知道,癌症通常不是有一个基因突变造成的。相反,它是很多不同的突变经过复杂的相互作用而引起的,这意味着你需要仔细审视有关基因组的一切。”
这需要梳理数百万条碎片化信息,以发现适用于特定人和特定癌症案例的共同基础。对于忙于治疗很多患者的肿瘤医生来说,这是不可能的事情。这就是微软研究人员为什么开发系统,帮助医生完成工作。该系统可以自动梳理所有碎片化信息,以发现最相关的数据,这让肿瘤专家有更多时间利用自己的专业知识为患者制定最佳的治疗方案。
这一项目的最终目标是帮助医生做所有这些研究工作,然后提供一个基于Azure云的工具,让医生根据自己收集的信息模拟哪些治疗方案的效果最好。微软汉诺威项目的首席软件架构师Ravi Pandya说:“如果我们可以利用这个知识库展示与每个具体患者最相关的研究结果,普通的肿瘤学家也可以做出最好的决策。”
用Literome海底捞针
汉诺威项目开始于一个被称为Literome的工具,这个基于云的系统梳理数百万篇研究论文,寻找可能适用于每个疾病诊断的基因研究。肿瘤学家很难独自完成这项庞大的工作,而研究人员在描述自己的工作时出现的不一致现象也让这项工作变得更加复杂。这意味着涉及相同基因信息的研究论文可能在语言上并没有很多重叠的地方。Poon说:“问题是,人们在利用不同的方式表述相同的东西方面充满创意。”
为了开发Literome,Poon和他的同事使用了机器学习来开发自然语言处理工具,只需要少量可用的知识就可以创建复杂的模型,用于发现相同知识的不同表述。现在,该工具正在扩展,还可以纳入可能有用的实验和其它信息源。Poon的团队还与俄勒冈健康与科学大学的Knight癌症研究院合作,帮助他们的研究人员寻找更好的方式来治疗急性髓细胞白血病,一种复杂而致命的癌症。
Knight癌症研究院的院长Brian Druker表示,这种癌症的患者实际上是患有3或4种白血病。这使得很难找到合适的药物,以及患者是否会产生抗药性。Druker的研究曾大幅延长了慢性髓细胞白血病患者的预期寿命。他说:“很明显,我们需要极为复杂的计算才能消化并利用所有这些数据。”
Druker把这种合作看作双向对话:他的专家团队可以提供假设,帮助计算机科学家了解在数据中寻找什么。反过来,计算机科学家可以进行分析,帮助他们证明或证伪这些假设。然后,这可以帮助他们更快地制定所需的治疗方案。他说:“我一直相信这些数据在告诉我们答案,但我们需要知道如何听到这些答案。这就是计算可以发挥作用的地方。”
Druker认为,我们才刚刚开始了解数据如何帮助癌症研究。除了基因数据,研究人员还应当开始关注其它“组学”,包括蛋白质组学,或蛋白质研究,以及代谢组学,或代谢物化学作用过程研究。他说:“我们会超越基因组。基因组告诉我们很多信息,但不会告诉我们所有信息。”Poon说,他们仍处于早期研究阶段,但已经看到它如何改变和拯救生命。他说:“我们正处于一个关键时刻,已经看到光明的未来,但还有很多工作要做。”
计算机视觉如何帮助放射科医生更好地跟踪疾病发展情况
放射科医生希望获得有关患者身体内部最精确的影像,经常需要价值数百万美元的最先进设备并会产生极为详细的影像。得到这些影像之后呢?在很多情况下,阅读这些影像的最高科技产品是人眼。
Antonio Criminisi是一名机器学习和计算机视觉专家,领导微软英国剑桥研究院的放射学研究工作。他说:“人眼非常擅长诊断。专家级放射科医生看到影像——比如人脑的影像——时,在两秒内就会知道有没有肿瘤。”Criminisi说,但放射科医生很难判断某个疗法是否有效。这是因为人眼不擅长根据放射科扫描结果来判断肿瘤会增长、缩小还是改变形状。
更好的技术意味着更多数据
几年前,放射学家、英国皇家放射医师学会会长Giles Maskell说,一次典型的CT扫描可能会产生200张图片。现在,同样的扫描会产生2000张图片——产生大量人眼甚至无法感知的数据。Maskell说:“精细的细节远远超出了我们的理解能力,也无法被处理成有意义的东西。”简单地说,放射科医生需要技术来帮助他们跟上技术发展的步伐。Maskell表示,医生们需要帮助来以某种新形式来展示数据,而这种新形式应使得他们能轻松地分析大量图片。
这就是Criminisi的团队所做的事情。该团队的数据驱动型方法专注于一个研究项目,该项目利用计算机视觉和机器学习(人工智能的一个分支),为放射科医生提供更加详细且一致的测量,从而强化他们的专业知识。该系统有望最终能够评估3D扫描的每一个像素,精确地告诉放射科医生肿瘤自从上一次扫描以来增长、缩小或形状改变了多少。它还可以提供有关器官密度等信息,让放射科医生更好地了解病灶是囊肿还是肿瘤。它还可以更精细地分析肿瘤周围的细胞健康状况。
Criminisi说:“人眼基本上不可能做到这一切。”而这一计划的目标不是让放射科医生失业,而是让他们更好地工作。对此,Maskell这样说道:“癌症诊断中总是会需要由人进行解释。计算机和计算机科学会让我们做出更好的决策。”