5

AI研究中数学和算法哪个优先?

 1 week ago
source link: https://www.jdon.com/73351.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

AI研究中数学和算法哪个优先?

问题:我现在正在学习扩散背后的方法(DDPM、基于分数的方法和其他方法)。我想知道研究人员究竟是如何提出这个想法的?

发明新方法的过程是这样的吗?

  1. 我们想制作更好的图像生成器。
  2. 哦,数据永远都不够......
  3. 让我们通过添加一些噪声破坏来乘以数据
  4. 这样做效果不错,如果我们制作一个去噪网络呢?
  5. 如果我们制作一个网络,从纯噪声中生成图像呢?
  6. 这样不行,如果我们把去噪步骤做得更小一些呢?
  7. 这样就成功了!现在,让我们创建一些理论来解释它为什么有效。

或者像这样?

  1. 我们想制作更好的图像生成器。
  2. 我们非常了解 "非平衡热力学",并想尝试以某种方式应用它
  3.  我们以某种方式想出了一种依赖于该理论数学的算法
  4. 我们撰写论文。

通常哪个在先?数学还是算法?

网友回答:
1、在人们如何提出这些想法的过程中,你忘记了一个步骤,那就是文献综述!人们会从许多其他人的工作中得到了启发,这些工作与 DDPM 论文中的内容非常相似。

我认为一般的过程是:

  1. -通过阅读论文了解该领域
  2.  找出应用/方法中的漏洞
  3.  提出新方法来填补这些漏洞
  4.  用现有的理论来支持这些方法,或许再加上一点自己的理论

我不认为人们会在阅读了该领域的论文后直接提出新理论,然后将其付诸实施。尽管在大多数论文中,介绍会让你相信是按照这样的顺序进行的(介绍、背景、理论、应用)。

我也在研究扩散理论,学习曲线非常陡峭,但一旦你习惯了,就会发现都是一样的东西,朗热文、贝叶斯等等。

2、实际上,我也在研究基于扩散/分数的模型,学习曲线很陡峭,因为它包含了从统计学、物理学和其他领域借鉴的理论。而这些理论已经非常庞杂和先进,因此要快速掌握其中的概念并不容易。我学得越深,就越复杂,但我经常能学到一些新的有趣的东西。

3、从外观上看,这些想法似乎不知从何而来。但如果你多年来一直在思考去噪和变异自动编码器,那么扩散模型的想法就是这些想法的自然综合。

4、就扩散模型而言,我认为最初的研究人员具有物理学背景,并从物理学的角度研究了生成模型。直到一些博士生将其与架构工程结合起来,几年后人们才意识到这一点。

一般来说,我认为研究人员在学习过程中会开发一套他们喜欢的技术工具包,

  • 当他们研究问题时,通常会通过这套工具包的视角来看待问题。
  • 这个工具包可以是任何东西:理论、数值近似、算法、架构等。
  • 这就是为什么博士生的 "探索-开发 "策略能取得很好的效果。
  • 如果你跟踪研究人员或实验室的工作,工具包通常会显露出来。
  • 这也是为什么你经常能看到一些论文写着 "X 就是 Y",比如随机优化就是贝叶斯推理。

5、你想研究信息论和概率分布的偏微分方程(想想福克-普朗克和随机与扩散过程--微分方程),这是一个奇妙的数学领域,有着令人难以置信的深度和深远的应用。
我想你会真正体会到它的广度和深度,但要记住这一点。
应用数学并不总是对一门学科公正,我相信更多的是想法和直觉:

  • 最终你会在研究图论时看到同样的想法被应用到信息传播、影响传播、数据传播等方面......

这就是你通往神经网络和 Ai 扩散的道路。

发明新算法源于一个创造性的过程:

  • "如果我这样做而不是这样做会怎样",
  • "这样做能改进吗?
  • 然后是 "为什么"<--这就是你的数学,但你首先需要知道其他算法 "为什么 "会起效。

在许多情况下,如果你看一下基础论文,你正在研究的想法就是在这篇论文中提出的,然后再看看研究人员的背景,我还没见过没有数学家参与的论文。

6、另外,我想我有点应付了事,因为这些数学知识真的很难消化,如果这些研究人员先提出理论,然后再进行实际应用,我会觉得不可思议。对我来说,那真是不可思议。
如果实际实现不成功怎么办?不知怎么的,我觉得开发代码比开发理论更省钱。也许我只是有偏见(我 90% 的工作都是软件)。

7、如果您已有统计学背景,这根本不是什么大问题。有一个定理叫做 Rao-Blackwell 定理,说的是如果你把一个估计值作为 "充分统计量 "的条件,你就能得到一个更好的估计值。如果你对它已经很熟悉了,就不难看出现有的方法并说:"哦,我知道如何改进它,只要用 Rao-Blackwell 定理就可以了"。这就是 DDIM 所要做的--采用现有的方法,使用现有的工具,使其具有更低的方差。

老实说,很多时候理论比代码更容易开发。主要是因为理论抽象了许多可能的代码实现。如果你在不理解理论的情况下实现了某些东西,而它却不起作用,你该从哪里开始修复呢?你的超参数有问题吗?是否存在漏洞?这个想法是不是从根本上就不对?理论告诉你,如果你从某个假设出发,就会得到某个结果。因此,如果你没有得到预期的结果,那一定是某个假设错了,这就给了你一个开始修正它的地方。这让你对结果有了一定程度的控制,而试验和错误则没有。

8、老实说,通常人们会尝试不同的事情,最终有些事情会奏效。然后他们写下理论/数学来尝试解释为什么会这样。

9、我认为两者都有很多。例如,在 NLP 领域,人们要么以纯粹的语言学为重点,要么以纯粹的计算机科学为重点来解决主要的大模型问题,但有时它们并不能很好地重叠。

10、数学和算法之间通常会有很多来回,但起点取决于个人。有些人有更理论的方法;有些人则有更多的理论方法。他们根据他们试图解决的数学问题仔细构建算法。其他人从猜测开始,计算出数学结果,然后根据需要进行更新。

11、扩散方法与图像变分自动编码器的方法非常相似,其研究根源可以追溯到几十年前。我建议阅读一些最初的论文,并检查引言中使用的参考文献以了解有关该主题的一些历史。

12、算法(工程/执行)是第一位的,如果你是一名研究人员/实践者,试图使用该模型(我的意思是第一位,并不意味着你以后不需要理解它)。在我看来,你确实需要了解基本原理才能创造出新的东西。而作为实践者,你必须能够快速复制并亲眼看到结果。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK