简单记录一个最近想到的解决问题的思路,忽然想到的,有点抽象,先记下来。
解决问题的本质是在现有知识库中搜索出最匹配的方法进行应用,以解决实际问题。
因此,解决任何问题的本质是进行搜索,并且是逐步缩小搜索范围的搜索,从基于模型解决问题的角度出发,这个搜索应该是三个层面:
1、 问题层面的搜索,定位要解决的问题大类、小类,知道问题的scope在哪里,相关工作都是怎么解决的。
2、方法、原理层面的搜索,定位大概要使用哪一类方法,以及方法的基本原理是什么。当方法出现问题时,需要从原理角度对其进行归因,然后进行细化。如果不知道原理只是一味地按照组合去尝试,搜索的范围会非常大。
3、超参数方面的搜索。包括两个层面,首先在原型系统开发时应该给模型留一个类似try的超参数,用来尝试不同网络结构、损失函数的组合下模型的大概效果,一般设置手动搜索即可。其次是学习率、批归一化大小的搜索,最好采用网格搜索的方式进行自动搜索。