我在环境科学实验室攻读博士学位的第二年,这里的机器学习专家并不多。
在我研究的一部分中,我应该使用多层感知器从我之前确定的一系列输入中构建模型。因此,对于这一部分,我建议使用深度学习框架,特别是 Keras 和 Tensorflow 或 CNTK,但在实验室中,我的主管告诉我,对于真正的应用程序,他们不想依赖谷歌或微软的框架,他们更喜欢开发他们自己的工具,如果有升级或类似的东西,这些工具不会随着时间的推移而改变。一位研究人员创建了一个中性网络并获得了不错的结果,但是当我们有兴趣进行一些微调时,他的代码更新或测试新事物(例如 dropout)会更加复杂。
我开始使用那些考虑到可重复性的框架,因为我只需要使用 Keras 中的函数并定义参数。我认为其他想要测试/使用我的模型的研究人员应该使用我建议的配置,不要试图理解我提供的代码。所以我得到了一些不错的结果,现在正处于微调阶段,但是其他研究人员的工作有一个稍微好一点的结果,但是经过了一个我还没有尝试过的正则化步骤。
所以这位研究人员告诉我,我应该放弃我在 Keras 的工作并开始使用他的代码。他还告诉我,Keras 只是一些花哨的工具,在研究中不需要非常精确的模型,只要有好的结果并使用有效的代码即可。
所以我的问题是:这个研究人员告诉我的对吗?Keras 真的用于研究吗?如果开发了一些框架,为什么不使用它们而不是重新发现轮子,对吗?