121、什么是注意力机制?它有什么帮助?
注意力机制
注意力机制是一种能衡量编码器输出与解码器先前隐藏状态之间相似度的机制。它的帮助主要体现在:
-
提高可解释性
便于理解模型输出结果的原因,在模型出错时可排查问题并针对性修复。 -
多任务适用性
可用于多种任务,如生成图像字幕,让解码器在每个时间步聚焦图像的合适部分。 -
构建先进模型
能构建先进模型,仅使用注意力机制就能构建出最先进的模型。
122、什么时候需要使用采样softmax?
在训练分类模型且类别众多(例如数千个)时需要使用采样softmax。
123、霍赫赖特(Hochreiter)和施密德胡贝尔(Schmidhuber)在他们关于长短期记忆网络(LSTMs)的论文中使用了嵌入式雷伯文法。嵌入式雷伯文法是人工文法,能生成诸如“BPBTSXXVPSEPE”这样的字符串。选择一个特定的嵌入式雷伯文法,然后训练一个循环神经网络(RNN)来识别一个字符串是否符合该文法。你首先需要编写一个函数,能够生成一个训练批次,其中约50%的字符串符合文法,50%不符合。
任务实现步骤
本题要求先选择特定嵌入式雷伯文法,接着编写函数生成训练批次(含约50%符合和50%不符合文法的字符串),最后训练RNN来识别字符串是否符合所选文法。可按以下步骤实现:
- 确定嵌入式雷伯文法规则;
- 编写函数生成符合和不符合文法的字符串;
- 将字符串划分为训练批次;
- 构建RNN模型;
- 使用训练批次对RNN进行训练;
- 用训练好的模型识别字符串是否符合文法。
124、自编码器主要用于哪些任务?
特征提取、无监督预训练、降维、生成模型、异常检测(自编码器通常不擅长重构离群值)
125、假设你想训练一个分类器,并且你有大量未标记的训练数据,但只有几千个标记的实例。自编码器如何提供帮助?你会如何操作?
自编码器在半监督学习中的应用
自编码器可以先在完整数据集(标记数据 + 未标记数据)上进行训练,然后复用其下半部分(即到编码层及之前的层)用于分类器,再使用标记数据训练分类器。
如果标记数据较少,在训练分类器时可能需要冻结复用的层。
具体操作步骤如下:
- 先训练一个深度自编码器
- 复用其部分层构建新的神经网络
- 最后用标记数据训练分类器
126、如果一个自动编码器能完美重构输入,它一定是一个好的自动编码器吗?如何评估自动编码器的性能?
自动编码器能完美重构输入并不一定意味着它是好的,可能只是一个 过完备自动编码器 ,只是学会了将输入复制到编码层再到输出,而没有真正学习到数据中的有用模式。
评估自动编码器性能的一种方法是 测量重构损失 ,如计算 均方误差(MSE) ,即输出减去输入的均方。
- 重构损失高表明自动编码器较差;
- 重构损失低也不能保证它是好的。
还应根据其用途进行评估,例如:
用于分类器的无监督预训练时,还需评估分类器的性能。
127、什么是欠完备自编码器和过完备自编码器?过度欠完备自编码器的主要风险是什么?过完备自编码器的主要风险是什么?
自编码器类型及其风险
欠完备自编码器
- 定义 :编码层小于输入和输出层的自编码器。
- 主要风险 :可能无法重构输入。
过完备自编码器
- 定义 :编码层大于输入和输出层的自编码器。
- 主要风险 :可能只是将输入复制到输出,而没有学习到任何有用的特征。
128、如何在堆叠自编码器中绑定权重?这样做的目的是什么?
在堆叠自编码器中绑定权重,可在自编码器对称时,将解码器层的权重绑定到编码器层的权重。
在 Keras 中可定义一个自定义层 DenseTranspose 来实现,该层使用另一个 Dense 层的转置权重。
例如构建新的堆叠自编码器时,将解码器的 Dense 层与编码器的 Dense

最低0.47元/天 解锁文章
3191

被折叠的 条评论
为什么被折叠?



