如何用免费GPU学习AI算法?这篇算法资源大集锦别错过

上一次写了篇 薅 GPU 百度 AI Studio 计算资源 的文章,收到很多 AI 算法初学者私信,问我能不能补充一些 AI Studio 的学习资源。有求必应向来是我的风格,于是我加入了 AI Studio 和飞桨(PaddlePaddle)开发者 QQ 群,为大家收集了一些资源,涵盖了从入门到高阶的各种常用算法和代码。为了阅读连贯性,本文先简单介绍一下 AI Studio,然后讲解下免费 GPU 资源政策的变化与怎么拿,最后按照从入门到高阶,介绍一些能帮助你尽快掌握各种算法的资源。

1

AI Studio是什么

AI Studio 是百度提供的一个针对 AI 学习者的在线一体化开发实训平台。平台集合了 AI 教程,深度学习样例工程,各领域的经典数据集,云端的运算及存储资源,以及比赛平台和社区。你可以把 AI Studio 看成国产版的 Kaggle。和 Kaggle 类似,AI Studio 也提供了 GPU 支持,但百度 AI Studio 在 GPU 上有一个很明显的优势。 

Kaggle 最近把 Tesla K80 的 GPU 升级到了 P100,确实比以前快不少,但 AI Studio 采用的是 Tesla V100 的 GPU,更胜一筹。下表对比了两款 GPU 性能:

AI Studio 提供了基于 ipython 和 Jupyter Notebook 的在线方案, 几乎是当前所有机器学习/深度学习的主流方案。AI Studio 支持的深度学习框架是飞桨。比起偏向于研究的 TensorFlow,飞桨偏向于应用。通常 TensorFlow 的几行代码,飞桨一行就解决了。个人感觉飞桨对于初学者来说还是很友好的。

2

如何获得免费算力卡

我之前写过一篇文章关于 如何薅百度 AI Studio 的 GPU 羊毛 的文章, 详细的大家可以参考一下。不过距离上次薅羊毛到现在也三个月过去了,百度的免费 GPU 算力政策发生了变动,而且是往更好的变动。之前是每日运行项目送 12 个小时算力,现在是每天送 24 小时!我的天,这意味着可以 7*24 的不间断的跑,用之不竭啊!我跑了一下项目,算力卡马上来了。 

目前在开发者 QQ 群里听到的消息是至少持续一个月的赠送,不知道下个月还有没,所以大家赶紧薅起来,好好利用这免费的高性能 GPU 资源来「炼丹」。 

获取算力方法使用资格很简单。点进 https://aistudio.baidu.com/aistudio/questionnaire?activityid=525 ,按照内容提示填写好信息,审核后管理员会给你发放一批算力卡。有了这批算力卡你就可以开始在 GPU 你的项目,而且运行项目又送算力卡,就像鸡生蛋蛋生鸡一样,算力取之不竭。

3

AI Studio精选项目大合集

点击 “阅读原文” 或打开以下链接查看所有项目: 

https://aistudio.baidu.com/aistudio/messagedetail/42 

零基础新手如何利用好AI studio 

熟悉 Python 的读者可以跳过这节。纯新手可能还不知道怎么用 AI Studio。其实很简单。下面提供了很多教程,都是 jupyter notebook 形式的。你点开链接,会看到一个 fork 按钮,然后在弹出的框里,输入项目名称和项目名字。 

完成后,会弹出对话框问你是否现在运行。

点击”运行项目”,就会为你打开一个运行环境。 

进去之后,点击”运行”按钮,弹出选择环境。

然后选择运行环境。没算力卡?没关系。点击上面的点击申请,按照提示一步步点进去,提交成功后一段时间就有免费的算力拿了。

以下的所有链接都是一个个 Jupyter Notebook,想要修改代码和运行的话,就按照上面说的步骤 fork 了然后运行。

深度学习新手入门项目合集:

https://aistudio.baidu.com/aistudio/projectdetail/128773

即使你是 Python 新手也没关系,AI Studio 社区提供了新手入门教程,不需要你在本地搭建环境,直接在 AI Studio 提供的环境跑例程,增删改代码,测试自己的想法。Python 新手项目:《 Python 零基础速成课》。

学完了上面的新手 Python 课程,在开始深度学习前想实战一下 Python 技巧?这里有个 Python 爬虫项目,教你从豆瓣爬电影数据,很适合用来巩固 Python 技巧,而且项目还教你用数据帧(dataframe)格式来显示爬来的数据,为后续学习机器学习项目打好基础,请参照:《 Python 入门-豆瓣电影爬取》。

做完上述的分类器是否找到了一点入门的感觉?做点实用的吧。买房是每个人的人生大事?机器学习是否能让你预测房价未来走势呢?下面这个示例项目将采用线性回归模型,带着你探索这个问题,可查看:《波士顿房价预测》。

通过以上问题,是否对机器学习更有感觉了? 是否觉得以上模型太简单,无法跟上你快速进步的步伐?好嘞,现在开始学习深度学习模型。首先从计算机视觉入门。

计算机视觉入门最基础的一个数据集是 MNIST。MNIST 共包含了 70000 个手写数字图像,数字范围从 0-9。我们现在就要开发一个模型,让模型能分辨手写的  0-9,详情请查看《深度学习入门 CV-手写数字识别》。

是否太容易就到达 90% 多的准确率?没事,这里有不一样的 MNIST 数据,叫 fashion-mnist,但这次不是手写数字,而是十类时装(T-Shirt、连衣裙、鞋子、外套等),你还能保持同样高准确率吗?详情请查看《 Fashion-MNIST 数据集》。

除了计算机视觉,NLP(自然语言处理)也是深度学习里很热门的领域。想入门 NLP,何不先试试文本分类呢?详情请查看《深度学习入门  NLP-文本分类》。

如果你是一个新手,经过上述项目的训练,你应该算是稍微入门了。接下来就是要进阶了。

1. 进阶学习者如何利用好AI Studio学习深度学习算法

深度学习进阶总是痛苦的,主要的原因是没有足够示例,有示例也不够详细,有详细的示例但又不知道从哪个看起。为了让读者快速入门,我按照从容易到复杂的顺序,总结了一些示例,根据示例所属的领域,难易程度,我分了两个主要部分:

  • 计算机视觉(CV)

  • 自然语言处理(NLP)

计算机视觉(CV)

项目地址:

https://aistudio.baidu.com/aistudio/projectdetail/128832

首先我们可以学习与实践下图像分类的算法。

图像分类是根据图像的信息将不同类别图像区分开来, 是计算机视觉中重要的基本问题。图像分类按粒度粗细也分两种,粗细度的是识别类型,比如这是猫还是狗;细粒度是给你一张照片,让你用模型识别这是缅因猫,还是挪威森林猫。

现在我们先做粗粒度的猫狗识别分类器。我们的任务是训练一个分类器,去分辨哪些是猫,哪些是狗。详情请查看《 卷积神经网络实践-猫狗分类》。

如果你掌握了上面的猫狗分类器,那恭喜你,对深度学习图像分类模型又有了更进一步的了解。接下来我们要做细粒度的东西,是什么呢?就是现在很火的人脸识别。下面介绍个简单的人脸识别模型。这个模型还能识别出章子怡的照片呢!想知道怎么弄的吗?点开链接探究吧。详情请查看《 卷积神经网络-人脸识别初探》。

你也许学习完上面两个示例,会提出疑问,猫狗识别是判断一张照片里面的是猫还是狗,但一张照片里如果有 10 只猫,5 只狗该怎么办?模型真的知道那个物体是目标吗?有什么办法让模型知道目标呢?那就要先使用目标检测,把猫猫狗狗的位置圈定出来,然后再逐一处理。顺便一提,听起来高大上的无人驾驶技术,目标检测也是其核心技术之一哦。接下来介绍几个目标检测的模型。

主流的目标检测算法主要分为两个类型:

1)two-stage 方法,其主要思路是先通过启发式方法(selective search)或者 CNN 网络产生一系列稀疏的候选框,再对这些候选框进行分类与回归。two-stage 方法的优势是准确度高;代表算法是 R-CNN 系列算法。想更深入研究是怎么回事?AI Studio 社区提供了详尽的 Mask RCNN 教程:

https://aistudio.baidu.com/aistudio/projectdetail/122273

除了 Mask RCNN,另一个齐名的是 Faster-RCNN:

https://aistudio.baidu.com/aistudio/projectdetail/122275

2)one-stage 方法,如 YOLO 和 SSD,其主要思路是均匀地在图片的不同位置进行密集抽样,抽样时可以采用不同尺度和长宽比,然后利用 CNN 提取特征后直接进行分类与回归,整个过程只需要一步,所以其优势是速度快(所以在移动设备等低性能平台上常用),但是均匀的密集采样的一个重要缺点是训练比较困难,这主要是因为正样本与负样本(背景)极其不均衡,导致模型准确度稍低。

我在 AI Studio 社区找到了 YOLO 和 SSD 的教程。

YOLO 教程使用的数据集是自定义的螺丝螺母数据集,以下教程涵盖了 YOLO v3 和 YOLO v3-tiny,不仅让你能学好 YOLO,而且还提供了可以部署在低能耗设备上的模型。

接下来要介绍的是 SSD。下面这个教程使用的是基于预训练好的 mobile-net 训练的 SSD,使用的数据集是 pascal-voc。

关于计算机视觉的进阶内容先介绍到这里,接下来介绍进阶的 NLP 内容。还想学更高阶的 CV 模型算法请移步到下一章。

自然语言处理 (NLP)

项目地址:

https://aistudio.baidu.com/aistudio/projectdetail/128857

我们又回到了 NLP 技术领域了。   假设我们已经学过前面爬豆瓣的那课, 我们获取了某部著名电影的评论, 我们怎么知道它的口碑究竟如何呢? 通过这篇文章, 我们可以透过语言直接看到人类的情绪。 不过为了方便起见,我们下面这个例子并不直接用之前采集的数据集,而是用的是已经处理好的 IMDB 电影数据集。详情请查看《 循环神经网络 NLP-情感分类》。

其实情感分类是一个很重要的技术,我之前做过对股票市场的情感分析算法,可以找出市场情感对股市走向的影响。不过如果你觉得情感分类还是太简单的话,那恭喜你,你的进步是飞快的。那你接下来可以试试更难的,就是机器翻译。飞桨框架收集了一个叫 WMT-14 的数据集,提供了 193319 条训练数据和 6003 条测试数据,应该够你探索的了。详情请查看《 深度学习进阶 NLP-机器翻译》。

2. 高阶学习者如何利用好AI studio

和前面一样,还是分计算机视觉和NLP(自然语言处理)两个主要方向来介绍项目。

计算机视觉(CV)

分类识别还不够?来个人体姿态估计和追踪的项目来轰炸一下你的大脑吧。下面这个项目是尝试复现论文 Simple Baselines for Human Pose Estimation and Tracking  里的结构。项目名:《人体姿态估计与追踪之关键点检测》。

接下来介绍一个激动人心的技术:GAN。生成对抗网络(Generative Adversarial Network,简称 GAN)是一种非监督学习的方式,通过让两个神经网络相互博弈的方法进行学习。

GAN 由一个生成网络和一个判别网络组成,生成网络从潜在的空间(latent space)中随机采样作为输入,其输出结果需要尽量模仿训练集中的真实样本。判别网络的输入为真实样本或生成网络的输出,其目的是将生成网络的输出从真实样本中尽可能的分辨出来。而生成网络则尽可能地欺骗判别网络,两个网络相互对抗,不断调整参数。生成对抗网络常用于生成以假乱真的图片。此外,该方法还被用于生成影片,三维物体模型等。我们将利用 GAN,做个图像风格迁移的项目:《风格迁移之图像翻译  Pix2Pix》。

自然语言处理(NLP)

现在对话聊天机器人是很火的方向。但是要使得聊天机器人表现得懂用户,那就需要识别对话情绪。专注于识别智能对话场景中用户的情绪。在这方面百度发布了自己的模型 ERNIE。通过建模海量数据中的词、实体及实体关系,学习真实世界的语义知识。相较于 BERT 学习原始语言信号,ERNIE 直接对先验语义知识单元进行建模,增强了模型语义表示能力。下面这个项目将带你学习 ERNIE: 《ERNIE 对话情绪识别》。

之前我们讲过语言情感分类和语言翻译,你会觉得这不是很简单吗,对机器来说小儿科。但如果让机器来做阅读理解呢,或者让机器去回答问题呢,有想过吗?有个模型的提出让以上这些问题都有了希望,这个模型就是 BERT(Bidirectional Encoder Representations from Transformers)。想知道 BERT 是什么,怎么工作的?下面这个项目能帮到你:《语义表示模型  BERT》。

机器阅读理解(MRC)是自然语言处理(NLP)中的关键任务之一,需要机器对语言有深刻的理解才能找到正确的答案。机器阅读理解领域有个著名的模型叫 BiDAF 模型 Bi-Directional Attention Flow for Machine Comprehension 。下面这个项目将会帮助你了解更多:《机器阅读理解之  BiDAF 模型》。

3. 其他AI Studio上的学习项目

由于 CV 和 NLP 是热门研究领域,以上项目都只提到 CV 和 NLP。但深度学习的研究范围和应用范围很广,只是限于篇幅原因不能一一详尽。为了照顾到更多领域的读者,以下还收集了一些推荐算法的 AI Studio 的项目,这里仅列举一下,不再一一介绍。有兴趣的读者可以研究下。

  • 基于飞桨PaddlePaddle的SR-GNN推荐算法

    https://aistudio.baidu.com/aistudio/projectdetail/124382

  • 个性化推荐之多视角Simnet模型

    https://aistudio.baidu.com/aistudio/projectdetail/122294

  • 飞桨PaddlePaddle分布式推荐算法实践

    https://aistudio.baidu.com/aistudio/projectdetail/124378

  • 用飞桨PaddlePaddle实现个性化推荐

    https://aistudio.baidu.com/aistudio/projectdetail/127567

  • 标签推荐算法之TagSpace

    https://aistudio.baidu.com/aistudio/projectdetail/122298

  • 推荐算法gru4rec之飞桨PaddlePaddle实现

    https://aistudio.baidu.com/aistudio/projectdetail/122296

意犹未尽,还需要找更多的 AI Studio 深度学习项目? 或者遇到问题不知道怎么解决?可以去下面两个地方寻找帮助。

项目合集页,在这里有很多官方和其他机器学习爱好者发布的项目:

https://aistudio.baidu.com/aistudio/projectoverview/public/1

论坛社区,如果你出现难解的问题,不妨上来看看有没人遇到过同样的情况:

https://ai.baidu.com/forum/topic/list/192

4

小结

本文介绍了一个免费赠送 GPU 算力的深度学习平台 AI Studio。首先介绍了 AI Studio 是什么,在性能上有什么优势,同时也介绍了如何获得免费 GPU 算力。最后用大量的篇幅介绍了如何利用好 AI Studio 上的学习资源,实现深度学习从入门到高阶。 

现在每天赠送 24 小时算力,简直是天上掉下的羊毛,不薅白不薅。羊毛不是天天有,该出手时就出手! 

点击 “阅读原文” 或打开以下链接查看所有项目:

https://aistudio.baidu.com/aistudio/messagedetail/42

:mag:

现在,在 「知乎」 也能找到我们了

进入知乎首页搜索 「PaperWeekly」

点击 「关注」 订阅我们的专栏吧

关于PaperWeekly

PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击 「交流群」 ,小助手将把你带入 PaperWeekly 的交流群里。

▽ 点击 |  阅读原文   | 访问AI Studio

我来评几句
登录后评论

已发表评论数()

相关站点

+订阅
热门文章