重磅福利!程序员面试——算法工程师面试大全第六部分

1.什么是 seq2seq model?

Seq2seq 属于 encoder-decoder 结构的一种,利用两个 RNN,一个作为 encoder 一个作为 decoder.Encoder 负责将输入序列压缩成指定长度的向量,这个向量可以看作这段序列的语义, 而 decoder 负责根据语义向量生成指定的序列.

2.激活函数的作用

激活函数是用来加入非线性因素的,提高神经网络对模型的表达能力,解决线性模型所不能 解决的问题.

3.SPP,YOLO

SPP-Net 简介:

SPP-Net 主要改进有下面两个:

1).共享卷积计算,2).空间金字塔池化

在 SPP-Net 中同样由这几个部分组成: ss 算法,CNN 网络,SVM 分类器,bounding box

ss 算法的区域建议框同样在原图上生成,但是却在 Conv5 上提取,当然由于尺寸的变化, 在 Conv5 层上提取时要经过尺度变换,这是它 R-CNN 最大的不同,也是 SPP-Net 能够大幅缩短时 长的原因.因为它充分利用了卷积计算,也就是每张图片只卷积一次,但是这种改进带来了一个 新的问题,由于 ss 算法生成的推荐框尺度是不一致的,所以在 cov5 上提取到的特征尺度也是不 一致的,这样是没有办法做全尺寸卷积的(Alexnet).

所以 SPP-Net 需要一种算法,这种算法能够把不一致的输入产生统一的输出,这就 SPP,即 空间金字塔池化,由它替换 R-CNN 中的 pooling 层,除此之外,它和 R-CNN 就一样了.

YOLO 详解: YOLO 的名字 You only look once 正是自身特点的高度概括.YOLO 的核心思想在于将目标检 测作为回归问题解决 ,YOLO 首先将图片划分成 SxS 个区域,注意这个区域的概念不同于上文提及将图片划分成 N 个区域扔进 detector 这里的区域不同.上文提及的区域是真的将图片进行剪 裁,或者说把图片的某个局部的像素扔进 detector,而这里的划分区域,只的是逻辑上的划分.

4.神经网络为啥用交叉熵.

通过神经网络解决多分类问题时,最常用的一种方式就是在最后一层设置 n 个输 出节点,无论在浅层神经网络还是在 CNN 中都是如此,比如,在 AlexNet 中最后的输出层有 1000 个节点,而即便是 ResNet 取消了全连接层,也会在最后有一个 1000 个节点的输出层. 一般情况下,最后一个输出层的节点个数与分类任务的目标数相等.假设最后的节点数为 N, 那么对于每一个样例,神经网络可以得到一个 N 维的数组作为输出结果,数组中每一个维度会对 应一个类别.在最理想的情况下,如果一个样本属于 k,那么这个类别所对应的的输出节点的输 出值应该为 1,而其他节点的输出都为 0,即[0,0,1,0,….0,0],这个数组也就是样本的 Label, 是神经网络最期望的输出结果,交叉熵就是用来判定实际的输出与期望的输出的接近程度.

5.RetinaNet 为什么比 SSD 效果好

SSD 在训练期间重新采样目标类和背景类的比率,这样它就不会被图像背景淹没.RetinaNet 采用另一种方法来减少训练良好的类的损失.因此,只要该模型能够很好地检测背景,就可以减少其损失并重新增强对目标类的训练.所以 RetinaNet 比 SSD 效果好.

发布了385 篇原创文章 · 获赞 210 · 访问量 52万+

猜你喜欢

转载自blog.csdn.net/qq_32146369/article/details/104495053