【问题标题】:RNN ImplementationRNN 实现
【发布时间】:2018-04-21 10:32:33
【问题描述】:

我将使用 Pytorch 实现 RNN。但是,在此之前,我在理解问题中提出的字符级 one-hot 编码方面遇到了一些困难。

请在下面找到问题

  • 选择您希望神经网络学习的文本,但请记住,您的 数据集必须相当大才能学习结构! RNN 已经过训练 在高度多样化的文本(小说、歌词、Linux 内核等)上取得成功,所以你 可以发挥创意。作为一个简单的选择,Gutenberg Books 是免费书籍的来源,其中 您可以下载 .txt 格式的完整小说。

  • 我们将为此模型使用字符级表示。为此,您可以使用 具有 256 个字符的扩展 ASCII。当你阅读你选择的训练集时,你会 将字符一次读入一个热编码,即每个字符 将映射到一个由 1 和 0 组成的向量,其中一个表示哪个字符 存在:

    char → [0, 0,····, 1,····, 0, 0] 您的 RNN 将读取这些长度为 256 的二进制向量作为输入。

所以,例如,我在 python 中读过一本小说。唯一字符总数为 97。总字符数约为 300,000。

那么,我的输入会是 97 x 256 一个热编码矩阵吗?

还是 300,000 x 256 一个热编码矩阵?

【问题讨论】:

    标签: python-3.x recurrent-neural-network pytorch rnn


    【解决方案1】:

    一个热门假设你的每个向量在一个地方应该是不同的。因此,如果您有 97 个唯一字符,那么我认为您应该使用大小为 1-hot 的向量(97 + 1 = 98)。额外的向量将所有未知字符映射到该向量。但您也可以使用 256 长度的向量。所以你的输入将是:

    B x N x V(B = 批量大小,N = 字符数,V = 一个热向量大小)。

    但是,如果您使用库,它们通常会询问词汇中字符的索引,然后它们会处理索引到一个热转换。希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 2018-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-15
      • 2018-03-17
      • 2018-02-25
      • 1970-01-01
      相关资源
      最近更新 更多