4. Transformer_4_输出部分

1. 输出部分介绍

2️⃣ 输出部分:输出部分包含:linear线性层、softmax层;经过 Linear层:对于分类任务,如 18分类的人名分类器,则Linear最后输出层即为18,再进行 softmax;

2. 线性层的作用

通过对上一步的线性变化得到指定维度的输出,也就是转换维度的作用;

3. softmax层的作用

使最后一维的向量中的数字缩放到0-1的概率值域内,并满足他们的和为1;

4. 线性层和softmax层的代码分析

init中:参数:d_model, vocab_size;d_model解码器输出的词嵌入维度512、vocab_size解码器单词总个数;nn.Linear(d_model, vocab_size)一个linear层,输出vocab_size;

forward:参数:x;x即为解码器的输出结果,经过linear得到预测值,在经过log_softmax返回最终输出x;

python 复制代码
from dm3_decoder import *

class Generator(nn.Module):
    def __init__(self, d_model, vocab_size):
        super(Generator, self).__init__()
        # d_model:词嵌入维度大小,解码器输出的词嵌入维度大小;vocab_size:解码器端词表大小
        self.linear = nn.Linear(d_model, vocab_size)

    def forward(self, x):
        output = F.log_softmax(self.linear(x), dim=-1)
        return output

def test_generator():
    decoder_output = test_decoder()
    # 实例化输出层对象
    my_generator = Generator(d_model=512, vocab_size=2000)
    result = my_generator(decoder_output)
    print(f'输出结果:{result.shape}')  # [2, 6, 2000]


if __name__ == '__main__':
    test_generator()
相关推荐
空中湖13 分钟前
Spring AI Agent 编排:ReAct 模式 + 多 Agent 协作实战
人工智能·spring·react.js
only-qi13 分钟前
RAG 工作机制详解:构建高质量知识库的技术全流程
网络·人工智能·rag
John_ToDebug18 分钟前
Git Stash 完全指南:临时保存工作区的艺术
人工智能·git·agent
feibaoqq18 分钟前
Atlas边端板卡AI识别:部署方法、技术实现、优劣及应用场景
人工智能·低空经济·低空安防
小保CPP25 分钟前
OpenCV C++将多张图像合并为webp动图
c++·人工智能·opencv·计算机视觉
Xzaveir29 分钟前
企业号码展示不可观测怎么办:状态机、拨测事件与异常回放
android·人工智能
FII工业富联科技服务30 分钟前
从灯塔工厂到AI Factory新模式:AI正在重构制造业的四大核心能力
大数据·运维·人工智能·重构·ar·制造
前端开发江鸟31 分钟前
从一个最小 Runtime Demo 看懂:陌生的 599 为什么不能重试
人工智能
AI小白Lin33 分钟前
33 个 AI 专家全票通过?那问题才刚开始
人工智能·架构
Spey_Events34 分钟前
【核心议题发布】聚焦深度维修与 AI 智慧革新!2026中国民用航空维修智造展——议题重磅发布!
大数据·人工智能