机器学习入门(一):神经网络是什么?有哪些?(下)
接着上回讲,这几篇秋招的朋友们可以看看,现在假如面试问到你可以吹吹牛。
机器学习属于计算机或人工智能研究生的必修课,有些学校也开这个课,
不过本科教育大伙懂的都懂,我明确可以说我自己学校教的没我自己教的好,我自己学的比他讲的细致多了,
NLP任务:
这里是重头戏了,已经有transformer架构了能替代RNN了。
Transformer架构:
现在NLP风头最盛,最好用的就算transformer了。
这个东西也是后面出来的,为什么替代RNN,原因是提出了自注意力机制。
然后比RNN快的多(解决了并行计算问题,这也是为什么现在能看到多卡并行计算的原因,10年前根本难以实现。)
这个东西我要讲的细致些,
这个架构是编码器-解码器。
但是里面东西很多,里面有个输入层:负责token转换向量和位置编码(就告诉他在哪里)
自注意力机制(最重要的部分,能把每一个词彼此进行交互)
核心公式:Attention(Q, K, V) = softmax(QK^T / √d_k) V(去问问ai吧,有点难讲明白)
Q (查询):代表现在的词,查询最相关的词
K (键):代表所有词的特征,去比对现在的词。
V (值):代表“所有词”的实际信息内容。
过程就是:用Q和所有K计算相似度得分 -> 用softmax归一化为权重 -> 用权重对所有V进行加权求和,得到当前词的新表示。
多头注意力:
将多个自注意力层(头)并联起来。 允许模型同时关注不同方面的信息。
就像你用不同的视角(主语、谓语、宾语、定语...)同时分析一个句子,最后把分析结果综合起来,得到更全面的理解。
残差连接与层归一化:
残差连接:在每个子层(自注意力层、前馈网络)周围都有一个跳跃连接,即将子层的输入直接加到其输出上。这能有效缓解梯度消失问题,让模型可以变得非常深。(详细见上期)
层归一化:对样本特征进行标准化(把数据均值为0,方差为1),使训练过程更加稳定和快速。
前馈神经网络:(详细见上期)
线性层与Softmax(解码器输出)
解码器最后的输出会送入一个线性层,将向量投影到整个词表大小的维度。
然后通过Softmax函数,将输出转换为概率分布。概率最高的那个词,就是当前时间步生成的词。(softmax函数详细见上期)
BERT:
这个相当于transformer的青春版,可以说是双向的transformer。
只有编码器部分,实现了双向理解(一个字左右两边都看得到),和下一句预测(这个下一句预测就是GPT/大模型的前身)
GPT:
这个相当于transformer的mini版,可以说是生成式模型,
只有解码器部分,只有解码器所以是单向模型(从左到右),实现了大规模训练和少样本学习。
同时使用sft+奖励模型+强化学习进行训练。
现在的大模型都是这么个流程来的。
生成任务:
GAN(生成对抗网络):
这个文章也算非常重要的。
由生成器和对抗判断器组成,类似造假币和警察,
在极大极小博弈(保证最小化损失做出避免最坏的结果)中让生成器和对抗判断器越来越强。
然后现在大多用于输出图像,大部分的图像生成都能看到GAN的地方。
Diffusion Models(扩散模型):
前向扩散过程(把没有噪声的图像变成纯噪声图像)+反向扩散过程(去掉噪声需要用到模型)。
不断预测原来的部分,直到恢复图像,
这里用了一个VAE(变分自编码器)压缩图像在解码还原,降低了显存和计算的耗能。
同时需要多步骤迭代,虽然效果好但是太慢了。
强化学习:
DQN(深度 Q 网络):
用神经网络来近似Q函数,
Q函数(动作值函数):Q^π(s,a)
从s开始执行a动作,按照π行动保证获得期望累计的回报,而强化学习的最终效果就是拿到最优Q函数。
在DQN中用神经网络格式表示:Q(s,a;θ)≈Q∗(s,a)
PPO(近端策略优化,近来最流行的强化学习算法):
目前属于 Actor-Critic 架构
同时存在裁剪机制保证策略稳定不崩溃,现在常用于机器人领域,量化还有RLHF领域。
#秋招笔面试记录##机械人还在等华为开奖吗?##拼多多工作体验##牛客创作赏金赛#