有人说要学深度学习,机器学习是基础;有人说,要先学数学,数学基础很重要;也有人说,不学Python寸步难行;还有人说,不看论文怎么行?又有人说,我这有两本秘籍,你拿回去好好研究,将来必成大器!
从理论基础开始稳扎稳打地往上学,自然是老铁没毛病的,但是也得看时间要求,以及投产比。尤其是在一开始的时候,心气儿正足,却在西瓜书南瓜书花书等经典大部头、高数、概率、python甚至c++上耗尽心力,到头来极容易心气都快磨没了,还没有碰到皮毛!
深度学习这块的知识版图浩如烟海,路线和效率至关重要。所以,在这里我们将抛弃zz正确的路线,探讨一条能够快速落地的入门方式。
第一,编程语言是载体
语言推荐python。一方面相对C++更简单易上手,另一方面相关的项目非常多。
书看不看都行,视频首推小甲鱼的《零基础入门学习Python》视频课程。不需要掌握太深的语言特性,从基础的语法,了解到对象相关的内容就够了。
第二,基础知识边用边学
CV的四大任务:分类、检测、分割、生成。
NLP的四大任务:文本分类、文本匹配、序列标注和文本生成。
在基础学习阶段,都要进行了解。吴恩达的deeplearning系列其实够用了。其它内容可以边用边补。
其它经典课程还有:
斯坦福CS231n-深度学习计算机视觉
斯坦福CS224-深度学习自然语言处理
李宏毅教授讲的《机器学习》
第三,框架是工具
主流框架是两种,pytorch和tensorflow。这部分可以看下刘二大人和我是土堆的视频,救过多少0基础小白的命。
还有李沐老师的《动手学深度学习》,可以等真动起来手之后再回来进阶。
第四,找个项目跑起来,尽快把流程跑通
通过具体的项目来熟悉深度学习各种算法的优势和应用场景,会更有“抓手”一些。
要注意的是最近几年,深度学习领域的变化挺大的。尤其是NLP方向,在大模型的冲击下,传统的算法,像分词、词性标注,被替代得非常厉害,没必要花费太多精力在传统算法上面。可以直接从当下最热的大模型项目开始。
作者:悦木Ivy
链接:https://www.zhihu.com/question/26006703/answer/3343992862
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
第五,大量阅读经典论文,在选定的方向上积累项目经验
深度学习并没有那么高深莫测。
在实际工作中,大部分的算法工程师都是业务导向,大多时候都是在和数据打交道,不是分析数据,就是清洗数据,要么就是和各部门撕需求。真正花在模型的精力,反而比较少,很多只是把现成的算法,在精度,性能上做个平衡而已。
因此,对于算法工程师来说,工程实践能力至关重要。所以要想拿到好的算法岗offer,就需要大量积累选定方向的论文学习经历以及项目经验。
竞赛网站
国外的Kaggle和阿里云天池都是获取项目经验的好途径。
Papers with code
里面有基于深度学习各个方向的论文和代码,找到自己感兴趣的,去实现它。
注意一定要读有开源代码的论文,不要给自己找麻烦。
Hugging Face
如果要做NLP任务,你大概率可以在Hugging Face 找到你需要的模型。
GitHub +awesome
把你希望搜索的关键字加上awesome这个关键词,就能得到近年来好的数据集、论文、开源项目等。
写在最后
要注意的是,基础不是不重要,而是说不一定要从基础开始学习。
大部头的内容,正确的打开方式应该是这样:翻开目录,过一遍整本书的框架和脉络,把这本书主要讲哪些内容、如何进行的内容组织做个“索引”,谙熟于心。待到后面用到时,马上能想起到哪查,从哪开始补就足够了。
另外,自从有了gpt之类的大语言模型,你会发现又有了一个学习的好搭子。有不明白的问题狠狠问,毕竟它虽然做不了太复杂的内容,但是毕竟足够博学,无论是定制学习计划还是进行理论知识答疑、代码生成什么的,对它来说那都不是事儿。
王晋康在他的《逃出母宇宙》 系列中有句非常智慧的句子:“先走起来再找路”。作为深度学习快速入门的破局之计,这句话再适合不过。
相关链接:
小甲鱼的0基础入门课程:
【Python教程】《零基础入门学习Python》最新版(完结撒花 )
PyTorch课程:
PyTorch深度学习快速入门教程(绝对通俗易懂!)【小土堆】
Papers with code
Hugging Face