机器学习研究人员需要编码的程度如何?
让我专门回答ML研究人员,而不是ML工程师或数据科学家。
我曾在学术界(包括博士后)和工业界担任ML(+ CV)研究员。
绝对。我总是需要编码一吨。
在工业中,我的工作的一半是评估哪些问题在文献中解决了什么程度。这意味着要实施大量论文并在内部数据集上进行尝试。
数字很好。实验评估是我在论文中看到的第一部分。但他们从不告诉你整个故事。
在大多数对我来说不熟悉的问题上,查看表格并不能让我感觉这种方法的效果如何,如果它足以让我们使用,或者至少如果它可以用几个月的时间来获得它表现到我们需要的地方。
这通常意味着我自己实施该方法。
有时可以使用给定方法的代码,但是使用了错误的许可证,因此我无法将其作为营利性产品组的一部分。其他时候,开源代码在框架或编程语言中效率不高,因此它与我可能已经拥有的其他组件[0]不能很好地融合。很少,我能够按原样使用别人的代码,至少可以用于我自己的原型设计和评估。
在我的博士期间,我当时正在研究一个相当新颖的主题,因此几乎没有可用的开源代码。因此,40%的时间用于编写代码,50%用于实际训练或运行实验,另外10%用于写作或阅读[1]。
有了这个背景,我可以实现任何东西,并使用任何大小的代码库。
但是,诚然,我的代码并不像我使用的专业软件工程师那样漂亮。我似乎也无法吸收他们对长期可扩展性和可维护性的担忧。不幸的是,我的研究培训已经从这些考虑中接种了我。我也没有兴趣讨论编程语言或环境的利弊,或者像我一样经常参与的热心开发人员之类的标签 - 空间等彻头彻尾的愚蠢的事情。
因此,如果您对我的研究技能或CV / ML知识不感兴趣,那么您真的不想雇用我作为通用软件工程师。
[0]我从事嵌入式计算项目,通常计算效率很重要。
[1]不可否认,在我的博士学位课程开始后的第一个月或第二个月我没有读过多少内容,我现在试图弥补这一点。虽然我在业余时间参加过很多课程。



















