本人做 java 开发的,对深度学习基本属于一窍不通,今天部门老大要面试一个深度学习的人,给了份深度学习的面试题要我帮他找下答案(部门老大对深度学习也不太懂所以就把这个烫手的山芋给我了),有人能帮忙解决一下吗?
(1)谈谈你项目中使用过的深度学习模型或网络,为什么选择这个算法? (2)conv2d(kernel=7, stride=1, padding=0 )可以用什么代替? (3)训练神经网络,假如 train loss 已经降为 0,valid loss 为 0.2. 有什么方法可以尝试使 valid loss 再进一步下降,为什么这种方法可以? (4)选择熟悉的框架语言,设计一个简单的孪生网络。可以从 keras 、tensorflow 及 pytorch 选择一个框架,如用 pytorch,写出__init__和 forward 过程即可。 (5)用已知参数写出简单的分类训练的伪代码(参数:train_image, valid_image, net ) (6)能否使用 VC 维解释模型的过拟合和欠拟合
1
Ricardoo 2021-05-10 15:02:26 +08:00 2
看样子贵司是搞 cv 的。。
( 1 ) bert, 搞 nlp 无脑 bert,因为效果好啊,搞 cv 可能是 yolo 、ssd 那一套吧,好久接触不知道现在进展怎么样了。 ( 2 ) 3 个 3×3 的卷积 ( 3 ) train loss 为 0,valid loss 不为 0,说明模型有过拟合的风险。降低过拟合措施很多,正则化、dropout 都行 ( 4 )孪生网络主要是权值共享,网络模型共用同一个就可以了 ( 5 )每个框架的代码都不太一样。。分类训练损失函数用交叉熵 ( 6 ) VC 维代表了假设空间的大小,vc 维越大模型拟合能力越强,越复杂的模型越容易出现过拟合,反之简单模型 vc 维小,易出现欠拟合 |
2
erquren 2021-05-10 15:06:02 +08:00
( 2 )可以换成 3 个 3x3 的卷积
|
3
786375312123 2021-05-10 19:31:06 +08:00
让不懂 dl 的人搞 dl 的面试,意思是以后还有二面更专业的人来?
还是说公司规模就几十个人? |