社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

使用基于云的深度学习和声学成图进行器官细胞培养研究

MATLAB • 3 年前 • 686 次点击  

作者:Samuel J. Raymond,麻省理工学院。斯坦福大学的博士后学者,在麻省理工学院计算科学与工程中心 (CCSE) 完成博士学位。他的研究方向包括基于物理的机器学习、应用高性能计算、深度学习以及无网格法求解偏微分方程来模拟真实世界的现象。

    ◆  

在实验室中利用细胞培养器官组织时,研究人员需要以非侵入性方法将细胞固定在适当位置。
一种很有发展前景的方法是声学成图,该方法利用声能,在细胞生长为组织的过程中,将细胞分布并固定在所需图案内。
通过将声波应用到微流体设备,研究人员可以驱动微米级的细胞,使其构成简单的图案,例如线条和网格。

我和同事开发了一种将深度学习和数值模拟相结合的方法,用于将细胞排列成我们自己设计的更为复杂的图案。我们在 MATLAB® 中执行整个工作流,并使用并行计算加速关键步骤,包括从模拟器生成训练数据集、训练深度学习神经网络等,由此节省了数周时间。

2021 年“小迈步”第二课。点击下方链接,立即注册!

主题:深度学习提高课堂——快速实现 AI 驱动系统原型
时间:4 月 27 日 | 19:00-20:30


    ◆  

使用微通道进行声学成图
借助微流体设备,研究人员可以在不同形状的亚毫米级微通道中操控流体和流体携带的颗粒或细胞。为了在这些微通道内创建声学图案,该设备使用叉指式换能器 (IDT) 生成表面声波 (SAW),并将其指向通道壁(图 1a)。
在通道内的流体中,声波产生与通道壁平行的压力最小值和最大值(图 1b)。
因此,可以对通道壁的形状进行配置,从而在通道内产生特定的声场1(图 1c)。
声场将流体中的颗粒排列成图案,图案对应声波作用力最小处的分布位置(图 1d)。
图 1.微通道中的声学成图。 
尽管可以计算由特定的通道形状产生的声场,但反过来就不可能了:设计通道形状以产生所需的声场不是画几个格子那么简单,而是一项艰巨的任务。由于解空间实际上是无界的,因此解析方法不可行。
新的工作流使用大量(随机形状的)模拟结果和深度学习以克服这种限制。我和我的同事首先在 MATLAB 中基于已知形状模拟压力场,解决了正演问题。
然后,我们使用这些结果训练深度神经网络以求解反演问题:识别要产生期望的声场图案所需的微通道形状。

    ◆  

求解正演问题:模拟压力场
在之前的工作中,我们的团队使用 MATLAB 开发了一款模拟引擎。该引擎利用惠更斯-菲涅耳原理(即平面波上的任一点都是球面波的点波源),针对给定的通道几何形状求解压力场(图 2)。 
图 2.针对特定通道几何形状产生的声压场。
模拟引擎依赖于各种矩阵运算。由于这些运算都是在 MATLAB 中进行,因此每次模拟瞬间便可完成,而我们需要模拟成千上万种各不相同的形状及其对应的二维压力场。我们使用 Parallel Computing Toolbox™ 在多核工作站上并行运行模拟以加速此过程。
在获得所需的数据后,我们就可以将其用于训练深度学习网络,以根据给定的压力场推断通道形状,这实质上相当于对调了输入和输出。

    ◆  

训练深度学习网络以求解反演问题
首先,对模拟的压力场值进行阈值分割,以加快训练过程。由此得到由 1 和 0 组成的、大小为 151 × 151 的二维矩阵,我们将其展平成一个一维向量,作为深度学习网络的输入。为了尽可能减少输出神经元的数量,我们采用傅里叶系数表示输出,由此捕捉通道形状轮廓(图 3)。
图 3.旋转 20 度的等边三角形的傅里叶级数逼近,从左至右系数分别为 3、10 和 20 个。
我们使用深度网络设计器构建初始网络,并通过编程方式加以优化,以平衡准确性、通用性和训练速度(图 4)。我们在 NVIDIA® Titan RTX GPU 上使用自适应矩估计 (ADAM) 求解器训练网络。
图 4.具有四个隐藏层的全连接前馈网络。

    ◆  

验证结果
为了验证训练后的网络,我们使用它来根据给定的压力场推断通道的几何形状,并使用该几何形状作为模拟引擎的输入来重建压力场。然后,我们比较了原始压力场和生成的压力场。两个场内的压力最小值和最大值的分布情况非常相近(图 5)。
图 5.深度学习网络验证工作流。
接下来,我们执行了许多真实测试。我们使用 Microsoft® Paint 绘制了自定义图像,指定了希望颗粒聚集的区域。其中包括各种不同的单行和多行图像,除非使用我们的方法,否则很难生成这些图像。之后,我们使用经过训练的网络来推断产生这些指定区域所需的通道几何形状。最后,在合作伙伴的帮助下,我们根据推断的几何形状制作了一些微流体设备。然后,我们在每个设备的成形通道内都注入 1 μm 的聚苯乙烯颗粒(它们会悬浮在流体中),并对设备施加 SAW。结果显示,颗粒沿着自定义图像中指定的区域聚集(图 6)。
图 6.下图:用 Microsoft Paint 绘制的区域(紫色)叠加在模拟声场上,声场会将颗粒聚集到这些区域。
上图:在制成的微流体设备中,悬浮的聚苯乙烯颗粒构成的图案。

    ◆  

转移到云
在此项目的下一阶段,我们将更新深度学习网络,改用声场图像作为输入、生成通道形状的图像作为输出,以此取代展平的向量和傅里叶系数。
这样一来,我们就能使用随时间变化、难以由傅里叶级数定义的通道形状。
但这将需要更广泛的训练数据集,更复杂的网络架构以及明显更多的计算资源。为此,我们正在将网络及其训练数据转移到云。
幸运的是,MathWorks Cloud Center 提供了一个便利的平台,支持快速启动和关闭高性能云计算资源的实例。
在云端进行科学研究时,与实例交互是一个相当让人头疼的问题,因为这需要在云和本地计算机之间移动我们的算法和数据。
MATLAB Parallel Server™ 将云计算中的复杂交互抽象简化,我们只需在菜单中简单点选,就可以在本地或云端运行计算。得益于其易用性,我们能够专注于科学问题,而不必费力研究所用的工具。 
我们计划将 MATLAB 与支持 NVIDIA GPU 的 Amazon Web Services 实例结合起来,使用 Amazon® S3™ 存储桶中存储的数据训练更新后的网络。
然后,我们可以使用训练好的网络在本地工作站对不同的声场图案进行推断(不需要高性能计算)和试验。这项工作将成为一个起点,支持我们在今后开展更多基于物理的机器学习项目。

    ◆  

致谢
在此感谢 David J. Collins、Richard O’Rorke、Mahnoush Tayebi、Ye Ai 和 John Williams 对本项目做出的贡献。
1 Collins, D. J., O’Rorke, R., Devendran, C., Ma, Z., Han, J., Neild, A. & Ai, Y.“Self-Aligned Acoustofluidic Particle Focusing and Patterning in Microfluidic Channels from Channel-Based Acoustic Waveguides.”Phys.Rev. Lett.120, 074502 (2018).

2021 年“小迈步”第二课。点击下方链接,立即注册!

主题:深度学习提高课堂——快速实现 AI 驱动系统原型
时间:4 月 27 日 | 19:00-20:30


    ◆  

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/112152
 
686 次点击