新手如何开始学深度学习?别着急,看看别人走过的路先

2024-06-21 09:48

本文主要是介绍新手如何开始学深度学习?别着急,看看别人走过的路先,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

点击上方“AI公园”,关注公众号,选择加“星标“或“置顶”


作者:Arkar Min Aung

编译:ronghuaiyang

前戏

新手如何开始学深度学习,这个问题很难回答,每个人似乎都有自己的一套方法,在开始之前,先看看别人是怎么做的,也许会对自己有所启发。

刚开始学深度学习的时候,一定要像婴儿学步一样,慢慢的小步走。

很多人问我如何开始机器学习和深度学习。在这里,我整理了一个我使用过的资源列表,以及我第一次学习深度学习时所走过的路。

免费课程

从Andrew Ng在Coursera上的机器学习课程开始(https://www.coursera.org/learn/machine-learning)。这门课程会教会你机器学习的一些诀窍,并且会提高你的线性代数技巧。你一定要好好作业,在完成课程后,你会掌握机器学习的概念,例如:线性回归、逻辑回归、支持向量机、神经网络和k均值聚类。你也有机会建立一个推荐系统来玩玩。这会开阔你的眼界,让你更有信心进入机器学习和深度学习的领域。但是要知道,还有许多其他重要的概念,这门课程无法涵盖。所以,在这门课结束后,要准备好拓宽你的知识面。如果你在完成吴博士的课程后非常兴奋,你应该去看看他的其他课程,它是Coursera上深度学习专业课程的一部分。

Fast.ai提供免费的在线深度学习课程,课程分为两个部分:

  • 深度学习第一部分:Practical Deep Learning for Coders

  • 深度学习第二部分:Cutting Edge Deep Learning for Coders

在这些课程之后,您可能已经准备好学习Hinton的机器学习神经网络了。Hinton的课程相对于前面提到的课程来说比较难,因为课程很枯燥,而且包含了更多的数学概念。如果你觉得你还不能解决这个问题,不要慌!停一段时间,先做数学部分(在下一节中描述),然后再回来。这次你一定能解决这个问题!记住,决心,决心,决心,更多的决心。

数学

深度学习当然需要你对线性代数、微分学和向量有很好的掌握。如果你想快速复习一些基本的线性代数并开始写代码,强烈推荐Andrej Karpathy的黑客神经网络指南。我发现hadrienj 's notes在《深度学习》一书中对实际了解底层数学概念,以及如何使用Python (Numpy)非常有用。如果你喜欢从视频中学习,3blue1brown有一个关于线性代数微积分, 神经网络以及其他数学相关概念的非常好的视频。在非卷积问题上自己实现一个基于cpu的反向传播算法也是真正理解反向传播工作原理的好方法。

来点真格的

如果你想提高你的机器学习知识,并准备认真对待(我的意思是研究生水平的认真对待),去研究一下 Learning From Data ,这是一本加州理工教授写的书。准备好做所有的数学运算。这可能有点挑战性,但是你要是读完了而且做完了作业的话,绝对是值得的。我认为,教科书很难捕捉到目前深度学习的状态,因为这一领域的发展速度非常快。但最受欢迎的教科书应该是 Goodfellow, Bengio, 和Courville的《深度学习书》(http://www.deeplearningbook.org/)。它可以在网上免费下载,所以你也可以一章一章地下载,一章一章地阅读课本。

论文,论文,论文,我再也追不上它们

是的,深度学习的知识主要来自论文,而这些论文的发表速度在当今是非常快的。Reddit是一个很好的起点。订阅/r/machinelearning/r/deeplearning。不过我觉得机器学习的reddit版块更有用。ArxivSanity是一个查看与你正在寻找的论文相关的论文的好地方。在深度学习中,阅读论文时要做的一件重要的事情就是做好文献综述。做一个好的文献回顾可以让你更好地了解事物是如何发展的。解决文献综述问题的一种方法是安装谷歌Scholar Chrome扩展并搜索你想查找的论文。你可以跟随“相关文章”和“被引用”来跟随之前的工作以及基于那篇论文的新工作。阅读论文的一个好习惯是在论文中画出概念的思维导图。

640?wx_fmt=png

当我阅读一篇关于“few-shot learning”的论文时,我画出了这张思维图。

思维导图的优点是它是一种很好的方法来跟踪文章中提出的概念之间的关系。我发现思维导图对于跟踪相关文献以及它们与我正在阅读的论文之间的关系非常有用。思维导图能让我对一篇论文有一个清晰的认识,也能让我在读完之后对论文有一个很好的总结。

我发现Twitter(国内就是微博,公众号了吧)对于跟踪机器学习和深度学习研究非常有用。你可以从跟踪ML/DL领域中的知名人员开始,然后从那里开始扩展。因为我经常转发关于对抗机器学习和自动驾驶汽车的研究,你也可以关注我的twitter(关注我的公众号吧?),把它当作你的feed。你能做的就是查看我转发过的人,查看他们的推特,关注他们圈子里的其他研究人员。一旦你提供了足够的数据,Twitter也会推荐优秀的人去关注,也就是关注足够多的ML/DL研究者。

Kaggle

Kaggle实在是太有用了。我强烈建议你尝试Kaggle竞赛,即使你进入前100名的机会很小。Kaggle竞赛的价值在于社区。阅读kernel并从中汲取好的实践经验。阅读评论并参与讨论。在那里你会学到很多东西。你会了解人们如何进行探索性数据分析,以及如何处理丢失数据、不平衡数据等各种情况。Kaggle竞赛中有很多知识。

灵感

机器学习的可视化介绍是一种很好的方法,可以直观地掌握统计学习技术是如何用于识别数据中的模式的。

谷歌的Seedbank是一个获得灵感的伟大资源!看一看这些例子,跟着文献走。

Distill.pub是一个交互式学习DL概念的好地方。我希望Distil出现更多的文章。

冰山一角

除非你把自己所学的付诸实践,否则什么都不重要。ML和DL听起来很神奇,当你自己实现整个pipeline,你会发现也就那样。整个pipeline包括数据来源、数据收集、数据质量评估、数据清理、数据注释、数据预处理、构建工作流、构建模型、调优模型、评估模型、部署模型和重复模型。这些步骤只是整个ML/DL pipeline中的一些步骤。那些已经完成了全面DL工作的人知道尽可能保持整个开发操作的流畅是多么重要。整个数据来源、收集、注释、清理和评估步骤至少占整个项目的60%,而且它们可能是项目中最昂贵的部分之一(除了耗电的GPU !)

总之,ML/DL领域是一个不断发展的领域,你必须张大你的耳朵、睁大你的眼睛,开放你的思想。不要仅仅因为一篇论文/博客/教程/个人/YouTube视频说某一项新技术在某一特定数据集上表现很好就跳到它上面。我看到许多闪亮的新技术来了又去的很快。永远要意识到区分信号和噪音是很重要的。


640?wx_fmt=png

往期精彩回顾


1、深度学习物体检测论文阅读路线图以及官方实现

2、一步一步动画图解LSTM和GRU,没有数学,包你看的明白!

3、论文看吐了没有?做研究的同学瞧一瞧看一看啦,教你读论文:为什么读以及如何读

4、动画图解RNN; LSTM 和 GRU,没有比这个更直观的了!

5、人人都能看得懂的深度学习介绍!全篇没有一个数学符号!


本文可以任意转载,转载时请注明作者及原文地址

640?wx_fmt=jpeg

请长按或扫描二维码关注本公众号

来,给我好看吧640?wx_fmt=gif

这篇关于新手如何开始学深度学习?别着急,看看别人走过的路先的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1080888

相关文章

五大特性引领创新! 深度操作系统 deepin 25 Preview预览版发布

《五大特性引领创新!深度操作系统deepin25Preview预览版发布》今日,深度操作系统正式推出deepin25Preview版本,该版本集成了五大核心特性:磐石系统、全新DDE、Tr... 深度操作系统今日发布了 deepin 25 Preview,新版本囊括五大特性:磐石系统、全新 DDE、Tree

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识