深度学习如何解决各类科学问题

深度学习如何解决各类科学问题

  本文主要是笔者对于”深度学习为何能适用于各个学科领域”的一点思考和整理,由于个人认知和理解有限,存在一些不全面和不对的地方,还望读者们见谅,批评指正。

导语:近些年,深度学习已经成为各个学科领域的重要研究手段和工具;这些领域有哪些?为什么深度学习能普遍适用?我们应该如何使用深度学习这一技术?

目录

  • 1. 深度学习的应用领域
    • 1.1 自然语言处理
    • 1.2 计算机视觉
      • 1.2.1计算光学成像
    • 1.3 推荐系统
    • 1.4 决策分析
    • 1.5 生物化学
  • 2. 为什么深度学习能普遍适用于各种学科问题?
  • 3. 我们应该如何使用深度学习这一技术?
    • 3.1 科学问题
    • 3.2 准备训练数据
    • 3.3 搭建神经网络
    • 3.4 构建损失函数
  • 4. 总结

1. 深度学习的应用领域

  就个人所了解到的领域包括:自然语言处理、计算机视觉、推荐系统、决策分析、生物化学领域等等。

1.1 自然语言处理

  自然语言处理的发展包括从感知到认知,再从认知到交互;感知属于识别层面、认知属于理解层面、而交互则属于人机对话层面;
深度学习如何解决各类科学问题_第1张图片

1.2 计算机视觉

  其应用领域包罗万象,涉及目标识别、目标检测、语义分割、光学字符识别、图像理解、图像增强、图像去噪、图像复原、图像变换、图像超分辨、三维重建、计算光学等等;

1.2.1计算光学成像

  笔者主要从事计算光学成像领域,通过一些计算的手段来解决光学成像领域中的问题,包括低质图像增强、光学图像超分辨、火焰场三维重建、透过散射介质的成像等等;课题组相关的方向还有相位恢复、单像素成像、超表面、光计算、数字全息、网络轻量化研究、水下散射成像、光场反投影与光场重建等等。
深度学习如何解决各类科学问题_第2张图片

想了解更多有关课题组的信息可关注司徒国海导师的谷歌学术主页:https://scholar.google.com/citations?hl=zh-CN&user=gw_J0DEAAAAJ&view_op=list_works&sortby=pubdate (需要)

1.3 推荐系统

  推荐系统的应用包括:针对用户在网页上搜索的问题,如何推荐出最相关的内容;在购物网站上,如何为顾客提供个性化的推荐等等;
深度学习如何解决各类科学问题_第3张图片

1.4 决策分析

  已知大量的外部信息和内部信息,针对实际问题如何给出最优的决策,应用领域包括alphago下围棋、自动驾驶路径规划、股市股票涨跌的预测以及其他需要决策的问题上。
深度学习如何解决各类科学问题_第4张图片

1.5 生物化学

  在生物化学领域,研究人员提出深度学习的药物合成方法、alphafold做蛋白质结构解析和折叠、人工智能辅助生物合成等等;

深度学习如何解决各类科学问题_第5张图片

2. 为什么深度学习能普遍适用于各种学科问题?

  深度学习主要由神经网络构成的,具有非常强大的特征提取能力和信息表征能力,通过具体问题具体分析和设计,可以使得网络适用于各种不同的科学问题中。
  深度学习从训练方式上可分为监督学习、半监督学习、无监督学习、强化学习和模型驱动等;本文主要侧重介绍监督学习和模型驱动的方法,其中模型驱动的方法在下面损失函数小节中提及;
  对于监督学习的深度学习,一般的处理步骤为:确定科学问题、准备该问题的训练数据、搭建神经网络、构建损失函数、执行训练任务、测试优化网络;
  对于不同的科学问题,大致可归类为上述中的某一个或几个步骤的不同,而解决整个问题的逻辑思路没有太大差异。因此,通过对不同步骤的研究和创新,就可以将深度学习应用于解决不同的科学问题。

3. 我们应该如何使用深度学习这一技术?

  从上一节的分析中可以知道不同的科学问题,只是在某些步骤上有差异,总体实现的逻辑的大致相同的。因此,本节主要对各个步骤可以如何改变进行探讨。

3.1 科学问题

  科学文问题也即背景介绍中提及的任务,针对具体科学问题,分析其数据形式、内在规律,并抽象出优化问题,从而指导神经网络的设计、选择和求解等操作;可以通过下面几种常见的任务加以理解:
  语音识别和理解,其输入是一维的时序信号,要输出这段信号所表示的字符、段落或者文章信息。根据这个任务所特有的属性(如时序的、上下文信息是关联的等等)、会引导开发人员使用如递归神经网络(RNN)或者更特殊的长短期神经网络(LSTM)这种结构,它具有考虑过去时刻信息的特点,并且输入输出满足任务的一维数据形式;再者,根据信息具有不同重要程度的特点,研究人员还提出了感受野、注意力的机制,创建出transformer和bert等更优越的网络模型。
  图像识别和理解,其输入是二维的图片矩阵,要输出的图像包含物体类别、轮廓和语义等等。这种任务具有二维结构、纹理信息、色彩信息、变化梯度、多尺度等特点,可以引导人们采用卷积神经网络、Unet、GAN等;甚至可以可视化网络中间层,查看对于具体的视觉任务,网络学习到了哪些特征;在图像领域同样具有感受野、注意力机制和图结构的研究,学者们提出了Vision Transformer(ViT)和图神经网络等模型。根据具体任务的数据形式,网络会被设计为二维数据输入、三维数据输入、二维数据输出、一维数据输出等形式。
  推荐与决策,在拥有形态多样、容量巨大数据和资源情况下,针对具体决策任务如何做出更有效的选择;比如自动驾驶的路径规划问题,其输入信息可能包括视频画面、周围场景三维结构、红绿灯信息、交通标识、前方物体运动信息等等,要有效地通过这一路段,哪种行驶路径是最优的?这本身是一个比较复杂的问题,在处理上可以会更细致地梳理本任务,提炼出深度学习能解决的优化问题,需要考虑多种不同来源的信息融合问题,考虑输出是一系列坐标、机械操作指令等等;这个问题多用监督学习和强化学习的方法实现。

3.2 准备训练数据

  在笔者所研究的计算光学成像领域,神经网络本身是一门工具,而准备数据则是发挥自己专业领域的地方。在神经网络方面,我们主要着手于复现、掌握和灵活运用网络,不会涉及太多网络本身的创新。在准备数据方面,需要研究人员洞彻科学问题的本质,设计出适用于解决该问题的数据,期间考虑光路系统、实验条件、光信息形式、物理模型、输出结果、实际应用泛化性等问题。除了采集数据,准备过程中可能还会根据任务特点对数据进行预处理,结合图像处理算法提升数据的质量等等。

3.3 搭建神经网络

  这是深度学习方法最核心的一步,也正是由于神经网络强大的表征、拟合能力,使其可以解决各类问题。在对科学问题进行深入分析后,梳理问题的形式、特点,抽象出可优化的问题,进而选择一种合适的网络。关于掌握、复现一种神经网络,需要你善于去查找开源资源(如顶会的文章及其github的开源代码,各种神经网络的博客、推文、CSDN等等),以demo去入手,可以帮助快速使用某种网络。同时,要灵活地应用网络也离不开对神经网络的基本了解,需要研究人员掌握它的实现方法、运行机制。

3.4 构建损失函数

  损失函数的设计直接影响着网络的训练效率和输出结果,常用的损失函数是均方误差(mse)、交叉商、生成对抗损失等等;为了使输出结果具备特有的规律(如稀疏、平滑等等),有在损失函数上增加正则项的方法,包括L1、TV正则项等等;同时,我们也可以考虑引入科学问题的特有属性,比如数据先验,物理模型,统计规律等等。

4. 总结

  本文从个人的知识储备和理解出发,梳理了当下深度学习所应用到的领域,包括自然语言处理,计算机视觉,推荐系统、决策分析和生物化学等方面,并着重介绍了笔者所研究的计算光学成像领域。其次,本文提炼了使用深度学习方法的基本步骤,并对其中最主要的几个步骤展开说明。通过对不同步骤的研究和创新,就可以将深度学习灵活地应用于各种问题中。
  对于交叉领域的我们来说,可能更应该注重如何将深度学习这个手段与自身的科学问题相结合,而不是过多的研究深度学习本身。学习、复现、演示出几种经典的深度学习模型之后,就可以着手交叉应用了。
  最后也祝读者们早日上道,科研顺利,生活愉快!

你可能感兴趣的:(基础知识积累,计算光学成像COI实验室技能,科研文献阅读,深度学习,人工智能,应用领域,深度学习特点)