经验谈
Author:louwill
Machine Learning Lab
时光荏苒,从2017年参加工作以来,到现在已经是第五个年头了。从一开始的数据分析师到后来的数据挖掘工程师,再到如今的深度学习算法工程师,基本上数据和算法领域的大部分工作和技术方向都有所涉及。
这些年的成长历程可点击:
一个统计方向毕业生的2017年数据科学从业之路总结
数据分析入行半年之经验、感悟与思考
一个统计数据人的职业生涯第一年
2019上半年,我成为了一名深度学习算法工程师
2019,算法工程师第一年
机器学习实验室的一点年度小结
自从今年公众号开通了一对一的技术咨询服务以后,已经有很多读者找过我聊各自的问题,诸如职业规划、技术方向或者具体的算法技术问题。很多朋友都会问我在工作之余是怎么学习的。今天就简单来跟大家聊一下这个问题。
我在之前的一篇男人30岁,不该有暮气中,曾提到从大多数人的技术水平随时间变化应该是这个样子:
数据科学和人工智能算法行业是一个高速迭代和日新月异的行业,选择了这一行,终身学习的状态是没跑了。那么在随着年龄的增长、工作年限的增加、生活琐事的干扰以及偏向管理岗位的情况下,如何让自己保持学习的状态,系统化的读一些书呢?
下面就我个人的情况谈一下。不具有普适性,仅供大家参考。
第一个呢是要有一个好的身体。俗话讲身体是革命的本钱,保持身体健康和精力充沛是技术人的一个基本盘。我个人身体虽然不算有多好,体质也一般,但得益于这些年的时常的爬山跑步打球,总之还算不错。但一些小毛病也有,比如像甲状腺结节,虽然良性结节,也得保持半年一次的复查。
很多朋友本身在互联网工作,节奏一般996,本身体质不好的话,上班时间精力就耗尽了,下班回到家只想躺平,读书和学习根本是无稽之谈。所以,保持一个好的身体,日常不要太宅,该锻炼锻炼,上班时间做好精力管理。这是第一位的。
第二个方面说一下技术学习方法。可能每个人都有自己喜欢的学习方式和习惯,但基本方法应该不会差太多。技术学习分两种情况,一种就是在工作实践中的学习,做项目写代码跑模型,这其中肯定不是一帆风顺的,在这个过程中,你通过团队力量、他人带飞或者个人摸索最后完成一个任务,最后来个技术总结记到你的小本本上,这个过程就是你技术学习飞速成长的过程。这个不多说,我们每个搞技术的人,每天都会处于这种环境。
另外一种呢就是针对某个技术方向或者某门编程语言,自己看技术教材、看官方文档、看视频课程,来系统化的掌握某项技术的过程。这些方向可能是你入门初学、也有可能是你工作过程中新接触到,反正就是学。技术教材一般都是大部头,大部分人都是心血来潮翻一翻,真要一本三四百页的技术书从头看到尾,没有大把的时间和强大的毅力,一般人都肝不动。
所以,我一般讲把一本技术书从头读到尾,对于工作后的大部分人来说,都是下下策。各位读者,里面之中有几个人是把《统计学习方法》和花书《深度学习》完整的看过一遍的?
技术教材不好读,大家一般都会选择看视频课来学习。这确实是一个好方法,现在网上的视频教程也非常多,但也良莠不齐,选择好的教程也很重要。我日常视频学习一般就是coursera,这也得益于对吴恩达的信任,虽然每次都是一周学完快速白嫖。当初从数据挖掘转向深度学习,就是因为系统性的学了吴恩达老师的深度学习专项课五门课,得以顺利转入深度学习领域。这几年在coursera上学了不下十来门课,是我个人技术成长的一个重要来源。coursera每门课程学完,并且作业都通过的话,都会有一个官方证书,类似于下面这样:
第三个方面就是动手实践。技术学习不是干看书和视频,很多时候都要自己动手操作,实际编码的。建议大家建一个个人的代码库,个人做的比赛、刷的算法题、参加的项目总结或者是个人日常代码练习,都可以总结到里面。假以时日,就是水滴石穿之功了。所以,Talk is cheap,show me the code。
最后谈一下读书的方法。这里不是指读技术书,技术书我们上面已经谈过了,这里指的是纯粹的图书阅读。我工作前两年,注意力基本都放在技术提升上,很少去看之前自己一直喜欢的历史文化人物传记相关的书。从去年开始,逐渐把读书习惯重新塑造起来。
今年四月份以来,以每周一本书的进度开始阅读,累积已读完17本书,所读数目以历史文化、人物传记为主,根本目的都是为了提升个人认知,加深对这个世界的理解。所读书单如下:
怎样做到一周一本书的节奏呢?最主要的是利用好碎片化时间。用kindle读,每天食堂排队、通勤时间都可以拿来读书,按照一本400页的书,正常阅读时间也就15个小时左右,一周之内,把碎片化时间利用起来,再周末挤一点时间,是完全可以读完的。读完之后写一点读后感,长此以往,给人带来的认知和精神变化是质变的。
今天先就写这么多,文不尽言,只谈几个大的方面,还有很多值得一提的方法和经验,限于篇幅就不多说了。有什么问题,欢迎各位读者留言。
往期精彩:
Swin-UNet:基于纯 Transformer 结构的语义分割网络
Swin Transformer:基于Shifted Windows的层次化视觉Transformer设计
TransUNet:基于 Transformer 和 CNN 的混合编码网络
SETR:基于视觉 Transformer 的语义分割模型
ViT:视觉Transformer backbone网络ViT论文与代码详解
【原创首发】机器学习公式推导与代码实现30讲.pdf
【原创首发】深度学习语义分割理论与实战指南.pdf