当前位置: 首页 > news >正文

科研人必看入门攻略(收藏版)

来源:投稿 作者:小灰灰

编辑:学姐

本文主要以如何做科研,日常内功修炼,常见科研误区,整理日常‘好论文’四个部分做以介绍,方便刚入门的科研者进行很好的规划。

1.如何做科研

1.1 选方向

当我们刚步入科研的第一步时,首选就要选择课题和方向,那么面对实验室很多项目和课题,一般选择方向需要一定的积累,而且很多题目风险性很高,所以要做的就有两个点,一个是多跟老师讨论,还有一个笨方法就是关注一下目前最顶级的研究机构,关注目前的主流模型,他们在做什么,那么我们就可以选择这个方向,并且实时监控他们的科研进展。

那么方向有了,那么就可以关注一些顶级会议的方向:

  • IR(信息检索):人工智能领域智能信息检索方向最权威的顶级国际会议(SIGUIR),国际计算机学会信息与知识管理大会(CIKM)

  • NLP(自然语言处理):ACL,NAACL,EMNLP,IJCNLP

  • ML&AI:NeurIPS

  • DM(数据挖掘):知识发现与数据挖掘顶级会议(SIGKDD)

  • CV(计算机视觉):ICCV、CVPR、 AAAI

  • ……

1.2 查找文献

知道了顶级会议的方向,那么就是如何找参考文献了,选择好方向之后,想要更快的知道本领域的研究内容:

  1. 可以先从中文综述入手找到合适的英文论文

  2. 对知识点的理解,可以借助知乎,csdn等平台巩固知识点

  3. 文献的下载可以使用google scholar,百度学术去查找,一般最新的论文一般百度学术检索不到

  4. 从论文找论文

  5. 从被引论文找相关论文

一般推荐几个网站:

https://paperswithcode.com/ ---查看论文是否有代码的网站

https://www.aminer.cn/ ---由清华大学计算机科学与技术系建立,收录了sci,ccf优秀论文

https://www.semanticscholar.org/ ---语义学者(Semantic Scholar)是由微软联合创始人 Paul Allen 做的免费学术搜索引擎。

当然也可以从本校的图书馆进去查找相关文献。

1.3 读文献

1.那么我们查找了好多文献,下载了很多,读不懂怎么办呢,首先可以和师兄,老师整理一下,本领域的单词,同时也可以看下b站上,有关读论文的一些视频,比如李沐的视频:https://www.bilibili.com/video/BV1H44y1t75x/?spm_id_from=333.337.search-card.all.click

2.平时不断积累本领域的一些方法,模型

3.从论文中找到本论文中是根据哪篇论文中的研究点,解决了哪些问题。

1.4 建立模型

那么论文大概读懂了,怎么落实行动,依靠代码实现出来呢?就要建立模型。初学者建议从工具使用入手熟悉模型的输入输出,逐渐了解模型背后的原理,对于特定的问题进行整理代码。

那么拿到一篇论文,我们要做好复现,对于初学者就是找到有代码的论文,理清从数据到模型一系列的输入输出数据流,选择自己的工具(pytorch,tensorflow)搭建简单的模型框架,这个过程一定要亲自动手,进行搭积木,从而了解模型背后的数学原理,尤其对一些常用的模型了解背后的数学原理,做到魔改,尤其是本方向的特定任务,要非常熟悉,从而进行创新。

1.5 设计实验

一般读论文开始要格外关注实验的设计,评测指标是否选择合理,在跑实验的时候,发现效果不好,要思考,为什么不好,是什么原因导致这种效果,你选择的模型的假设是否和数据有什么冲突,特别是面对效果很好的时候要稍加注意。

不要放弃,如果做不下去,说不定可以找到一些衍生的点。一定要总结,发现问题。

1.6 如何写论文

那么实验有了,要整理实验,准备写论文,写好论文

  1. 首先要逻辑过关,保证基本的语法,找出研究领域内的高频词,常用词和通用词,可以做一次系统性的语法学习

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

  3. 可以先给老师讲清楚创新点,防止出现逻辑的一些突然转折,不清楚的问题。

2.日常内功修炼

2.1 读论文

从大量的论文中,分析出粗读论文和精读论文,一般每周精读3-5篇相关论文。那么要读到什么地步呢,就要从一篇论文回答以下的内容:

  1. 记住作者的名字,进而follow

  2. 记住题目,主要是为了防止可以尽快找到

  3. 要非常容易的说出本篇论文有什么缺点,毛病

  4. 很容易用一句话说出本篇论文为什么新,很容易发表,他的贡献点是什么。

  5. 可以很容易说出和这篇论文有类似的若干篇论文

  6. 很容易说出本篇论文的技术细节

  7. 很容易说出本篇论文的实验细节

  8. 最难的是怎么想着把本篇论文的创新点应用到本方向。

2.2 学机器学习

  1. 没事可以学习机器学习的东西,决策树,SVM,了解其中的背后的数学原理,

  2. 经常参加学术报告

  3. 系统上过一门机器学习公开课

  4. 数学推导写出简单的笔记当作是最终的理解,可以用白板推导。

  5. 以代码实现为最终掌握

2.3 写代码

  1. 必须掌握一门语言,一般难度的模型应该三天左右可以复现

  2. 找一个成熟的工具包或者代码库入手进行拓展,而且练习时要做到良好的代码风格。

  3. 做到复用

  4. 一定要做到代码开源,结果能够复现就好,平时多做积累

2.4 观察数据,收集数据

  1. 可以清晰准确快速的了解一个数据集合和自己当前任务的关系,比如有100个实验,那么就要做100次实验吗,如果能够做到对数据了解,那么里面有的方法可以推翻,不需要做实验,或者做实验的过程中,就可以判断这个方法的好坏,清晰预判一个方法在一个数据上的正确结果,哪些方法可以适用,哪些不适应,自己一定要清楚。

  2. 能够发现实验结果中的一些问题,进而总结实验中的一些规律,多看一些bad case,总结规律。 总结一下,在三年或者四年的学习中,你是否具备了以下条件:
    1.掌握一门编程语言,可以自己动手完成一个模型的主干框架的开发。
    2.熟悉基本的机器学习基础,要做到能够白板推导出来。
    3.掌握自己本方向自己之前从未做过的任务
    4.能够独立发表一篇本方向的相关论文,做到独立科研
    5.能够带领低年级同学做科研。

3.常见科研误区

  1. 不要认为ccf-a,一区的论文就是最好的,要辩证的看法,不要在于来源,学会找准创新点

  2. 不要认为调参能找到好结果,如果是好的方法,调参不应该很艰难

  3. 如果有一组参数效果很好,但是其他组参数都不太好,需要高度注意

  4. 不要把模型弄的过于复杂,要想办法提取核心的创新点。

  5. 不要搭积木,一个好的创新点要好于三个分散的创新点。

  6. 在投稿前都应该问一下,本文在这个工作中解决了什么问题,技术创新是什么,别人读了会有什么收获。

  7. 学会讲故事,营造问题。

4.赏析好论文

可以Language Models are Unsupervised Multitask Learners Language Models are Few-Shot Learners 这两篇论文自己赏析一下,找到好的句子,温故知新。

 关注下方《学姐带你玩AI》🚀🚀🚀

论文资料+比赛方案+面试经验all in

码字不易,欢迎大家点赞评论收藏!

相关文章:

科研人必看入门攻略(收藏版)

来源:投稿 作者:小灰灰 编辑:学姐 本文主要以如何做科研,日常内功修炼,常见科研误区,整理日常‘好论文’四个部分做以介绍,方便刚入门的科研者进行很好的规划。 1.如何做科研 1.1 选方向 当我…...

第5章 循环和关系表达式

1. strcmp()//比较字符串数组是否相等| string 可以直接用“”来判断 char word[5] "aaaa"; strcmp(word,"aaab");//相同输出0&#xff0c;不同输出1; 2. 延时函数 #include<ctime>float sec 2.3;long delay sec*CLOCKS_PER_SEC;long start c…...

Scalable Vector Graphics (SVG)中的svg、clipPath、mask元素

Scalable Vector Graphics (SVG)是一种用于描述二维向量图形的XML基础标记语言。使用SVG可以实现丰富的图形效果&#xff0c;而不需要像使用位图那样考虑分辨率和像素密度的问题&#xff0c;可以在不同设备上展示出相同的高质量图像。 在SVG中&#xff0c;除了基本形状如circl…...

Java基础(十五)集合框架

1. 集合框架概述 1.1 生活中的容器 1.2 数组的特点与弊端 一方面&#xff0c;面向对象语言对事物的体现都是以对象的形式&#xff0c;为了方便对多个对象的操作&#xff0c;就要对对象进行存储。另一方面&#xff0c;使用数组存储对象方面具有一些弊端&#xff0c;而Java 集合…...

安装gitea

1、安装包&#xff08;gitea-1.13.1-linux-amd64&#xff09;上传到服务器&#xff0c;并添加执行权限 链接&#xff1a;https://pan.baidu.com/s/1SAxko0RhVmmD21Ev_m5JFg 提取码&#xff1a;ft07 chmod x gitea-1.13.1-linux-amd64 2、执行 ./gitea-1.13.1-linux-amd64 web…...

Java异常处理传递规范总结

java 异常分类 Thorwable类&#xff08;表示可抛出&#xff09;是所有异常和错误的超类&#xff0c;两个直接子类为Error和Exception&#xff0c;分别表示错误和异常。其中异常类Exception又分为运行时异常(RuntimeException)和非运行时异常&#xff0c; 这两种异常有很大的区别…...

2d俯视视角游戏,可以切换多种枪械

文章目录 一、 介绍二、 人物移动、鼠标控制转向三、子弹脚本四、子弹随机抛壳五、 爆炸特效六、 发射子弹七、 子弹、弹壳对象池八、 散弹枪九、 火箭弹、发射火箭十、 下载工程文件 一、 介绍 2d俯视视角游戏。 人物视角跟随鼠标移动 多种枪械 抛壳效果 多种设计效果 对象池…...

大四的告诫

保研/考研方向就绩点&#xff0c;&#xff08;各种&#xff09;比赛&#xff0c;&#xff08;考研&#xff09;刷题为主 工作就算法&#xff08;比赛&#xff09;&#xff0c;项目&#xff0c;实习为主 &#x1f442; LOCK OUT - $atori Zoom/KALONO - 单曲 - 网易云音乐 &…...

滚珠螺杆在设备上的应用

滚珠螺杆跟直线导轨一样&#xff0c;是很多机械设备上不可或缺的重要部件&#xff0c;它是确保机器能够具备高加工精度的前提条件&#xff0c;因此本身对于精度的要求也相当地高。今天&#xff0c;我们就来了解一下滚珠螺杆在不同设备上的应用吧&#xff01; 1、大型的加工中心…...

Day41线程同步

线程同步 案例&#xff1a;三个窗口卖100张票 //定义一个类SellTicket实现Runnable接口&#xff0c;定义成员变量100张票 public class SellTicket implements Runnable{private int tickets 100;//重写run方法Overridepublic void run(){while (true){ //没有票后&…...

设计模式之享元模式

参考资料 曾探《JavaScript设计模式与开发实践》&#xff1b;「设计模式 JavaScript 描述」享元模式设计模式之享元模式Javascript 设计模式 - 享元模式 定义 享元模式的英文叫&#xff1a;Flyweight Design Pattern。享元设计模式是用于性能优化的模式&#xff0c;这种设计…...

【GAMES101】05 Rasterization(Triangles)

光栅化过程&#xff1a;将一系列变换后的三角形转换为像素的过程。 三角形在图形学中得到很多的应用。 最基础的多边形&#xff08;边数最少&#xff09;。任何多边形都可以拆成三角形。性质&#xff1a;三角形内部一定是平面的。三角形内外部定义非常清楚。定义三个顶点后&a…...

13. Pod 从入门到深入理解(二)

本章讲解知识点 Pod 容器共享 VolumeConfigMapSecretDownward APIEmptyDir VolumeHostPath Volume1. Pod 容器共享 Volume 1.1. Volume 的背景及需要解决的问题 存储是必不可少的,对于服务运行产生的日志、数据,必须有一个地方进行保存,但是我们的容器每一次重启都是“恢复…...

ORBBEC(奥比中光)AstraPro相机在ROS2下的标定与D2C(标定与配准)

文章目录 1.rgb、depth相机标定矫正1.1.标定rgb相机1.2.标定depth相机1.3.rgb、depth相机一起标定&#xff08;效果重复了&#xff0c;但是推荐使用&#xff09;1.4.取得标定结果1.4.1.得到的标定结果的意义 1.5.IR、RGB相机分别应用标定结果1.5.1.openCV应用标定结果1.5.2.ros…...

常量与变量:编程中重要的两种数据类型

常量与变量 在编程中&#xff0c;我们常常需要存储一些数据。这些数据有些是恒定不变的&#xff0c;有些却是可以随时变化的。对于恒定不变的数据&#xff0c;我们称之为常量&#xff1b;对于可以变化的数据&#xff0c;我们则称之为变量。这两种数据类型在程序中非常重要&…...

( 数组和矩阵) 287. 寻找重复数 ——【Leetcode每日一题】

❓287. 寻找重复数 难度&#xff1a;中等 给定一个包含 n 1 个整数的数组 nums &#xff0c;其数字都在 [1, n] 范围内&#xff08;包括 1 和 n&#xff09;&#xff0c;可知至少存在一个重复的整数。 假设 nums 只有 一个重复的整数 &#xff0c;返回 这个重复的数 。 你…...

【学习笔记】「JOISC 2022 Day2」复制粘贴 3

看了正解。我觉得很厉害。虽然用减枝水过去了。 区间 d p dp dp。但是这个转移怎么看都不是 O ( 1 ) O(1) O(1)的。 border \text{border} border 那么 trick \text{trick} trick应该都能看出来。能进行剪切操作当且仅当 s [ l , p ] s [ q , r ] s_{[l,p]}s_{[q,r]} s[l,p]​…...

武忠祥老师每日一题||定积分基础训练(三)

常用的基本不等式&#xff1a; sin ⁡ x < x < t a n x , x ∈ ( 0 , π 2 ) \sin x<x<\ tan x,x\in(0,\frac{\pi}{2}) sinx<x< tanx,x∈(0,2π​) e x ≥ 1 x , x ∈ ( − ∞ , ∞ ) e^x\ge1x,x\in(-\infty,\infty) ex≥1x,x∈(−∞,∞) x 1 x ≤ ln …...

Docker安装常用软件-Apollo(有问题)

零&#xff1a;apollo概念介绍 官网网站&#xff1a;GitHub - apolloconfig/apollo: Apollo is a reliable configuration management system suitable for microservice configuration management scenarios. gitee网址&#xff1a;mirrors / ctripcorp / apollo GitCode …...

f(x)与|f(x)|,f ‘ (x),F(x)常见关系。

1.f(x)与|f(x)|关系。 1.连续关系。(f(x)在"[a,b]上连续" > |f(x)|在"[a,b]连续") ①如果f(x)在[a,b]上连续。则|f(x)|在[a,b]上连续. &#xff08;因为f(x)在x0的连续点>x0必为|f(x)|的连续点&#xff09; 注&#xff1a;”[a,b]连续“包括&#…...

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…...

Admin.Net中的消息通信SignalR解释

定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)

文章目录 1.什么是Redis&#xff1f;2.为什么要使用redis作为mysql的缓存&#xff1f;3.什么是缓存雪崩、缓存穿透、缓存击穿&#xff1f;3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具

文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...

短视频矩阵系统文案创作功能开发实践,定制化开发

在短视频行业迅猛发展的当下&#xff0c;企业和个人创作者为了扩大影响力、提升传播效果&#xff0c;纷纷采用短视频矩阵运营策略&#xff0c;同时管理多个平台、多个账号的内容发布。然而&#xff0c;频繁的文案创作需求让运营者疲于应对&#xff0c;如何高效产出高质量文案成…...

【无标题】湖北理元理律师事务所:债务优化中的生活保障与法律平衡之道

文/法律实务观察组 在债务重组领域&#xff0c;专业机构的核心价值不仅在于减轻债务数字&#xff0c;更在于帮助债务人在履行义务的同时维持基本生活尊严。湖北理元理律师事务所的服务实践表明&#xff0c;合法债务优化需同步实现三重平衡&#xff1a; 法律刚性&#xff08;债…...

Neko虚拟浏览器远程协作方案:Docker+内网穿透技术部署实践

前言&#xff1a;本文将向开发者介绍一款创新性协作工具——Neko虚拟浏览器。在数字化协作场景中&#xff0c;跨地域的团队常需面对实时共享屏幕、协同编辑文档等需求。通过本指南&#xff0c;你将掌握在Ubuntu系统中使用容器化技术部署该工具的具体方案&#xff0c;并结合内网…...

图解JavaScript原型:原型链及其分析 | JavaScript图解

​​ 忽略该图的细节&#xff08;如内存地址值没有用二进制&#xff09; 以下是对该图进一步的理解和总结 1. JS 对象概念的辨析 对象是什么&#xff1a;保存在堆中一块区域&#xff0c;同时在栈中有一块区域保存其在堆中的地址&#xff08;也就是我们通常说的该变量指向谁&…...

Java后端检查空条件查询

通过抛出运行异常&#xff1a;throw new RuntimeException("请输入查询条件&#xff01;");BranchWarehouseServiceImpl.java // 查询试剂交易&#xff08;入库/出库&#xff09;记录Overridepublic List<BranchWarehouseTransactions> queryForReagent(Branch…...

boost::filesystem::path文件路径使用详解和示例

boost::filesystem::path 是 Boost 库中用于跨平台操作文件路径的类&#xff0c;封装了路径的拼接、分割、提取、判断等常用功能。下面是对它的使用详解&#xff0c;包括常用接口与完整示例。 1. 引入头文件与命名空间 #include <boost/filesystem.hpp> namespace fs b…...