96SEO 2026-02-20 01:29 18
面试八股面经【超全整理】——信息论】机器学习【AI算法岗面试八股面经【超全整理】——机器学习】深度学习【AI算法岗面试八股面经【超全整理】——深度学习】NLP【AI算法岗面试八股面经【超全整理】——NLP】CV

1、RNN2、LSTM3、Transformer4、Word2Vec5、BERT6、GPT7、CLIP8、BPEByte
RNN在每个时间步都使用相同的参数因此在训练和预测时具有较小的计算负担灵活性。
RNN可以处理各种长度的序列输入并且可以用于不同的任务如语言模型、时间序列预测等
RNN在处理长期依赖关系时容易出现梯度消失或爆炸的问题导致难以捕捉远距离的依赖关系短期记忆限制。
有效地解决了长期依赖问题能够更好地捕捉长距离的序列依赖关系记忆单元。
LSTM引入了记忆单元可以保留和更新信息有助于记住长序列中的重要信息防止梯度消失。
LSTM通过门控机制可以更有效地控制梯度的流动减少了梯度消失或爆炸的问题
一种基于自注意力机制的序列到序列Sequence-to-Sequence模型用于处理NLP任务解决长依赖问题和并行计算效率的平衡。
相比于RNN模型Transformer使用全局的自注意力机制使模型可以同时关注输入序列的所有位置更好地捕捉长距离依赖关系。
Transformer引入多头注意力机制提高了模型的表达能力。
Transformer两个关键组件组成Encoder和Decoder。
编码器将输入序列编码为一系列上下文相关的表示解码器用这些表示生成目标序列。
编码器输入序列经过多头自注意力层和前馈神经网络层处理。
自注意力层输入序列的每个位置都与其他位置进行注意力计算以获取位置之间的相关性。
使得模型能够在不同位置之间建立上下文关联能够处理长距离的依赖关系。
解码器除自注意力层和前馈神经网络层还包含一个编码器-解码器注意力层。
交叉注意力层将编码器中的信息与解码器的当前位置关联在生成目标序列时获得更好的上下文信息。
Transformer端到端训练最大化目标序列的条件概率来进行模型优化。
训练中使用掩码注意力Masked
Attention确保解码器只能看到当前位置之前输入避免信息泄露。
能处理长距离依赖问题适用于处理包含长序列的任务。
并行计算效率好使得模型在GPU上能够进行高效训练和推理。
具有较好的表示能力和泛化能力在多个NLP任务上取得了优异的性能。
单词在句子中的位置以及排列顺序是十分重要的引入词序信息有助于理解语义。
循环神经网络本身就是一种顺序结构天生就包含了词在序列中的位置信息。
当抛弃循环神经网络结构完全采用Attention这些词序信息就会丢失模型就没有办法知道每个词在句子中的相对和绝对的位置信息。
因此有必要把词序信号加到词向量上帮助模型学习这些信息位置编码Positional
\vec{P_t}^{(i)}f(t)^{(i)}:\begin{cases}
(i)f(t)(i):{sin(wk⋅t)cos(wk⋅t)if
w_k\frac{1}{10000^{\frac{2k}{d}}}
在Transformer中位置编码是通过加法的方式结合到词向量中的。
Transformer的多头注意力看上去是借鉴了CNN中同一卷积层内使用多个卷积核的思想原文中使用
attention”层中输入均为“KQV”同时进行注意力的计算彼此之前参数不共享最终将结果拼接起来这样可以允许模型在不同的表示子空间里学习到相关的信息。
即希望每个注意力头只关注最终输出序列中一个子空间互相独立。
核心思想在于抽取到更加丰富的特征信息。
Q代表query查询后续会和每一个k进行匹配找到最相似的kK代表key关键字后续会被每一个q匹配V代表value值代表从输入中提到的信息
Attention(Q,K,V)softmax(\frac{QK^T}{\sqrt{d_k}})V
每一个key都对应一个value计算query和key的匹配程度就是计算两者相关性相关性越大代表key对应value的权重也就越大。
dk是K的维度除以一个根号d因为Q和K相乘之后的数值可能会相差很大除以根号d可以平衡数据。
利于模型收敛。
训练阶段训练时计算loss是用当前decoder输入所有单词对应位置的输出
y1,y2,y3,⋯,yt与真实的翻译结果ground
loss然后把t个loss加起来如果使用self-attention那么
x2的信息用到了未来信息属于信息泄露。
预测阶段预测阶段要保持重复单词预测结果是一样的这样不仅合理而且可以增量更新预测时会选择性忽略重复的预测词只摘取最新预测的单词拼接到输入序列中如果关掉dropout那么当预测序列是
x1,x2,x3的前3个位置结果是一样的增量更新同时与训练时的模型架构保持一致前向传播的方式是一致的。
在d维token嵌入向量上concat一个d维的位置向量变成了2d维的向量最终要得到d维的输出需要*2dd的矩阵。
等价于先对token嵌入向量做变换然后再加上位置嵌入并且concat会增加网络的计算量。
相同的token在句子中不同位置语义应该是不一样的token向量应该有差异add可以在向量的各个维度上表现出差异而concat会导致向量前面部分一样只有后面部分不同。
6、为什么在进行Softmax之前需要对Attention进行scaled为什么除以
这取决于softmax函数的特性如果softmax内计算的数数量级太大会输出近似one-hot编码的形式导致梯度消失的问题所以需要scale。
那么至于为什么需要用维度开根号假设向量qk满足各分量独立同分布均值为0方差为1那么qk点积均值为0方差为dk从统计学计算若果让qk点积的方差控制在1需要将其除以dk的平方根是的softmax更加平滑
Word2Vec有两种主要的模型CBOW和Skip-gram。
这两种模型都是基于神经网络的模型它们通过学习文本数据中的上下文信息来得到单词的向量表示。
word目标词。
在每个窗口内它不考虑词序信息它是直接把上下文的词向量相加自然就损失了词序信息。
Skip-gram。
与CBOW相反Skip-gram模型的输入是一个词汇输出则是该词汇的上下文。
Skip-gram
BERT模型由多层Transformer编码器堆叠而成通过预训练任务来学习语言的深层表示。
这些预训练任务包括
ModelMLM类似于完形填空。
在MLM任务中模型被训练来预测输入句子中被遮蔽的词
PredictionNSP。
在NSP任务中模型需要判断两个句子是否是连续的文本序列。
L_1(U)\sum_i{log(P(u_i|u_{i-k},\cdots,u_{i-1};\***ta)}
L1(U)i∑log(P(ui∣ui−k,⋯,ui−1;θ)
12层的transformer每个transformer块有12个头词编码的长度为768Batchsize为64
GPT-2去掉了fine-tuning层不再针对不同任务分别进行微调建模而是不定义这个模型应该做什么任务模型会自动识别出来需要做什么任务。
GPT2依然沿用GPT1单向transformer的模式只不过使用了更大的网络参数和更大的数据集。
Learning”的方式来实现这一点使用预训练语言模型的文本输入作为任务规范的一种形式模型以自然语言指令和/或几个任务演示为条件然后预期仅通过预测接下来会发生什么来完成更多的任务实例。
GPT-2的核心思想概括为任何有监督任务都是语言模型的一个子集当模型的容量非常大且数据量足够丰富时仅仅靠训练语言模型的学习便可以完成其他有监督学习的任务。
滑动窗口大小增加为1024将Transformer堆叠层数增加到48层隐层的维度增至1600参数量达15亿Batchsize的大小增加为512
Attention每个token之间两两计算AttentionSparse
Attention每个token只与其他token的一个子集计算Attention
网络容量的提升GPT-3采用了96层的多头transformer头的个数为96词向量的长度是12888上下文滑动窗口的窗口大小提升至2048个token
Attention除了相对距离不超过k以及相对距离为k2k3k…的token其他所有token的注意力都设为0。
GPT用的是transformer中去掉中间Encoder-Decoder
Attention的Decoder其实也可以等价地说用到的是Encoder层只是将Multi-Head
Attention是单向语言模型即给定前几个词预测下一个词更适合自然语言生成的任务而BERT使用的是transformer的Encoder即Self
Attention是双向的语言模型即给定周围上下文的词预测中间被mask的词更适合自然语言理解的任务。
使用对比学习让模型学习文本-图像对的匹配关系在同时输入文本和图像对的情况下只有对角线上的位置才是真值。
为了实现这一目标CLIP使用了一个多模态编码器它由两个自编码器组成图像编码器可以是基于卷积神经网络CNN或者VIT的模型文本编码器则是一个基于Transformer的模型。
作者通过一个线性投影将每个编码器的表示映射到多模态嵌入空间。
通过联合训练图像编码器和文本编码器来最大化批次中的N个真实对的图像和文本嵌入的余弦相似度同时最小化
确定词表大小即subword的最大个数V在每个单词最后添加一个并且统计每个单词出现的频率将所有单词拆分为单个字符构建出初始的词表此时词表的subword就是字符挑出频次最高的字符对比如说t和h组成的th将新字符加入词表然后将预料中所有该字符对融合merge即所有t和h都变为th。
新字符依然可以参与后续的merge优点类似哈夫曼树BPE实际上就是一种贪心算法重复3、4的操作直到词表中单词数量达到预设的阈值V或者下一个字符对的频数为1
将词表中的单词按长度大小从长到短排序对于语料中的每个单词遍历排序好的词表判断词表中的单词/子词subword是否是该字符串的子串如果匹配上了则输出当前子词并继续遍历单词剩下的字符串如果遍历完词表单词中仍然后子字符串没有被匹配那我们将其替换为一个特殊的子词比如
BPE算法是介于字符和单词粒度之间的一种以subword为粒度的分词算法。
1能够解决OOV问题无法很好的处理未知或罕见的词汇2减少词汇表大小3具有一定的泛化能力缺点
是基于统计的分词算法对语料依赖性很强如果语料规模很小则效果一般不佳。
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback