整理 | Just
出品 | 人工智能头条(公众号ID:AI_Thinker)
你点进来就说明对这深度学习方面的资源有热切需求或者至少感兴趣,人工智能头条为了尽可能满足各位读者在学习资源上的不同需求,会不定期搜集整理相关资源献给你们。
这次的资源来自 fast.ai 推出的免费的入门级深度学习课程,该课程在你有一年编程经验或者至少学过高中数学的前提下就能让你学会建立最先进的模型,门槛不能再低了。
本次的系列课程共有两部分组成:《Practical Deep Learning For Coders》和《Cutting Edge Deep Learning for Coders》,全集如下:
上篇
Practical Deep Learning For Coders
先说这一部分要达成的课程目标,它会教你从头开始学习如何适配适合深度学习的在线 GPU 服务器,并最终创建出最先进的,高度实用的计算机视觉模型、自然语言处理和推荐系统。
少废话,老师开课了...链接扔你:http://course.fast.ai/
▌第 1 讲:识别猫和狗
在本课程中,你学到如何设置深度学习服务器,并训练你的第一个图像分类模型(卷积神经网络),该模型将学习把狗从猫群中几乎完美地区分开来。这并不是从理解数学运作的细节入手,而是从学习如何让计算机完成任务的细节着手,使用“微调(fine-tuning)”或许是任何深度学习实践者最重要的技能。
注意,开课首日,老师善意提醒!
你需要使用 Nvidia GPU 才能完成此课程,并且此视频将演示如何在一个名为 Paperspace 的系统上设置 GPU 服务器。请注意,自该视频创建以来,设置步骤已经简化。你不再需要从头开始设置服务器。相反,当提示输入模板时,请不要选择视频中显示的“Ubuntu”,而应选择“公共模板”,然后选择“fast.ai”。
▌第 2 讲:卷积神经网络
你将学习更多关于图像分类的知识,其中涵盖了几个核心深度学习概念:学习速度是多少,如何选择一个好的学习速度,如何随着时间改变学习速度,随着数据增加(包括测试时间增加)如何改进模型。我们还分享了实用技巧(例如小图像的训练),训练顶尖图像分类器的 8 步程序,以及有关硬件设置。
▌第 3 讲:改进图像分类器
我们从理论、视频可视化和 Excel 演示等几个不同的角度解释了卷积网络。你将看到如何对结构化数据或表格数据用深度学习的方法进行处理。
我们还讲了几个关于深度学习真正关键的数学知识:指数和对数。你将学习如何将数据下载到深度学习服务器,如何提交 Kaggle 比赛,以及 PyTorch 和 Keras / TensorFlow 之间的主要区别。
▌第 4 讲:结构化、时间序列和语言模型
我们从第三课的表格或结构化的时间序列数据中完成了我们的工作,并了解如何使用 dropout 正则化的方式来避免过拟合。然后我们引入了循环神经网络的自然语言处理方式,并开始在语言模型上进行处理。
▌第 5 讲:协同过滤
你将通过做出电影推荐系统的示例了解协同过滤。我们还将深入挖掘深度学习的一些较低层次的细节,比如Momentum 和 Adam 优化器是如何运作的,以及使用权重衰减的正则化技术。你将学习如何去思考 chain rule, jacobian 和 hessian 矩阵等数学概念。
▌第 6 讲:解释嵌入
这一课我们首先学习如何解释我们上面创建的协同过滤嵌入,并用这些知识来回答这个问题:“所有时间段中最糟糕的电影是什么?”
然后,我们就要介绍整个课程中最重要的话题了:如何使用深度学习对“结构化数据”(如数据库表格和电子表格)以及时间序列进行建模。事实证明,深度学习不仅是这项任务最好的建模方法,它也可能是最简单的开发方法。
▌第 7 讲:从头学习 RESNETS
上一课完成了循环神经网络的教学,并介绍了 GRU 和 LSTM 单元允许使用 RNN 进行长序列的训练。然后,我们回到了计算机视觉,从头开始执行强大的 ResNet 架构和批处理规范化层。
以上就是第一部分的全部内容,感觉如何?如果还是似懂非懂,那就再把视频从头到尾回顾一遍,一遍不够?那就来他个五六七八遍...
加油,看好你哟
什么?你看一遍就轻松过关毫无压力?别急,中场休息一下球(学)赛(习)马上进入下半程。
下篇
Cutting Edge Deep Learning for Coders
深度学习课程的第二部分说来就来,fast.ai 旋即推出的是 Cutting Edge Deep Learning for Coders。同样,先扔你课程链接:http://course.fast.ai/part2.html
本课程有很多新材料,包括 NLP 分类中的最新技术成果(比已知方法的性能提升了 20%),并演示了如何在 Imagenet 和 CIFAR10 上拷贝最近破记录的性能结果。使用的机器学习库主要有 PyTorch 和 fastai。
这一轮课程涵盖了许多主题,包括使用 SSD 和 YOLOv3 进行多对象检测;如何阅读学术论文;更复杂的数据增强(对于坐标变量,像素分类等);NLP 迁移学习;使用新的 fastai.text 库处理大量文本语料库;运行和解释 ablation 研究;最先进的 NLP 分类;多模式学习;多任务学习;神经翻译;定制化资源架构;GAN,WGAN 和 CycleGAN;数据伦理;超分辨率;用 u-net 进行图像分割...好多。
下面有请老师开讲...哦,不对,你还不赶紧学?!
▌第 8 讲:对象检测
这一课主要介绍了 cutting edge research(前沿研究)。我们讨论了如何阅读论文,以及你所要建立属于自己的深度学习框来运行实验。这一部分不同的是,我们将深入挖掘 fastai 和 Pytorch 库的源代码。在本课中,我们将展示如何快速对代码进行理解。我们将看到如何使用 python 的调试器来加深对正在发生事情的理解,并修复 bug。
本课的主题是对象检测,这意味着要让模型对图像中的每个关键对象周围绘制一个框(box),并正确标记每个对象。
▌第 9 讲:SSD
在本课中,我们将学习多对象检测。事实证明,这比单个对象检测更具挑战性。我们的重点是single shot multibox detector (SSD)和相关的 YOLOv3 探测器。这些是通过使用损失函数来处理多对象检测的方法,该损失函数可以结合多个对象的损失,进行定位和分类。最后,我们会讨论一下 focal loss,以了解该领域的最新成果。
▌第 10 讲:NLP 分类和迁移学习
这一课我们主要介绍 NLP。首先介绍新的 fastai.text 库,它替代了 torchtext,在许多情况下要更快更灵活。这一课将向你展示如何使用 NLP 的迁移学习获得更准确的结果。
▌第 11 讲:神经翻译
这一课我们将学习把法语翻译成英语。为此,我们将学习如何将注意力机制添加到 LSTM,以便构建 seq2seq 模型。但在这之前,我们会对 RNN 进行简单回顾。
▌第 12 讲:DarkNet
我们从 YOLOv3 中使用的 DarkNet 体系结构开始本课程的学习,并在使用 resnet-ish 体系结构时,可以用它来更好地理解你会做出的所有选择。
然后我们将学习 GAN。就其本质而言,这是一种不同类型的损失函数。我们也会看看 Wasserstein GAN 变体,因为它更容易训练,并且对一系列超参数而言更有弹性。
▌第 13 讲:图像增强
我们将介绍 CycleGAN,它是 GAN 中的一个突破性想法,即使我们没有直接(配对)的训练数据,也可以生成图像。我们会用它把马变成斑马,反之亦然;这可能不是你现在需要的应用,但基本想法很可能转移到各种非常有价值的应用中。
不过,生成模型(以及我们讨论过的许多其他技术)可能会像造福社会一样也存在不正当的应用,所以我们会花时间谈论一下数据道德。
▌第 14 讲:超分辨率
最后一课,我们会深入探讨超分辨率(super resolution),这是一项了不起的技术,它使我们能够基于卷积神经网络来恢复图像的高分辨率细节。
我们会结合图像分割模型,特别是使用 Unet 体系结构。图像分割模型允许我们精确地对图像的每个部分进行分类,甚至达到像素级级别。
课程介绍到此为止,重要的资源要多一次给出课程链接,还不收藏?
第一部分:
http://course.fast.ai/
第二部分:
http://course.fast.ai/part2.html
下次资源见:)
扫描二维码,关注「人工智能头条」
回复“读者群”,添加小助手微信,邀你入群
点击 | 阅读原文 | 查看更多干货内容