games003课程笔记04-面向技术方案的实验设计
games003 科研基本素养 “lec.4 面向技术方案的实验设计” 笔记
1. 实验设计
分解问题到最简化的实验来探索/验证技术方案
实验的定义
- 有设定的条件
- 控制变量
- 可以复现
- 有对结果的逻辑分析
实验设计的出发点
假设检验(验证idea是否有用)-> 使用控制变量的方法验证
可以有哪些idea
- 把一个大的方法分解成小的部分,使用流程图等方法看清整体的框架,厘清思路
- 边做实验边优化方案
- 可以先搭好一个能够运行的pipeline,然后再对每一个部分进行验证
- 有基本的pipeline可以在宏观上对实验有更好的把握(避免拆分的不完美)
- 可以验证每一部分放到pipeline对最终结果的影响(避免没法组合到一块)
- 简化每一个小问题,从最简单的且能验证技术方案的实验开始
- 简化实验的setting(从特殊的一般,例如从二维的实现借鉴到三维场景的实现)
- 简化实验的数据(比如:数据有噪声,相机参数不准确)
- 例如:训练神经网络之前先优化一个例子(验证网络是能够跑通的,debug代码问题)
- 排除其他因素的干扰,假设这个系统里面别的模块都完美
- 简化并不意味着忽略原本的问题
- 简化是对原本问题的提炼(帮助我们理解原本的问题,debug code)
- 从简化得到的方法需要重新被用到原本的问题(原本的实验数据不能被简化)
2. 控制变量
方便对实验结果进行逻辑分析,从而得到正确的结论
做research的过程中很大程度上是在做Ablation study
- 分析哪个地方做得不好,从而改进
- PS. ablation study(消融实验),特指在
机器学习
和深度学习
领域里通过逐一控制一个条件或参数,确定哪个条件或参数对实验结果的影响大。
如何控制变量(对coding能力的要求较高)
- 保证实验过程中只有一个因素不一样
- 按照优先级排序,对可能的组合进行剪枝,每一个实验都能有相应的对比实验说明结果
3. 可重复实验
能够复现,很关键👍
4. 实验执行
对自己为什么要跑一个实验有一个宏观的认识
- 这个实验是为了证明什么,能够得到什么结果&结论
- 写一个实验列表
对于实验有优先级的排序
- 找到idea的核心在哪里
- 找到之前实验的问题在哪里
建立一个checkpoint
- 整理实验思路
5. 如何面对实验失败
💪
games003课程笔记04-面向技术方案的实验设计
http://example.com/2024/10/26/games003_04/