Py学习  »  机器学习算法

深度学习需要多强的数学基础?

小白学视觉 • 1 年前 • 250 次点击  

重磅干货,第一时间送达

链接:https://www.zhihu.com/question/266478287
编辑:深度学习与计算机视觉
声明:仅做学术分享,侵删

作者:EddyLiu
https://www.zhihu.com/question/266478287/answer/587489884

有了基础的《概率/统计》、《线性代数》、《微积分》知识,就可以上手深度学习的算法和实践了。但经过一段时间的工程实践,慢慢觉得大多数时间都用在选模型,调超参,或者是网络结构的排列组合上。深度学习的黑盒特性越来越明显。难道深度学习工程师就当真是数据“炼丹师”吗?
如果,你有了这样的感觉,下面的视频不妨抽时间看看(都需要翻墙):

李宏毅《Machine Learning and having it deep and structured》

不多说,直接看目录吧。
课程地址:
http://speech.ee.ntu.edu.tw/~tlkagk/courses_MLDS18.html
《Theory 1 - Why Deep Structure》
Can shallow network fit any function

Potential of Deep
Is Deep better than Shallow
《Theory 2 - Optimization》
When Gradient is Zero

Deep Linear Network
Does Deep Network have Local Minima
Geometry of Loss Surfaces (Conjecture)
Geometry of Loss Surfaces (Empirical)
《Theory 3 - Generalization 》
Capability of Generalization

Indicator of Generalization

Sanjeev Arora《The mathematics of machine learning and deep learning

视频地址:https://www.youtube.com/watch?v=r07Sofj_puQ
这是ICM2018的主题演讲,虽然Sanjeev Arora作为普林斯顿计算机科学的教授,但演讲内容深入浅出,并没有涉及大量的数学公式和推导,这里贴一下提纲:

小结

这两部分的内容是相互呼应的,可以先看李宏毅老师的课程,然后在看Sanjeev Arora教授的分享总结。

作者:润宁    https://www.zhihu.com/question/266478287/answer/313813956
没必要再读个数学Master了,即使打算做机器学习(包括深度学习)理论方面的研究,数学专业本科学的已经完全够了。如果打算做深度学习,建议读个机器学习方向的Master,同时提高自己的编程能力(比如刷LeetCode)。

作者:Cv大法代码酱
https://www.zhihu.com/question/266478287/answer/2479263874
机器学习相比,深度学习的大部分内容对数学要求并没有那么高。
如果是以工程应用和非理论的学术研究为目的,主要也就是线性代数的一些运算,各种损失函数,梯度下降法,反向传播算法。
比起机器学习中的支持向量机,EM算法,概率图模型,概率推断,各种采样算法,要容易的多。
用花书要友好一些,在开头几章就用较大的篇幅介绍了数学知识,基本上覆盖了深度学习的主要数学知识点。包括:
线性代数、概率论与信息论、数值计算
大家应该能感觉到,花书的第1部分“应用数学与机器学习基础”和第2部分“深度网络:现代实践”相对容易理解,只要有一些数学基础,都能读懂。问题出在第3部分-深度学习研究:线性因子模型、自编码器、表示学习、深度学习中的结构化概率模型、蒙特卡洛方法、直面配分函数、近似推断、深度生成模型

这几章的数学知识明显增多,而且有很多是大家不熟悉的。又出现了令大家普遍头疼的内容,比如MCMC采样,EM算法:近似推断和变分推断和变分法。

单看描述,很难理解泛函的概念和变分法的原理。
从上面这些内容来看,如果不打好数学基础,想要学好深度学习也是不现实的。
不过,题主毕业后也没有必要进一步去读数学的研究生了,学历不是解决问题的办法,要有学习解决问题的能力。

花书(《深度学习》,人民邮电出版社)分别是目前国内深度学习领域销量最大的教材。大家公认它们的质量是很高,但一个尴尬的现状是:绝大部分人买了这两本书之后并没有怎没看懂,更没有坚持读完!

花书里密集的出现数学概念和公式,对大部分读者来说都是很困难的,尤其是不少数学知识超出了本科“微积分”,“线性代数”,“概率论与数理统计”3门课的范围。见到陌生的数学符号和公式让大家茫然不知所措。

所以我在推荐一个资源--《机器学习的数学》,配合着它去学习,基本上可以扫清你学西瓜书,花书的数学障碍。当你看到数学符号和公式的时候不再会有陌生感,对于这些数学知识如何用到机器学习和深度学习中,也有一个清晰的认识。

这本书用最小的篇幅精准的覆盖了机器学习、深度学习、强化学习所需的核心数学知识。章节结构设计科学合理,不需要的东西,统统不讲,这样可以有效的减小读者的学习成本。

如果你想从事学术研究,也可以打下良好的数学基础。

作者:机器意识
https://www.zhihu.com/question/266478287/answer/1911910013
如果希望做开创性的研究,概率论、线性代数、微积分是不够的,这些数学工具提供不了蓝图,需要去了解一些不那么古老的数学领域,比如近世代数、微分几何、泛函分析等。

打个比方,研究五次方程求根问题,会中学数学是不够的,你需要会伽罗华群和域扩张

工作中很多都是推荐问题,如果了解微分几何,我们可以用纤维丛的概念去抽象这个问题,用户特征空间是基空间,用户特征拼接内容特征合是全空间,但是如何利用微分几何中已知的结论去优化推荐建模,还在探索中,但至少思考的空间更大一些了。


好消息!

小白学视觉知识星球

开始面向外开放啦👇👇👇




下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。

下载2:Python视觉实战项目52讲
小白学视觉公众号后台回复:Python视觉实战项目即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。

下载3:OpenCV实战项目20讲
小白学视觉公众号后台回复:OpenCV实战项目20讲即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。

交流群


欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~



Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/151395
 
250 次点击