极市导读
大家好,我是Giant。最近知乎上有读者提问,被导师散养,想要自己入门深度学习该如何分配任务?下面作者将从大厂面试官考察一个同学的角度,来「倒推」深度学习应该怎么学。 >>加入极市CV技术交流群,走在计算机视觉的最前沿
大家好,我是Giant。 最近知乎上有读者提问,被导师散养,想要自己入门深度学习该如何分配任务?
看到这个问题我看见了3年前的自己。我的导师是浙大最年轻的博导、副教授,学术大牛。不过工作太忙,平日神龙见首不见尾,我的学习主要靠自驱。
经历了研一到研三的学习,我对自己的深度学习路线做过系统性总结。在校招薪资逐年倒挂的背景下,希望可以帮到更多对AI真正感兴趣的同学。
下面我从大厂面试官考察一个同学的角度,来「倒推」深度学习应该怎么学。
俗话说基础不牢,地动山摇。无论从事NLP,CV,ASR还是广告推荐搜索,理论部分的学习是同学们需要迈过的第一道坎。
由于深度学习是机器学习的重要分支,建议大家上手深度学习前,先了解一下传统的统计机器学习算法。
网上关于ML/DL有很多权威的学习资料,这里分享一些我实际学习过的靠谱资料(网课视频都可以在b站上搜索到):
亚马逊首席科学家沐神在b站开课啦!
在“跟李沐学AI”专栏,沐神用中文解读了斯坦福2021秋季的实用机器学习课程,最近还新出了“读论文”系列,像Transformer、BERT、GAN等经典paper,都能听到细致通俗的解读!
强烈推荐的理论结合coding的机器学习入门资料,虽然报名通道已经关闭了,你仍然可以访问下面的链接进入学习。
https://www.kaggle.com/thirty-days-of-ml-assignmentsKaggle是一个非常棒的ML/DL学习平台,有非常成熟的开源生态,初学者一定要记住这个网站哈!
Kaggle还为用户提供了免费的GPU计算资源,16G的Tesla V100 每周免费用40小时。详细教程可以参考之前的推文:实验室一块GPU都没有怎么做深度学习?
除了AI理论,一些计算机相关的基础知识也十分重要。
很多考研CS硕士的同学都经历过计算机408统考,这4门课程中建议首先掌握“数据结构”,因为它和算法工程师的日常工作最紧密关联,也是面试中提升coding的必备内容。时间充裕的同学,建议你看看浙大陈越姥姥的数据结构专题课,内容很全面。如果时间紧,建议趁早开始刷leetcode和剑指offer,边做题边巩固常用的数据结构。
操作系统、计组、计算机网络这几门课当然也很重要,但是从算法学习角度看,优先级低于数据结构;可以在整个硕士期间穿插着学习。
除了学理论、做项目,算法比赛也是非常适合新同学入门的选择。当然比赛有难易之分,如果你刚接触深度学习,建议从最基础的任务做起。
比如对于机器学习而言,Kaggle平台的Titanic生存率预测就是非常经典的竞赛项目。把这个比赛完整做一遍,你能学到数据准备、数据分析、构建模型、预测输出整个链路的内容。
如果从事NLP研究,建议从文本分类、匹配、NER等底层任务开始练习。参赛过程中,主动学习其他优秀选手的baseline和top方案,也是让自己进步的高效选择。
除了Kaggle,主流的算法比赛平台还有阿里天池、DataFountain、Biendata、DC竞赛、华为云竞赛、讯飞开放平台、FlyAI等。
如果你觉得一个人做比赛很难坚持,还可以加入我们的交流群,和志同道合的同学一起抱团,比单人solo进步更快哦。
还没进群的朋友,欢迎加我微信cs-yechen
开展科研工作是深入掌握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的实力(阿里星、腾讯大咖等),甚至可以考虑进入高校继续从事科研工作了。
如果觉得有用,就请分享到朋友圈吧!
公众号后台回复“transformer”获取最新Transformer综述论文下载~
# CV技术社群邀请函 #
备注:姓名-学校/公司-研究方向-城市(如:小极-北大-目标检测-深圳)
即可申请加入极市目标检测/图像分割/工业检测/人脸/医学影像/3D/SLAM/自动驾驶/超分辨率/姿态估计/ReID/GAN/图像增强/OCR/视频理解等技术交流群
每月大咖直播分享、真实项目需求对接、求职内推、算法竞赛、干货资讯汇总、与 10000+来自港科大、北大、清华、中科院、CMU、腾讯、百度等名校名企视觉开发者互动交流~