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

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

飞桨开发者投稿

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

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的几行代码,飞桨一行就解决了。个人感觉飞桨对于初学者来说还是很友好的。

如何获得免费算力卡

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

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

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

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

小结

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

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

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

本文分享自微信公众号 - PaddlePaddle(PaddleOpenSource),作者:黄哲

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-10-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 2019百度之星开发者大赛参赛“全攻略”发布

    2019百度之星开发者大赛自7月1日启动以来,已收到近1800支队伍报名参赛。本次大赛以轻量级目标检测为赛题,选手需找出所给图像中所有感兴趣的目标,确定它们的位...

    用户1386409
  • 一周AI资讯|如果深度学习成为“侦探”,会发生什么?

    Facebook在5月24日开始实施新政策,审查所有新推出的内容,特别是在新闻Feed,Instagram Feed和Facebook Stories中“政治内...

    用户1386409
  • 曾经跨过山和大海的百度AI技术汇,跨进北工大!

    开场前半分钟,北京工业大学的三名信息技术专业大二学生气吁吁地赶到了科技楼的会议厅。环顾四周,竟座无虚席。他们干脆拿出笔记本站在会议厅后排,和现场近百名同学一起投...

    用户1386409
  • GitHub官宣:面向所有人,全部核心功能完全免费开放

    4月14日,GitHub宣布,将为所有的GitHub用户提供不受协作者限制的私有存储库,并且GitHub的核心功能现在对所有人免费开放。

    大数据文摘
  • 五个亲测可用的Python论坛类网站开源框架

    1、LBForum LBForum是用django开发的论坛系统,LBForum主要注重部署的方便性和易用性,功能方面目前还比较简单。 LBForum的开发尽量...

    Python中文社区
  • GitHub 怪奇项目物语

    GitHub 是广大开发者们的圣地与乐园,GitHub 上除了有各大科技公司的顶级开源项目,也活跃着众多具有业界影响力的开源先锋们,而在去年 11 月,GitH...

    前端劝退师
  • AI假新闻满天飞,打假神器GROVER帮你看清一切

    最近AI换脸术与AI假新闻叠加在一起,造成了不少乌龙事件,比如最近美国的议长南希·佩洛西就的一段醉酒视频就在Facebook上流传甚广,视频中的议长明显是状态晕...

    AI科技大本营
  • 我将为什么而坚持写作

    很多小伙伴会有写博客的冲动,尤其是写技术博客,或者说对文学感兴趣的去写小说。然而真的去坚持并且有结果的,很少。

    RobinsonZhang
  • 关于javascript中的this 一段小实例深有体会啊

    大当家
  • 在 CentOS 8 上使用 Let’s Encrypt 保护 Apache

    Let’s Encrypt 是一个免费的,自动的,开放证书供应商。它由提供免费 SSL 证书的 Internet Security Research Group...

    雪梦科技

扫码关注云+社区

领取腾讯云代金券