面试知识点总结1

  1. c++的行指针、列指针
  2. 卷积底层的实现方式(如caffe里面的img2col)
    在这里插入图片描述
  3. 推导逻辑回归的损失函数和梯度计算
    sigmoid函数及其导数:
    h ( x ) = 1 1 − e − x h ′ ( x ) = h ( x ) ⋅ [ 1 − h ( x ) ] h(x)=\frac{1}{1-e^{-x}}\\ h'(x)=h(x)\cdot[1-h(x)] h(x)=1ex1h(x)=h(x)[1h(x)]
    前向:
    z i = h ( w x i ) J = − 1 m ∑ i = 1 m y i ln ⁡ z i + ( 1 − y i ) ln ⁡ ( 1 − z i ) z_i=h(\bm{w}x_i )\\ J=-\frac{1}{m}\sum_{i=1}^{m}y_i\ln z_i+(1-y_i)\ln(1-z_i) zi=h(wxi)J=m1i=1myilnzi+(1yi)ln(1zi)
    反向(省略了求和):
    ∂ J ∂ w = ∂ J ∂ z × ∂ z ∂ w \frac{\partial J}{\partial \bm{w}}=\frac{\partial J}{\partial z}\times\frac{\partial z}{\partial \bm{w}} wJ=zJ×wz
    ∂ J ∂ z = y i z i − 1 − y i 1 − z i = y i − z i z i ( 1 − z i ) ∂ z ∂ w = h ′ ( w x i ) × x i = z i ( 1 − z i ) x i \frac{\partial J}{\partial z}=\frac{y_i}{z_i}-\frac{1-y_i}{1-z_i}=\frac{y_i-z_i}{z_i(1-z_i)}\\ \frac{\partial z}{\partial \bm{w}}=h'(\bm{w}x_i)\times x_i=z_i(1-z_i)x_i zJ=ziyi1zi1yi=zi(1zi)yiziwz=h(wxi)×xi=zi(1zi)xi
    ∂ J ∂ w = ( y i − z i ) x i \frac{\partial J}{\partial \bm{w}}=(y_i-z_i)x_i wJ=(yizi)xi
  4. dropout在训练和测试时不同,怎么保证测试结果稳定
    训练时以一定的概率使神经元失活,实际上就是让对应神经元的输出为0。
    假设失活概率为 p ,就是这一层中的每个神经元都有p的概率失活,如下图的三层网络结构中,如果失活概率为0.5,则平均每一次训练有3个神经元失活,所以输出层每个神经元只有3个输入(期望为 ( 1 + 0 + 0 + 1 + 0 + 1 ) / 6 = 0.5 (1+0+0+1+0+1)/6=0.5 (1+0+0+1+0+1)/6=0.5),而实际测试时是不会有dropout的,输出层每个神经元都有6个输入(期望为 ( 1 + 1 + 1 + 1 + 1 + 1 ) / 6 = 1 (1+1+1+1+1+1)/6=1 (1+1+1+1+1+1)/6=1),这样在训练和测试时,输出层每个神经元的输入和的期望会有量级上的差异。
    在这里插入图片描述
    因此在训练时还要对第二层的输出数据除以(1-p)之后再传给输出层神经元,作为神经元失活的补偿,以使得在训练时和测试时每一层输入有大致相同的期望。原文链接
    具体过程如下图(原图为了说明Dropout 与 BN一起使用时存在的问题):
    在这里插入图片描述
  5. 如何在n个数组中找出它的中位数(n个数组无法完全放在内存中)
    参考牛客:数据流中的中位数
【为什么要学习这门课程】深度学习框架如TensorFlow和Pytorch掩盖了深度学习底层实现方法,那能否能用Python代码从零实现来学习深度学习原理呢?本课程就为大家提供了这个可能,有助于深刻理解深度学习原理。左手原理、右手代码,双管齐下!本课程详细讲解深度学习原理并进行Python代码实现深度学习网络。课程内容涵盖感知机、多层感知机、卷积神经网络、循环神经网络,并使用Python 3及Numpy、Matplotlib从零实现上述神经网络。本课程还讲述了神经网络的训练方法与实践技巧,且开展了代码实践演示。课程对于核心内容讲解深入细致,如基于计算图理解反向传播算法,并用数学公式推导反向传播算法;另外还讲述了卷积加速方法im2col。【课程收获】本课程力求使学员通过深度学习原理、算法公式及Python代码的对照学习,摆脱框架而掌握深度学习底层实现原理与方法。本课程将给学员分享深度学习的Python实现代码。课程代码通过Jupyter Notebook演示,可在Windows、ubuntu等系统上运行,且不需GPU支持。【优惠说明】 课程正在优惠!  备注:购课后可加入白勇老师课程学习交流QQ群:957519975【相关课程】学习本课程的前提是会使用Python语言以及Numpy和Matplotlib库。相关课程链接如下:《Python编程的术与道:Python语言入门》https://edu.csdn.net/course/detail/27845《玩转Numpy计算库》https://edu.csdn.net/lecturer/board/28656《玩转Matplotlib数据绘图库》https://edu.csdn.net/lecturer/board/28720【课程内容导图及特色】
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值