linux 跑深度学习指南_不完整的深度学习指南

一份不完整的深度学习学习路径,从编码基础(Python)和数学基础(微积分、线性代数、统计概率)入手,逐步深入到深度学习理论、实践项目和最新资源跟踪。适合希望从事深度学习领域的学习者,包括理论与实践相结合的学习路径和推荐资源。
摘要由CSDN通过智能技术生成

linux 跑深度学习指南

From Self-Driving Cars to Alpha Go to Language Translation, Deep Learning seems to be everywhere nowadays. While the debate whether the hype is justified or not continues, Deep Learning has seen a rapid surge of interest across academia and industry over the past years.

从无人驾驶汽车到Alpha,再到语言翻译,深度学习似乎如今无处不在。 尽管有关炒作是否合理的争论仍在继续,但在过去的几年中,深度学习在学术界和整个行业Swift兴起。

With so much attention on the topic, more and more information has been recently published, from various MOOCs to books to YouTube Channels. With such a vast amount of resources at hand, there has never been a better time to learn Deep Learning.

由于对该主题的关注如此之多,最近已发布了越来越多的信息,从各种MOOC到书籍再到YouTube频道。 拥有如此众多的资源,现在是学习深度学习的最佳时机。

Yet a side effect of such an influx of readily available material is choice overload. With thousands and thousands of resources, which are the ones worth looking at?

这样大量易得材料的涌入的副作用是选择过载。 拥有成千上万的资源,哪些值得一看?

Inspired by Haseeb Qureshi’s excellent Guide on Learning Blockchain Development, this is my try to share the resources that I have found throughout my journey. As I am planning on continuously updating this guide (via this GitHub Repo) with updated and better information, I deemed this work in progress an incomplete guide.

受Haseeb Qureshi出色的《学习区块链开发指南》的启发,这是我尝试分享我在整个旅程中发现的资源。 当我计划通过更新和更好的信息(通过GitHub Repo )不断更新本指南时,我认为此工作正在进行中并不完整

As of now, all the resources in this guide are all free thanks to their authors.

到目前为止,感谢其作者的帮助,本指南中的所有资源都是免费的。

Target Audience

目标观众

  • Anybody who wants to dive deeper into the topic, seeks a career in this field, or aspires to gain a theoretical understanding of Deep Learning

    任何想深入研究该主题,在该领域寻求职业或渴望获得对深度学习的理论理解的人

Goals of this Article

本文的目标

  • Give an overview and a sense of direction within the ocean of resources

    在资源的海洋中给出概述和方向感
  • Give a clear and useful path towards learning Deep Learning Theory and Development

    为学习深度学习理论和发展提供清晰有效的途径
  • Give some practical tips along the way on how to maximize your learning experience

    沿途提供一些实用技巧,以帮助您最大限度地提高学习经验

Outline

大纲

This guide is structured in the following way:

本指南的结构如下:

  • Phase 1: Prerequisites

    阶段1 :先决条件

  • Phase 2: Deep Learning Fundamentals

    第二阶段 :深度学习基础

  • Phase 3: Create Something

    阶段3 :创造事物

  • Phase 4: Dive Deeper

    阶段4 :深入研究

  • Phase X: Keep Learning

    第十阶段 :继续学习

How long your learning will take depends on numerous factors, such as your dedication, background and time-commitment. And depending on your background and the things you want to learn, feel free to skip to any part of this guide. The linear progression I outline below is just the path I found to be useful for myself.

学习需要多长时间取决于许多因素,例如您的奉献精神,背景和时间投入。 根据您的背景和要学习的知识,请随时跳至本指南的任何部分。 我在下面概述的线性进度只是我发现对自己有用的路径。

阶段1:必备条件 (Phase 1: Pre-Requisites)

Let me be clear from the beginning. The prerequisites you need depend on the objectives you intend to pursue. The foundations you need to conduct research in Deep Learning will differ from the things you need to become a Practitioner (both are, of course, not mutually exclusive).

让我从一开始就很清楚。 您需要的前提条件取决于您要追求的目标。 您进行深度学习研究所需的基础与成为一名从业人员所需要的基础有所不同(当然,两者都不是互斥的)。

Whether you don’t have any knowledge of coding yet or you are already an expert in R, I would still recommend acquiring a working knowledge of Python as most of the resources on Deep Learning out there will require you to know Python.

无论您还没有编码方面的知识还是已经是R方面的专家,我仍然建议您掌握Python的使用知识,因为那里有关Deep Learning的大部分资源都要求您了解Python。

编码 (Coding)

While Codecademy is a great way to start coding from the beginning, MIT’s 6.0001 lectures are an incredible introduction to the world of computer science. So is CS50, Harvard’s infamous CS intro course, but CS50 has less of a focus on Python. For people who prefer reading, the interactive online book How To Think Like A Computer Scientist is the way to go.

虽然Codecademy是从一开始就开始进行编码的好方法,但MIT的6.0001讲座却是对计算机科学领域的令人难以置信的介绍。 哈佛大学臭名昭著的CS入门课程CS50也是如此,但CS50很少关注Python。 对于喜欢阅读的人,交互式在线书《 如何像计算机科学家一样思考》是必经之路。

数学 (Math)

If you simply want to apply Deep Learning techniques to a problem you face or gain a high-level understanding of Deep Learning, it is in most cases not necessary to know its mathematical underpinnings. But, in my experience, it has been significantly easier to understand and even more rewarding to use Deep Learning frameworks after getting familiar with its theoretical foundations.

如果您只是想将深度学习技术应用于所面临的问题或对深度学习有一个高级的了解,则在大多数情况下,无需了解其数学基础。 但是,以我的经验来看,在熟悉了深度学习框架的理论基础之后,使用它变得更加容易理解,甚至更加有意义。

For such intentions, the basics of Calculus, Linear Algebra and Statistics are extremely useful. Fortunately, there are plenty of great Math resources online.

为此,微积分,线性代数和统计的基础知识非常有用。 幸运的是,在线上有很多很棒的数学资源。

Here are the most important concepts you should know:

这是您应该知道的最重要的概念:

  1. Multivariable Calculus

    多变量微积分
  • Differentiation

    差异化
  • Chain Rule

    连锁规则
  • Partial Derivatives

    偏导数

2. Linear Algebra

2.线性代数

  • Definition of Vectors & Matrices

    向量和矩阵的定义
  • Matrix Operations and Transformations: Addition, Subtraction, Multiplication, Transpose, Inverse

    矩阵运算和转换:加法,减法,乘法,转置,逆

3. Statistics & Probability

3.统计与概率

  • Basic ideas like mean and standard deviation

    基本概念,例如均值和标准差
  • Distributions

    发行版
  • Sampling

    采样
  • Bayes Theorem

    贝叶斯定理

That being said, it is also possible to learn these concepts concurrently with Phase 2, looking up the Math whenever you need it.

话虽如此,也可以在第2阶段同时学习这些概念,并在需要时查找数学。

If you want to dive right into the Matrix Calculus that is used in Deep Learning, take a look at The Matrix Calculus You Need For Deep Learning by Terence Parr and Jeremy Howard.

如果您想深入研究深度学习中使用的矩阵演算,请看一下Terence Parr和Jeremy Howard编写的《 深度学习所需的矩阵演算》

Calculus

结石

For Calculus, I would choose between the MIT OCW Lectures, Prof. Leonard’s Lectures, and Khan Academy.

对于微积分,我会在MIT OCW讲座,伦纳德教授的讲座和可汗学院之间进行选择。

The MIT Lectures are great for people who are comfortable with Math and seek a fast-paced yet rigorous introduction to Calculus.

麻省理工学院的讲座非常适合那些熟悉数学并寻求快速但严格的微积分入门的人。

Prof. Leonard Lectures are perfect for anybody who is not too familiar with Math, as he takes the time to explain everything in a very understandable manner.

Leonard Lectures教授非常适合对数学不太熟悉的任何人,因为他花时间以一种非常容易理解的方式来解释一切。

Lastly, I would recommend Khan Academy for people who just need a refresher or want to get an overview as fast as possible.

最后,我向那些只需要复习或希望尽快获得概述的人推荐可汗学院。

Linear Algebra

线性代数

For Linear Algebra, I really enjoyed Professor Strang’s Lecture Series and its accompanying book on Linear Algebra (MIT OCW). If you are interested in spending more time on Linear Algebra, I would recommend the MIT lectures, but if you just want to learn the basics quickly or get a refresher, Khan Academy is perfect for that.

对于线性代数,我非常喜欢Strang教授的讲座系列及其随附的线性代数(MIT OCW)书。 如果您有兴趣在线性代数上花费更多的时间,我会推荐MIT讲座,但是如果您只是想快速学习基础知识或复习一下,汗学院就是您的理想之选。

For a more hands-on coding approach, check out Rachel Thomas’ (from fast.ai) Computational Linear Algebra Course.

有关更实际的编码方法,请查看Rachel Thomas的(来自fast.ai的)计算线性代数课程。

At last, this review from Stanford’s CS229 course offers a nice reference you can always come back to.

最后,斯坦福大学CS229课程的这篇评论为您提供了很好的参考,您可以随时返回。

For both Calculus and Linear Algebra, 3Blue1Brown’s Essence of Calculus and Linear Algebra series are beautiful complementary materials to gain a more intuitive and visual understanding of the subject.

对于微积分和线性代数而言,3Blue1Brown的微积分和线性代数系列都是美丽的补充材料,可以使您对主题更直观和直观的理解。

Statistics and Probability

统计与概率

Harvard has all its Stats 110 lectures, which is taught by Prof. Joe Blitzstein, on YouTube. It starts off with Probability and covers a wide range of Intro to Statistics topics. The practice problems and content can be challenging at times, but it is one of the most interesting courses out there.

哈佛大学有所有Stats 110讲座,由Joe Blitzstein教授在YouTube上教授。 它从“概率”开始,涵盖了“统计入门”主题的广泛范围。 练习题和内容有时可能会充满挑战,但这是其中最有趣的课程之一。

Beyond Harvard’s course, Khan Academy and Brandon Foltz also have some high-quality material on YouTube.

除了哈佛大学的课程外,可汗学院和布兰登·福尔茨(Brandon Foltz)在YouTube上也有一些高质量的资料。

Similarly to Linear Algebra, Stanford’s CS229 course also offers a nice review of Probability Theory that you can use as a point of reference.

类似于线性代数,斯坦福大学的CS229课程还提供了对概率论的不错的回顾 ,您可以将其用作参考。

阶段2:深度学习基础 (Phase 2: Deep Learning Fundamentals)

With the plethora of free deep learning resources online, the paradox of choice becomes particularly apparent. Which ones should I choose, which ones are the right fit for me, where can I learn the most?

随着在线上大量免费的深度学习资源的出现,选择的悖论变得尤为明显。 我应该选择哪些,最适合我的,在哪里可以学到最多?

MOOCs (MOOCs)

Just as important as learning theory is practicing your newfound knowledge, which is why my favorite choice of MOOCs would be a mix of Andrew Ng’s deeplearning.ai (more theoretical) and Jeremy Howard’s and Rachel Thomas’ fast.ai (more practical).

与学习理论一样重要的是实践您的新知识,这就是为什么我最喜欢选择MOOC的原因是Andrew Ng的deeplearning.ai (更理论化)以及Jeremy Howard和Rachel Thomas的fast.ai (更实际)。

Andrew Ng is excellent at explaining the basic theory behind Deep Learning, while fast.ai is a lot more focused on hands-on coding. With the theoretical foundations of deeplearning.ai, Jeremy Howard’s code and explanations become a lot more intuitive, while the coding part of fast.ai is super helpful to ingrain your theoretical knowledge into practical understanding.

吴恩达(Andrew Ng)擅长解释深度学习背后的基本理论,而fast.ai则更专注于动手编码。 有了deeplearning.ai的理论基础,杰里米·霍华德(Jeremy Howard)的代码和解释变得更加直观,而fast.ai的编码部分非常有助于将您的理论知识加深到实践理解中。

Since deeplearning.ai consists of five courses and fast.ai consists of two parts, I would structure my learning in the following way:

由于deeplearning.ai由五门课程组成,而fast.ai由两部分组成,因此我将通过以下方式来组织学习:

  1. Watch Deep Learning.ai’s Course Lectures I, II, IV and V

    观看Deep Learning.ai的课程讲座I,II,IV和V
  2. Take Fast.ai Part I

    参加Fast.ai第一部分
  3. Watch Deeplearning.ai Course III

    观看Deeplearning.ai课程III
  4. Optional: Take deeplearning.ai assignments

    可选:进行deeplearning.ai作业
  5. Repeat Steps 1–4 or Go to Phase III

    重复步骤1-4或进入阶段III

The reason I would first skip the deeplearning.ai assignments is that I found fast.ai’s coding examples and assignments to be a lot more practical than the deeplearning.ai assignments.

我之所以首先跳过deeplearning.ai分配,是因为我发现fast.ai的编码示例和分配比deeplearning.ai分配更加实用。

If you want to reiterate the deeplearning.ai course material (i.e. repetition to strengthen your memory), then give the assignments a try. Unlike fast.ai, which uses PyTorch and its own fastai library, they primarily use Keras. So, it’s a good opportunity to get familiar with another Deep Learning Framework.

如果您想重申deeplearning.ai课程资料(例如,重复练习以增强记忆力),请尝试一下作业。 与使用PyTorch和自己的fastai库的fast.ai不同,它们主要使用Keras。 因此,这是熟悉另一个深度学习框架的好机会。

Fast.ai Part 2 deals with quite advanced topics and requires a good grasp of theory as well as the coding aspects of Deep Learning, which is why I would put that one in Phase IV of this guide.

Fast.ai第2部分涉及相当高级的主题,需要对理论以及深度学习的编码方面有很好的了解,这就是为什么我将其放在本指南的第四阶段中的原因。

Tip: You can freely watch deeplearning.ai videos on Coursera, but you need to purchase the specialization to do the assignments. If you can’t afford the coursera specialization fee, apply for a scholarship!

提示您可以在Coursera上免费观看deeplearning.ai视频,但您需要购买专业知识才能完成作业。 如果您负担不起课程专业费,请申请奖学金

For people who prefer reading books, Michael Nielsen published a free Intro book on Deep Learning that also incorporates coding examples in Python.

对于喜欢看书的人,迈克尔·尼尔森(Michael Nielsen)发布了免费的有关深度学习的入门书籍,其中还结合了Python的编码示例。

To really take advantage of fast.ai, you will need a GPU. But lucky us, Google offers an environment similar to Jupyter Notebooks called Google Colaboratory that comes with free GPU access. Somebody already made a tutorial on how to use Colab for Fast.ai. So, check that out here. Kaggle has also started providing access to a free Nvidia K80 GPU on their Kernels.

要真正利用fast.ai,您将需要GPU。 但幸运的是,Google提供了类似于Jupyter Notebooks的环境,称为Google Colaboratory ,可免费使用GPU。 有人已经制作了有关如何在Fast.ai中使用Colab的教程。 因此,请在此处查看 。 Kaggle也已开始提供访问权限 在他们的内核上免费下载Nvidia K80 GPU。

AWS also provides students with up to $100 in credits (depending on whether your college is part of their program), which you can use for their GPU instances.

AWS还为学生提供最多100美元的积分(取决于您的大学是否是其计划的一部分),您可以将其用于其GPU实例。

补充非Mooc材料 (Complementary Non-Mooc Material)

Do not solely rely on one means of information. I recommend that you combine watching videos with coding and reading.

不要仅仅依靠一种信息手段。 我建议您将观看视频与编码和阅读结合起来。

YouTube

的YouTube

Just like in his series on Calculus and Linear Algebra, 3Blue1Brown gives one of the most intuitive explanations on Neural Networks. Computer Phile and Brandon also offer great explanations of Deep Learning, each from a slightly different perspective. Lastly, sentdex can be helpful as he instantly puts concepts into code.

就像在他的微积分和线性代数系列中一样,3Blue1Brown在神经网络上给出了最直观的解释之一。 Computer Phile和Brandon还从稍微不同的角度为深度学习提供了很好的解释。 最后,当senddex将概念立即放入代码中时,它可能会有所帮助。

Beginner-Friendly Blogs

初学者友好博客

Blogs are also a phenomenal way of reiterating over newly acquired knowledge, exploring new ideas or going in-depth into a topic.

博客还是一种重申新近获得的知识,探索新想法或深入探讨主题的惊人方式。

Distill.pub is one of the best blogs I know in the Deep Learning space and beyond. The way its editors approach topics like Feature Visualization or Momentum is simply clear, dynamic and engaging.

Distill.pub是我在深度学习领域及其他领域最好的博客之一。 它的编辑者处理诸如功能可视化动量之类的主题的方式非常清晰,动态且引人入胜。

Although not updated anymore, Andrej Karpathy’s old Blog has some classic articles on things such as RNNs that are worth checking out.

虽然没有更新了, 安德烈Karpathy的老博客具有如事一些经典文章RNNs是值得一试。

Finally, Medium Publications like FreeCodeCamp and Towards Data Science regularly publish interesting posts from Reinforcement Learning to Objection Detection.

最后,诸如FreeCodeCamp和Towards Data Science之类的中型刊物定期发布从强化学习异物检测的有趣文章。

Coding

编码

Get familiar with code! Knowing how to graph plots, deal with messy data and do scientific computing is crucial in Deep Learning, which is why libraries such as Numpy or Matplotlib are ubiquitously used. So, practicing and using these tools will definitely help you along the way.

熟悉代码! 在深度学习中,知道如何绘制图表,处理混乱数据以及进行科学计算至关重要,这就是为什么使用诸如Numpy或Matplotlib之类的库的原因。 因此,练习和使用这些工具肯定会在整个过程中为您提供帮助。

Jupyter Notebook

Jupyter笔记本

Jupyter Notebooks can be a great tool but definitely carry some drawbacks. Take a look at Joel Grus’ informative and meme-filled presentation I don’t Like Notebooks to be aware of those pitfalls.

Jupyter笔记本可能是一个很好的工具,但肯定会带来一些缺点。 看一看乔尔·格鲁斯(Joel Grus)提供的内容丰富且模因丰富的演示文稿, 我不喜欢笔记本电脑意识到这些陷阱。

Numpy

脾气暴躁的

Pandas

大熊猫

Scikit-learn

Scikit学习

Matplotlib

Matplotlib

And if you ever get stuck with a concept or code snippet, google it! The quality of the answers will be highly variable, but sites such as Quora, Stackoverflow or PyTorch’s excellent Forum are certainly sources you can leverage. Reddit can sometimes offer nice explanations as well, in formats such as ELI5 (Explain Me Like I’m Five) when you’re completely perplexed by a new topic.

而且,如果您遇到了概念或代码段的困扰,那就用谷歌搜索吧! 答案的质量变化很大,但是Quora,Stackoverflow或PyTorch优秀的Forum等网站无疑是您可以利用的资源。 当您完全被一个新话题所困扰时,Reddit有时还可以以ELI5 (像我一样解释我的五岁)之类的格式提供很好的解释。

阶段3创造事物 (Phase 3: Create Something)

While you should definitely play around with code and use it with external datasets/problems while taking the fast.ai course, I think it’s crucial to implement your own project as well. The deeplearning.ai course III is an excellent guide on how to structure and execute a Machine Learning Project.

虽然您在上fast.ai课程时绝对应该使用代码并在外部数据集/问题中使用它,但我认为实现自己的项目也至关重要。 deeplearning.ai课程III是有关如何构建和执行机器学习项目的出色指南。

头脑风暴的想法 (Brainstorm Ideas)

Start with brainstorming ideas that seem feasible to you with the knowledge you just acquired, look at openly available datasets and think about problems you might want to solve with Deep Learning. Take a look at these Projects to get some inspiration!

从您刚刚获得的知识出发,集思广益的想法对您来说似乎可行,然后查看公开可用的数据集,并考虑可能要使用深度学习解决的问题。 看看这些项目,以获得一些启发!

或使用Kaggle (Or Use Kaggle)

Otherwise, an easy way to start with a project is participating in a Kaggle competition (current or past) or exploring their vast amount of open datasets.

否则,从项目开始的简单方法是参加Kaggle竞赛 (当前或过去)或探索其大量开放数据集

Kaggle offers an excellent gateway into the ML community. People share Kernels (their walkthrough of a given problem) and actively discuss ideas, which you can learn from. It becomes especially interesting after the end of a competition, when teams start to post their solutions in the Discussion Forums, which often involves creative approaches to the competition.

Kaggle提供了进入ML社区的绝佳门户。 人们共享内核(他们解决给定问题的过程)并积极讨论想法,您可以从中学习。 比赛结束后,当团队开始在论坛中发布其解决方案时,这尤其有趣,这通常涉及创造性的比赛方法。

选择框架 (Choose a framework)

Whatever Deep Learning Framework you feel most comfortable, choose one! I would go for either PyTorch or Keras, as they are both relatively easy to pick up and have a very active community.

无论您觉得哪种深度学习框架最舒适,请选择一种! 我会选择PyTorch或Keras,因为它们都很容易拿起,并且社区非常活跃。

反映 (Reflect)

After completing your project, take a day or so to reflect on what you have achieved, what you have learned and what you could improve upon in the future. This is also the perfect time to write your first blog post! It’s one thing to think that you understand something and another to convey it to other people.

完成项目后,请花一天左右的时间来回顾您所取得的成就,所学到的知识以及将来可以改进的内容。 这也是撰写您的第一篇博客文章的最佳时机! 认为自己了解某些东西是一回事,而将其传达给其他人则是另一回事。

Quincy Larson, the founder of FreeCodeCamp, gave a really helpful presentation on how to write a technical blog post here.

FreeCodeCamp的创始人Quincy Larson就如何在此处撰写技术博客发表了非常有帮助的演讲。

阶段4:深入研究 (Phase 4: Dive Deeper)

Now that you’ve built some fundamental Deep Learning knowledge and have gone through your first Practical Experience, it’s time to go deeper!

既然您已经建立了一些基础的深度学习知识,并且已经经历了第一次实践经验,那么该变得更深入了!

From here on, there are tons of things you can do. But the first thing I would do is go through Fast.ai Part 2 Cutting Edge Deep Learning For Coders. As the name suggests, you’ll learn some of the cutting edge stuff in Deep Learning: from GANs to Neural Translation to Super Resolution! The course will give you an overview of some of the hottest topics in Deep Learning right now with a strong focus on Computer Vision and Natural Language Processing (NLP). I particularly appreciate the course as Jeremy Howard not only gives very clear explanations but also really goes into the code that is needed to enable these ideas.

从这里开始,您可以做很多事情。 但是我要做的第一件事是浏览Fast.ai第2部分面向程序员的尖端深度学习 。 顾名思义,您将学到深度学习中的一些前沿知识:从GAN到神经翻译再到超分辨率! 该课程将为您提供有关深度学习中一些最热门主题的概述,重点是计算机视觉和自然语言处理(NLP)。 我特别赞赏该课程,因为杰里米·霍华德(Jeremy Howard)不仅给出了非常清晰的解释,而且还真正加入了实现这些想法所需的代码。

After fast.ai, here are some of the things you can do:

在执行fast.ai之后,您可以执行以下操作:

  • Take a deep dive into one topic such as Computer Vision, NLP or Reinforcement Learning

    深入研究一个主题,例如计算机视觉,NLP或强化学习
  • Read papers and/or reimplement ideas from a paper

    阅读论文和/或论文中的重新实现想法
  • Do more projects and/or gain work experience in Deep Learning

    做更多的项目和/或获得深度学习的工作经验
  • Follow blogs, listen to podcasts and stay up to date

    关注博客,收听播客并保持最新状态
深潜 (Deep Dives)

Computer Vision

计算机视觉

The best place to continue your Computer Vision path is definitely Stanford’s CS231n Course, also called Convolutional Neural Networks for Visual Recognition. They not only have all their lecture videos online, but their website also offers course notes and assignments! Fast.ai Part 2 and deeplearning.ai will give you a good foundation for the course, as CS231n will go a a lot further in terms of the theory behind CNNs and related topics.

继续计算机视觉道路的最佳地点肯定是斯坦福大学的CS231n课程,也称为用于视觉识别的卷积神经网络 。 他们不仅在线上拥有所有的讲座视频,而且他们的网站上还提供课程笔记作业 ! Fast.ai第2部分和deeplearning.ai将为您提供该课程的良好基础,因为CS231n在CNN和相关主题背后的理论方面将进一步发展。

While both versions cover mostly the same topics, which also means choose whichever version’s teaching style you like better, the final lectures differ slightly. For example, 2017 incorporates a Lecture on Generative Models and 2016 has a guest lecture by Jeff Dean on Deep Learning at Google. If you want to see how Computer Vision was before Deep Learning took off, the University of Central Florida (UCF) has a Computer Vision course from 2012 teaching about concepts such as SIFT features.

虽然两个版本都涵盖相同的主题,这也意味着选择您更喜欢的任一版本的教学风格 ,但最终的授课内容略有不同。 例如,2017年纳入了有关生成模型的讲座,2016年由杰夫·迪恩(Jeff Dean)在Google深度学习上做了客座演讲。 如果您想了解深度学习开始之前的计算机视觉技术,中央佛罗里达大学(UCF)开设了2012年的计算机视觉课程,教授SIFT功能等概念。

Natural Language Processing

自然语言处理

Stanford has quite an extensive course called CS224n Natural Language Processing with Deep Learning, which similarly to CS231n not only uploaded its lecture videos but also hosts a handy website with lecture slides, assignments, assignment solutions and even students’ Class Projects!

斯坦福大学开设了相当广泛的课程,称为CS224n 深度学习自然语言处理,与 CS231n相似,它不仅上传了讲座视频,而且还提供了一个便捷的网站,其中包含讲座幻灯片,作业,作业解决方案甚至学生的课堂项目

Oxford also has a very nice lecture series on NLP in cooperation with DeepMind. While it does have a helpful GitHub repository with slides and pointers to further readings, it lacks the assignment part of Stanford’s CS224. The courses overlap to some extent, but not to the extent that it’s not worth looking at both courses.

牛津大学与DeepMind合作还举办了一个非常不错的NLP讲座系列。 尽管它确实有一个有用的GitHub存储库,其中包含幻灯片和进一步阅读的指针,但它缺少斯坦福大学CS224的分配部分。 这些课程在某种程度上是重叠的,但并不值得一并考虑这两个课程。

General Deep Learning

通用深度学习

For people who are still unsure about what in Deep Learning excites them the most, Carnegie Mellon University (CMU) has a course on Topics in Deep Learning, which introduces a broad range of topics from Restricted Boltzmann Machines to Deep Reinforcement Learning. Oxford also has a Deep Learning Course, which can give you a firmer mathematical grasp of concepts you learned in deeplearning.ai and fast.ai, meaning things such as Regularization or Optimization.

对于仍不确定深度学习最能激发他们兴趣的人们,卡内基梅隆大学(CMU)开设了一个有关深度学习主题的课程 ,其中介绍了从受限玻尔兹曼机器到深度强化学习的广泛主题。 牛津大学还开设了一门深度学习课程,可以使您对在deeplearning.ai和fast.ai中学习到的概念有更牢固的数学掌握,这意味着诸如正则化或优化之类的事情。

A book that could help you in any Deep Learning field is The Deep Learning Book by Ian Goodfellow et al., which is the most comprehensive book on Deep Learning theory I know of. Classes such as Oxford’s NLP course also use this book as complementary material.

在任何深度学习领域都可以为您提供帮助的 Ian Goodfellow等人,这是我所知道的最全面的深度学习理论书籍。 牛津大学的自然语言处理课程等课程也将本书用作补充材料。

Noteworthy as well is that top-tier research conferences such as NIPS or ICML, which disseminate the state-of-the-art Deep Learning papers, regularly publish their keynote and tutorial videos.

同样值得注意的是,传播最新的深度学习论文的顶级研究会议(如NIPS或ICML)会定期发布其主题演讲和教程视频。

Reinforcement Learning

强化学习

As Reinforcement Learning (RL) is neither covered by deeplearning.ai nor fast.ai, I would first watch Arxiv Insight’s Intro to RL and Jacob Schrum’s RL videos, which are extremely understandable explanations of the topic. Then head to Andrej Karpathy’s blog post on Deep Reinforcement Learning and read Chapter 1–2 of Andrew Ng’s PhD Thesis (as suggested by Berkeley’s CS 294 website) to get a primer on Markov Decision Processes. Afterward, David Silver’s (Deep Mind) Course on RL will give you a strong foundation to transition to Berkeley’s CS294 Course on Deep RL.

由于deeplearning.ai或fast.ai都没有涵盖强化学习(RL),因此我将首先观看Arxiv Insight的RL简介和Jacob Schrum的RL视频,这是对该主题的极易理解的解释。 然后转到Andrej Karpathy的有关深度强化学习的博客文章,并阅读Andrew Ng的博士学位论文的第1–2章(由Berkeley的CS 294网站建议),以获取有关Markov决策过程的入门知识。 之后,David Silver的RL深度课程将为您过渡到Berkeley的RL深度学习CS294课程打下坚实的基础。

Alternatively, there are recorded sessions of a Deep RL Bootcamp at Berkeley and an RL Summer School at the Montreal Institute for Learning Algorithms with speakers like Pieter Abbeel and Richard Sutton. The latter also co-authored an introductory textbook on RL, which currently can be accessed openly in its 2nd edition as a draft (chapter 3 & 4 are pre-readings for CS294).

另外,还录制了伯克利的Deep RL训练营和蒙特利尔学习算法研究所的RL暑期学校的会议记录,演讲者包括Pieter Abbeel和Richard Sutton。 后者还与人合着了有关RL的入门级教科书,目前可以作为草稿在其第二版中公开获取(第3章和第4章是CS294的预读本)。

Additionally, Udacity has a fabulous GitHub repo with tutorials, projects and a cheatsheet from their paid Deep RL course. Another resource that was published recently is Thomas Simonini’s ongoing Deep RL course that is very easy to follow and hands-on in its coding methodology.

此外,Udacity有一个很棒的GitHub存储库,其中包含其付费 Deep RL课程的教程,项目和速查表。 最近发布的另一种资源是Thomas Simonini正在进行的Deep RL课程,该课程非常容易遵循和动手进行编码。

Machine Learning (that is not necessarily Deep Learning)

机器学习(不一定是深度学习)

There is certainly value to knowing various Machine Learning ideas that came before Deep Learning. Whether Logistic Regression or Anomaly Detection, Andrew Ng’s classic Machine Learning Course is a great starting point. If you want a more mathematically rigorous course, Caltech has a superb MOOC that is more theoretically grounded. Professor Ng is also writing a book with ML best practices, for which you can access the first chapters of his draft.

了解深度学习之前的各种机器学习思想当然具有价值。 无论是Logistic回归还是异常检测,Andrew Ng的经典机器学习课程都是一个很好的起点。 如果您想要更严格的数学课程,加州理工学院拥有一门精湛的MOOC,它在理论上更加扎实。 Ng教授还在写一本有关ML最佳实践的书,您可以从该书的第一章开始阅读。

Self-Driving Cars

无人驾驶汽车

Self-Driving Cars are one of the most interesting areas of application for Deep Learning. So, it’s quite amazing that MIT offers its own course on that topic. The course will give you a breadth of introductions to topics such as perception and motion planning as well as provide you with insights from industry experts such as the Co-Founder of Aurora.

无人驾驶汽车是深度学习应用中最有趣的领域之一。 因此,麻省理工学院就该主题提供自己的课程非常令人惊讶。 本课程将为您提供诸如感知和运动计划等主题的广泛介绍,并为您提供来自行业专家(例如Aurora的共同创始人)的见解。

If you’re further interested in the Computer Vision part of Autonomous Driving, a few researchers from ETH Zurich and the Max Planck Institute for Intelligent Systems have written an extensive survey on the subject matter. Moreover, ICCV uploaded the slides from an 8-Part Tutorial Series, which have some useful information on Sensor Fusion and Localization.

如果您对自动驾驶的计算机视觉部分进一步感兴趣,苏黎世联邦理工学院和马克斯·普朗克智能系统研究所的一些研究人员就该主题进行了广泛的调查。 此外,ICCV还上传了8部分教程系列中的幻灯片,其中包含有关传感器融合和本地化的一些有用信息。

Regarding projects I would take a look at projects from Udacity’s paid Self-Driving Car Nanodegree, which you can freely find on GitHub. Udacity does consistently offer scholarships. For instance, last year in cooperation with Lyft for its Self-Driving Cars Intro Course. So, be on the lookout for that as well!

关于项目,我将看一下Udacity的付费无人驾驶汽车纳米学位的项目,您可以在GitHub上免费找到。 Udacity确实一直提供奖学金。 例如, 去年与Lyft合作举办了无人驾驶汽车入门课程。 因此,也请注意这一点!

加强您对基本概念的理解 (Strengthen your understanding of Fundamental Concepts)

You will keep encountering fundamental concepts such as Losses, Regularizations, Optimizers, Activation Functions and Gradient Descent, so gaining an Intuition for them is crucial. Two posts that expound Gradient Descent and Backpropagation very well:

您将不断遇到基本概念,例如损失,正则化,优化器,激活函数和梯度下降,因此获得直觉至关重要。 有两个帖子很好地阐述了梯度下降和反向传播:

Read Papers

阅读论文

While Arxiv is of paramount importance in the fast and open dissemination of Deep Learning research ideas, it can get overwhelming very quickly with the influx of papers on the platform.

尽管Arxiv在快速开放地传播深度学习研究思想中至关重要,但随着平台上大量论文的涌入,它可能会很快变得不知所措。

For that reason, Andrej Karpathy built Arxiv Sanity, a tool that lets you filter and track papers according to your preferences.

因此,Andrej Karpathy构建了Arxiv Sanity ,该工具可让您根据自己的喜好过滤和跟踪纸张。

Here are just a few seminal papers from recent years, starting with the ImageNet Papers (AlexNet, VGG, InceptionNet, ResNet) that have had a tremendous influence on the trajectory of Deep Learning.

以下是近年来的一些开创性论文,从ImageNet论文(AlexNet,VGG,InceptionNet,ResNet)开始,这些论文对深度学习的轨迹产生了巨大影响。

YouTube Channels

YouTube频道

Arxiv Insights, CodeEmperium and Yannic Kilcher are the most under-appreciated YouTube Channels on Deep Learning with some of the clearest explanations on Autoencoders and Attention.

Arxiv Insights, CodeEmperiumYannic Kilcher是有关深度学习的YouTube渠道中最不被人了解的渠道,其中对自动编码器和注意力的解释最为清晰。

Another YouTube Channel that should be mentioned is Lex Fridman, who is the main instructor MIT’s Self-Driving Course. He also taught MIT’s course on Artificial General Intelligence, which has some fascinating lectures on Meta-Learning, Consciousness and Intelligence.

另一个值得一提的YouTube频道是Lex Fridman, 是MIT自驾课程的主要讲师。 他还教授了麻省理工学院的“人工智能”课程,其中有一些关于元学习,意识和智力的精彩演讲。

And finally, no such YouTube list could leave out Siraj Rival. Some hate him, some love him. It really depends on what you prefer and what you want to get out of such videos. For me, I’m not that compatible with his way of teaching, but I do appreciate the variety of content he publishes and the entertainment value he provides.

最后,没有这样的YouTube列表可以排除Siraj Rival 。 有些恨他,有些爱他。 这实际上取决于您喜欢什么以及想要从这些视频中获得什么。 对我来说,我与他的教学方式并不兼容,但是我很欣赏他出版的内容的多样性以及他提供的娱乐价值。

Podcasts

播客

Podcasts are quite a nice way to hear from various people on a diverse range of topics. Two of my favorite podcasts, which produce a lot of Deep Learning related content, are Talking Machines and This Week in ML & AI (TWiML&AI). For example, listen to Talking Machine’s recent podcast at ICML 2018 or TWiML’s podcast with OpenAI Five’s Christy Dennison!

播客是一种很好的方式,可以就各种各样的话题从不同的人那里听到。 我最喜欢的播客中有两个,它们产生了很多与深度学习相关的内容,分别是Talking MachinesML&AI (TWiML&AI) 本周 。 例如,在ICML 2018上收听Talking Machine的最新播客 ,或者在OpenAI Five的Christy Dennison的TWiML 播客中收听!

OpenAI Five with Christy Dennison - TWiML Talk #176Today we're joined by Christy Dennison, Machine Learning Engineer at OpenAI. Since joining OpenAI earlier this year…twimlai.com

克里斯蒂·丹尼森(Christy Dennison)的OpenAI第五人-TWiML演讲#176 今天,OpenAI的机器学习工程师克里斯蒂·丹尼森(Christy Dennison)加入了我们。 自从今年早些时候加入OpenAI以来…… twimlai.com

Blogs

网志

As mentioned previously, I am a huge fan of Distill.pub, and one of its Editors, Chris Olah, has some other high-quality posts on his personal blog as well.

如前所述,我是Distill.pub的忠实粉丝并且 其中一位编辑Chris Olah在他的个人博客上也有其他一些高质量的帖子。

Another really promising blog is The Gradient, which provides well-written and clear overviews of the newest research findings as well as perspectives on the future of the field. Sebastian Ruder is one of the contributing authors of The Gradient and, like Chris Olah, his blog has some awesome content as well, in particular for NLP-related topics. The last blog is not really a blog, but rather a hub for study plans to specific papers such as AlphaGo Zero or InfoGans.

另一个非常有前途的博客是The Gradient ,该博客提供了有关最新研究发现以及该领域的未来观点的精心撰写的清晰概述。 塞巴斯蒂安·鲁德(Sebastian Ruder)是《渐变》的特约作者之一,与克里斯·奥拉(Chris Olah)一样,他的博客也有一些很棒的内容,尤其是与NLP相关的主题。 最后一个博客不是真正的博客,而是一个针对特定论文(例如AlphaGo Zero或InfoGans)的研究计划的中心。

For each of these topics, Depth First Learning publishes curriculums that allow you to learn the ideas of the papers at their cores.

对于这些主题中的每个主题,“ 深度优先学习”都会发布课程,使您可以学习论文的核心思想。

研究要求 (Requests for Research)

In case you want to get started with your own research, here are some pointers to topics other people have requested for research.

如果您想开始自己的研究,这里有一些指向其他人要求进行研究的主题的指针。

保持最新 (Stay Up to Date)

Believe it or not, but one of the best ways to stay updated on the progress of Deep Learning is Twitter. Tons of researchers use the platform to share their publications, discuss ideas and interact with the community.

信不信由你,但保持深度学习进度最新的最佳方法之一是Twitter。 大量的研究人员使用该平台共享他们的出版物,讨论想法并与社区互动。

Some of the people worth following on Twitter:

一些在Twitter上值得关注的人:

第十阶段:继续学习 (Phase X: Keep Learning)

The field is changing rapidly, so keep learning and enjoy the ride.

这个领域正在Swift变化,因此请继续学习并享受旅程。

GitHub回购 (GitHub Repo)

Since the above guide is a snapshot of the resources I like at the moment, it will surely change and evolve over the next years. So, to update this guide in the future with better information and more feedback from others, I created this GitHub Repo, which I will try to maintain regularly.

由于以上指南是我目前喜欢的资源的快照,因此在接下来的几年中,它肯定会发生变化和发展。 因此,为了将来以更好的信息和更多其他反馈来更新本指南,我创建了这个GitHub Repo ,我将尝试定期维护它。

Feel free to contribute to the guide and send pull requests!

随时为指南做出贡献并发送请求请求!

翻译自: https://www.freecodecamp.org/news/the-incomplete-deep-learning-guide-2cc510cb23ee/

linux 跑深度学习指南

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值