Beginner-friendly Deep Learning Process
能够进行深度学习的工作是一件令人激动的事情,但同时也是一件令初学者懊恼的事情,我的教程是为了告诉你入门深度学习并不是一件难事,BUT Your Patience.
本教程假设你已经可以熟练使用Python了,如果你还不会Python请移步该链接学习:黑马程序员Python教程600集 建议从P139看起(程序注释01-注释的作用
),之前的内容你自己觉得有必要就挑着看,同理后面的内容也可以根据熟练度挑着看或跳着看!
1.观看李飞飞和吴恩达的机器学习系列课程
BUT 你需要知道的是,这两位的课程并不需要完全掌握,看他们的目的是为了让你从总体上了解机器学习的实施过程,你完全可以按照你的节奏去看,不必死扣其细节,相信我你没时间也扣不明白。
我一直认为在进行一项未知的工作之前,能够从总体上了解其实施流程,有助于你对自己的进度进行评估,这会让你有种"把握"住它的感觉,进而不会对未来的学习感到迷茫,因为你知道自己该学什么,你甚至会主动去寻找接下来要学习什么。
斯坦福李飞飞CS231n计算机视觉课程
https://www.bilibili.com/video/BV1nJ411z7fe?spm_id_from=333.999.0.0
吴恩达机器学习系列课程
https://www.bilibili.com/video/BV164411b7dx?spm_id_from=333.999.0.0
正如上面所说的,对于这两门课不必太较真,知道机器学习是怎样进行工作的,以及从学习的过程中知道你要掌握哪些技能。
2.Pytorch入门课程
我认为Pytorch是一种对初学者相当友好的DL框架,作为你第一个熟练使用的框架,是完全值得的。
这也是为什么告诉你 李和吴 的可能在前面不用死扣的原因,当你学习深度学习框架的时候,还会再次接触到之前的 李和吴 课程中的内容,不过这次不再是抽象的数学公式表达,而换成了更易于理解的代码实现,这将有助于你理解,并进一步加深你对DL的认识。
这部分最重要的是动手练习,一定要跟着视频中老师的代码一行一行的手动去实现,自己学习Debug,学会发现问题,并解决问题。
有百度,谷歌为什么自己不会去搜索?如果你手懒,不想敲代码,我劝你最好放弃DL,或是在研究生阶段继续当个混子。
我将提供我在学习时的代码,你可以参考我的代码,同时做自己也做了详细的学习笔记。但我建议你要做好自己的笔记,因为自己的笔记才会最熟悉
Pytorch 入门到精通全教程-卷积神经网络-循环神经网络
https://www.bilibili.com/video/BV1CZ4y1w7mE?p=1
我的GitHub仓库
kangpeilun/Pytorch_Learning_Notes: Pytorch_Learning_Notes (github.com)
3.李宏毅的课程最实用-宝可梦王子
李宏毅老师的课程是我认为最实用的,他不会非常深入的给你讲太多理论知识,他能以通俗的话给你解释一种新奇的技术,使你能够很容易的了解某个算法运行的机理。
该部分完全可以和 第二部分 同时进行
李宏毅2021春季课程
https://speech.ee.ntu.edu.tw/~hylee/ml/2021-spring.php
该链接有配套的课程,以及对应Google Colab的作业BaseLine代码,至于不知道作业怎么做的,可以查找Kaggle上对应该作业别人的实现方法。关键是代码也是用Pytorch实现的
4.Pytorch实战课程
我坚信当你按要求认真完成前三部分的学习,你基本上可以使用Pytorch进行简单的深度学习工作了,但是这还不够,你需要看进阶课程拓展你的编程能力。我同样建议你做好自己的学习笔记,同样我会提供我自己的笔记
Pytorch深度学习实战教学
https://www.bilibili.com/video/BV1Zv4y1o7uG?spm_id_from=333.999.0.0
我的GitHub仓库
kangpeilun/Pytorch-DeepLearning-In-Practice (github.com)
5.时刻关注新的技术 多实战和多复现代码
你可以通过B站UP学习DL最新相关论文以及技术
下面是我关注的几个优秀的UP
多进行实战和复现代码强化自己编程能力
实战可以学习上面的UP中的体重的代码,自己利用他们的代码做一些小项目
复现代码 指关注你自己所在的研究领域的论文中提供的代码,自己动手Debug,将他们的代码在你自己的项目中进行实现。