从Bayesian Deep Learning到Adversarial Robustness新范式

2023-05-16

61084a9f2f9bfa638fbc67904a911f29.gif

©作者 | 王灏、毛成志

单位 | Rutgers University / Columbia University

研究方向 | 贝叶斯深度学习 / 对抗鲁棒性

拖延症赶在 2021 结束前来介绍一下我们 ICCV 2021 上基于 Bayesian Deep Learning [4,5](或者更具体是 Deep Bayesian Network)做 Adversarial Robustness 的 work [1]。

a09e6633421abb497636193eef0c0cd8.png

论文标题:

Adversarial Attacks are Reversible with Natural Supervision

论文链接:

http://wanghao.in/paper/ICCV21_ReverseAttack.pdf

代码链接:

https://github.com/cvlab-columbia/SelfSupDefense

视频链接:

https://www.youtube.com/watch?v=0Yv3eQ9JR4Y

Adversarial Robustness 新思路:可以说,这个 work 提出了一个 adversarial defense 的新范式,叫做 Reverse Attack。举个简单的例子,如下图,给定一个原始图片(下面左边的图),attacker 会通过比如 PGD 的方法,找到一个 attack vector(下面中间的图),叠加在原始图片上,而我们 reverse attack 的思路是,在 inference time(或者叫 test time)临时找到一个 reverse attack vector(下面右边的图),再次叠加在已经被 attack 过的图片上,从而来抵消掉部分 attack vector。

254b2463f225741ec95746ea40863737.png

把 Reverse Attack 作为 Bayesian Inference 来解:那么问题来了,defense 方拿到的图片已经是被 attack 过的(已经叠加了 attack vector),那我们如何能机智地找到一个有效的 reverse attack vector 呢?这就要回到文章的开头,Bayesian Deep Learning 和 Deep Bayesian Network 了。简单地讲,我们把寻找 reverse attack vector 作为一个 Bayesian inference 的问题来解。假设被 attack 过的图片(原始图片+ attack vector)叫 , 而我们想寻找的 reverse attack 后的图片(原始图片+ attack vector+reverse attack vector)叫 ,那么寻找 reverse attack vector 的过程其实可以 formulate 成:

求一个 ,使得后验概率 最大。

这里的 表示的是图片的结构一致性信息(具体的讲,就是同一图片的不同部分的颜色、纹理、内容应该一致),而这个信息是已知的,因为不管图片有没有被 attack 过,我们都知道,我们需要还原的图片,它肯定是满足结构的一致性的。关于 的问题我们下文会再仔细讨论。

最大后验估计和 Deep Bayesian Network:那么现在的主要问题是,如何有效,而且 robust 地得到 的最大后验呢?答案就是可以基于我们之前在 AAAI 2019 提的一个 Deep Bayesian Network(深度贝叶斯网络)[2],叫做 Bidirectional Inference Network(BIN)。

836d4f2c7ce47baea9440cba29a1c094.png

论文标题:

Bidirectional Inference Networks: A Class of Deep Bayesian Networks for Health Profiling

论文链接:

http://wanghao.in/paper/AAAI19_BIN.pdf

代码链接:

https://github.com/js05212/bidirectional-inference-network

下面我们先简单介绍一下 BIN,然后再回过头来介绍如何把 BIN 的思想用到 Reverse Attack 上。

BIN属于Deep Bayesian Network,那么什么是Bayesian Network(贝叶斯网络)呢?

贝叶斯网络:比如下图就是一个贝叶斯网络。

5ea00cedbcfd3f8bb6acea75b0571089.png

图里面 4 个节点分别表示四个随机变量 ,,。而图里的边则表示的是 conditional dependency。 到 的边表示 ,而 和 同时指向 的边表示 。灰色的节点表示已知的值(observed variable),而白色的节点表示我们需要推断的值(latent variable)。正如神经网络,贝叶斯网络也分成学习(learning)和推断(inference)两个阶段。

贝叶斯网络的学习:一般贝叶斯网络的学习指的就是通过数据,学习到各个条件概率分布。比如上面的图,如果我们有很多 和 对应的数据,我们就可以学到 这个条件概率分布。同理如果我们有很多 、 和 的数据,我们也可以学到 。

贝叶斯网络的推断:在模型学习后,我们会根据已经学到的各个条件概率分布,来做概率推断,比如,虽然我们在学习阶段只学到了 和 两个个条件概率分布,但是根据 Bayes Rule 我们可以做更多的推断任务,比如给定 和 ,我们可以推断出 最可能的值是多少;正式地讲,我们可以找到一个 的值,从而使得 最大。而找这个值的过程就是最大后验推断。(贝叶斯网络的推断是一个非常广泛的问题,有兴趣的同学可以参考相关的教科书,我们这里只是简要介绍一些这个文章需要用到的部分。)

从贝叶斯网络到深度贝叶斯网络:那么现在的问题是,如果 和 这两个条件概率分布非常复杂,每个都需要用多层的神经网络来表示,那该怎么办?我们该如何学习(learning),如何推断(inference)呢?

深度贝叶斯网络的学习:学习的部分其实很简单,假设我们有很多 ,, 的数据,我们只需要分别训练 2 个概率神经网络(Probabilistic Neural Network),一个负责 ,一个负责 。这里的概率神经网络和一般的神经网络不同的是:概率神经网络会输出整个分布的参数,而一般的神经网络只会输出一个预测的定值。最简单的概率神经网络的做法是,我们假设网络输出的是高斯分布,那么我们就可以用高斯分布 log likelihood 作为目标函数,来训练(学习) 和 这两个概率神经网络。整体地看,我们可以用下面这个目标函数来训练:

860d48d05419fd9eb1b5f45d6587f831.png

这个目标函数的前 2 项对应的是 这个概率神经网络,这个网络的输入是 ,而这里的 和 则分别是这个概率神经网络输出的 mean 和 variance。所以,前 2 项其实是在用一个被 控制的高斯分布,来拟合 。注意这里 表示第一个神经网络的参数。

同理,目标函数的后 2 项对应的是 这个概率神经网络。有了这个目标函数以及很多 ,,的数据,我们就可以训练出来 和 这两个概率神经网络。(眼尖的同学可能会发现,前 2 项和后 2 项是没有关系的,所以这 2 个网络还可以分开、并行地训练,从而提高速度。)

深度贝叶斯网络的推断:深度贝叶斯网络的推断部分是 BIN 的精髓,也是 Reverse Attack 的灵感来源之一。我们依然沿用前面 ,, 的例子,在我们学习了 和 这两个概率神经网络之后,一个重要的推断问题是,如果给定一组 和 ,我们能否推断出最可能发生的 。换句话说,我们能否找到一个 ,使得 的后验概率 最大呢?

熟悉概率论的人可能已经发现上面的目标函数,其实等于:

e009de85bbd12958326077f43ec786da.png

而后验概率 的 log:

5aece6c2268a74eea60dc633f5437562.png

由于我们 和 是给定的,所以上面的第二项 其实是一个常数,那么我们就可以推出来:

b1bed295a91fee948de5406df6b6fe39.png

然后我们会惊喜地发现(这其实是最大后验的常规操作),其实给定 和 推断 的时候,我们可以用同一个目标函数:

1f7c37a138af9461067c207ba4f07310.png

区别在于,在学习(learning)阶段,我们是已知 ,,,然后通过 BP 去更新网络的参数 和 。而在推断(inference)阶段,我们是已知 ,,和网络的参数 与 ,然后通过 BP 去更新

眼尖的同学可能会发现另一个区别,那就是在学习阶段,前 2 项和后 2 项是独立、没有关系的,但是在推断阶段,我们的推断目标 同时出现在前 2 项和后 2 项里。也就是说,虽然 2 个概率神经网络可以分开训练,但是推断的时候是需要一起协作的。

深度贝叶斯网络推断的 intuition:其实如果只看后面 2 项,可以发现,我们做的其实就是 BP 到神经网络的输入 ,从而不断更新 ,而前面 2 项的作用,其实相当于给这个更新提供了一个 L2 的 regularization。而这个 L2 regularization 的系数,则由 动态决定的。

算法实现:从算法上讲,这个推断过程可以分成 2 步(如下图):(1)计算上面目标函数的前 2 项里的 和 ,这个部分只需要通过 feedforward 计算一次,(2)把 初始化为 ,然后通过 BP 多次计算目标函数关于 的 gradient,并且更新 。

0895afdba18f405abd5aca128868193e.png

因为我们这个方法既可以前向推断(feedforward)也可以后向推断(BP),我们把它叫做 Bidirectional Inference Network(BIN)

从 BIN 到 Reverse Attack:那么回到文章最初提的 Reverse Attack,假设被 attack 过的图片(原始图片+ attack vector)叫 ,而我们想寻找的 reverse  attack 后的图片(原始图片+ attack vector+reverse attack vector)叫 。这里的关键是结构一致性信息 。我们知道,原始的图片,是满足结构一致性的(),而被 attack 后的图片,结构一致性会被破坏( 或者甚至 ),然后我们希望 reverse attack 后的图片,可以(部分)恢复这种结构一致性(使得 尽可能靠近 1)。

那么我们应该怎么做呢?这时我们就可以把它 formulate 成一个最大后验估计的问题:寻找一个 使得后验概率 最大。套用前面 BIN 的例子,这里的 对应之前的 , 对应之前 ,而 对应之前的 。于是我们就有了下面这个熟悉的图。需要注意的是,在 reverse attack 里问题甚至比之前的例子更简单,因为 和 之间没有链接。

f6b00485ae5b7e3a290261f4c4623092.png

Reverse Attack 与 BIN的推断:给定一个 reverse attack 后的图片 ,以及已知我们 reverse attack 后的结构一致性 ,根据 BIN 的推断(inference)算法,我们只需要通过 BP,来求 关于 的 gradient,然后不断更新 到收敛,就可以找到最优的 了。

如何学习概率神经网络 和 :细心的读者会问,BIN 的 inference 是假设已经学好了概率神经网络 和 ,那么如何学习这两个概率神经网络呢?

其实很简单, 甚至不需要学习,我们直接假设 服从一个以 为均值的高斯分布 就行。

至于 ,我们可以直接训练一个 contrastive learning(CL)的神经网络。给定任意 2 个图片的 crop 作为输入,CL 的网络可以判断他们是否来自于同一张图。这其实就是在判断结构一致性。被 attack 过的图片,结构一致性受损(),所以即使给定这同一个图片的 2 个 crop,CL 的网络也可以判断出来他们不是来自于同一张图()。基于这个 intuition,我们只需要直接用 clean image,训练一个 CL 的网络,就可以当成 来用了。

理论:更有趣的是,在我们 reverse attack for defense 的 paper 中,我们还证明了,通过以上贝叶斯推断得到的模型准确率的上界可以提升。也就是说,从某种程度上讲,用了这种基于贝叶斯的 reversal method,对于训练恰当的模型会保证更好。

实验结果:因为我们的方法只是在原有输入的基础上额外考虑了 这一项,因此我们的算法与目前所有做 adversarial robustness 的方法兼容,可以直接加到他们上面。我们在 4 个主流的数据集上,对7种主流的 adversarial robust 的算法进行了测试。

实验结果之 CIFAR-10:我们测试了 6 种主流 adversarial robust 算法,并且在他们上面加入我们 reversal defense 的方法。在包括 AutoAttack 在内的 5 种 adversarial attack 下,我们的算法都直接提升了原有算法的 robust accracy。

有意思的是,对于越强的 adversarial attack 算法,我们的算法提升的越多(对于比较弱的 PGD50,我们提升 2% 左右,但是对于更强的 autoattack,我们能够提升 7 个点之多)。这是因为更强的 attack 算法其实破坏了更多的结构一致性信息,我们的算法从而能够恢复更多原有信息来提升准确率。

85ced868e01f39fed03dd60c9a970f83.png

实验结果之 CIFAR-100,SVHN 和 ImageNet:我们的算法同样可以扩展到更大规模的数据集。在另外 3 个数据集上,我们的算法同样有高达 11% 的提升。下面是每个数据集的结果:

c60780a719c5049e155dcc8fee7b5a58.png

ea51c2f499192d498eb7d0df2658d98f.png

27fe396a7d5929418ce4b38ea003b9e0.png

另一个使用贝叶斯最大后验来增强鲁棒性的优点,就是我们的方法对于没见过的,特别强的 adversarial attack 更加有效。在以下图中,所有的模型都在最小的扰动上进行训练(使用 8/255 的扰动范围,ImageNet 除外,是 4/255)。随着在推断时扰动的增加,我们的模型在这些从未训练过的扰动上准确率提升越来越明显。

9a76554c662d9850b326d0ab8c921d2f.png

写在最后之用 BIN 处理任意贝叶斯网络结构:有一点需要注意的是,虽然我们上面给的是一个非常简单的深度贝叶斯网络结构,只涉及 3 个变量。实际上 BIN 可以处理任意节点数的贝叶斯网络,比如下图这些结构。因为可以处理任意结构, BIN 最初是用来做 health profiling 的。有兴趣同学可以移步看看 health profiling 通俗易懂的应用介绍:

https://news.mit.edu/2019/machine-learning-incomplete-patient-data-0125

2bdeb19c50ac5fc950fec9811c456c23.png

写在最后之用 natural-parameter network(NPN)来作为 BIN 的概率神经网络 backbone:另一点需要注意的是,上文提到的概率神经网络(probabilistic neural network)的具体实现(比如 的具体实现),除了简单的用一个 MLP 最后输出 2 个 branch(mean 和 variance)之外,也可以用比如 natural-parameter network(NPN)[3] 的贝叶斯神经网络,从而达到更好的效果。

这一篇的数学公式稍微有点多,由于篇幅限制,也省去了一些技术细节,如果有啥编辑或者逻辑不顺,大家轻拍:)大家有兴趣的话也欢迎找 @ChengZhi(Reverse Attack的一作) @何昊或者我讨论。

outside_default.png

参考文献

outside_default.png

[1] Adversarial attacks are reversible with natural supervision. Chengzhi Mao, Mia Chiquier, Hao Wang, Junfeng Yang, Carl Vondrick. ICCV, 2021.

[2] Bidirectional inference networks: A class of deep Bayesian networks for health profiling. Hao Wang, Chengzhi Mao, Hao He, Mingmin Zhao, Tommi S. Jaakkola, Dina Katabi. AAAI , 2019.

[3] Natural parameter networks: a class of probabilistic neural networks. Hao Wang, Xingjian Shi, Dit-Yan Yeung. NIPS, 2016.

[4] A survey on Bayesian deep learning. Hao Wang, Dit-Yan Yeung. ACM Computing Surveys, 2020.

[5] Towards Bayesian deep learning: a framework and some existing methods. Hao Wang, Dit-Yan Yeung. TKDE, 2016.

更多阅读

03eb420b6ed291e8f65be7beae1c2058.png

8e034fe3fdd7901fd430d4d7ba0b039d.png

662d8d0547992f6d4b2098d614c436fd.png

760f7c631a8510b04ff8ca40251e229b.gif

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算

📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿

ade4acacff799b03d639465b1a07ece5.png

△长按添加PaperWeekly小编

🔍

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

·

974e8c4519bdd66391a7fed989d64888.png

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从Bayesian Deep Learning到Adversarial Robustness新范式 的相关文章

  • 2021论文解读:Learning To Count Everything

    此文着眼于仅用少量标注样本完成物体计数的任务 1 研究近况 1 1 小样本 当前的小样本学习研究主要集中在分类任务上 xff0c 例如图片 xff08 物体 xff09 分类 文本分类 较少触及检测 分割等任务的 xff0c 因为小样本学习
  • MAML: meta learning 论文分析

    https zhuanlan zhihu com p 57864886 一 Meta Learning 简述 Meta Learning xff08 即元学习 xff09 是最近比较火的研究方向 xff0c 其思想是learning to
  • Multi-Center Federated Learning

    Multi Center Federated Learning Motivation 现有的联合学习方法通常采用单个全局模型来通过汇总其梯度来捕获所有用户的共享知识 xff0c 而不管其数据分布之间的差异如何 但是 xff0c 由于用户行为
  • An Introduction to Deep Learning for the PhysicalLayer

    An Introduction to Deep Learning for the PhysicalLayer I INTRODUCTION 这段主要讲了文章的主要工作 将发射机 通道和接收器作为一个自动编码器 xff0c 对于给定的损失函数
  • 《论文阅读01》Learning multiview 3D point cloud registration

    目录 一 论文 二 论文概要 三 论文详述 一 论文 研究领域 xff1a 点云配准论文 xff1a Learning multiview 3D point cloud registrationCVPR 2020论文链接 二 论文概要 该论
  • Deep Learning 最优化方法之RMSProp

    本文是Deep Learning 之 最优化方法系列文章的RMSProp方法 主要参考Deep Learning 一书 整个优化系列文章列表 xff1a Deep Learning 之 最优化方法 Deep Learning 最优化方法之S
  • Deep Learning 最优化方法之Adam

    本文是Deep Learning 之 最优化方法系列文章的Adam方法 主要参考Deep Learning 一书 整个优化系列文章列表 xff1a Deep Learning 之 最优化方法 Deep Learning 最优化方法之SGD
  • An Introduction on Deep Learning for the Physical Layer

    An Introduction on Deep Learning for the Physical Layer 代码实现 xff1a https github com shengjian3476077 DLforPhy 一 文章的主要工作
  • [Machine Learning & Algorithm] 随机森林(Random Forest)

    1 什么是随机森林 xff1f 作为新兴起的 高度灵活的一种机器学习算法 xff0c 随机森林 xff08 Random Forest xff0c 简称RF xff09 拥有广泛的应用前景 xff0c 从市场营销到医疗保健保险 xff0c
  • 【论文-损失函数】Learning with Average Top-k Loss

    基本信息 paper Learning with Average Top k Loss code pytorch 论文思路 该损失适用于在线难例挖掘 即在训练时选择前K个loss较大的样本进行back propagate bp xff0c
  • 推荐系统:Wide & Deep模型解析

    1 Wide Deep模型介绍 经典推荐深度模型 Wide Deep 对应的论文 Wide Deep Learning for Recommender Systems 链接 arxiv Wide Deep的模型架构如下图所示 可以看到Wid
  • 使用“LKJCorr”先验修改 PyMC3 中的 BPMF:使用“NUTS”的 PositiveDefiniteError

    我之前实现了原来的贝叶斯概率矩阵分解 BPMF 模型中pymc3 看我之前的问题供参考 数据源和问题设置 根据 twiecki 对该问题的回答 我使用以下方法实现了该模型的变体LKJCorr相关矩阵的先验和标准差的统一先验 在原始模型中 协
  • 使用 ggplot() 和 bsts() 包通过 MCMC 进行贝叶斯时间序列分析生成 BSTS 平均绝对百分比误差 (MAPE) 图

    Problem 我有一个名为 FID 的数据框 见下文 其中包含 年 和 月 两列以及 Sighting Frequency 鸟类计数 数据框包含3 years之间的观察值2015 2017 表示我有 36 个月的数据 我已经运行了使用 M
  • 安装和导入后,colaboratory 将不会承认 arviz

    在Google的合作实验室中 安装了arviz然后导入arviz没有错误 但在代码单元中 pm plot posterior samples 得到错误 arviz未安装 尝试绘制贝叶斯代码 pm plot posterior samples
  • 如何使用 rstanarm 以 APA 风格报告贝叶斯线性(混合)模型?

    我目前正在努力解决如何按照 APA 6 建议报告输出的问题rstanarm stan lmer 首先 我将在频率论方法中拟合混合模型 然后尝试使用贝叶斯框架执行相同的操作 这是获取数据的可重现代码 library tidyverse lib
  • brms:如何设置分类变量的优先级?

    我正在使用 2 个分类变量构建二项式回归模型 这是 统计反思 一书中的一个例子 在书中 在使用 rethinking 包时 我们可以对每个分类变量设置先验 如下所示 m11 5 lt ulam alist pulled left dbino
  • 使用朴素贝叶斯分类器对推文进行分类:一些问题

    除了其他来源之外 我还使用 Stackoverflow 上的各种帖子 尝试实现自己的 PHP 分类器 将推文分为正面 中性和负面类别 在编码之前 我需要理清流程 我的思路和例子如下 p class p words class Bayes t
  • OpenBUGS - 变量未定义

    我在 OpenBUGS 中使用以下代码来执行分析 model for i in 1 467 probit p i lt gamma0 gamma1 drug i gamma2 CD41 i R i dbern p i junk i lt I
  • 在 Ruby 中实现贝叶斯分类器?

    我想实现一个简单的贝叶斯分类系统来对短信进行基本的情感分析 欢迎在 Ruby 中实施的实用建议 除贝叶斯之外的其他方法的建议也将受到欢迎 Ilya Grigorik 在这篇博客文章中对这个问题有一个很好的答案贝叶斯分类器 http www
  • JAGS 中的柯西先验

    我正在使用 rJAGS 构建多级贝叶斯模型 并且我想为我的几个参数指定柯西先验 有没有办法在 JAGS 中做到这一点 或者我需要切换到 STAN 吗 我的 JAGS 模型如下 我想更换dnorm柯西分布 但 JAGS 找不到标准R柯西分布

随机推荐

  • 三总线原则

    数据总线 xff0c 地址总线 xff0c 控制总线 xff0c 这是学单片机时讲的
  • 用C++写数据结构 STL!!!!!!

    我猜想一下 xff0c 用C 43 43 写数据结构 xff0c 那可能就是用面向对象的思想写了 xff0c 用类操作 还有不是任何一个数据结构都有逻辑结构 xff0c 存储结构 xff0c 操作么 xff0c 我感觉操作就对应着类里面的方
  • 我觉得你可以早点找工作面试,一方面可以倒逼自己学习,另一方面可以清楚别人考察的是什么。

    我觉得你可以早点找工作面试 xff0c 一方面可以倒逼自己学习 xff0c 另一方面可以清楚别人考察的是什么 就像复试面试 xff0c 你会发现你折腾了这么久的无人机 xff0c 花费了这么大精力的无人机 xff0c 居然根本一个问题都没有
  • 路由器开发

    路由器我看了下还是有几本专门的书讲了讲的 xff0c meybe可以像无人机一样弄透彻些 我记得华清的课里面也有谈到过路由器 xff0c 记不清好像是再驱动还是系统移植的课程里面 路由器openwrt我发现可以集成到无人机项目里面 可以看我
  • C 语言实现 FTP 服务器

    这个有专门的课程讲解我看到 xff0c 百度也能搜到不少相关的 我觉得你可以去把这个弄懂
  • 找找网络编程,多线程编程的面试题

    我看到嵌入式软件招聘里面不少要求网络编程 xff0c 多线程编程的 xff0c 我想去找找这方面的题库 xff0c 好更好地准备 这样好针对性地准备一下 xff0c 不然真的不太好准备 1
  • 关于推流软件

    他们好像就叫OBS xff0c 是开源的 xff0c 可以自己改 https www cnblogs com csuftzzk p OBS Plugins Development html linux上推流似乎是可以用ffmpeg http
  • 复旦大学邱锡鹏教授团队:Transformer最新综述

    PaperWeekly 原创 作者 王馨月 学校 四川大学本科生 研究方向 自然语言处理 Transformer 在自然语言处理 计算机视觉 音频处理等许多人工智能领域都取得了巨大的成功 xff0c 也吸引了学术界和行业研究人员的大量兴趣
  • 通过子网掩码判断两个IP地址是否在同一子网中

    IP地址分为两部分 xff0c 网络部分和主机部分 xff0c 子网掩码就是用来给你指明哪些是网络部分 xff0c 哪些是主机部分 xff0c 如果网络部分相同 xff0c 那主机就在同一网络里 一个IPv4地址 xff0c 由32位二进制
  • 拉流软件

    当初OZO电脑端用的VLC 手机端用的insta360player 媒体播放器三大底层架构 MPC MPLAYER VLC 下面截图自 FFmpeg从入门到精通 播放VR视频当时好像用的暴风影音 1
  • 当自己选导师,当自己招聘,能感受到很多东西。

    当自己选导师的时候很多东西就能体会到了 xff0c 这跟面试一样 xff0c 你从面试官的角度 xff0c 很多就合情合理了 老师选学生肯定也是愿意选做过自己领域相关项目的学生嘛 xff0c 你千万不要这么想 xff0c 就是一味表现自己很
  • 直立车模控制中三种滤波算法简单分析

    摘自 xff1a https mp weixin qq com s WbCh0NFAnsf9y2blQenf7g 让我想起余义的一篇文章也是说到平衡车有三种滤波 xff0c 我想和卓晴说的是一样的吧 直立车模控制中三种滤波算法简单分析 原创
  • 直立车模控制中三种滤波算法简单分析(清华卓晴)

    摘自 xff1a https mp weixin qq com s WbCh0NFAnsf9y2blQenf7g 让我想起余义的一篇文章也是说到平衡车有三种滤波 xff0c 我想和卓晴说的是一样的吧 https blog csdn net
  • 就去工作,然后报个培训班学,这样感觉其实挺好的

    我感觉啊 xff0c 就去工作 xff0c 然后报个培训班学 xff0c 这样感觉其实挺好的 xff0c 再弄个非全的硕士学位 也可以达到你想要的算法层面 他们去北邮的不很多也是自学 反正到哪里都是自学 xff0c 去软微也是自学 xff0
  • SIFT(单目3D重建和全景视频拼接都用到了!)

    我发现无论是单目SLAM里面 xff0c 还是全景视频拼接里面 xff0c 都用到了SIFT xff01 xff01 xff01 xff01 xff01 xff01 这是我今晚发现的 xff01 xff01 xff01 xff01 xff0
  • 集成学习

    中科院人工智能学院面试的时候有问到 xff0c 集成学习有哪些方法 xff0c 各自的优缺点 是因为我在简历上写了KPI异常检测最后需要通过无监督学习或者集成学习来解决 说实话我对集成学习的概念没那么清晰了 xff0c 我只记得裴丹用的随机
  • float a=1.0f 这里的1.0f中的 f 代表什么?有什么意思?

    最近看正点原子飞控源码会发现 xff0c 经常出现这种0 f xff0c 我以前玩单片机似乎没碰到过
  • 基于机器学习的KPI自动化异常检测(裴丹)

    可以看到确实就是用的随机森林
  • 原来全景拼接用的关键点检测,这样很多就说得通了

    原来全景拼接用的关键点检测 xff0c 这样很多就说得通了 xff0c 特别是手机自动多张合成一张全景照片时 xff0c 有的效果真的是不错的 xff0c 是的 xff0c 真的拼接得不错 xff0c 应该不是一个死的模板死套死拼的 xff
  • 从Bayesian Deep Learning到Adversarial Robustness新范式

    作者 王灏 毛成志 单位 Rutgers University Columbia University 研究方向 贝叶斯深度学习 对抗鲁棒性 拖延症赶在 2021 结束前来介绍一下我们 ICCV 2021 上基于 Bayesian Deep