【CCL讲座】如何做NLP科研

学习总结

(1)赵鑫老师:一个合格的硕士生

  • 熟练掌握一门编程语言
  • 3天内(最迟一周)完成一个模型的基础开发
  • 熟悉机器学习基础
  • 可以用白板给大家推公式
  • 能够快速解决本领域之前没做过的任务,保持开放心态
  • 能够独立发表一篇相关论文:研究生的精髓贵在”独立做科研”,低年级要多投会议
  • 最高境界:能够带领低年级同学做科研

(2)读论文:
大量浏览顶会论文,确定一个大概喜欢的方向
锁定方向后,大量读论文,确保这方向最近5年的论文都找到,做成列表
反复读该列表的论文,做到弄懂一半以上论文的意思

(3)尝试找idea

  • 定位研究方向(初学者不建议选小众方向)
  • 研读相关论文的introduction,做到基本了解每篇论文的动机
  • 读related work,比较不同研究工作的差别
  • 聚焦在几篇非常熟悉的论文上,模仿上述过程,找出问题
  • 也可以从数据出发,运行已有模型发现问题
  • 将它们存在的问题进行建模或者定义,琢磨是否有科学意义

(4)建立模型

  • 初学者要做到模仿和迁移
  • 聚焦某一类模型的解决方案
  • 杜绝启发式规则的方法,但可看如何将规则数学化、通用化

(5)设计实验

  • 重点验证所提想法的新颖性
  • 适当辅助定性的例子进行说明
  • 实验过程认真严谨,敢把代码和数据公开

文章目录

一、赵鑫老师

人大大佬赵鑫老师。
(1)推荐阅读gpt2,和gpt3的introduction

1.1 什么是科研

科研:在特定领域发现问题,解决问题。
以NLP为例:

  • 早起是以规则方法为主要方法,关键是如何发现规则
  • 后来,变成以统计方法为主要技术,如何获取预料,如何减少数据稀疏问题
  • 接着,机器学习流行,变成如何提取特征
  • 现在,深度学习流行:
  • 如何从大规模预料训练神经网络
  • 有效的词表示;有效的架构设计;有效的知识融合;有效的训练方法

1.2 如何做科研

(1)如何选题

选题其实非常难,需要对一个领域有很深的积累。
初学者比较笨但是正确率高的方法:

  • 关注目前顶级研究机构的工作
  • 关注目前主流模型在数据集合上的效果,并且分析

(2)如何读文献

如何参考文献
参考看顶会的论文题目是什么,确定题目后,如何参考文献:

  • 从中文综述入手找到合适的英文论文,在知乎等平台、google scholar判断论文的权威性;
  • 从顶级期刊、会议ccf等找论文
  • follow优秀研究人员,再找其论文

我对NLP和推荐系统感兴趣,找了下推荐系统国内做的好的组:
清华 唐杰团队 马少平团队 崔鹏团队
计算所 程学旗研究员团队
北航 庄福振教授团队
中科大 何向南教授团队
人大 文继荣教授团队
具体成果搜老师的谷歌学术或者上课题组主页

如何读文献
赵鑫老师第一次读paper读了一周,建议:

  • 先阅读知乎、公众号的概要性介绍文章
  • 积累【领域单词】
  • 找到相关前继论文,仔细筛选保留最小核心集合

(3)如何建立模型

  • 从工具使用入手熟悉模型的输入输出,再逐渐了解模型背后的数学原理
  • 对于特定问题进行模型改进
  • 掌握一套硬功夫

(4)如何设计实验

对实验结构的分析非常重要,分析为啥不好,有啥现象可总结,模型是否使用。

(5)如何写论文

(1)基本语法过关:
找出研究领域内的高频词、常用词和通用词
做一次系统性的语法学习(高中程度即可)

(2)大量阅读论文
摘抄经典句子、通用句子、优美句子
先不看摘要,练习复写摘要

(3)确保论文逻辑清晰
要写清楚先讲清楚,不会出现逻辑的突然转折、不清楚等问题

(4)第一轮草稿可以复用一些积攒的句子,形成固定句式,减少重复写作

1.3 日常内功修炼

(1)读paper:

(1)知乎微博上的学术帖子
(2)锁定几个学术期刊,有更新必读感兴趣论文的摘要,如RecSys顶会出了后第一时间读一读各个标题和感兴趣论文
(3)研究生每周要精读3-5篇论文(不论时间多紧张):

  • 记住作者名字、题目
  • 清晰说出这篇论文的毛病、贡献
  • 清晰说出和该论文类似的若干篇论文
  • 清晰说出该论文的技术细节、实验细节
  • 能够想到该论文在自己的研究题目下如何应用

(2)机器学习

学习知乎等的对模型的讨论
经常参加学术报告,预习讲者之前发表过的论文,当场提问
系统学习一本机器学习书,看不懂就:天天看、想、推、搜索
系统上过一门机器学习公开课
以数学推导写出简单的note为最终理解
以代码实现为最终掌握

(3)写代码

熟练掌握一门语言,做到一般难度的模型在3天内可以复现
切记不要自己乱写

  • 从一个成熟的工具包或代码库入手,良好代码风格
  • 做到代码复用
  • 做到代码开源,结果复现
  • 代码很难写?多看别人代码,天天写

(4)观察数据、收集数据

  • 需要对数据敏感,清晰快速地了解一个数据集合和自己当前任务的关系;
  • 预判一个方法在在一个数据集合上的正确结果
  • 需要多个数据集合验证,不能看着数据集合调参
  • 能够发现实验中的问题,总结实验中的规律

1.4 深度学习

系统上一门课、读技术帖子、模型解析文章
多读论文和源代码

  • 关注数据表示
  • 分布式表示,word2vec,glove
  • 预训练:BERT、GPT-3
  • 关注基本网络架构
  • CNN、RNN、transformer、BERT
  • 关注相关技术
  • 强化学习、GAN、自监督学习
  • 关注顶级学者和机构工作
  • Facebook AI
  • google research
  • deep mind
  • 国内外高校研究组

二、立波学长的分享

哈工大学长:

2.1 调研

(1)初次相识某个领域:
中文期刊综述
中文博客(知乎、公号、博客等)和github

(2)深入了解:
顶会survey、顶会tutorial、paperwithcode

(3)定点突破:
直接follow该领域做得最好的学者或者机构

2.2 经验分享

(1)透彻的调研课题
(2)逐层分析法:从数据和模型等层面解耦课题,分别找到目前的问题,然后提出自己的解决方法
(3)不局限于实验数据,真实落地的场景更值得探索和关注

三、浅谈Rebuttal

复旦博士学姐(DISC实验室)的分享
rebuttal是一个交流的机会。

【CCL讲座】如何做NLP科研

; 四、NLP的实验工作

清华大佬丁宁的分享:

(1)研究流程:

【CCL讲座】如何做NLP科研
(2)实验,对比,分析结果,验证假设。

(3)SOTA并不是全部

(4)不要重复造轮子,代码模块化

【CCL讲座】如何做NLP科研
(5)对实验进行记录,清楚自己在做什么
【CCL讲座】如何做NLP科研
(6)不要隐藏论文的limitation。

五、面对学术的低谷期

东北大学NLP学长李北:

【CCL讲座】如何做NLP科研
贵在坚持、保持好乐观心态。
【CCL讲座】如何做NLP科研

; 六、讨论时间

(1)如何和同行合作:
合作者可以互相弥补(idea支持、实验实现等工作分配);一开始说清楚contribution

(2)论文的画图,工具忘记了。。

附CCL研讨会时间:

【CCL讲座】如何做NLP科研

Original: https://blog.csdn.net/qq_35812205/article/details/121706341
Author: 山顶夕景
Title: 【CCL讲座】如何做NLP科研

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/544595/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球