首页 > 金沙银河娱乐 > > 正文

我是如何在1天内构建一个深度学习模型并进击Kaggl

日期:2017-06-28 09:05:40编辑作者:金沙银河官网

  

------ 【导读】 ------

我读过很多关于机器学习的书,也参加过不少这方面的课程,但我认为Fast.ai是迄今为止最实用的深度学习入门课程。

Fast.ai是Jeremy Howard为结果导向型人群开设的深度学习在线课程。

我读过很多关于机器学习的书,也参加过不少这方面的课程,但我认为Fast.ai是迄今为止最实用的深度学习入门课程。在本文中,我将与大家分享我在学完前两课后的一些经验。

从数学开始学习人工智能是个错误的选择

22年前,我在斯坦福大学学习Bernie Widrow的神经网络课程,这位数字滤波器之父谆谆善诱,向我们讲解随机梯度下降的原理。

学了一半的理论课程,我还是不能完成神经网络的实现,只学会了如何用MatLab构建神经网络。后来,当我需要编写代码来训练我的网络权重时,我才终于理解了什么是随机梯度下降。

不过,这种窘境到现在也并未发生多大变化。大多数机器学习实战工程师都有着学术背景;当专业程序员问他们 “我该如何开始学习人工智能?”,多数工程师会向他们推荐一些偏重数学的学习资料,比如《深度学习》这本书(这种情况时有发生)。

对研究人员而言,Ian Goodfellow的这本书是一本很好的参考书,但对我们中的大多数人而言它并不是一本好的入门书籍。这本书关于梯度下降的章节使我回想起读研究生时遇到的窘境:

上图为Goodfellow等人所著的《深度学习》中关于梯度下降的一页。这本书有很好的研究参考价值,但是对专业程序员而言,并不是一本实用的入门书。我在圣诞节期间读完了本书三分之二的内容,但我还是不会构建神经网络。

对于研究人员或者人工智能前沿的推进而言,理解理论是至关重要的一步。但是,对于大多数人工智能商业应用而言,数学是个很大的干扰。

为什么?因为企业面临着一些更为严峻的挑战,例如选择正确的问题,组织数据,部署解决方案等。面对市场风险和执行风险,专业程序员不得不使用成熟的技术来开发应用——因此,懂得如何实现某一解决方案要比理解该方案的工作原理更为重要。

  • 光读不练假把式,必须实践。

学习新技能的唯一方法就是:使用该技能练习构建。深度学习也一样, JeremyHoward的Fast.ai课程注重实践,是学习人工智能最快的方法。

▌Fast.ai让你通过实践学习深度学习

课程的联合创始人Jeremy Howard和Rachel Thomas实现了他们的承诺——“让所有人都能运用机器学习的力量”。本文不对课程进行描述,我会推荐你阅读学习者对该课程的评论并分享我早期的经验。

  • 我为什么决定参加这个课程

在参加该课程之前,我已具备良好的深度学习理论基础,并掌握了该技术各种应用的实践知识。我参加这个课程是为了获得更多实践经验。

构建简单的解决方案能帮我更加有效地筹划项目、雇用项目人员和进行工程学权衡——这是任何领导者都须具备的技能。

但是最关键的是,我想通过构建简单的深度学习解决方案来实现理论和实践的相结合。

▌如何建立一个算法来检测入侵物种

  • 在一天内能达到什么样的水平?

学完前两课后,我决定参加Kaggle比赛。

我的目标是:

  • 在一天结束前进入排名的前50%。

  • 自己动手编写每行代码,不用剪切和粘贴。

  • 了解所有引用的库和API。

我选择了“入侵物种监测”竞赛(Invasive Species Monitoring playground competition)。这是一个比较简单的分类问题,对初学者而言算是一个很好的起点。

还有,它听起来就很有趣。

上图为 “入侵物种监测Kaggle竞赛”中入侵性绣球花(绣球花:一种植物的分类)。

比赛的内容是开发出识别森林和叶子图像中是否包含入侵性性绣球花的算法。

早上七点,我沏了一壶咖啡后开始工作,在亚马逊AWS上对GPU进行了加速。晚上9点,我的眼睛开始酸痛,我的大脑跟炸了一样。

我决定将我的结果提交给Kaggle……

▌我的代码

这是我在github上的完整笔记,里面记录了我工作计划的7个步骤

不用对我的代码感到惊讶——我使用的方法与课堂上学习的方法类似。任何一个具有1年工作经验(或以上)的程序员应该都能写出这样的代码。

我90%的时间都用于学习库、组织数据和评估结果——都是一些与深度学习无关的简单流程。

▌验证结果

我使用90%的图像训练我的算法,并用剩余的10%来验证结果。

  • 预测精度

我的预测精度达到了91%。这是混淆矩阵:

混淆矩阵显示了我的算法检测验证集的有效性。最需要改进的的地方是漏报问题——在12个实例中算法错误地将入侵物种识别为非入侵物种。您可以在下方查看该结果。

91%是什么概念?就在3年前,最先进的计算机视觉识别技术也只能达到80%!我在第一次尝试中就超越了它。

  • 包含花的图像被正确识别

我检查了被算法正确识别的图像。大蓝色绣球花似乎是关键特征。

某些被错误识别的图像存在明显问题

这个算法错误地识别了18个图像。这是算法需要改进的地方。

漏报的图像似乎是未被正确识别的小花。我认为通过裁剪照片生成更多标记样本,可以改善算法的结果。

▌胜利!我进入了前50%!

在我的第一次尝试中,我在52位参赛者中排名第21,进入前50%。

目标达成!

我在一天内进入了排名的前50%。

没有最好只有更好。

▌Fast.ai是否适合你?

如果你的目标是加入Open.ai团队或赢得ImageNet竞赛,那么Fast.ai课程并不十分适合你,因为你需要学习偏导函数。

但对于其他人,比如想要获得实用的基础知识介绍的团队领导,希望学习深度学习工程师入门知识的专业程序员,想知道如何开发AI spec的产品经理,或者任何想对一吨乐高进行分类的人员来说,Fast.ai是个很好的开始。

相关链接

GitHub地址

Invasive Species Monitoring

原文地址

https://medium.com/the-business-of-ai/fast-ai-how-i-built-a-deep-learning-application-to-detect-invasive-species-in-just-1-day-and-for-38e0ced809e9

相关文章

Uber过去一年营收91亿美元 但亏损高达33亿美元

凤凰科技讯据《金融时报》北京时间6月25日报道,打车应用Uber公司的动荡让其下一任CEO在解决一个公司主要难题上面临更大挑战:如何让打车业...

发布日期:2017-06-280 详细>>

二手车电商平台频获巨额融资 三国杀局面形成

文 易北辰频道Jared近来,汽车行业竞争激烈,各科技巨头、互联网大佬、传统汽车制造商在这个领域争奇斗艳,各展拳脚,一时间让人分不清楚...

发布日期:2017-06-280 详细>>

如果你的文章被抄袭了,肿么办?

作为原创的内容生产者,最糟心的事情莫过于你自己的原创内容被无耻的搬运工抄袭,并且写上抄袭者的联系方式。在过去,如果你自己一篇一篇的...

发布日期:2017-06-280 详细>>

互联网金融,爱钱帮成为网贷行业发展最快的平台之一

5月份的网贷数据已经全面发布,第三方平台发布行业数据,平台也发布运营数据,让网贷投资人对5月份的网贷行业发展有了全面了解。随着马太效...

发布日期:2017-06-280 详细>>

监管暂停网贷平台涉足校园贷 存量业务需明确退出时间表

近年来,有关校园“裸贷”、“暴力催收”等事件频频曝光。如今,校园贷整治再度升级!6月16日,江西金融办官网的一份文件显示,银监会等三...

发布日期:2017-06-280 详细>>

?

------【导读】------我读过很多关于机器学习的书,也参加过不少这方面的课程,但我认为Fast.ai是迄今为止最实用的深度学习入门课程。Fast.ai是Jerem