首页 文章

RNN实施

提问于
浏览
0

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

请在下面找到问题

  • 选择您希望神经网络学习的文本,但请记住,您的数据集必须非常大才能学习结构! RNN已经成功地接受了高度多样化的文本(小说,歌词,Linux内核等)的培训,因此您可以获得创造性 . 作为一个简单的选择,古腾堡书籍是免费书籍的来源,您可以下载.txt格式的完整小说 .

  • 我们将为此模型使用字符级表示 . 为此,您可以使用256个字符的扩展ASCII . 当您阅读所选择的训练集时,您将一次一个地读入一个热字编码的字符,也就是说,每个字符将映射到1和0的向量,其中一个字符指示哪个字符是当下:

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

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

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

或者它是300,000 x 256一个热编码矩阵?

1 回答

  • 1

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

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

    但是如果你使用库,他们通常会询问词汇表中的字符索引,并且它们处理一个热转换的索引 . 希望有所帮助 .

相关问题