面试准备篇之算法岗
面试准备篇之算法岗
面试准备篇之算法岗
简介
在这里记录自己准备找工作的历程,接下来的半年会根据自己的学习和成长来更新。。。
一、语言基础知识准备
(一) C++
(二) Python
基础教程
python parser模块
Python多线程和多进程编程
(三) Pytorch
(四) Tensorflow
二、算法与数据结构基础知识准备
(一)刷题专栏
(二)算法基础
排序算法
(三)数据结构基础
树结构
三、计算机网络和操作系统基础知识准备
四、线性代数和概率论基础知识准备
五、机器学习基础知识准备
六、深度学习基础知识准备
0、数据增强方式及细节
(1)哪些数据增强方式?
1、crop_size
2、scale
3、flip
4、rotate
注意:rotation的范围为-10到10度。
5、blur
1、基础知识
2、梯度消失和梯度爆炸
(1)方案1-预训练加微调
(2)方案2-梯度剪切、正则
(3)方案3-relu、leakrelu、elu等激活函数
(4)方案4-batchnorm
(5)方案5-残差结构
(6)方案6-LSTM
3、过拟合与欠拟合
4、CNN pooling层、Dropout算梯度反向更新参数(顺便思考一下deformable conv怎么实现的)
pooling层
无论max pooling还是mean pooling,都没有需要学习的参数。因此,在卷积神经网络的训练中,Pooling层需要做的仅仅是将误差项传递到上一层,而没有梯度的计算。
(1)max pooling层:对于max pooling,下一层的误差项的值会原封不动的传递到上一层对应区块中的最大值所对应的神经元,而其他神经元的误差项的值都是0;
(2)mean pooling层:对于mean pooling,下一层的误差项的值会平均分配到上一层对应区块中的所有神经元
Dropout
5、深度学习中的归一化问题 (BatchNorm)
注:看BN原论文
6、数据集的归一化与标准化的原因与方法?
原因
(1)从寻找最优解的角度分析
在训练模型之前,需要对特征进行一定的处理,最常见的处理方式之一就是数据的规范化。数据的规范化的作用主要有两个:去掉量纲,使得指标之间具有可比性;将数据限制到一定区间, 使得运算更为便捷。归一化就是典型的数据规范化方法,常见的数据规范化方法如下:
1、线性函数归一化(Min-Max scaling)
2、0均值标准化(Z-score standardization)
0均值归一化方法将原始数据集归一化为均值为0、方差1的数据集([0, 1]范围)。
7、深度学习优化器:梯度更新规则+缺点+如何选择
(1)BGD, SGD
(2)Momentum
η : \eta:
η
: 学习率
注意:学习率的初始化范围以及调节技巧
ρ : \rho:
ρ
: momentum
Adaptive Gradient
(1)Momentum和Adaptive Gradient的差别?
8、偏差(bias)和方差 (variance)
9、1*1卷积有什么作用?
10、VGG使用3*3卷积核的优势是什么?
11、感受野的计算
12、权重参数的初始化方式及范围
(1)权重参数的初始化方式
1、高斯分布
2、均匀分布
3、Xavier/Glorot Initialization(适用于激活函数是sigmoid和tanh)
4、MSRA/He initialization(适用于激活函数relu)
七、计算机视觉
目标检测
rcnn, fast-rcnn, faster-rcnn
八、立体几何
対极几何
本质矩阵E(Essential Matrix):反应空间一点p的像素在不同视角摄像机下摄像机坐标系中的表示之间的关系。
基础矩阵F(Fundamental Matrix):反应空间一点p的像素点在不同视角摄像机下图像坐标系中的表示之间的关系。
极线约束: