GhostNetV2学习笔记

news2025/1/16 14:59:20

GhostNetV2学习笔记

GhostNetV2: Enhance Cheap Operation with Long-Range Attention

Abstract

轻量级卷积神经网络(CNNs)是专为在移动设备上具有较快推理速度的应用而设计的。卷积运算只能捕获窗口区域的局部信息,这阻碍了性能的进一步提高。在卷积中引入自我注意可以很好地捕获全局信息,但会极大地影响卷积的实际速度。在本文中,我们提出了一种硬件友好的注意机制(称为DFC注意),然后提出了一种新的移动应用的GhostNetV2架构。所提出的DFC注意结构基于全连接层,既能在普通硬件上快速执行,又能捕获远距离像素间的依赖关系。我们进一步回顾了之前GhostNet的表达瓶颈,并提出在DFC的关注下,增强由廉价操作产生的扩展特性,使GhostNetV2块可以同时聚合本地和远程信息。大量的实验证明了GhostNetV2相对于现有体系结构的优越性。例如,它在ImageNet上以167M FLOPs达到75.3%的top-1精度,显著抑制了GhostNetV1(74.5%),但计算成本相似。源代码将在https://github.com/huawei-noah/Efficient-AI-Backbones/tree/master/ghostnetv2_pytorch和https://gitee.com/mindspore/models/tree/master/research/cv/ghostnetv2。

1 Introduction

在计算机视觉中,深度神经网络的架构在各种任务中发挥着至关重要的作用,如图像分类[19,10],目标检测[27,26],视频分析[18]。在过去的十年中,网络架构发展迅速,出现了包括AlexNet[19]、GoogleNet[29]、ResNet[10]和EfficientNet[32]在内的一系列里程碑。这些网络已经将一系列视觉任务的表现推向了一个高水平。

在智能手机和可穿戴设备等边缘设备上部署神经网络,不仅需要考虑模型的性能,还需要考虑其效率,特别是实际的推理速度。矩阵乘法占据了计算成本和参数的主要部分。开发轻量级模型是减少推理延迟的一种很有前途的方法。MobileNet[13]将标准卷积分解为深度卷积和点卷积,大大降低了计算成本。MobileNetV2[28]和MobileNetV3[12]进一步引入了反向残留块,改进了网络架构。ShuffleNet[42]利用shuffle操作来鼓励信道组之间的信息交换。GhostNet[8]提出了低成本的操作来减少信道中的特征冗余。WaveMLP[33]取代了复合体自注意模块和一个简单的多层感知器(MLP),以减少计算成本。这些轻量级的神经网络已经在许多移动应用中得到应用。

然而,基于卷积的轻量级模型在建模远程依赖性方面较弱,这限制了进一步的性能改进。近年来,计算机视觉引入了类似变压器的模型,其中的自注意模块可以捕获全局信息。典型的自我注意模块要求二次复杂度w.r.t。特征的形状和大小在计算上不友好。此外,计算注意地图需要大量的特征分割和重塑操作。尽管理论上它们的复杂性可以忽略不计,但实际上这些操作会占用更多的内存和更长的延迟。因此,在轻量级模型中使用香草式自我注意对移动部署并不友好。例如,在ARM设备[23]上,具有大量自注意操作的MobileViT比MobileNetV2慢7倍以上。

本文提出了一种新的注意机制(DFC注意),在保持轻量级卷积神经网络实现效率的前提下,捕获长距离的空间信息。为了简单起见,只有完全连接(FC)层参与生成注意地图。具体来说,将一个FC层分解为水平FC和垂直FC,聚合CNN二维特征图中的像素。两个FC层包括沿各自方向的较长范围内的像素,叠加它们将产生一个全局的接受场。此外,我们从最先进的GhostNet入手,重新审视了它的表示瓶颈,并利用DFC的关注增强了中间特征。然后,我们构建了一个新的轻型视觉中枢GhostNetV2。与现有的体系结构相比,它可以在准确性和推理速度之间实现更好的平衡(如图1和图2所示)。

image-20221121091608042

2 Related Work

如何同时设计一种推理速度快、性能高的轻量级神经体系结构是一个挑战[16,41,13,40,35]。SqueezeNet[16]提出了三种策略来设计一个紧凑的模型,即将3×3过滤器替换为1×1过滤器,将输入通道的数量减少到3x3过滤器,在网络后期下采样以保持大的特征映射。这些原理是有建设性的,特别是1 × 1卷积的使用。MobileNetV1[13]用1 × 1核和深度可分离卷积代替了几乎所有的3 × 3文件,这极大地降低了计算成本。MobileNetV2[28]进一步将残差连接引入到轻量级模型中,构造了一个倒置残差结构,其中块的中间层比它的输入输出通道多。为了保持表达能力,去掉了一部分非线性函数。MobileNeXt[44]重新思考了反向瓶颈的必要性,并声称经典的瓶颈结构也可以实现高性能。考虑到1 × 1卷积占计算成本的很大一部分,ShuffleNet[42]将其替换为群卷积。信道洗牌操作,以帮助信息在不同组之间流动。通过研究影响实际运行速度的因素,ShuffleNet V2[22]提出了一种硬件友好的新块。通过利用特性的冗余,GhostNet[8]用廉价的操作取代了1 × 1卷积中的一半通道。到目前为止,GhostNet一直是SOTA轻量级模型,在准确性和速度之间有很好的权衡。

除了手工设计,还有一系列的方法试图寻找一个轻量级的建筑。例如,FBNet[39]设计了一种硬件感知的搜索策略,它可以直接在特定硬件上找到精度和速度之间的良好平衡。基于反向残差瓶颈,MnasNet[31]、MobileNetV3[12]搜索体系结构参数,如模型宽度、模型深度、卷积滤波器的大小等。虽然基于NAS的方法可以实现高性能,但它们的成功是基于精心设计的搜索空间和架构单元。自动搜索和手动设计可以结合起来找到更好的架构

3 Preliminary

3.1 A Brief Review of GhostNet

GhostNet[8]是SOTA轻量级模型,设计用于移动设备上的高效推理。它的主要组成部分是Ghost模块,它可以通过低成本的操作生成更多的特征映射来取代原来的卷积。给定输入特征 X ∈ R H × W × C X∈R^{H×W ×C} XRH×W×C,高度H,宽度W,通道数C,一个典型的Ghost模块可以用两步替换一个标准卷积。首先,利用1 × 1卷积生成本征特征,即:

image-20221121092413775

其中,*表示卷积操作。 F 1 × 1 F_{1×1} F1×1为按点卷积, Y ′ ∈ R H × W × C o u t ′ Y^{'}∈R^{H×W ×C^{'}_{out}} YRH×W×Cout为固有特征,其大小通常小于原始输出特征,即 C o u t ′ < C o u t C^{'}_{out} < C_{out} Cout<Cout。然后使用廉价的操作(例如深度卷积)来生成基于内在特征的更多特征。特征的两部分沿信道维度连接,即

image-20221121092705033

其中 F d p F_{dp} Fdp为深度卷积滤波器, Y ∈ R H × W × C o u t Y∈R^{H×W ×C_{out}} YRH×W×Cout为输出特征。虽然Ghost模块可以显著降低计算成本,但不可避免地削弱了其表示能力**。空间像素之间的关系是实现精确识别的关键**。而在GhostNet中,对一半的特征只通过廉价的操作(通常通过3 × 3深度卷积实现)捕获空间信息。其余特征仅通过1 × 1点向卷积产生,不与其他像素相互作用。捕获空间信息的能力较弱可能会阻碍性能的进一步提高

通过堆叠两个Ghost模块(如图4(A)所示)来构造一个GhostNet块。与MobileNetV2[28]类似,它也是一个反向瓶颈,即第一个Ghost模块作为扩展层,增加输出通道的数量,第二个Ghost模块减少通道的数量,以匹配快捷路径。

3.2 Revisit Attention for Mobile Architecture

基于注意的模型起源于NLP领域[36],近年来被引入计算机视觉领域[6,9,34,7]。例如,ViT[6]采用自注意模块和MLP模块堆叠的标准变压器模型。Wang等人在卷积神经网络中插入自注意操作来捕获非局域信息[37]。典型的注意模块通常具有二次复杂度w.r.t。该特征的大小,在下游任务如对象检测和语义分割中无法扩展到高分辨率图像。

降低注意复杂度的主流策略是将图像分割成多个窗口,并在窗口内或跨窗口执行注意操作。例如,Swin Transformer[21]将原始特征分割为多个不重叠的窗口,并在本地窗口内计算自注意。MobileViT[23]还将功能展开为不重叠的补丁,并计算这些补丁之间的注意力。对于CNN中的二维特征图,实现特征分割和注意计算涉及大量的张量重塑还有转置运算。其理论复杂性可以忽略不计。在一个高度复杂的大型模型(例如,具有数十亿FLOPs的swing - b[21])中,这些操作只占总推理时间的一小部分。而对于轻量级模型,其部署延迟不容忽视。

为了直观的理解,我们为GhostNet模型配备了MobileViT[23]中使用的self-attention,并使用TFLite工具在华为P30(麒麟980 CPU)上测量延迟。我们使用ImageNet的标准输入分辨率,即224 × 224,结果如表1所示。注意机制只增加约20%的理论FLOPs,但在移动设备上需要2倍的推理时间。理论复杂度和实际复杂度的巨大差异表明,为了在移动设备上快速实现,有必要设计一种硬件友好的注意机制。

4 Approach

4.1 DFC Attention for Mobile Architecture

在本节中,我们将讨论如何为移动cnn设计一个注意模块。期望的注意力应该具有以下特性:

Long-range

为了提高表示能力,捕获远程空间信息进行关注是至关重要的,轻量级CNN(如MobileNet [13], GhostNet[8])通常采用小的卷积滤波器(如1 × 1卷积)来节省计算成本。

Deployment-efficient

注意模块应该非常有效,以避免减慢推断。具有高flop或硬件不友好操作的昂贵转换是不可预期的。

Concept-simple

为了保持模型对不同任务的泛化性,注意模块应概念简单,设计不讲究。

尽管自我注意操作[6,24,21]可以很好地模拟远程依赖,但它们并不像上节所讨论的那样具有部署效率。与之相比,具有固定权重的全连接层(FC)更简单、更容易实现,也可用于生成具有全局接受域的注意映射。具体的计算过程如下所示。

给定一个特征 Z ∈ R H × W × C Z∈R^{H×W ×C} ZRH×W×C,可视为HW令牌 z i ∈ R C z_i∈R^C ziRC,即 Z = z 11 , z 12 , ⋅ ⋅ ⋅ , z H W Z = {z_{11}, z_{12},···,z_{HW}} Z=z11,z12zHW。FC层生成注意地图的直接实现表述如下:

image-20221121102217998

这里 ⊙ \odot 为按元素乘法,F为FC层的可学习权值, A = a 11 , a 12 , ⋅ ⋅ ⋅ , a H W A = {a_{11}, a_{12},···,a_{HW}} A=a11,a12aHW为生成的注意图。Eq 3可以通过将所有标记与可学习的权重聚合在一起来捕获全局信息,这也比典型的自我注意[36]简单得多。然而,它的计算过程仍然需要二次复杂度w.r t。特征的大小(即 O ( H 2 W 2 ) ) O(H^2 W^2)) O(H2W2)),这在实际情况下是不可接受的,特别是当输入图像是高分辨率时。例如,GhostNet的第4层有一个特征映使用3136 (56 × 56)个令牌,这导致计算注意地图非常复杂。实际上,CNN中的特征图通常是低秩的[30,17],没有必要将不同空间位置的所有输入输出令牌都紧密连接起来。特征的2D形状自然提供了一个减少FC层计算的视角,即,将Eq. 3分解为两个FC层,并分别沿水平和垂直方向聚合特征。它可以表述为:

image-20221121102544271

其中 F H F^H FH F W F^W FW是变换权值。以原始特征Z为输入,依次对特征应用Eq. 4和Eq. 5,分别捕获沿两个方向的长程相关性。我们将这种操作称为解耦全连接注意(DFC),其信息流如图3所示。由于水平和垂直变换的解耦,注意模块的计算复杂度可以降低到 O ( H 2 W + H W 2 ) O(H^2 W + H W^2) O(H2W+HW2)。在全注意(式3)中,正方形区域内的所有patch都直接参与到聚焦patch的计算中。在DFC注意中,一个补丁直接由垂直/水平线上的补丁聚合而其他补丁则参与垂直/水平线上这些补丁的生成,与被聚焦的令牌有间接关系。因此,一个patch的计算也涉及到正方形区域内的所有patch。

等式4和5表示DFC注意的一般公式,它分别沿水平方向和垂直方向聚合像素。通过共享部分变换权值,可以方便地用卷积实现,省去了影响实际推理速度的耗时的张量重塑和转置操作。为了处理不同分辨率的输入图像,可以将滤波器的大小与特征图的大小解耦,即在输入特征上依次进行两个核大小为 1 × K H 1 × K_H 1×KH K W × 1 K_W × 1 KW×1的深度卷积。当采用卷积实现时,DFC注意的理论复杂度记为 O ( K H H W + K W H W ) O(K_H HW + K_W HW) O(KHHW+KWHW)。该策略得到了TFLite和ONNX等工具的良好支持,可在移动设备上进行快速推断。

4.2 GhosetNet V2

image-20221121104510856

在本节中,我们使用DFC注意来提高轻量级模型的表示能力,然后提出新的视觉主干GhostNetV2。

Enhancing Ghost module

正如3.1中所讨论的,Ghost模块中只有一半的特征(等式1和2)与其他像素相互作用,这损害了它捕获空间信息的能力。因此,我们使用DFC注意增强Ghost模块的输出特征Y,以捕获不同空间像素之间的远程依赖性。

输入特征 X ∈ R H × W × C X∈R^{H×W ×C} XRH×W×C被发送到两个分支,一个是Ghost模块,产生输出特征Y(等式1和2),另一个是DFC模块,产生注意映射A(等式4和5)。回想一下,在典型的自注意[36]中,使用线性转换层将输入特征转换为查询和键,计算注意映射。同理,我们也实现1 × 1卷积,将模块的输入X转换为DFC的输入z。模块的最终输出 O ∈ R H × W × C O∈R^{H×W ×C} ORH×W×C是两个分支输出的乘积,即

image-20221121103909923

这里的 ⊙ \odot 为元素乘法,Sigmoid为标度函数,将注意映射A归一化到范围(0,1)。

信息聚合过程如图5所示。在相同的输入下,Ghost模块和DFC注意是两个平行的分支,从不同的角度提取信息。输出是它们的元素乘积,其中包含来自Ghost模块的特征和DFC注意模块的注意的信息。每个注意值的计算都涉及到大范围的补丁,因此输出特征可以包含来自这些补丁的信息。

image-20221121104001839

Feature downsampling

由于Ghost模块(等式1和2)是一种非常高效的操作,直接与DFC注意并行将引入额外的计算成本。因此,我们通过在水平和垂直方向上对特征进行下采样来减小特征的大小,这样DFC注意中的所有操作都可以在较小的特征上进行。默认情况下,宽度和高度都是原来长度的一半,这减少了75%的DFC注意FLOPs。然后将生成的特征图上采样到原始大小,以匹配Ghost分支中的特征大小。我们天真地使用平均池和双线性插值分别进行下采样和上采样。注意到直接实现sigmoid(或硬sigmoid)函数将导致较长的延迟,我们还将sigmoid函数部署在下采样的特征上,以加速实际推断。虽然注意地图的价值可能不是严格限制在(0,1)的范围内,但我们的经验发现,它对最终表现的影响是可以忽略不计的。

GhostV2 bottleneck

GhostNet采用了一个包含两个Ghost模块的反向残差瓶颈,其中第一个模块产生的扩展特征具有更多的通道,而第二个模块减少通道的数量得到输出特征。这个反向瓶颈自然地分离了模型[28]的“表达性”和“容量”。前者通过扩展特征度量,后者通过块的输入输出域反映。原始的Ghost模块通过廉价的操作生成了部分特征,这损害了表达能力和容量。通过研究在扩展特征或输出特征上配置DFC注意力的性能差异(第5.4节表8),我们发现增强“表现力”更有效。因此,我们只将扩展的特征与DFC注意相乘。

图4(b)显示了GhostV2瓶颈示意图**。DFC注意分支与第一个Ghost模块并行,以增强扩展功能**。然后将增强的特征发送到第二个Ghost模块产生输出特征。它捕获了不同空间位置像素之间的长程依赖性,增强了模型的表达能力

5 Experiments

image-20221121104607751

image-20221121104618873

image-20221121104711071

image-20221121104720587

image-20221121104856867

image-20221121104904319

image-20221121104924408

image-20221121104932833

image-20221121104948295

image-20221121104957108

6 Conclusion

本文提出了一种硬件友好的DFC注意,并提出了一种新的移动应用的GhostNetV2体系结构。DFC注意可以捕捉到远距离空间位置上像素之间的依赖性,显著增强了轻量级模型的表达能力。它将一个FC层分解为水平FC和垂直FC,在两个方向上分别有较大的接受野。配备了这种计算高效和部署简单的模块,GhostNetV2可以在精度和速度之间实现更好的平衡。在基准数据集(如ImageNet、MS COCO)上的大量实验验证了GhostNetV2的优越性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/24035.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

随时随地创建参数化3D模型—xDesign

在前文3DEXPERIENCE的文章里&#xff0c;我们给各位介绍了3DEXPERIENCE云平台的页面以及怎么点击到对应的平台角色和应用程序。 所以&#xff0c;接下来就给各位介绍云平台当中的应用程序的操作和使用方法。本篇文章主要介绍工程师们在工作中常要用到的3D建模的应用程xDesign&…

间隔一分钟按某个按键一次——VBS脚本

间隔一分钟按某个按键一次-VBS脚本 我们在玩游戏挂机的时候&#xff0c;有的时候长时间鼠标键盘不动一下&#xff0c;游戏就掉线了。或者居家办公出去做核酸检测&#xff0c;时间一长你的钉钉、企业微信等通讯工具就会显示离线状态&#xff0c;这个时候需要有个简易的小脚本帮…

第四章 决策树

4.1 基本流程 决策树是一类常见的机器学习方法。以二分类任务为例&#xff0c;其结构类似于二叉树。以西瓜问题为例&#xff0c;其结构如图所示&#xff1a; 一般的&#xff0c;一颗决策树包含一个根节点、若干个内部结点和若干个叶节点&#xff1b;叶节点对应决策结果&#…

全网最全斗音短视频新老账号起号技巧

大家好&#xff0c;我是我赢助手&#xff0c;专注于自媒体短视频去水印、去重和文案提取运营。 今天给大家分享下全网最全斗音短视频新老账号起号技巧 1、清理手机(手机登录新斗音号才需要清理) 安卓:打开设置-应用管理-斗音短视频-储存占用-清除缓存-卸载 双清方法:先在斗…

同花顺_代码解析_技术指标_Z_1

本文通过对同花顺中现成代码进行解析&#xff0c;用以了解同花顺相关策略设计的思想 目录 ZJ_01 ZJ_02 ZJ_05 ZMMZB ZNZ_ASR ZNZ_BYQD ZNZ_CBAND ZNZ_CBW ZNZ_CBXQD ZNZ_CKD ZNZ_CMACD ZNZ_CMGL ZNZ_CYBB ZJ_01 波段之星 "波段之星"指标为图形化指标。…

C---链表

目录链表的遍历计算链表节点个数查找结点节点后插入新节点节点前插入新节点1.目标节点为头节点 &#xff08;引起链表头变化&#xff09;2.目标节点不是头节点节点前插入新节点&#xff08;两种情况&#xff09;完整版删除节点课外知识&#xff1a;gcc ... -g1.删除头节点2.删的…

CS224W 6 Graph Neural Networks

目录 引入 node embedding Deep Graph Encoders的引入 Basics of Deep Learning Deep Learning for Graphs ​编辑A Naive Approach GCN GCN的基本idea Aggregate Neighbors 训练GCN Unsupervised Training Supervised Training Oview 整体流程 Inductive capabil…

等保三级,多级等保认证的一点了解

2022年11月21日10:28:28 信息安全等级保护管理办法 信息系统的安全保护等级分为以下五级&#xff1a; 第一级&#xff0c;信息系统受到破坏后&#xff0c;会对公民、法人和其他组织的合法权益造成损害&#xff0c;但不损害国家安全、社会秩序和公共利益。 第二级&#xff0c;信…

c++ 之安装opencv显示图片

额,要把yolo+pose+class从python转成c++,一整头大,从头开始试。 win11 + vs2022 c++_v14 + opencv4.6.0 安装opencv 从官网下载OpenCV https://opencv.org/releases/ 我是windows系统,没啥好说的,就是下个exe然后安装。 我是装在 D:\Program Files (x86)\ 目录下,之后…

(一)逻辑回归及其代价函数 --- 吴恩达深度学习笔记

逻辑回归 — 适用于二分类问题 使用逻辑回归算法会得到的输出标签y&#xff0c;y在监督问题中全是0或者1&#xff0c;因此这是一种针对二分类问题的算法。 给定的输入特征向量x和一幅图像对应&#xff0c;我们希望识别这是否是一张猫的图片。因此我们想要一种算法能够输出一个…

CRDB-事务层知识点

事务层负责维护事务的原子性&#xff0c;确保事务中的所有操作都被提交或中止。此外&#xff0c;事务层在事务之间维护可序列化的隔离—这意味着事务与其他事务的影响完全隔离。尽管多个事务可能同时进行&#xff0c;但每个事务的体验就像每次只运行一个事务—可序列化的隔离级…

PyTorch实现DCGAN(生成对抗网络)生成新的假名人照片实战(附源码和数据集)

需要数据集和源码请点赞关注收藏后评论区留言~~~ 一、生成对抗网络&#xff08;GAN&#xff09; GAN&#xff08;生成对抗网络&#xff09;是用于教授DL模型以捕获训练数据分布的框架&#xff0c;因此可以从同一分布中生成新数据。它们由两个不同的模型组成&#xff0c;生成器…

52、ElasticSearch 简单查询

1、DSL Query 分类2、DSL Query 基础语法 1、match_all&#xff0c;查询所有 2、全文检索查询 4、精确查询 5、地图查询 3、总结分析 本章学习了全文检索查询、精确查询、地图查询等。 1、全文检索查询&#xff1a; match&#xff1a;通过指定字段查询&#xff0c;不允许使用…

Activity、Fragment之间的传值

1、Activity和Activity之间传值 1、使用Intent 2、使用Intent结合Bundle IntentBundle 3、传自定义对象实现&#xff08;实现Serialzable接口&#xff0c;性能较差&#xff0c;系统自动处理&#xff09; 传自定义对象 4、传自定义对象&#xff08;实现Parcelable,性能较好…

nginx 单向链表

ngx_list_t是Nginx封装的链表容器&#xff0c;它在Nginx中使用得很频繁&#xff0c;例如HTTP的头部就是用 ngx_list_t来存储的。当然&#xff0c;C语言封装的链表没有C或Java等面向对象语言那么容易理解。 ngx_list_t单向链表与ngx_queue_t双向链表是完全不同的&#xff0c;它是…

小程序直播系统开发制作_分享视频直播系统开发对企业的好处

许多小伙伴可能会感到困惑&#xff0c;直播小程序怎么制作&#xff0c;有直播小程序制作教程吗&#xff1f;为什么选择直播小程序&#xff0c;它会给企业带来什么好处&#xff1f;下面小编给大家一一解答。 一、小程序直播系统开发制作教程 ① 进入开发工具选择所在行业的模板…

Multigrid reinforcement learning with reward shaping

摘要 基于势能的奖励塑形已被证明是提高强化学习agent收敛速度的有效方法。 这是一种以原则性方式将背景知识纳入时间差分学习的灵活技术。然而&#xff0c;问题仍然是如何计算用于塑形给予学习agent的奖励的势能。在本文中&#xff0c;我们提出了一种通过状态空间离散化来解决…

计算机毕业设计java+ssm的高校科研仪器共享平台-计算机毕业设计

项目介绍 高校科研仪器共享平台&#xff0c;是一个学校内部提供信息管理的平台&#xff0c;是完全的&#xff0c;高速的&#xff0c;开放的&#xff0c;其核心思想是提供一个以自然语言为主的用户界面&#xff0c;让用户能够更好的刚加方便快捷的管理科研仪器信息的一个渠道和…

解决雪花算法生成的ID传输前端后精度丢失

本章目录&#xff1a; 问题描述解决方案 修改数据库字段配置MVC全局消息转换器修改Result类一、问题描述 在用雪花算法生成的ID传输到前端时&#xff0c;会出现后三位精度丢失 可以看到&#xff0c;我们得到的response为1594605819398193154 而前端展示的为159460581939819…

3 Minute Thesis (3MT)

1 定义 资料来源&#xff1a;https://zhuanlan.zhihu.com/p/63325983?utm_id0 3MT原则&#xff1a;要把博士课题介绍给一个受过高等教育但没有专业背景的人并阐述它的重要性。 定义&#xff1a;三分钟论文(3MT)是一个学术比赛&#xff0c;帮助当前的研究生培养有效的演讲和沟…