这个问题在某乎上虽然已经达到了278w+的浏览,但一直没有一个统一的回答。有说必须要手撕反向传播的,有说会调包就行了的,刷了两个小时帖子却更迷糊了!
其实对于这个问题,大家最好还是要根据自己在硕士、博士阶段的最终目标来决定需要对神经网络掌握到什么程度。
1.把神经网络当成一个万能函数拟合器
2.把卷积理解为滤波和特征提取。
3.把全连接层理解为加权求和。
4.把反向传播理解为从最后一层逐步调整权重参数
5.把设计各种模型当成搭积木。
(了解完这些就算入门了,之后多看论文多思考,满足毕业条件是没什么问题的)
一、能从开源代码pull下来,换成自己的数据集,能跑个结果出来。
二、从理论上理解模型工作的思想,知道重要的一些超参背后的思想,能够非常有信心调整它,并符合自己的预期效果。三、深入入理解模型的代码实现细节,能够为模型添加一些主流的提升模型性能的模块或者tricks,能够分析修改前后模型的差异,并且能够映射到真实数据上去。另外,能够对模型的训练及推理过程了如指掌。
四、能够根据自己的实际业务需求,拓展模型的功能,让模型能做更多的事情。
五、能够独立解决业务方向中新的实际需求问题。