问题如下。我有一个词汇量大小为25K的分类预测任务。在其中一个任务(输入词汇10K,输出维度即嵌入50),我想引入一个可训练的权重矩阵,用于输入嵌入(形状1,50)和权重(形状(50,128))(无偏差),得到的向量得分与其他特征一起作为预测任务的输入。在
关键是,我认为每个输入的可训练权重矩阵都是不同的,如果我简单地加进去的话。我希望这个权重矩阵在所有输入中都是通用的。在
我应该澄清-这里的输入是指培训示例。所以所有的例子都会学习一些特定于例子的嵌入,然后乘以一个共享的权重矩阵。在
每过这么多个时代,我打算做一次批量更新来学习这些常见的权重(或者使用其他目标变量来进行多个输出预测)
LSTM?这是我应该调查的吗?在
如果我正确地理解了这个问题,你可以在另一个模型中重用层甚至模型。在
以致密层为例。假设你有10个输入
如果输入具有不同的形状,此代码将无法工作。对D的第一次调用定义了它的属性。在本例中,输出直接设置为网络。但当然,你可以连接,堆叠,或任何你想要的。在
现在,如果你有一些可训练的模型,你可以用它来代替D:
^{pr2}$该模型的权重在所有输入之间共享。在
除了嵌入层,层应用于批处理中的所有示例。在
以一个非常简单的网络为例:
这是一个有1个输入层,1个隐藏层和一个输出层的简单网络。如果我们以隐藏层为例,这个层有一个形状为(4,2,)的权重矩阵。每次迭代时,输入数据(即形状矩阵)(批处理大小,4)乘以隐藏层权重(前馈阶段)。因此,h1的激活依赖于所有的样品。损失也按批次计算。输出层有一个形状(批处理大小,1)。假设在正向阶段,所有批处理样本都会影响权重值,背景和渐变更新也是如此。在
在处理文本时,问题通常被指定为从一系列单词中预测特定的标签。这被建模为(批处理大小、序列长度、单词索引)的形状。让我们举一个非常基本的例子:
^{pr2}$您可以将其复制并粘贴到colab并查看摘要。在
这个例子所做的是:
相关问题 更多 >
编程相关推荐