从「思想实验」中学习,自监督 AI 模型向科学家看齐

2023-09-21 13:34:42

年初 ChatGPT 爆火,美国《时代周刊》发文揭露其背后的「血汗工厂」,给「AIGC 领头羊」耀眼的光环蒙上了一层巨大阴影。
据报道,为训练 ChatGPT 识别有害内容,一群来自肯尼亚、乌干达和印度的外包员工负责给数据库手动标注,他们每天花费 9
小时鉴别各种攻击性词汇,每小时至多标注 2 万个单词,收获是 1.32-2 美元的时薪以及持久的心理创伤。
报道一出,舆论哗然,这堪称人工智能时代最不智能的操作。抛开劳工问题,此事件也折射出监督学习一大痛点: 为 AI
模型尤其是大模型准备大规模、预先标注的训练数据,是件相当耗力的事。

作者 | 铁塔
编辑 | 三羊
本文首发于 HyperAI 超神经微信公众平台~

全息显微图重建 (Holography microscopic reconstruction) 领域,这一问题也给科研工作带来了旷日持久的折磨。

深度学习在计算成像和显微成像方面的现有应用,主要依赖于监督学习,需要大规模、多样化和预先标注的训练数据,但此类训练图像数据集的获取和准备通常很费力且成本高昂,而且这些方法往往对新样本类型的泛化有限。

今年 8 月 7 日,加州大学洛杉矶分校的研究团队在 「Nature Machine Intelligence」 杂志报告了一个名为 GedankenNet 的自监督模型,其突出特质是无需真实数据或实验对象投喂,可直接从思想实验 (Thought experiment) 和物理规律中学习,且具备优异的外部泛化性 (External generalization)。

论文链接:

https://www.nature.com/articles/s42256-023-00704-7

GedankenNet 源于德语 Gedankenexperiment,意为「思想实验」,明明白白告诉你:

我,GedankenNet,和外面那些从真实数据和实验对象中学习的 AI 模型不一样,我的学习对象,是爱因斯坦等科学家们都在用的思想实验!

该模型有望革除深度学习在全息显微图重建领域的弊病,为解决全息术、显微镜和计算成像中的逆问题创造出新机会。

全息显微图重建

先来简单了解一下 GedankenNet 的应用领域——全息显微图重建。

数字全息显微成像 (Digital holographic microscopy) 是一种广泛用于生物医学和物理科学及工程的无标签成像技术,与传统的二维显微成像相比,全息显微图提供了一种更全面、非破坏性、高分辨率的显微观察和分析方法,它使用光学干涉技术从采集的全息图数据中恢复原始物体的三维形态,可帮助科学家和研究人员更好地理解和研究微观世界。
在这里插入图片描述

如何进行显微全息图重建呢? 传统方法主要分为两类:

基于物理前向模型和迭代误差减少的迭代相位恢复算法

基于有监督深度学习的推理方法。

第一类方法通过迭代优化来逐步改进对复数场 (Complex field) 的估计。首先利用物理模型计算出由复数场引起的理论全息图与实际测量的全息图之间的误差,随后根据这个误差进行调整,重复该过程直到实现一定的准确度。

第二类方法训练一个深度神经网络来学习从输入全息图到复数场的映射,通常由成对的全息图和对应的复数场作为训练数据,让神经网络学习这些数据对之间的关系,从而预测和重建复数场。

注:复数场,描述物体光学性质分布,包含光场的振幅和相位信息。

不过这些传统方法通常需要多次迭代来调整和优化预测的全息图,速度较慢,而 GedankenNet 采取了完全不一样的思路,既避免了迭代过程,又取得了更好的重建结果和更快的速度。

走近 GedankenNet

模型训练

1. 方法

与现有的基于学习的方法不同,GedankenNet 不直接比较输出复数场与真实复数场的差异,而是通过观察输入的全息图和相应的目标输出(比如清晰的图像),从带有物理一致性约束的数据中学习到复数场的重建模式,并生成相应的全息图预测,而无需逐步迭代调整。

物理一致性损失是 GedankenNet 训练方法的核心组成部分,它基于波动方程 (Wave equation) 的条件和实际观测数据之间的差异来度量重建结果的准确性。

通过最小化物理一致性损失,模型能够将观察数据与波动方程的预期行为相匹配,从而得到更符合物理规律的全息图重建结果。

2. 数据集

GedankenNet 的训练数据集由随机图像产生的人工全息图组成,这些人工全息图从随机图像或自然图像(COCO 数据集)模拟,使用 Python 随机图像包生成随机图像(与真实世界样本没有连接或相似性)。
在这里插入图片描述

图 1:GedankenNet 示意图和其他现有解决全息成像问题的方法

a. 经典迭代全息图重建算法、自监督深层神经网 (GedankenNet) 和现有的监督深层神经网络

b. GedankenNet 的自监督训练过程

模型验证

1. 重建图像质量

研究人员按照图 1 的训练过程,训练了一系列接受多个输入全息图(M 范围从 2 到 7 )的自监督网络模型,并采用MHPR(Multi-height phase retrieval) 多高度相位恢复算法从每个视场的 8 幅原始全息图中提取了真实对象图片,据此对比评估不同 GedankenNet 模型在重建图像质量方面的表现。

研究结果表明,即便没有使用实验数据进行训练,所有 GedankenNet 模型都以高保真度重建了样本场。
在这里插入图片描述

图 2:GedankenNet 利用多 (M) 输入全息图进行全息重建的性能

2. 外部泛化能力

为验证 GedankenNet 的外部泛化能力,研究人员将 GedankenNet 模型与其他监督学习模型(基于相同的人工图像训练集训练而成)、迭代相位恢复算法进行了对比,测试数据采用包括人体组织切片和宫颈涂片在内的实验全息图。

如下图所示,与这些监督学习方法相比,GedankenNet 在所有 4 种样本(肺、唾液腺和前列腺组织切片以及巴氏涂片 (Pap smear) )上表现出更好的外部泛化性,得到了更高的增强相关系数 (ECC) 值。

此外,研究人员还针对经典的迭代相位恢复算法,即 MHPR 进行了比较分析。结果显示,与使用相同输入全息图的 MHPR(M=2) 相比,GedankenNet 推断的复数场具有更少的噪声和更高的图像保真度。
在这里插入图片描述

图 3:GedankenNet 对人体组织切片和巴氏涂片外部泛化结果,以及与现有监督学习模型和 MHPR 的比较

a. GedankenNet 在人体肺部、唾液腺、前列腺和巴氏涂片全息图上的外部泛化,以及与现有监督学习模型和 MHPR 的比较

b. 监督学习方法在同样的测试数据集上的外部泛化结果。这些监督学习模型使用与 GedankenNet 相同的模拟全息图数据集进行训练

c. 使用相同的 M = 2 输入全息图的 MHPR 重建结果

d. 使用每个视场 (FOV,fields-of-view) 的 8 个原始全息图获取的地面真实复数场的结果。标尺:50 μm
在这里插入图片描述

表 1:GedankenNet、监督学习模型和 MHPR 的全息图像推理时间(样本面积:1 mm²)

如表 1 所示 ,与 MHPR(M  = 2)相比,GedankenNet 将图像重建过程加速了约 128 倍。

综上,这些全息成像实验和结果分析成功证明了 GedankenNet 对未知新型样本优越的泛化能力,并能实现出色的图像重建性能。

3. 对其他训练数据的泛化

为证明其他数据集训练出来的 GedankenNet 也具备同样性能,研究人员使用以下数据集单独训练了 3 个 GedankenNet 模型:

(1)从随机图像生成的人工全息图数据集,与之前相同

(2)从自然图像数据集 (COCO) 生成的新的人工全息图数据集

(3)人肺组织切片的实验全息图数据集

这 3 个单独训练的 GedankenNet 模型在 4 个测试数据集上进行了测试,包括随机合成图像的人工全息图、自然图像的人工全息图,以及人肺组织切片、宫颈涂片的实验全息图。
在这里插入图片描述

图 4:不同 GedankenNet 对其他测试数据集的泛化

研究结果显示,所有的自监督 GedankenNet 模型在内部和外部泛化方面都表现出优异的图像重建质量(图4a,b)。

值得注意的是,如图 4b 中的红条所示,监督模型在内部和外部泛化表现之间的性能差距较大,表明了其过拟合现象。相反,GedankenNet 模型(蓝条)展现出了非常好的泛化性能,覆盖了自然宏观图像和微观组织图像的测试数据集。

4. 与波动方程的兼容性

与图 3 相同的模型被用于分析 GedankenNet 是否与波动方程相容,方法是在肺组织切片上进行盲目测试。

结果显示,在使用偏焦全息图进行测试时,GedankenNet 输出了正确的(物理一致的)偏焦复杂场,而不是产生幻觉和非物理随机光场。

从这个意义上说,GedankenNet 不仅展示了优越的外部泛化能力(从无实验和数据的训练到实验全息图),还很好地适应了偏焦实验全息图的工作。以往的文献中,尚未有任何全息图重建神经网络表现出这些特性。
在这里插入图片描述

图 5 :GedankenNet 输出图像与自由空间波动方程的兼容性

AI 具备「智慧」了吗?

作为自我监督的人工智能模型,GedankenNet 消除了对大规模、预先标注的训练数据需要,展示了优越的外部泛化能力和高质量全息图的重建结果。正如论文作者之一、加州大学洛杉矶分校电气与计算机工程、生物工程系教授 Aydogan Ozcan 所言:

「这些发现说明了自监督人工智能从思想实验中学习的潜力,就像科学家那样。它为开发物理兼容、易于训练和广泛通用的神经网络模型开辟了新机会,可替代目前在各种计算成像任务中采用的标准、有监督深度学习方法。」

一直以来,人们对 AI 是否具备真正意义上的智能争吵不休,毕竟即便强悍如击败多个世界围棋冠军、攻占人类智慧堡垒的 AlphaGo ,其本质也是无需理解规则、仰仗算力不断重复数学公式的代理罢了。

但如今这个能像科学家那样从思想实验中学习 GedankenNet 模型的问世 ,是否意味着 AI 已经在某种程度上具备人类独一份的「智慧」了呢? 欢迎大家在留言区畅所欲言哦。

参考链接:

https://www.sciencedaily.com/releases/2023/08/230807122001.htm
本文首发于 HyperAI 超神经微信公众平台~

更多推荐

JavaScript学习总结(作用域、JS预解析)

一、作用域1、作用域概述通常来说,一段程序代码中所用到的名字并不总是有效和可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。作用域的使用提高了程序逻辑的局部性,增强了程序的可靠性,减少了名字冲突。<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8">

如何延迟Fragment的导航过渡

目录前言postponeEnterTransitionstartPostponedEnterTransitionexecutePendingTransactions总结前言做应用提高用户体验是很关键的,对于用户体验来说有一件事是不能回避的,就是页面切换的过渡动画。因为后一个页面可能会加载数据,所以切换时后一个页面是空白

npm发布vue3自定义组件库--方法二

npm发布vue3自定义组件库创建项目vuecreatetest-ui自定义组件创建自定义组件,组件名称根据你的需求来,最好一个组件一个文件夹,下图是我的示例。src/components组件和你写页面一样,所谓组件就是方便实用,不用重复搬动页面到不同的项目,可以直接install到你本地的项目,下图是一个组件示例。编

【python】系列之item.taobao 获取商品详情API接口调用

item.taobao获取商品详情API接口调用API从技术角度来说就是应用程序编程接口。通过API我们可以直接获取一些我们需要的数据结果,而不需要自己编写相应的程序,有点类似模块化调用函数,大大加快了我们编程的速度。当然这个数据传输是需要网络的,所以一般API的形式看起来有点像网页链接。通俗来说API是什么呢?就是一

网络安全(红客)自学

前言1.这是一条坚持的道路,三分钟的热情可以放弃往下看了.2.多练多想,不要离开了教程什么都不会了.最好看完教程自己独立完成技术方面的开发.3.有时多google,baidu,我们往往都遇不到好心的大神,谁会无聊天天给你做解答.4.遇到实在搞不懂的,可以先放放,以后再来解决.一、什么是网络安全网络安全可以基于攻击和防御

【C++】内联函数 ④ ( C++ 编译优化 - 没有 inline 关键字修饰的函数也可能被内联 | C++ 编译器内联限制 | 内联失败的几种情况 )

文章目录一、C++编译优化-没有inline关键字修饰的函数也可能被内联1、函数内联的不确定性2、C++编译器的内联优化3、内联优化细节二、C++编译器内联限制1、内联失败的几种情况2、内联失败的本质分析一、C++编译优化-没有inline关键字修饰的函数也可能被内联1、函数内联的不确定性现在的C++编译器能够进行编译

6.3 应用动态内存补丁

动态内存补丁可以理解为在程序运行时动态地修改程序的内存,在某些时候某些应用程序会带壳运行,而此类程序的机器码只有在内存中被展开时才可以被修改,而想要修改此类应用程序动态补丁将是一个不错的选择,动态补丁的原理是通过CreateProcess函数传递CREATE_SUSPENDED将程序运行起来并暂停,此时程序会在内存中被

【LeetCode题目详解】第十章 单调栈part03 84.柱状图中最大的矩形(day60补)

本文章代码以c++为例!一、力扣第84题:柱状图中最大的矩形题目:给定n个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为1。求在该柱状图中,能够勾勒出来的矩形的最大面积。示例1:输入:heights=[2,1,5,6,2,3]输出:10解释:最大的矩形为图中红色区域,面积为10示例2:输入:hei

前端自定义导出PPT

1、背景前端导出PPT,刚接触这个需求,还是比较懵逼,然后就在网上查找资料,最终确认是可行的;这个需求也是合理的,我们做了一个可视化数据报表,报表导出成PPT,将在线报表转成文档类型留存;2、技术方案实现这种复杂的功能,都得依赖前辈匠人,还好有一个比较完善好用的库:pptxgenjs只有英文文档:QuickStartG

代码大全阅读随笔(七)

循环控制循环控制会出现什么样的错误,任何一种答案都可以归结到下面所说的问题之一:忽略或者错误的对循环执行初始化,忽略了对累加变量或者其他与循环有关变量执行初始化,不正确的嵌套,不正确的循环终止,忽略或者错误的增加了循环变量的值,以及用不正确的循环下标访问数组元素等等。要点:循环很复杂。保持循环简单将有助于别人阅读你的代

Linux下的buff/cache

目录一、buff/cache二、buff/cache与内存管理三、buff/cache对系统性能的影响四、优化buff/cache1、调整vm.dirty_ratio和vm.dirty_background_ratio2、配置vm.swappiness3、配置vm.vfs_cache_pressure五、释放buff/

热文推荐