chenfenggang 2019-01-23
点击上方关注,All in AI中国
相关背景
想快速了解相关内容,请点击下方链接:https://speakerdeck.com/jchin/decomposing-dynamics-from-different-time-scale-for-time-lapse-image-sequences-with-a-deep-cnn
我在PacBio做了9年的科学研究员,经过我与众多科研人员的努力,单分子测序在科学界变得火热起来。关于我9年研究生涯的心得,你可以点击链接进行了解:https://medium.com/@infoecho/the-end-of-a-chapter-a-memoir-on-bioinformatics-development-work-for-single-molecule-sequencing-19455c288280。
我的大部分技术/科学工作都与DNA序列有关。虽然我现在所掌握的深度学习方法可以解决我所面临的问题,但我确实喜欢探索一些DNA测序以外的东西。来拓宽我的眼界。
不久前我加入了DNAnexus,这家公司已成为生物数据/测序数据处理云计算平台的领导者。我认为用这个平台演示开发生物数据,而不再仅仅限于DNA序列的深度学习模型是很有用的。怀着这样的目标,前首席安全官Andrew Carroll和我决定看看我们能为生物成像相关的工作做些什么。
当我们正在寻找一些例子时,在德国马克斯普朗克分子细胞生物学与遗传学研究所(简称:MPI- CBG,详情:https://www.mpi-cbg.de/home/)的Gene Myers(第一个完成人类基因组组装的人,详情:http://science.sciencemag.org/content/291/5507/1304)在他的实验室研发出了一个工具,名字叫CSBdeep(http://csbdeep.bioimagecomputing.com/)。他希望通过这个工具,从光片共焦图像中创建超分辨率图像,来研究生物发展过程。
示例:使用CSBDeep存档超分辨率。左图:原始图像。右图:CSBdeep生成的超分辨率图像。
受CSBDeep论文的启发,Andrew找到了一位正式的合作者Ying Gu(http://www.gulilab.org/),想看看她是否有一些有趣的图片供我们在平台上展示。利用DNAnexus云计算平台,复制CSBDeep的结果并应用到新的图像中相对容易。尽管如此,我还是竭尽所能让我们做的事情更有一点新意。
"电影"比"图片"有趣多了
结果证明,Ying Gu的研究工作是追踪纤维素合成过程中的特定蛋白质(https://news.psu.edu/story/141566/2010/05/18/research/secrets-cellulose),以解决生物能源的重要问题(https://www.futurity.org/cellulose-plants-biofuel-1715292/)。我们得到的图像是追踪细胞内分子的延时摄影。最初,我认为我们可以通过对每一帧进行深度学习来实现超分辨率。虽然我们在这个问题上取得了一些初步的成功,但我却"分心"去解决另一个问题了。
在图像堆栈中,缓慢变化的背景有助于在较长的时间尺度上实现非零自相关。
当我在看延时拍摄的"电影"时,注意力难免会被一些背景成分所分散(例如,植物细胞的主干等等),当然还有以不同速度移动的不同斑点或颗粒。我认为可以使用深度学习来分离背景、慢速分量和激活分量。
在这样的延时摄影中,我们如何将动态部分与静态部分区分开来呢?
首先,获取背景图像实际上并不难。我们可以取堆栈中所有图像的每个像素的平均值或中值来获得背景。为了得到前景图像,我们可以从每张图像中减去背景图层。如果背景是静态的,那么这些步骤将更加简单。然而,我们这么做的前提是建立在只有一个前景图像的基础上的。事实上,潜在的生物过程可能有不同的组成部分,具有不同的动态尺度,我们可以使用深度学习架构来分解不同的组成部分。
从 (T — ∆t) to T:如果∆t比快速的分量更"长",那么我们就可以使用这种自动编码器架构捕获慢速分量。
在不同的时间段使用多个自动编码器预测未来
这种延时拍摄的背景是什么?在深度学习神经网络体系结构中,自动编码器可以通过隐藏层进行学习,从而实现输入的再现。训练过程中的损失函数通常是输出和输入之间的L2差异。如果我们认为背景是"电影"中不变的部分,我们应该希望我们可以使用这样的自动编码器来学习减少的内容。图像在不同时间点的不变部分应该可以通过自动编码器学习。
我们可以认为一幅给定时间的图像可以在不同的时间尺度上将早期的特征或分量重建出来。我们使用自动编码器预测图像在时间t(t -∆t)。如果∆t大,那么我们希望自动编码器可以学习背景的部分。例如,我们可以构建t时刻的图像,将t-8(帧)、t-4(帧)、t-2(帧)、t-1(帧)图像的预测组合起来,捕捉不同时间尺度下的内容。
根据这一思路,我们通过下面的测试分解了Ying Gu团队生成的"延时摄影"。我认为我们得到了相当好的结果。
从左到右:(a)原始(b)慢分量(c)快分量(d)由慢分量和快分量组成
其他相关工作
虽然我认为我们提出的方法很有趣,而且很容易用PyTorch实现,但是之前也有一些科研人员有着独到的看法。例如,Mikael Henaff、Junbo Zhao和Yann LeCun的论文《Prediction Under Uncertainty with Error-Encoding Networks(EEN)》(https://arxiv.org/abs/1711.04994)利用一种将预测误差反馈到潜在空间的机制,得到了更好的预测结果。
ENN模型架构
视频背景去除是图像处理领域的一个重要研究课题,对此我们不应该感到惊讶。我要感谢Grail(https://grail.com/)公司的Earl Hubbell(https://www.linkedin.com/in/earl-hubbell-28a5634/),当我在2018年底的一次本地生物信息学会议上介绍这项工作时,他告诉我PCA方法(https://sites.google.com/site/backgroundsubtraction/recent-background-modeling/background-modeling-via-rpca)可以去除视频背景。
利用DNAnexus云平台构建深度学习模型
作为DNAnexus平台的新手,我在这里的部分练习也是为了练习"吃自己的狗粮",详情点击链接:http://eating_your_own_dog_food/。下面是一个屏幕截图,我和我的同事在DNAnexus平台上致力于一个云支持的Jupyter Lab工作站的集成解决方案。通过这样的集成,我们可以无缝地进行数据管理、模型构建和评估。
我们了解了很多关于在GPU实例上使用带有Docker后端的Jupyter Lab的优劣处,希望这些经验可以帮助我们尽快更好地改进DNAnexus产品。
补充
我要感谢Xiaoran Xin和Ying Gu分享他们的研究成果,让我们来验证这个想法。我还要感谢Andrew Carroll将我们与Ying Gu的实验室连接起来。当然,我也希望DNAnexus的同事们不要太拼,这样我就有时间利用这个平台进行有趣的ML/AI工作了。
作者——Jason Chin
来源:https://towardsdatascience.com/deep-learning-approach-for-separating-fast-and-slow-components-2e6142d041dc