我对自编码器中注意力机制的概念感到困惑。我认为我理解了在seq2seq翻译方面使用注意力的用法——在训练完组合的编码器和解码器之后,我们可以同时使用编码器和解码器创建(例如)语言翻译器。因为我们在生产中仍然使用解码器,所以我们可以利用注意力机制。
但是,如果自编码器的主要目标是生成输入向量的潜在压缩表示,该怎么办呢?我在谈论那些训练后基本上可以丢弃模型中解码器部分的情况。
例如,如果我使用没有注意力机制的LSTM,"经典"方法是使用最后一个隐藏状态作为上下文向量,它应该代表我的输入序列的主要特征。如果我使用带有注意力机制的LSTM,我的潜在表示将不得不包含每个时间步长的所有隐藏状态。这似乎不符合输入压缩和保留主要特征的概念。可能维数甚至会显著增加。
此外,如果我需要使用所有隐藏状态作为我的潜在表示(就像在注意力情况下一样),为什么要使用注意力呢?我可以只使用所有隐藏状态来初始化解码器。
但是,如果自编码器的主要目标是生成输入向量的潜在压缩表示,该怎么办呢?我在谈论那些训练后基本上可以丢弃模型中解码器部分的情况。
例如,如果我使用没有注意力机制的LSTM,"经典"方法是使用最后一个隐藏状态作为上下文向量,它应该代表我的输入序列的主要特征。如果我使用带有注意力机制的LSTM,我的潜在表示将不得不包含每个时间步长的所有隐藏状态。这似乎不符合输入压缩和保留主要特征的概念。可能维数甚至会显著增加。
此外,如果我需要使用所有隐藏状态作为我的潜在表示(就像在注意力情况下一样),为什么要使用注意力呢?我可以只使用所有隐藏状态来初始化解码器。