深度学习----------------------------编码器、解码器架构

目录

重新考察CNN

编码器:将输入编码成中间表达形式(特征)

解码器:将中间表示解码成输出。


重新考察RNN

编码器:将文本 表示成向量

解码器:向量 表示成输出


编码器-解码器架构

一个模块被分为两块

编码器处理输出
解码器生成输出


总结

使用编码器-解码器架构的模型,编码器负责表示输入,解码器负责输出。


编码器=解码器架构

编码器

python 复制代码
# 编码器
from torch import nn


class Encoder(nn.Module):
    """编码器-解码器结构的基本编码器接口"""

    #  Encoder 类的构造函数,它接受任意数量的关键字参数
    def __init__(self, **kwargs):
        # 调用了父类 nn.Module 的构造函数,确保正确初始化
        super(Encoder, self).__init__(**kwargs)

    # 给一个X,输出其状态

    def forward(self, X, *args):
        # 抛出一个 NotImplementedError 异常,表示该方法需要在子类中进行实现。
        raise NotImplementedError

解码器

python 复制代码
# 解码器
class Decoder(nn.Module):
    def __init__(self, **kwargs):
        super(Decoder, self).__init__(**kwargs)

    # 有一个中介状态,编码器的东西传给解码器,拿到编码器的输出enc_outputs,然后初始化状态。

    def init_state(self, enc_outputs, *args):
        raise NotImplementedError

    # 拿到额外的输出X, state是用来不断更新的

    def forward(self, X, state):
        raise NotImplementedError

合并编码器和解码器

python 复制代码
# 编码器
from torch import nn


# 合并编码器和解码器
class EncoderDecoder(nn.Module):
    """编码器-解码器结构的基类"""

    def __init__(self, encoder, decoder, **kwargs):
        super(EncoderDecoder, self).__init__(**kwargs)
        self.encoder = encoder
        self.decoder = decoder

    def forward(self, enc_X, dec_X, *args):
        # 使用编码器对输入进行编码
        enc_outputs = self.encoder(enc_X, *args)
        # 使用编码器的输出初始化解码器的状态
        dec_state = self.decoder.init_state(enc_outputs, *args)
        # 使用解码器进行解码
        return self.decoder(dec_X, dec_state)

相关推荐
ar01232 分钟前
智慧医疗下的AR远程协助应用前景
人工智能·ar
IT观测2 分钟前
估图数科“闪估”AI智能体平台,荣膺2025年人工智能大模型金融创新大赛“标杆解决方案”
人工智能·金融
love530love2 分钟前
【实践指南】Windows 下 Stable Diffusion WebUI 与 ComfyUI 模型库“完美共存”指南
人工智能·windows·python·stable diffusion·大模型·aigc·comfyui
数新网络2 分钟前
CyberAI多模态数据平台焕新升级!七大核心功能解锁高效管理新体验
java·网络·人工智能
Francek Chen2 分钟前
Francek Chen 的730天创作纪念日
大数据·人工智能·学习·程序人生·创作纪念日
zhaodiandiandian3 分钟前
工业智能化:从自动化到自主化的升级之路
运维·人工智能·自动化
GitCode官方4 分钟前
做难而正确的 AI Infra 创新——专访国产大模型推理引擎 xLLM 社区负责人刘童璇
人工智能·开源·活动·xllm·atomgit
moonquakeTT6 分钟前
雷达信号处理中的CFAR技术详解
人工智能·机器学习·matlab·目标跟踪·雷达
乾元6 分钟前
网络自动化实战心法:核心对象、流水线与 AI 落地(无废话版)
运维·网络·人工智能·华为·自动化
老蒋新思维7 分钟前
创客匠人 2025 峰会启示:AI 重构知识变现,从内容输出到资产运营
大数据·人工智能·tcp/ip·重构·创始人ip·创客匠人·知识变现