从零开始的NLP科研(持续更新)

都说万事开头难,良有以也。

本人目前大一暑假,跟导师做科研。本人纯科研小白,所以想在博客上记录一下自己从零到一的科研经历。一来是可以给其他入门的同学分享学习的心得,同时也避避坑,;二来也是可以给自己每天做个复盘记录吧。

怎么找到科研的?

本人大一一进来,也是对科研实习一窍不通。那时一心想卷绩点,就把时间花在课内的比较多。这导致实践的时间比较少。到了大一下期初,我感觉到光卷绩点边际递减效应太明显,而缺乏科研实习经历,所以想找点课外的事情干。实习干不了(毕竟也没有技术,没有企业要我),于是我便想从科研搞起。

所以我给大一上上导论课的导师写了封推荐信(他搞NLP的)。我先是在网上了解了一下实验室的情况,然后在信中问了:1.目前研究方向,2.有没有什么活可以干的,3.干活需要什么知识。并且信里面还贴上了大一上的成绩。

可能是因为大一上成绩比较好,导师第二天就和我面谈了。于是和导师简单聊聊之后,他安排了一个大四的师兄带我入门。他帮我规划了学习路线,说我按着这个路线先学着,然后学完差不多就可以跟他们做项目了。

(这个是我当时写的总结)

然后大一下就是跟着这个路线走了。但是由于课内真的比较繁重,大一下结束的时候也就刚刚把Python自学完了(笑)

 然后就到了暑假,开始正式入门了。

暑假正式开始入门

终于到了暑假,有整块的时间搞了。这是师兄安排了一个新的路线:

人工智能学习 (notion.site)

于是我就正式开始了我的科研入门。

我先看的是鱼书

总体评价:

这本书真的是从零到一开始讲,很详细,很适合像我这样的小白。此外封面的鱼长得是真的好魔性hhh

 学到了什么:

重点读了这些:

他一开始从Python基础开始讲。这部分由于我学过,就很快的过了。

然后讲Numpy和Matplotlib这些基本的库。我也跟着书上的代码敲了一遍,感觉不太难。

然后它从单层感知机讲到多层感知机,神经网络的架构。这是我看这本书的重点。大部分我都理解了,也跟着书上的代码跑了手写数字识别,自己改了点hyperparameter。至于反向传播算法还是没有太搞懂。不过我也跳了(因为用pytorch的有个backward真的是太香了)

还有看的比较多的是不同的optimizer算法。包括SGD,Momentum,Adam这些。期间Monentum不太懂,还去和实验室的师姐交流了一番。

CNN的架构和实现。

略读了这些:

权重初始化,Batch Normalization,正则化。

深度学习的那一个章节。

这些略读,一来是当时看不太懂,二来看懂了也不太会用。而如果不用的话,很快就会忘记,学了和没学一样。所以我想先学一下架构,然后知道这些细碎的知识在整个知识体系的什么位置,最后再在实践中把这些知识拼上去就可以了。(事实证明的的思路是正确的)

此外,在这个阶段还踩了个坑:

一开始我真的是从Python开始,然后用pip install一个个把库安上去。我配了好久,还遇到了各种各样的问题(说多了都是泪)。那时候还不知道可以Anaconda,也不知道可以用google colab白嫖算力和环境。(所以让我重头来一遍,我肯定不会傻傻的从零开始配环境)。大家千万不要学我orz

在这期间还帮忙实验室师兄调了调代码。好像是他一个论文要发表,然后他的代码有一些消融实验.所以让我先读他的论文,然后跟着他的论文把代码消融实验都去掉,最后能跑就可以。但是弄懂论文就花了我好多的时间,而且那个K临近算法我也不是很熟,所以我只将论文做了摘要,最后调代码还是师兄帮忙做的……(惭愧)

鱼书学完后,我就开始听李宏毅老师的课程

学到了什么:

0.学会了用google colab来白嫖算力(还不用配环境)

1.了解了多层感知机,跑了一下作业的代码

2.了解了不同的optimizer

3.了解了CNN,跑了一下代码

(其实到上面的也都是鱼书的深入讲解,只是加深了我的印象,并没有什么新的东西)

与之并行的还有读经典论文

先后跟着李沐读了AlexNet和ResNet。感觉他的三步读论文方法还是很棒的。

(P.S. 一开始读英语论文是真的折磨,专业名词要一个个查意思。刚刚上手很折磨,但是后来我也就看开了:就当六级英语阅读吧)

读论文的心得体会:

说实话,读论文我感觉和英语好不好没有太大关系。论文主要的难点是:1.专业名词看不懂。2.论文内容难理解(就是说,给你翻译成中文你也看不懂hhh)。这两个难点和英语好不好真的关系不大 orz

对于这两个难题,我的解决方案是:对于第一个,我感觉是多看几篇,专业名词自然而然就熟悉了;而第二个,结合一些他人写的博客来看,也就好理解了一点。

目前的科研体会就是这些。

(写博客的体会:我发现写博客能梳理一下自己的工作,更有成就感;也可以帮自己理清知识。所以以后会时常把学习的收获放上来)。

2023/7/31

今天李宏毅的课程上到了Self-Attention和Transformer。这时候我开始懵了。于是我就去看原始Transformer的论文。发现还是难以理解。

于是我就到网上查资料,找到了一篇很好的文章:

超详细图解Self-Attention - 知乎 (zhihu.com)

今天还了解了一下什么是embedding:

embedding是什么 - 搜索 (bing.com)

然后今天还发现了一个讲人工智能科普的宝藏up主:

很适合人工智能入门! 大家快去关注她! orz

2023/8/11

暑假去玩了一段时间,现在回来继续科研,发现一些东西忘了,回去看其他人的博客。

复习ResNet的时候,发现一篇讲为什么需要残差连接的文章,讲的挺好的:

【模型解读】resnet中的残差连接,你确定真的看懂了? - 知乎 (zhihu.com)

以及附上我在听李沐讲论文的时候做的笔记:(第四行漏写了一个“0”,应该是approach 0)

然后今天还在接着看Transformer的论文。一边听李沐的课,一边看原始论文,一边找别人的博客来理解。今天看的有:

Transformer - Attention is all you need - 知乎 (zhihu.com)

以及:

(5 封私信 / 18 条消息) 深度学习attention机制中的Q,K,V分别是从哪来的? - 知乎 (zhihu.com)

这个绝对是我见过对Q,K,V最直观的解释了。

(强烈建议大家在看transformer之前先 搞清楚Q,K,V矩阵代表的含义,会好理解很多!)

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值