---
# System prepended metadata

title: 讨论 2022-09-13
tags: [Fudan, '2022', tutorials]

---

讨论 2022-09-13
=
###### tags: `tutorials` `Fudan` `2022`
# 基本介绍及名词解释

名词解释参见层次图

## 提出问题与明确任务

在我们日常进行科研工作时，最先碰到的，也是最为基础的问题是**明确自己研究的问题是什么**，不管是发论文还是解决具体问题，一个好的方向是至关重要的。在此，我们希望能明确一下必要因素来帮助大家梳理如何提出和明确研究问题。

### 动机
这里的动机不是我们怎么想到研究这个问题，而是为什么别人需要我们研究这个问题，我们首先需要回答研究这个问题对谁有价值，对整个研究社区有什么用。不论是项目还是论文，我们总是先要回答如果这个工作做出来，有什么用，有多大用，这个上限很大程度上决定了我们是否要开展相关的研究。

### 任务定义
任何一个研究问题的定义应该是清晰没有歧义的，通俗来讲，像我们写一个程序一样，输入，输出，程序的行为都应该是明确的。如果我们发现任务定义模糊，往往就是提出子任务的好时机。比如机器翻译的原本定义是输入一个句子，输出另一个语言的对应句子。但如果任务场景是同声传译，那么就需要把任务定义改成输入一部分不完整的句子，就要输出对应的翻译。在交流和论文写作过程中，一定要保证双方对于任务定义的理解是一致的。

### 评测
评测流程和评测指标要事先明确，比如大家都是用train set训练，dev选模型超参数，test测试。那如果采用dev训练，那评测流程就和其他人不一样，必须明确指出。实际上，评测流程和指标没有绝对对错，比如有人觉得交叉验证好，有人觉得固定随机数好，我们无需讨论哪种方式最合理，但需要保证评测流程是明确的，可比较的。

### 可行性
随着大家对相关研究领域的熟悉，往往会出现有很多想法都想实现，都想尝试的情况，在取舍时，可行性是一个重要的考量因素。比如数据是否高质量，数量是否充足，因为数据集的缺陷是很难通过其他方法弥补的，很多有价值的问题都是受限于数据集而得不到广泛的重视。计算资源也是一个重要的因素，在很多情况下，1天一个结果和3天一个结果对调参是有很大影响的。

### well-posed 与 ill-posed 
借用优化理论中的概念 well-posed problem，我们可以认为一个好的问题应该是

 - 存在（通用）解决方法的
 - 最优解是唯一的，不会有多种差异很大的方案都是最优的
 - 问题与解决措施是平滑过度，即方案改进一点，问题就解决一部分，不是跳变的。


## 消融实验和控制变量

我们知道科研试验的一个重要理论基础是控制变量，但在机器学习领域，有时很难操作，这里牵涉到几个问题。

### 变量与因素的划分
当我们提出一个新模型时，如何拆分是一个需要思考的问题，比如新模型的哪些部分是互相关联的，比如加高网络层数和残差连接，我们很难直接通过二者单一的效果来分析他们的组合结果。在变量划分时，有两种划分思路可供思考：

- 不重合的支撑集/定义域
- 独立性

### 实验结果的客观性
我们都期盼实验出现好的结果，但实际上实验结果符合预期假设就是成功的，不符合就是实验过程或者假设有问题。按照假设检验的研究思路，实验是对假设的验证，我们需要在实验设计对可能的实验结果进行估计，什么样的实验结果说明什么才是最重要的。

### 消融实验的目的
通常来讲，消融实验有两个主要功能
 - 明确提出的方法的贡献
 - 排除干扰因素

所以我们在设计消融实验时要考虑清楚这个消融实验要说明什么，而不只是模仿其他文章进行各种组合。在研究阶段，消融实验的目的更多是明确提出方法的作用，很多时候效果的提升可能在一个数据集上高，另一个上面低，又或者调参或输出处理带来的提升比主要方法还要高，等等。另一方面，消融实验也可以用来排除因和对比方法的不同之处所引入的干扰。比如我们提出的方法必须要多层网络才能使用，所以无意间加大了模型的网络层数。反之，如果对比模型的网络层数也增加了，很可能他的效果也会变化。

### 实验对比的选择
在我们进行实验的过程中，一个绕不开的问题是和其他方法对比。选择对比的模型一定要注意对比的目的是什么，是否能支撑论文的主要观点，比如如果主要论点是我们在某个任务上取得了SOTA结果，那对比的方法就应该选结果最高的模型，反之，如果我们的论点是模型的性价比最高，即效果好，速度快，那么我们对比的模型就应该是兼顾速度与效果的模型，而一定是结果最高的模型。