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

目录

重新考察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)

相关推荐
FserSuN1 分钟前
学习Harness Engineering 概念与实践经验
人工智能
Westward-sun.3 分钟前
NLP 词向量实战:PyTorch 从零实现 CBOW(Word2Vec)全流程拆解
人工智能·pytorch·python·深度学习·自然语言处理·word2vec
AIArchivist6 分钟前
AI医院智联中枢:智慧医疗的核心大脑,重构医疗服务底层逻辑
人工智能·百度·重构
开开心心就好9 分钟前
禁止指定软件运行的小工具仅1M
人工智能·pdf·音视频·语音识别·big data·媒体·consul
君科程序定做10 分钟前
多源遥感与深度学习驱动的耕地识别与监测:概念重构、方法演进与研究议程
人工智能·深度学习·重构
梦梦代码精10 分钟前
Dify + 扣子 + n8n + BuildingAI:从零搭建写作自动化平台,踩坑与实战全记录
运维·人工智能·架构·gitee·开源·自动化
16Miku11 分钟前
飞书 lark-cli 深度解读:当办公软件遇上 AI Agent
人工智能·ai·飞书·agent·claudecode
蔚天灿雨11 分钟前
AI Agent 生产踩坑实录:8 个案例与防御模式
人工智能·ai·agent·ai编程
运营小白11 分钟前
2026年,我如何用AI自动化构建一个持续增长的博客矩阵
人工智能·经验分享·搜索引擎·自动化·ai自动写作
badhope12 分钟前
2025年3月AI领域纪录:从模型开源到智能体价值重估——风云变幻DLC
人工智能·python·深度学习·计算机视觉·数据挖掘