当前位置: 首页 > article >正文

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

目录

  • 重新考察CNN
  • 重新考察RNN
  • 编码器-解码器架构
  • 总结
  • 编码器=解码器架构
    • 编码器
    • 解码器
    • 合并编码器和解码器

重新考察CNN

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

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

在这里插入图片描述




重新考察RNN

编码器:文本表示成向量

解码器:向量表示成输出

在这里插入图片描述




编码器-解码器架构

一个模块被分为两块

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

在这里插入图片描述




总结

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




编码器=解码器架构

编码器

# 编码器
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



解码器

# 解码器
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



合并编码器和解码器

# 编码器
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)





http://www.kler.cn/news/331819.html

相关文章:

  • 如何让服务器自动封禁低质量ip
  • 程序猿成长之路之设计模式篇——设计模式简介
  • C++——定义个一个结构体变量(包括年、月、日),编写程序,要求输入年、月、日,程序计算并输出该日在本年中是第几天。(提示:需要考虑闰年)
  • 酒店新科技,飞睿智能毫米波雷达人体存在感应器,智能照明创新节能新风尚
  • 掌握 C# 中的委托与事件机制
  • 微信小程序攻略:如何验证Token是否即将失效并自动刷新
  • 70.【C语言】动态内存管理(重点)(3)
  • 【Echarts】折线图和柱状图如何从后端动态获取数据?
  • C++实现单例模式
  • 面试速通宝典——9
  • CORE MVC 过滤器 (筛选器)《2》 TypeFilter、ServiceFilter
  • 科技展厅方案新视角:布局优化促进深度互动体验?
  • HTTP【网络】
  • ajax的原理,使用场景以及如何实现
  • 编程思维之函数返回函数
  • 网站可疑问题
  • Python并发编程挑战与解决方案
  • ChatGPT+R语言助力生态环境数据统计分析!回归与混合效应模型、多元统计分析、结构方程模型(SEM)(lavaan)、Meta分析、贝叶斯回归等
  • 机器学习基本上就是特征工程——《特征工程训练营》
  • 每日学习一个数据结构-树