前言:
眼前小伙伴们对“cv算法面试题”大约比较讲究,小伙伴们都想要了解一些“cv算法面试题”的相关内容。那么小编也在网摘上网罗了一些关于“cv算法面试题””的相关知识,希望你们能喜欢,朋友们一起来学习一下吧!你觉得bn过程是什么样的?按batch进行期望和标准差计算对整体数据进行标准化对标准化的数据进行线性变换变换系数需要学习手写一下bn过程?mu = 1.0*np.sum(X,axis = 0)/X.shape[0]Xmu = X - musq = Xmu**2var = 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的公式?解释你怎么理解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部分残差网络用的比较频繁
标签: #cv算法面试题