Py学习  »  机器学习算法

如何看懂深度学习论文里的数学原理部分?

AI算法科研paper • 5 小时前 • 14 次点击  

论文读到方法那一节,突然出现一整页公式,希腊字母、花体字母混着写,符号定义翻了好几遍,还是不知道它到底在算什么。

这时候难免会想:是不是得先把数学补一遍,才能继续读论文?我的建议是先别急着补课。很多时候,卡住你的不一定是数学太难,而是读的顺序不对。

我把手里适合机器学习、深度学习的数学资料重新整理了一遍,按难度和用途做了分类。当然不是让大家从头啃完这些,而是论文读到哪里卡住了,就去对应资料里查哪一块。

长按添加小享,回复【数学指南】无偿获取

具体可以按下面几个步骤来:

第一步:先找这段公式要回答什么问题

论文里的数学推导通常不是凭空出现的,而是在解决一个具体问题。比如,这个损失函数为什么这样设计?这个近似为什么成立?这个理论界为什么是这样的量级?

可以先看公式前面的文字,尤其留意“为了……我们……”这类表述,把它改写成一句话:作者引入这段公式,究竟想解决什么?如果连问题都没搞清楚,直接盯着公式推导,很容易越看越乱。

第二步:把这一段的记号理清楚

很多时候,真正让人读不下去的是符号。同一个字母可能在不同章节代表不同东西,作者还可能省略一些默认的维度或条件。

建议把关键符号列出来,分别确认它代表什么、维度是多少、和前面的变量有什么关系。

如果卡在矩阵、向量、维度,就补线性代数;卡在期望、概率分布,就查概率论;卡在梯度、偏导,就看微积分。不用为了读一篇论文把整本书学完,把当前卡住的知识点弄明白就够了。

第三步:推导别只顾着顺着读,试着猜下一步

读到一个公式先停一下,想想作者接下来可能要做什么:是消掉某一项,还是构造一个新的表达式?猜错也没关系,反而能帮你发现自己究竟哪里没理解。

遇到复杂推导,也可以把公式和上下文交给AI,让它解释每一步的作用。但AI的数学推导不一定可靠,关键步骤最好自己核对,不能只看它讲得通顺就相信。

第四步:结合代码反过来看公式

如果论文提供了开源代码,可以找到对应的函数,看看公式在实际实现中是怎么计算的。把代码里的变量和论文符号逐一对应,有时候会发现,自己看不懂只是因为论文省略了部分实现细节。

公式和代码结合起来看,通常比单独盯着数学表达式更容易理解。

第五步:判断什么时候值得系统补数学

不是每遇到一个陌生概念,就要从头学一遍数学。如果某个知识点只在一篇论文里出现,可以先针对性补一下;如果连续读了几篇论文,都反复卡在同一个概念上,那就值得系统学习了。

这也是我整理这些数学资料的原因:难度和侧重点都不一样,不用纠结到底该从哪个开始。卡线代就补线代,卡概率就查概率,卡微积分就看微积分。把它们当成论文阅读时随手查阅的工具,而不是又给自己安排一套必须从头学完的课程。

下次再遇到一整页看不懂的公式,可以先判断自己究竟卡在了研究问题、符号记号,还是数学概念。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/203257