既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
读博后写青基的时候,写青基的时候刻意的思考了,我如何写,才能引导审稿人理解我的本子,评审人读了以后才会觉得我的本子重要。
其实在做博后期间科研的很多方面都得到了提升,当时留校的师兄指导我的时候也经常说,感觉我进步很明显。这体现在很多方面,但是对我来说最明显、我觉得最重要的科研能力是:学会站在读者的角度思考和展示问题。
1,汇报工作的时候按照读者最容易理解的逻辑汇报工作,不要按照自己工作的编年史汇报。
我发现师弟们汇报工作时非常容易犯的一个错误是,按照自己做工作的逻辑顺序汇报工作,这是一个汇报工作时非常典型的错误!比如,有一个师弟的课题是制备一种压缩性能很好的材料,他是这么按照自己做工作的顺序汇报工作的:1,我先按照这个制备步骤制备了材料,最后发现结构不稳定,失败了;2,我觉得是温度不对,其他条件不变,我经过一系列调整后发现跟温度没有关系;3,后来我发现跟原料有关,有一个材料的原料某某性能不达标,我换了另一个厂商的材料,实验步骤一样,现在结构稳定了;4,然后我做了压缩实验,发现压缩性能不好,我觉得可能是材料配比不对;5,我调整了材料配比,还是用的原来的实验步骤,发现提升有限;6,其他实验步骤不变,我只改变了某某步骤,性能没有提升;7,我最后终于发现,其他步骤不变,通过修改某某步骤,现在拉伸性能很好了。
这样汇报工作,导师是非常抓狂的。你前面汇报一部分说不行,导师帮你分析半天为啥有问题,然后你说你又改进了。在你汇报第七个之前,老板都觉得,你这俩月白干了,都是无用功,最后你才说你成功了。一共两个小时的汇报和讨论,你有一个半小时都在展示为啥以前失败了,在你汇报你真正有用的结果之前,你已经挨骂一个多小时了。
汇报工作应该按照这个工作本身的逻辑顺序汇报,而不是你做这个工作的思路。你应该讲你最后成功制备的方法,至于前面失败的,你根本不应该讲。如果非要讲,在最后简单提一下制备过程温度、原料、配比如果不对可能是什么结果就行了。
这是我遇见的初学者汇报问题最常见的问题,分不清楚重点。一定要记住,你汇报工作的重点,不是你做这个工作最耗费时间的步骤!应该站在读者的角度,如何汇报他最容易理解你的工作,哪一部分是他关心的重点。
2,汇报问题的时候,别人最终理解的意思,应该是你想要表达的观点。
你说出来的话,应该是你想要表达的意思;别人听到你的话,也应该理解成你要表达的意思。说话要准确,没有歧义。
讲一个我整理文章过程中跟老板汇报问题时遇见的一个尴尬的事情。有一次导师让所有人五到十分钟简单汇报下近期的工作进展,我当时文章写完给师兄帮忙修改了,师兄觉得我们这个工作虽然说清楚做的是什么了,但是写的比较平铺直叙。如果想投个普通期刊问题不大,不过想要投top期刊的话得再包装下,尤其是创新点,得让人觉得必须尽快做这个工作,迟一步都是损失。
然后我跟老板汇报的时候想着含蓄、谦虚一些,跟老板说:师兄觉得我写的创新点不太好,想要换一个写法。
导师一听怒了,说:你都博士毕业了!创新点是啥你还不会提炼?
我都懵了,我不是这个意思啊。我会提炼啊,不过我以前最好的文章也才二区啊,我文章只能写到这个水平啊。师兄发了好多top期刊,师兄觉得这个工作也能发top期刊,但是我这个文章写的达不到top期刊的水平。我的意思是我提炼的只有良好的水平,师兄想让我试试优秀啊。
这个就是一个很典型的例子,我本来想要表达我想写的更好,但是导师理解为我写的就是个垃圾。我都等着被表扬精益求精,态度认真了,结果被老板误以为狗屁不是。
有时候,谦虚也不一定是好事儿。
3,你要引导读者,按照你预设的目标去理解。
这里我再举一个我读博后时的例子。我们老板做科研的思路是,你想盖一栋楼,你得先研究清楚砖块儿、钢筋、水泥等等的性质,然后钢筋和水泥混合,砖块儿和水泥混合,钢筋、砖块儿和水泥混合都研究清楚,再然后搭架子等等等等,你不要想着上来啥也不清楚就直接盖房子,你得一步一步自下而上的做。
这是我老板做科研的习惯,一定要搞清楚基础的内容,从基础到复杂。如果你上来就做一些复杂的问题,里面会有很多简单的基础问题还不清楚,你对整个问题的认识是不清晰的。这也会导致你的研究方向不牢固、不连续、不系统。就像你盖房子,你用的砖块,钢筋,水泥的性能好不好你都不关心,你盖的房子很容易是个空架子,一碰就碎。
但是,这是一个优青或者杰青应该考虑的问题,因为他要在一个方向上逐步深入的做出来一系列问题,在这个方向上留下你的名字。但是我不是啊,我甚至都没想要评正教授,我就想混一个副教授而已啊,有了副高职称我好搞项目,搞横向啊。我不要求在某一个方向上做出来很系统的工作然后去拿帽子,我就想要搞几篇好文章,然后我好找工作、评副高、申项目啊。大牛们盖房子是要流芳百世的,自然需要搞清楚方方面面,我盖的这个只是个模型、是个艺术品就行。我也没有能力把这个推广为行业标准的建筑模范啊。
按照老板的思路,我应该做一些基础的问题,但是我跟几个师兄讨论了以后一致认为,这个方向基础的问题发不了啥好文章。想要发好文章,就需要有一个花里胡哨的创新点,这个方向上别人的做法好多都是直接整一个复杂的模型,因为复杂模型里面花里胡哨的机理有很多,随便整几个花里胡哨的点就能使工作看起来很漂亮。但是,这个不能给老板说啊,老板会认为你科研态度不端正,你这么搞科研其实只是得到了一大堆结果,但是并没有把这个方向给搞清楚,搞透彻。
最后我怎么解决的呢,我基础的和复杂的都做了,当然我主要精力肯定放在复杂的模型上,基础的模型我只做了一个框架,主要的数据和分析有了,但是我没有系统、细致的做。然后我汇报工作的时候说我最近做了很多工作,所以一起做一个简单汇报。
然后呢,我讲不能发好文章的那个基础工作时,我就一直在强调因为时间有限,所以我就列了一些主要结论,当然还有一些其他的分析和数据我没列上来。其实那些没有列上来的数据,我只是粗略看了下结果并简单分析了一下,看起来合理,我也知道大概是什么结论了以后,我就没有再花时间详细整理绘图了。
然后,我迅速过渡到第二个工作。讲这个工作的时候,我就不再说什么简单汇报的事情了,我就开始详细汇报。并且还时不时的提一下,得益于前面那个基础的工作,这个复杂的工作在某某方面也确实更容易分析了。
等汇报完了以后,老板的印象就是,我两个工作都做完了,但是第一个工作ppt做的不好,很多数据没有列出来;但是第二个工作还是很完整的。
汇报完刚好放寒假,寒假回来后我就说我因为寒假期间不在学校没法补充第一个工作的数据,考虑到第一个工作数据不全,我就先写的第二个工作。现在这个复杂的工作已经发表了,但是第一个工作我还是懒得动笔。因为感觉估计也就能发个EI或者四区,太浪费时间了。
这就是我的汇报技巧。老板的最重要的诉求是,我得从基础做到复杂,这样工作内容就会很清晰、很系统。我的目的是,尽量少做无用功,赶紧发好文章。那我就按照老板的要求,花最少的时间最低限度的完成第一个工作,然后赶紧做我想做的工作。然后汇报的时候,我就引导老师说,我已经基本完成了老板要求的工作,并且引导老板觉得应该先整理我想要搞得这个复杂的工作。
4,写文章、作报告的时候,要根据目标读者的知识背景选择表述方式,让他们注意到你想要表达的意思。
比如,在写文章的时候,我都尽量使用大同行都能看懂的专业词汇,如果出现只有我们这个小方向才使用的专用词汇,我一般都会给简短的解释、引用一些文献使读者也可以去深入的理解相应概念。
比如,如果我有一个结论是重点,我一定要在段首或者段尾等显眼的位置重点强调。在我最早的几篇文章出现过好多次审稿人的误解,我文中明明已经说了的机理,然后审稿人说我没有分析某某机理。这种情况就是我篇幅写的太少、写的有点隐晦不够直接、没有写在显眼的位置让审稿人第一遍读的时候就注意到。一定要注意,文章不是数据的罗列,所有结论都要重点总结,让他不需要看第二遍就能注意到;文章逻辑性要强,不要让审稿人读了以后还得分析你到底啥意思。现在我写文章的时候,就会专门去想,审稿人看了以后,他会怎么理解;我怎么写,才能让审稿人更容易理解我的问题。所以现在我收到的审稿意见,已经很少出现,我明明讲了的观点,但是审稿人说我没有这方面的研究了。
姑且当作一个回忆贴写写私货吧 最近的确挺有感悟的
在科研的起步上 我绝对是落后很多的 本科英国没有机会科研 硕士金融也没接触科研 读博士也是第二年才开始科研 这使得我看到其他牛人各种本科就发数篇NIPS获奖无数 (尤其是stanford CS的中国人 基本入学前就满足毕业要求了)而总有种格格不入的距离感 因为到博二为止 我的路和优秀的同龄研究者太过不同
然后遇到了我的博导 一位年轻的rising star 做了半年的研究发了NIPS 一下子赶上了所有同校做机器学习的同学 当时的工作是信息论方向一个线性模型 理论复杂又实用意义不明
这是我第一次加速 主要打磨了自己的学术能力 完全是靠选了个好导师
按照这样的速度和方向 接下来三年又做了两篇顶刊 包括Annals of Stats 意味着这次加速从零文章到5年3篇 但我没有满足于这样匀速的走完博士生涯 也不想一直做线性模型
第二次加速是换了赛道 做差分隐私 这是一个兼具数学理论和工程难度的方向 关键是领域纵深大新方向多 所以一开始先从理论方面入手但是同时锻炼自己的工程实现能力
其实现在看来做的代码很简单 核心也就40行
但是架不住领域真的年轻 我做的时候深度学习的隐私才开始了两年 所以我的代码融进了pytorch和tensorflow库里
而第二次加速对我最重要的影响就是对事业的塑形 包括我后来去MSR总部实习以及毕业加入Amazon AI都是靠差分隐私
理论和代码只是工具 有了就行 慢慢打磨 但不能被工具所限制 不然只能做machine learning engineer
第三次加速是独立所带来的学术眼界 从博三开始就有一部分课题是自己构思自己写 不带导师 虽然前期文章质量会比有老师指导时低很多 比如从NIPS级掉到了ECML级 并且中间发生了几次文章证明写错了必须撤稿修改的情况 但熬了一年质量就慢慢恢复了 这段时间通过不断的写作和选题 对我的选题品味和洞察力进步是最重要的 一个明显的感觉就是科研思考终于完整了:跟老师做 只要想how就行了;自己做 要想what课题why做这个 关键是这三个还不是顺序想一遍就完了 而是不断往复才能形成自己的体系
确定了what 先要说服自己why 然后找工具how 结果不够好 又要问why 去参考前人的工作也要再理一遍what/why/how…….
其实也有一点唏嘘 那就是读博真的不易 很多同学由于各种原因 无法得到好的指导也没有好的课题 博四博五一篇paper没有的很多 通过自己构思课题去和这些同学合作 对我们是双赢的局面 按下不说了
第三次加速有一个直观的变化就是paper数量多了很多 毕业时18篇文章大概有一半都是自己构思的
至此 我通过三次加速磨练了(1)理论基础(2)代码能力(3)独立研究 总归是软件的提升
第四次加速就是入职业界研究岗了 这是一次硬件上的加速 资源上算力翻了10倍 从原本一块GPU都没得用到8块A100 从毕业前最多做几百万个参数的模型到现在十几亿个参数 明显感觉到做的研究impact越来越大 也让我领会到平台的重要性
业界的研究 或远或近会有一个产品的目标 而走向产品的路是一个全方位的系统工程 从数据到优化器到模型到部署 和博士研究的单点突破不同 你可以参与到所有环节 有些环节你擅长你领导 别的环节有最擅长的人可以向之学习 既可以加速看家本领的锻炼 又可以拓宽不同的赛道 以前一年才能做出来的事半年就能做好
展望一下未来的话 下一次加速应该在于管理
当个人能涌现大量优质idea并掌握了实现idea的技术和资源后 时间必然成为短板 今年从实习生开始 慢慢扩大自己的队伍吧
0、我应该没有过突飞猛进,有的只是积累和量变
1、以前进展比较慢,主要有两个问题
一是不熟悉整个儿内容;
二是因为不熟悉整个内容,所以只能进行独立方向上的单点爆破,导致没法儿进行互通和迭代
2、后来随着钱的充裕、技能点开花、以及单纯的点点之间不断的连线,现在有了两张互相关联的网
很多事情就快起来了
做的数据多了,好坏对比,故事性就很突出,做起来就比较顺手
以前挖的大量的坑现在可以用地道连起来,于是方向感强了很多,而且可以开更多的小方向
还有就是到处挖坑后,有了鉴别能力,挖到的是鹅卵石还是矿石,心里有了谱儿
现在手里经验证的想法儿大概有了二十多个,后面就是按部就班的汇成论文和专利了
不过这个过程化的时间太长了,十年多了,而且还需要机缘巧合,所以可能不具有普适性
有几个特殊阶段,进步比较大。
1.找到第一个基础点的时候。对研究的方向第一次看到了概念与现实重合。这个第一基础点的确立,会影响深远。
因为,第一次看到现实是这么一个情况,对研究产生了明确的信念与悸动。
这时,不再盲目徘徊,而是真真切切体验到研究的快乐与现实重合的真实。
接下来,就会根据这个第一基础点,开始扩展,速度比较快。
是第一个快速进步的阶段。
2.第二个阶段,是基础框架的知识网形成的时候。大部分研究者,一辈子都不会形成知识网。因为,没有这个概念与方向。
知识网,是现实重合概念,每一个点都是渗透的清楚掌握。无数基础点,互相的关系都摸透的时候,整个网络形成,如同天网。
一旦碰到新事件,直接纳入这个网,瞬间就清楚如何定位。节省时间,一眼看透的能力就是这么来的。
知识网的形成,是积累,也是实事求是的过程。一点点假都不能有。逻辑理解就更不可能有了,那是忽悠。只有落地的真相一步步被观察发现,才是真网。
这时,就会第二次突飞猛进,无论看多少资料,都会一眼看透本质。迅速吸收正确的内容,加入扩展网的范围。
3.突破期。前面是准备。基本达到了现有前沿顶峰。现在开始每一步都是未知,就会出现停滞期。时间浪费的比较多。
如果能发现蛛丝马迹,突破就会突然出现。然后,新的版图就会逐渐被探测出来。迅速第三个突飞猛进。也是顶级研究者的确立期。
后面就是重复第三个。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
362qJW-1715724472054)]
[外链图片转存中…(img-c1vpeDGI-1715724472054)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新