【面试招聘】拼多多 AI算法岗面试(附带解析)

共 2557字,需浏览 6分钟

 ·

2020-08-24 12:15

字数统计:2500,预计阅读时间:12min


参考目录:

  • 1 介绍项目

  • 2 EfficientNet的特色

  • 3 python撕BN层前向算法

  • 4 线程和进程的区别

  • 5 SVM和逻辑回归在分类上的区别

  • 6. 有什么人脸检测的数据集

  • 7. YOLO训练的数据集是什么

  • 8. CNN参数初始化的方法

1 介绍项目

答案:略。

2 EfficientNet的特色

这个EfficientNet的核心思想是寻找标准化的模型缩放方法,一般来说,模型深度、宽度、分辨率越大,那么模型的效果就会有提高。以前的网络一般在某一个维度上进行尝试,而EfficientNet因为团队有钱(google的),愣是在三个维度上找到了一个平衡。EfficientNet在图像竞赛中也是直接拿来用,用的也多,所以之后有空把之前写的《EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks》论文笔记整理整理发出来。总之这里回答的关键在于这个公式:

在这里插入图片描述

首先让深度宽度和分辨率满足一定的条件,当的时候,,然后不断扩大,就可以得到更复杂的模型了。

3 python撕BN层前向算法

之前的文章详细讲解了BN的算法,所以这个不算太难哈哈。核心思想就是把数据沿着batch的维度,标准化成均值,标准差的分布。减均值处以方差那种。

小白学图像 | BatchNormalization详解与比较

小白学图像 | Group Normalization详解+PyTorch代码

(这两个一起食用效果更佳哦)

突然一身冷汗,如果要让我写反向传播算法的代码。。。手推能算,代码的话。。。啧啧啧。


4 线程和进程的区别

进程:进程是系统进行资源分配和调度的一个独立单位。每个进程都有自己的独立内存空间。比较稳定。线程:线程是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.它可与同属一个进程的其他的线程共享进程所拥有的全部资源。但是不够稳定容易丢失数据。

【进程多与线程比较】

  • 地址空间:线程是进程内的一个执行单元,进程内至少有一个线程,它们共享进程的地址空间,而进程有自己独立的地址空间
  • 资源拥有:进程是资源分配和拥有的单位,同一个进程内的线程共享进程的资源
  • 线程是处理器调度的基本单位,但进程不是
  • 每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口,但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制

5 SVM和逻辑回归在分类上的区别

这个问题我也被问了两次了,这里好好整理一下回答的核心:SVM和逻辑回归其实是只有损失函数有不同。这个问题其实就是让你分析损失函数不同对分类的影响。

我们先来看一下SVM和逻辑回归的损失函数(这里带上了正则项):

这损失函数看起来可能有些别扭,但是其实是和你内心想的那个是等价的(把这两个公式在纸上抄三遍,你就发现其实很好理解的)。在公式(1)中,SVM的损失函数那个+号,表示负数取0整数不变的一个成处理符号。公式(2)中的是Sigmoid激活函数。

这两个公式其实可以统一起来:

也就是说,它们的区别就在于逻辑回归采用的是 log loss(对数损失函数),svm采用的是hinge loss = max(0,1-z)。

z是,z越大,说明分类越准确,z越小,分类越错误。这里类别标签是+1和-1.

  • SVM损失函数:
  • logistic损失函数:

两者损失函数的图像就是:

其实,这两个损失函数的目的都是给分类错误的样本大的损失,给分类正确的样本小的损失。SVM的处理方法是只考虑分类效果不够好的样本,对于已经分类正确的样本,就不再更新他们了,给他们0损失;逻辑回归希望正样本尽可能的大,副样本尽可能的小,所以就算已经分类正确了,也还是会给分类正确的样本一个损失。

辅导员(SVM)关心的是挂科边缘的人,常常找他们谈话,告诫他们一定得好好学习,不要浪费大好青春,挂科了会拿不到毕业证、学位证等等,相反,对于那些相对优秀或者良好的学生,他们却很少去问,因为辅导员相信他们一定会按部就班的做好分内的事;有的教师(逻辑回归)却不是这样的,他们关心的是班里的整体情况,不管你是60分还是90分,都要给我继续提升。

6. 有什么人脸检测的数据集

回答了IMDB-WIKI数据库。

IMDB-WIKI人脸数据库是有IMDB数据库和Wikipedia数据库组成,其中IMDB人脸数据库包含了460,723张人脸图片,而Wikipedia人脸数据库包含了62,328张人脸数据库,总共523,051张人脸数据库,IMDB-WIKI人脸数据库中的每张图片都被标注了人的年龄和性别,对于年龄识别和性别识别的研究有着重要的意义。

7. YOLO训练的数据集是什么

ImageNet和VOC2007.YOLO v1 好像只用了VOC2007,后面YOLOv2使用了ImageNet作为预训练。

8. CNN参数初始化的方法

我说了Xavier,然后均匀分布,0初始化,高斯分布初始化,预训练初始化。

Xavier这个我之前也在文章中详细讲解了,就是在这个范围内均匀分布,其中表示第k层卷积层的参数。

白话Xavier | 神经网络初始化的工程选择

其实还有一个HE初始化,这个的思想和Xavier其实相同,都是为了让正向传播和反向传播的过程中,输入数据和输出数据的方差保持不变。最终Xavier是一个均匀分布,而He初始化是一个以0为均值,以为标准差的高斯分布

- END -


往期精彩回顾





获取一折本站知识星球优惠券,复制链接直接打开:

https://t.zsxq.com/662nyZF

本站qq群1003271085。

加入微信群请扫码进群(如果是博士或者准备读博士请说明):

浏览 30
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报