社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

干货收藏:如何最高效地入坑深度学习?

AINLP • 3 年前 • 503 次点击  


大家好,我是Giant。最近知乎上有读者提问,被导师散养,想要自己入门深度学习该如何分配任务?

看到这个问题我看见了3年前的自己。我的导师是浙大最年轻的博导、副教授,学术大牛。不过工作太忙,平日神龙见首不见尾,我的学习主要靠自驱
经历了研一到研三的学习,我对自己的深度学习路线做过系统性总结。在校招薪资逐年倒挂的背景下,希望可以帮到更多对AI真正感兴趣的同学。
下面我从大厂面试官考察一个同学的角度,来「倒推」深度学习应该怎么学。

理论学习

俗话说基础不牢,地动山摇。无论从事NLP,CV,ASR还是广告推荐搜索,理论部分的学习是同学们需要迈过的第一道坎。
由于深度学习是机器学习的重要分支,建议大家上手深度学习前,先了解一下传统的统计机器学习算法。
网上关于ML/DL有很多权威的学习资料,这里分享一些我实际学习过的靠谱资料(网课视频都可以在b站上搜索到):
1)吴恩达机器学习入门课程
2)李宏毅机器学习入门课程(2021春)
3)跟李沐学AI
亚马逊首席科学家沐神在b站开课啦!
在“跟李沐学AI”专栏,沐神用中文解读了斯坦福2021秋季的实用机器学习课程,最近还新出了“读论文”系列,像Transformer、BERT、GAN等经典paper,都能听到细致通俗的解读!
我之前也写过一篇文章专门介绍沐神的专栏:李沐 Is All You Need!

4)Kaggle 30天机器学习0基础入门

强烈推荐的理论结合coding的机器学习入门资料,虽然报名通道已经关闭了,你仍然可以访问下面的链接进入学习。

https://www.kaggle.com/thirty-days-of-ml-assignments

Kaggle是一个非常棒的ML/DL学习平台,有非常成熟的开源生态,初学者一定要记住这个网站哈!

Kaggle还为用户提供了免费的GPU计算资源,16G的Tesla V100 每周免费用40小时。详细教程可以参考之前的推文:实验室一块GPU都没有怎么做深度学习?

除了AI理论,一些计算机相关的基础知识也十分重要。

5)陈越姥姥-数据结构专题

很多考研CS硕士的同学都经历过计算机408统考,这4门课程中建议首先掌握“数据结构”,因为它和算法工程师的日常工作最紧密关联,也是面试中提升coding的必备内容。

时间充裕的同学,建议你看看浙大陈越姥姥的数据结构专题课,内容很全面。如果时间紧,建议趁早开始刷leetcode和剑指offer,边做题边巩固常用的数据结构。

操作系统、计组、计算机网络这几门课当然也很重要,但是从算法学习角度看,优先级低于数据结构;可以在整个硕士期间穿插着学习。

算法比赛

除了学理论、做项目,算法比赛也是非常适合新同学入门的选择。当然比赛有难易之分,如果你刚接触深度学习,建议从最基础的任务做起。
比如对于机器学习而言,Kaggle平台的Titanic生存率预测就是非常经典的竞赛项目。把这个比赛完整做一遍,你能学到数据准备、数据分析、构建模型、预测输出整个链路的内容。
如果从事NLP研究,建议从文本分类、匹配、NER等底层任务开始练习。参赛过程中,主动学习其他优秀选手的baseline和top方案,也是让自己进步的高效选择。
除了Kaggle,主流的算法比赛平台还有阿里天池、DataFountain、Biendata、DC竞赛、华为云竞赛、讯飞开放平台、FlyAI等。

科研学术

开展科研工作是深入掌握AI算法的一条“捷径”,如果经过思考和实践,提出创新性的idea,通过coding实现并撰写成文,深度学习功力一定会更上一层。
这里参考清华大学黄民烈老师的PPT,以QA的方式和大家分享一下“如何做出好的科研”。

科研是什么?

创新是科研工作的核心,发表论文是因为这种创新对别人有启发,值得分享与交流;是为了好奇心而进行科研探索:探索未知,发现不同。
如果单纯为了发paper或者升职、出国而做科研,很容易本末倒置。

为什么要做科研?

1)理论和实践需要密切结合
2)确定自己喜欢什么
3)锻炼和提高自己的能力
4)为将来的读研和读博做好准备

科研的“正确”姿势

假如导师或学长给了一个题目或方向,在跑模型前,同学应该先深入理解任务、问题、数据,读论文。

导师:结果怎么样? 


学生:不好 --- 详细的数据统计、分析、报告;理解问题、数据 


导师:为什么不好? 


学生:不知道 --- 深入理解模型原理,与问题、数据的匹配性 


导师:哪里好? 


学生:不知道 --- 理解模型的输出结果、行为表现 


导师:哪里不好? 


学生:不知道 --- 问题诊断、错误分析、读论文

参与科研的几种方式

1)跟着师兄、师姐从baseline开始做起
2)老师给题目、技术路径,自己主要做实现
3)自己想idea,让老师评估

如何投入足够时间?

1)同一物理时间,只能做一件事;
2)你做的事情,定义了你是什么样的人;尤其当你做选择时:A还是B?
3)成为一个专家需要10000小时(3年全时PhD学习),365*10*3;
4)做出一个solid的工作:最聪明的学生也需要3个月以上的时间,大部分同学需要6-12个月。
客观地说,科研学术只是一条小众路线,并不适合所有人。因为它和做项目不同,做科研付出的成本和收获很可能不对等。
比如一个一心搞research的同学,跟了一个放养型导师,埋头苦干了3年结果没发出一篇A/B类顶会,那硕士期间的产出几乎等于 nothing。
在正式开始科研前,请先认真思考自己的兴趣爱好、性格特质是什么;coding,英文阅读写作能否cover;是一时热血还是真心喜欢research?
想明白了这些,方向就不容易跑偏,剩下的只需要 努力+坚持就可以了!
如果真能在硕博期间在科研上有所建树,毕业时也具备了冲击更高offer的实力(阿里星、腾讯大咖等),甚至可以考虑进入高校继续从事科研工作了。
进技术交流群请添加AINLP小助手微信(id: ainlper)
请备注具体方向+所用到的相关技术点

关于AINLP

AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLPer(id:ainlper),备注工作/研究方向+加群目的。


阅读至此了,分享、点赞、在看三选一吧🙏

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/124493
 
503 次点击