深度学习试题_AI算法深度学习常见面试题

深度学习试题_AI算法深度学习常见面试题_第1张图片

你觉得bn过程是什么样的?

  • 按batch进行期望和标准差计算
  • 对整体数据进行标准化
  • 对标准化的数据进行线性变换变换系数需要学习

手写一下bn过程?

  • mu = 1.0*np.sum(X,axis = 0)/X.shape[0]
  • Xmu = X - mu
  • sq = Xmu**2
  • var = 1.0*np.sum(sq,axis=0)/X.shape[0]
  • out = alhpa*(X-Xmu)/np.sqrt(var+eps) + beta

知道LN么?讲讲原理

  • 和bn过程近似,只是作用的方向是在维度上,而不是batch上
  • 这样做的好处就是不会受到batch大小不一致的影响

Attention对比RNN和CNN,分别有哪点你觉得的优势?

  • 对比RNN的是,RNN是基于马尔可夫决策过程,决策链路太短,且单向
  • 对比CNN的是,CNN基于的是窗口式捕捉,没有受限于窗口大小,局部信息获取,且无序

写出Attention的公式?

e16b43e5bf5eebe28c3ddc3a00d013c9.png

解释你怎么理解Attention的公式的?

  • Q:,K:,V:首先,我们可以理解为Attention把input重新进行了一轮编码,获得一个新的序列
  • 除以的目的是为了平衡qk的值,避免softmax之后过小qk除了点击还可以直接拼接再内接一个参数变量等等
  • Multi-Attention只是重复了h次的Attention,最后把结果进行拼接

Attention模型怎么避免词袋模型的顺序问题的困境的?

增加了position Embedding

  • 可以直接随机初始化
  • 也可以参考Google的sin/cos位置初始化方法如此选取的原因之一是sin(a+b)=sin(a)cos(b)+cos(a)sin(b)。这很好的保证了位置p+k可以表示成p的线性变换,相对位置可解释

Attention机制,里面的q,k,v分别代表什么?

  • Q:指的是query,相当于decoder的内容
  • K:指的是key,相当于encoder的内容
  • V:指的是value,相当于encoder的内容

q和k对齐了解码端和编码端的信息相似度,相似度的值进行归一化后会生成对齐概率值(注意力值)。V对应的是encoder的内容,刚说了attention是对encoder对重编码,qk完成权重重新计算,v复制重编码

为什么self-attention可以替代seq2seq?

  • seq2seq最大的问题在于将Encoder端的所有信息压缩到一个固定长度的向量中,并将其作为Decoder端首个隐藏状态的输入,来预测Decoder端第一个单词(token)的隐藏状态。在输入序列比较长的时候,这样做显然会损失Encoder端的很多信息,而且这样一股脑的把该固定向量送入Decoder端,Decoder端不能够关注到其想要关注的信息
  • self-attention让源序列和目标序列首先“自关联”起来,这样的话,源序列和目标序列自身的embedding表示所蕴含的信息更加丰富,而且后续的FFN层也增强了模型的表达能力,并且Transformer并行计算的能力是远远超过seq2seq系列的模型

维度与点积大小的关系是怎么样的,为什么使用维度的根号来放缩?

  • 假设向量 q 和 k 的各个分量是互相独立的随机变量,均值是0,方差是1,那么点积 qk 的均值是0,方差是 dk
  • 针对Q和K中的每一维i都有qi和ki相互独立且均值0方差1,不妨记,E(XY) = E(X)E(Y)=0所以k维度上的qk方差会为dk,均值为0,用维度的根号来放缩,使得标准化

介绍残差网络

  • 常见结构,CV里面用的比较多y=F(x)+xy=F(x)+indentity * x

残差网络为什么能解决梯度消失的问题

  • 虽然是对求偏导数,但是存在一项只和相关的项,之间避免了何中间权重矩阵变换导致梯度消失的问题

残差网络残差作用

  • 防止梯度消失
  • 恒等映射使得网络突破层数限制,避免网络退化
  • 对输出的变化更敏感X=5;F(X)=5.1;F(X)=H(X)+X=>H(X)=0.1X=5;F(X)=5.2;F(X)=H(X)+X=>H(X)=0.2H(X)变换了100%,去掉相同的主体部分,从而突出微小的变化

你平时有用过么?或者你在哪些地方遇到了

  • 我在做xdeepfm的输出层的时候做到了,因为当时做CIN的时候,我设置了layers为5层,担心层数过深造成网络退化,在output的时候加了残差网络
  • Bert和Transform中attention部分残差网络用的比较频繁

你可能感兴趣的:(深度学习试题)