games003课程笔记04-面向技术方案的实验设计

games003 科研基本素养 “lec.4 面向技术方案的实验设计” 笔记

1. 实验设计

分解问题到最简化的实验来探索/验证技术方案

实验的定义
  1. 有设定的条件
  2. 控制变量
  3. 可以复现
  4. 有对结果的逻辑分析
实验设计的出发点

假设检验(验证idea是否有用)-> 使用控制变量的方法验证

可以有哪些idea
  1. 把一个大的方法分解成小的部分,使用流程图等方法看清整体的框架,厘清思路
    • 边做实验边优化方案
    • 可以先搭好一个能够运行的pipeline,然后再对每一个部分进行验证
      • 有基本的pipeline可以在宏观上对实验有更好的把握(避免拆分的不完美)
      • 可以验证每一部分放到pipeline对最终结果的影响(避免没法组合到一块)
  2. 简化每一个小问题,从最简单的且能验证技术方案的实验开始
    • 简化实验的setting(从特殊的一般,例如从二维的实现借鉴到三维场景的实现)
    • 简化实验的数据(比如:数据有噪声,相机参数不准确)
      • 例如:训练神经网络之前先优化一个例子(验证网络是能够跑通的,debug代码问题)
    • 排除其他因素的干扰,假设这个系统里面别的模块都完美
  3. 简化并不意味着忽略原本的问题
    • 简化是对原本问题的提炼(帮助我们理解原本的问题,debug code)
    • 从简化得到的方法需要重新被用到原本的问题(原本的实验数据不能被简化)

2. 控制变量

方便对实验结果进行逻辑分析,从而得到正确的结论

  1. 做research的过程中很大程度上是在做Ablation study
    • 分析哪个地方做得不好,从而改进
    • PS. ablation study(消融实验),特指在机器学习深度学习领域里通过逐一控制一个条件或参数,确定哪个条件或参数对实验结果的影响大。
  2. 如何控制变量(对coding能力的要求较高)
    • 保证实验过程中只有一个因素不一样
    • 按照优先级排序,对可能的组合进行剪枝,每一个实验都能有相应的对比实验说明结果

3. 可重复实验

能够复现,很关键👍

4. 实验执行

  1. 对自己为什么要跑一个实验有一个宏观的认识
    • 这个实验是为了证明什么,能够得到什么结果&结论
    • 写一个实验列表
  2. 对于实验有优先级的排序
    • 找到idea的核心在哪里
    • 找到之前实验的问题在哪里
  3. 建立一个checkpoint
    • 整理实验思路

5. 如何面对实验失败

💪


games003课程笔记04-面向技术方案的实验设计
http://example.com/2024/10/26/games003_04/
作者
Poivre
发布于
2024年10月26日
许可协议