从 2016 年起,机器之心每年都会盘点全年的精华教程。去年就有小伙伴留言说要在 2019 年上半年把 2018 年的教程合集「啃下来」。现在都 2020 了,不知道这位朋友啃完没有?要是 flag 没倒,不妨再来一份?
与往年类似,今年的盘点分为入门解惑、优质教材及课程、语言、工具、GitHub 项目、经验分享几大板块。无论你是刚迈入 AI 领域的萌新,还是工作多年的数据分析师、炼丹师、码农,这份合集都能帮到你。
如果这些都学完了还没尽兴,可以跳到文末链接找出往年教程合集。
入门解惑
去年,教育部公布了 35 所新增 AI 本科高校名单,为想学 AI 的同学提供了更多选择。对于这部分刚迈入 AI 领域的萌新,我们提供了一系列完备的学习路线和入门教程:
完备的 AI 学习路线,最详细的中英文资源整理不交学费也能成为数据科学家,这里有一条免费学习路径机器学习成才之路:这是一条 GitHub 高赞的学习路径入门机器学习,照这个课程清单按顺序学就对了18 个月自学 AI,2 年写就三万字长文,过来人教你如何掌握这几个 AI 基础概念机器学习必学 10 大算法机器学习基础:相似度和距离度量究竟是什么p 值是什么?数据科学家用最简单的方式告诉你Distribution is all you need:这里有 12 种做 ML 不可不知的分布计算机视觉入门大全:基础概念、运行原理、应用案例详解NLP 技术路线详解:这是从数学到算法的艺术深度强化学习入门难?这份资料手把手教会你数据清洗&预处理入门完整指南不要只关注算法与模型,这里有份产品级深度学习开发指南没人告诉你的大规模部署 AI 高效流程!用纯 NumPy 码一个 RNN、LSTM:这是最好的入门方式了为什么我的 CV 模型不好用?没想到原因竟如此简单……3 天上手,30 天精通!——深度学习 FPGA 加速器设计预训练语言模型关系图+必读论文列表,清华荣誉出品学习 GAN 模型量化评价,先从掌握 FID 开始吧生成式模型入门:训练似然模型的技巧如何入门 CUDA 并行计算?图像配准的前世今生:从人工设计特征到深度学习
当然,在搞定 AI 之前,你必须要先搞定数学:
像堆乐高一样:从零开始解释神经网络的数学过程刷脸背后,卷积神经网络的数学原理原来是这样的1900 页数学基础:面向 CS 的线性代数、拓扑、微积分和最优化人工智能中的线性代数:如何理解并更好地应用它新手上路:图文解读助你理解和使用正则表达式不可不知的数据科学入门数学指南数学还能这么学?高中要有这个网站我早就及格了浅显易懂!「高中数学」读懂梯度下降的数学原理高中就开始学的正态分布,原来如此重要
接下来是一些简短而全面的教程,「一文读懂」基本概念:
卷积有多少种?一文读懂深度学习中的各种卷积从 ReLU 到 GELU,一文概览神经网络的激活函数关于图算法 & 图分析的基础知识概览图论与图学习(一):图的基本概念图论与图学习(二):图算法PageRank、最小生成树:ML 开发者应该了解的五种图算法一文读懂:图卷积在基于骨架的动作识别中的应用HyperparameterHunter 3.0:一文教你学会自动化特征工程
相比于文字,图解教程能够帮助你更直观、快速地领会知识的精髓:
图解神经机器翻译中的注意力机制图解人工智能,这群大学生做了个有趣的交互项目(中文版)图解 NumPy,这是理解数组最形象的一份教程了完全图解 GPT-2:看完这篇就够了(一)完全图解 GPT-2:看完这篇就够了(二)透过现象看本质,图解支持向量机能「看到」的张量运算:因子图可视化BERT 模型超酷炫,上手又太难?请查收这份 BERT 快速入门指南!包学包会,这些动图和代码让你一次读懂「自注意力」手把手教你将矩阵&概率画成图手把手教你将矩阵画成张量网络图看得见的高斯过程:这是一份直观的入门解读
优质教材、课程
如果你去购物网站、在线课程网站直接搜索,会发现与「人工智能」相关的图书资料有上万种,课程也有数百种。在学习资料异常丰富的今天,挑出优质的教材、课程也成了一大难题。不过不用担心,在机器之心编辑部和读者的共同努力下,今年的优质参考书、课程都已经筛选好了:
开卷有益
2019 年,周志华等多位老师联合撰写的《演化学习:理论与算法进展》问世;李航老师的《统计学习方法》第二版上线;李沐老师的《动手学深度学习》有了 TF 2.0、PyTorch 版本;贝叶斯之父 Judea Pearl 的《The Book of Why》也有了中文版本……要获取这些优质教材的新动向,关注机器之心就够了:
十四年的 NYU 教学精华,开放书《机器学习基础》第二版可以下载啦李航《统计学习方法》第二版上线,6 年耕耘增加无监督学习(新书赠送)学它!李航《统计学习方法》课件,清华大学深圳研究院教授制作实战入门深度学习,李沐中文新书赠送全新版本,李沐《动手学深度学习》TF2.0 版本来了PyTorch 版《动手学深度学习》开源了,最美 DL 书遇上最赞 DL 框架开放下载!复旦大学邱锡鹏教授发布教科书《神经网络与深度学习》「机器学习基础与趋势」系列丛书最新成员:140 页《深度强化学习入门》发布南大周志华、俞扬、钱超最新力作:《演化学习:理论与算法进展》正式上线线性代数与数据学习:MIT 教授 Gilbert Strang 帮你打下坚实的数学基础沉浸式学习线性代数!这里有一本全交互的线性代数书一图胜千言,这本交互式线代教科书让你分分钟理解复杂概念,佐治亚理工出品一场因果革命,Judea Pearl 最新力作《为什么》中文版发布(赠书)为机器学习插上因果推理的翅膀:这是一本系统的因果推理开源书500 页开放书搞定概率图建模,图灵奖得主 Judea Pearl 推荐集 20 年之大成,这是一本开源的算法教科书从六大概念总结吴恩达新书:做好工程实践应该这样走从算法到 HPC:最全优秀编程书籍列表如何用 Julia 做数据统计?这里有一本全面教材(附代码图示)系统探讨「跨语言词嵌入」,这是一本刚出炉新书
站在巨人的肩膀上
除了以上经典教材,还有些优质课程可以参考。这些课程来自麻省理工学院、斯坦福大学、多伦多大学、哥伦比亚大学等多所国内外知名高校,授课者包括 Bengio、吴恩达、李宏毅等名师:
最强学习资料:国内多所重点大学课程攻略最全中科大计算机学院课程资源(含答案)做个爱学习的孩子!收藏 2019 知名机器学习暑期学校大列表选机器学习课程怕踩雷?有人帮你选出了 top 5 优质课硬核暑假要学习:Imperial College London 开放 ML 暑期课程视频中文课程!台大李宏毅机器学习公开课 2019 版上线李宏毅机器学习完整笔记发布,AI 界「最热视频博主」中文课程笔记全开源MIT 2019 深度学习课程开课,第一课视频&PPT 已放出14 周无监督学习课程,UC 伯克利出品,含课件、视频吴恩达深度学习课最新补充教程:交互式 demo 助你轻松理解神经网络Bengio、Sutton 的深度学习&强化学习暑期班又来了,2019 视频已放出2019 年最佳计算机视觉课程推荐多伦多大学出品:Coursera 宣布首个自动驾驶专项课程时隔两年,斯坦福 NLP 标准公开课 CS224N 将再次开放视频学习时间!2019 斯坦福 CS224n、CMU NLP 公开课视频开放啦只知道 CS224N?斯坦福最新推出 NLU 公开课 CS224U社科 NLP 课程来了:斯坦福开年公开课主讲 NLP 和社交网络应用想快速学会数据可视化?这里有一门 4 小时的 Kaggle 微课程如何自学 MIT 的应用数学课程?这里有个参照给你
温故而知新
教程、课程看完一遍很容易忘记,这时候就需要笔记来帮忙了。在过去的一年中,我们发现了以下几份优秀的笔记项目,可以作为学习的辅助材料。
80 页笔记看遍机器学习基本概念、算法、模型,帮新手少走弯路百页课程笔记,统计物理视角下的深度学习周志华西瓜书详细公式推导,Datawhale 开源 pumpkin-book 项目一日千星的「机器学习系统设计指南」,这个英伟达小姐姐的项目火了
语言
去年 11 月,地产大佬潘石屹突然宣布开始学 Python,众读者纷纷惊呼:居然不是广告?从这串长长的列表来看,你大概能够体会到 Python 有多火了,毕竟它也是最有益于保持头发浓密的语言之一。在这部分,我们列举了 Python 的官方文档、使用技巧、实用工具包等有用信息(谁帮忙 @ 一下潘总?)。
Python 用不好?看官方中文文档啦Python 从入门到精通:一个月就够了!微软出品,文科生也能学得懂的 Python 免费入门视频编程大神进阶之路:Python 技巧小贴士30 段极简 Python 代码:这些小技巧你都 Get 了么学 Python,从列表推导到 zip() 函数,这五种技巧应知应会迭代列表不要 For 循环,这是 Python 列表推导式最基本的概念7 个 Python 特殊技巧,助力你的数据分析工作之路Python 3.8 即将到来,这是你需要关注的几大新特性详解 Python 3.8 的海象算子:大幅提高程序执行效率Python 初学者常犯的 5 个错误,布尔型竟是整型的子类Python 的高级特征你知多少?来对比看看新手如何发布第一个 Python 项目开源包?这里有一份详细指南如何从 C++转 Python:改变你的思维方式用半励志的方式告诉你,怎么学习 Python 开发平均 3293 颗星的 34 个年度开源 Python 库这里有 8 个流行的 Python 可视化工具包,你喜欢哪个?一文读懂 Python 装饰器,这是一个会打扮的装饰器哪种 Python IDE 最适合你?这里有一份优缺点列表人生苦短,我用 PyCharmPython 新工具:用三行代码提取 PDF 表格数据想成为高效数据科学家?不会 Pandas 怎么行DeBug Python 代码全靠 print 函数?换用这个一天 2K+Star 的工具吧如何将 Numpy 加速 700 倍?用 CuPy 呀用 Python 登录主流网站,我们的数据爬取少不了它Windows 文件名非用反斜杠?Python 小技巧帮你解决这个麻烦如何在 Windows 上做 Python 开发?微软出了官方教程在 Win 上做 Python 开发?当然是用官方的 MS Terminal 和 VS Code 了40 行 Python 代码,实现卷积特征可视化Heartrate:如追综心跳般实时动态可视化监测 Python 程序运行四种高性能数据类型,Python collections 助你优化代码、简洁任务PySpark 源码解析,教你用 Python 调用高效 Scala 接口,搞定大规模数据分析
工具及技巧
古人说过,「工欲善其事,必先利其器」。工具的好坏及使用技巧与我们的学习效果息息相关。要列举 AI 学习中用到的重要工具,首先要从深度学习框架说起。
深度学习框架
2019 年,ML 框架之争中只剩两个实力玩家:PyTorch 和 TensorFlow。研究者大批涌向 PyTorch,而业界的首选仍然是 TensorFlow。因此,这部分着重筛选出这两个框架的相关教程。
TensorFlow 与 PyTorch 之争,哪个框架最适合深度学习PyTorch 称霸学界,TensorFlow 固守业界,ML 框架之争将走向何方?一行代码切换 TensorFlow 与 PyTorch,模型训练也能用俩框架Texar-PyTorch:在 PyTorch 中集成 TensorFlow 的最佳特性
1. TensorFlow
英文教程太难啃?这里有一份 TensorFlow2.0 中文教程(持续更新中)TensorFlow 2.0 中文开源书项目:日赞 700,登上 GitHub 热榜请快点粘贴复制,这是一份好用的 TensorFlow 代码集你真的会正确地调试 TensorFlow 代码吗?Tensorflow Lite 人体姿势跟踪功能上线:基于 PosNet 的实时人体姿态估计如何在 TensorFlow 2.0 中构建强化学习智能体TensorFlow 2.0 中的 tf.keras 和 Keras 有何区别?为什么以后一定要用 tf.keras?
2.PyTorch
万字综述,核心开发者全面解读 PyTorch 内部机制60 分钟入门 PyTorch,官方教程手把手教你训练第一个深度学习模型点赞收藏:PyTorch 常用代码段整理合集LeCun 力荐,PyTorch 官方权威教程书来了,意外的通俗易懂PyTorch 进阶之路(一):张量与梯度PyTorch 进阶之路(二):如何实现线性回归PyTorch 进阶之路(三):使用 logistic 回归实现图像分类PyTorch 进阶之路(四):在 GPU 上训练深度神经网络PyTorch 最佳实践,怎样才能写出一手风格优美的代码分布式入门,怎样用 PyTorch 实现多 GPU 分布式训练五天入门深度学习,这里有一份 PyTorch 实战课程三四行代码打造元学习核心,PyTorch 元学习库 L2L 现已开源超原版速度 110 倍,针对 PyTorch 的 CPU 到 GPU 张量迁移工具开源基于 PyTorch 的「Keras」:除了核心逻辑通通都封装基于 PyTorch 的 CV 模型框架,北大学生出品 TorchCV
其他工具
1. 神奇的编辑器
世界上最好的编辑器 Vim:1700 多页数学笔记是如何实时完成的最好用的文字与公式编辑器,这套数学笔记神器送给你免费数学神器 Mathpix 发布移动版,一起来写更快的公式公式免费转 LaTex 代码,截图、转换一气呵成,每月 1000 次全免费写下 LaTeX 代码就要看结果?这款编辑器让你「所见即所得」向 Excel 说再见,神级编辑器统一表格与 Python
2. 代码补全利器
DL 时代的代码补全利器,北大出品,效果远超语言模型你是一个成熟的 AI 了,应该自己学会补全 Python 代码了AI 加持,Kite 增加智能代码补全功能:减少一半操作,实时补全
3.Git
如何优雅地向别人介绍高端大气上档次的 Git你可能不太会用的 10 个 Git 命令走在前沿的弄潮儿,怎能不会 Git 的那些奇技淫巧根据 Git 推算程序员大佬作息:同样是熬夜,为什么他发量那么多?
4. 笔记本
是时候联盟 Jupyter 与 PyCharm 了,Jupytext 就是你需要的只有想不到,「99」种扩展 Jupyter 功能的好方法Jupyter Notebook 界面也可以如此炫酷?有人把 Notebook 玩出了新花样增强 Jupyter Notebook 的功能,这里有四个妙招Netflix 开源 Polynote:对标 Jupyter,一个笔记本运行多种语言
5. 其他
命令行忘性大?这个开源备忘工具一次解决你的所有烦恼50 种常用的 matplotlib 可视化,再也不用担心模型背着我乱跑了新模型学到头秃?gobbli 统一模型库帮你快速上手文本分类,内置 BERT、fastText 等集成图网络模型实现、基准测试,清华推出图表示学习工具包强化学习、联邦学习、图神经网络,飞桨全新工具组件详解更改形状和背景色、自定义风格、颜色流动…这款词云工具都能做到
技巧
这里还有一些小技巧,可以帮助你解决一些「令人头秃」的问题:
模型秒变 API 只需一行代码,支持 TensorFlow 等框架图像转换 3D 模型只需 5 行代码,英伟达推出 3D 深度学习工具 Kaolin如何让计算机工作环境更便捷?几行简单的命令即可GitHub 最热!码代码不得不知的所有定律法则数据科学家易犯的十大编码错误,你中招了吗?5 种高效利用 value-counts 函数的方法,一键提升数据挖掘姿势水平数据处理遇到麻烦不要慌,5 个优雅的 Numpy 函数助你走出困境内存不足、钱包不鼓怎么办?三种技巧助你摆脱内存使用困境26 秒单 GPU 训练 CIFAR10,Jeff Dean 也点赞的深度学习优化技巧还在为数据清洗抓狂?这里有一个简单实用的清洗代码集
GitHub 年度精选
作为全球最大的同性交友网站,GitHub 上几乎能找到你想要的一切。「我在 GitHub 上北大,他在 Pornhub 考研究生」这句话不是说说而已(忽略后半句):
这是一份专为程序员编写的英语学习指南Github 近 5 万赞的计算机专业课程,从小白到大牛的学习之路GitHub 上 Star 量最高的 5 个机器学习项目GitHub 不为人知的小秘密…让你的工作更高效
同时,GitHub 上还有很多神奇项目,让我们流连忘返,唱、跳、Rap、篮球,应有尽有:
我这个人不懂什么 CPU,于是我用代码模拟出了一个框一下就能从视频隐身,这是现实版的「隐身衣」?在浏览器训练个剪刀石头布探测器,你的小电脑也可以漫画汉化组福音:深度学习工具一键抠图你跳宅舞的样子很专业:不,这都是 AI 合成的结果用自己的风格教 AI 说话,语言生成模型可以这样学破解神经网络、攻击 GPU,AI 黑客教程来了,已登 GitHub 热榜老婆问「我今天穿什么合适」?让 AI 来帮你想答案吧Github 中文项目排行榜,你永远想不到开发者都用它干了什么只需单击三次,让中文 GPT-2 为你生成定制故事决战春运之巅,我们用这个项目抢到了火车票真工程师:20 块钱做了张「名片」,可以跑 Linux 和 Python3D 模型学会了「唱、跳、Rap、篮球」,GitHub 网友也沉迷「鸡你太美」使用 Python 和 Mask R-CNN 自动寻找停车位,这是什么神操作?用霍夫变换&SCNN 码一个车道追踪器惊为天人,NumPy 手写全部主流机器学习模型,代码超 3 万行让大卫雕塑跳舞、蒙娜丽莎说话,英伟达视频合成有如此多「骚操作」大小仅 1MB,超轻量级通用人脸检测模型登上 GitHub 趋势榜让二次元妹子动起来,用一张图生成动态虚拟主播
一个靠谱的数据集会让模型训练工作事半功倍,这一年里,我们分享过这些优质 GitHub 数据集:
情人节:一本正经地为单身狗推荐这个 158 万张图像的鉴黄数据集DeepFashion2 数据集:87.3 万对买家秀-卖家秀图像+海量标注神经网络也能解数学题,DeepMind 发布千万数学题海数据集280 万分割掩码,谷歌 Open Images 数据集再更新找不到合适的数据?这里有 281 个计算机视觉数据集任你选打击换脸技术滥用,谷歌发布大型数据集对抗 deepfake图神经网络的 ImageNet?斯坦福大学等开源百万量级 OGB 基准测试数据集20 个安全可靠的免费数据源,各领域数据任你挑开放的一天,吴恩达、谷歌、Facebook 纷纷开源数据集
经验分享,「深度好文」
最后,我们总结了一系列经验分享,涵盖读博、面试、职场经验等多个方面。低头赶路的时候,也要抬头看看远方。
读博那点事儿
博士生的 deadline 血泪史,这是一份来自 Nature 的避坑指南守住发际线:南大蒋炎岩谈读博那些事儿成为数据科学家,到底需要怎样的学历?读博一时爽,不听这些建议会一直爽……毕业论文无从下手?一文帮你理清头绪Science「劝退文」:读博压力山大,是时候退学了读博熬不住了,拿个硕士学位投身业界如何?看过来人怎么说
备战春招
准备好春招了么?上科大小哥的面试题与复习资料祝你寒假无忧春招已近,这份 GitHub 万星的 ML 算法面试大全请收下春招苦短,我用百道 Python 面试题备战技术面试中,当面试官「套路」你时,怎么「反套路」回去?如何把薪资谈高一倍?请看大厂 offer 拿到手软的 ML 大神自述2019 高考编程卷:谷歌面试编程题及解题技巧(MIT 版)准备程序员面试?你需要了解这 14 种编程面试模式备战秋招:国内大厂技术面试指南,GitHub 六千星百道 Python 面试题实现,搞定 Python 编程就靠它
职业生涯回顾与行业展望
陈天奇:深度学习编译技术的现状和未来数据科学岗位将在未来 5 年内重新洗牌,你准备好转型了吗?微软沈向洋自述:在实现职业目标的道路上,我得到了七个教训在 12 家科技创业公司工作后,这是我的 8 条经验这是一篇关于如何成为一名 AI 算法工程师的长文谷歌高级研究员 Nature 发文:避开机器学习三大「坑」香侬科技李纪为:初入 NLP 领域的一些小建议我从资深软件工程师学到的避坑大法五个给机器学习和数据科学入门者的学习建议独立研究中顶会 Spotlight,从读博就业无门到一举成名,这位小哥的经验分享火了
码农的自我修养
高级码农反思录:我当菜鸟时不懂的七件事谷歌软件工程师分享编程经验:有效的流程很关键你已经是一个成熟的码农了,这些思维习惯你要有经验之谈:代码该怎样写才能干净整洁(36 页)如何把自己包装成程序员大佬?这里有一份「装 X 指南」16 岁成为全栈开发者:我从开发游戏到写加密货币投资机器人的心路历程脱发、秃头防不胜防?这里有一份给码农的减压指南
参赛、参会经验贴
年轻人的第一块金牌:我是如何成为 Kaggle 全网第一的半年 5 战 5 金:Kaggle 史上最快 GrandMaster 是如何炼成的7 年斩获 15 金,最高全球第 8:Kaggle Grandmaster 分享竞赛经验想在 Kaggle 中脱颖而出?先听听这位 GrandMaster 怎么说Kaggle 首战斩获第三,看深度学习菜鸟团队如何一鸣惊人想快速学会数据可视化?这里有一门 4 小时的 Kaggle 微课程仅需 10 分钟:开启你的机器学习之路除了 Kaggle,这里还有一些高质量的数据科学竞赛平台如何在 9000 多人的 NeurIPS 会场优雅地展示 Poster数千人顶会的干货,ICML、CVPR2019 演讲视频资源在此