问题标签 [autoencoder]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 需要对 fit_generator 在 Autoencoder 上的工作进行哪些更改
我目前正在使用在卷积网络上运行良好的生成器。但是,当我使用相同的生成器来拟合自动编码器时,会出现以下错误。
我的代码如下
我对生成器所做的唯一更改是将类模式设置为无。将课堂模式保持为“二进制”也无济于事。由于 fit 生成器需要一个元组,我尝试将 (train_generator, train_generator) 和 (valid_generator,valid_generator) 作为参数传递给 fit_generator。
在这种情况下出现以下异常
检查模型输入时出错:数据应该是 Numpy 数组,或 Numpy 数组的列表/字典。成立:
但似乎没有任何效果。不知道我错过了什么。作为一个 keras 新手,任何帮助将不胜感激。
谢谢SK
machine-learning - 张量流中的备用自动编码器
张量流中有稀疏自动编码器的例子吗?我能够从这里运行并理解正常的https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/3_NeuralNetworks/autoencoder.py
对于稀疏,我只需要修改成本函数吗?
machine-learning - Weka 的稀疏自动编码器
我对此知之甚少,但是有一种方法可以在 Weka 中使用稀疏自动编码器吗?目前,我刚刚使用了 MPLAutoencoder,不确定是否也可以将其配置为稀疏。谢谢你。
machine-learning - 就参数数量而言,自动编码器和神经网络过拟合?
我有1100
2 个班级的序列。其中400
来自一个class 1
和700
来自class 2
。我使用了一个隐藏层的2
神经元自动编码器来捕获我的特征。我的初始特征是每个序列的三元组。因此,对于每个序列,我都有6860
三元组。结果,我的大多数输入向量都是稀疏向量。
现在,如果我计算这个网络的参数,我有
现在,与我的数据点数量相比,参数太多了。因此,我使用了0.98
, onlayer 1->hidden layer
的dropout 值,hidden layer->output layer
它决定13720 * 0.02 = 274
了每一层的参数数量和总548
参数。
现在,经过训练,我在我的500
序列测试数据上尝试了编码器,并提取了二维数据的隐藏层。然后我在另一个 5 个神经元的单隐藏层神经网络上使用该数据进行分类。我的结果非常好,因为我正在绕过90%
准确性。
我的问题是我的自动编码器是否过度拟合?我是否通过使用另一个神经网络过度拟合?我担心我的数据点数量少。我使用 dropout 是否合理?
python - 一个隐藏层足以让自动编码器具有与输入相同的输出
我正在使用基于 Theano 的自动编码器做一些工作,将输入作为来自高斯混合的样本,一个隐藏层。我希望输出与输入相同,但我没有实现。我受到本教程的启发以进行实施。只有一个隐藏层的自动编码器是否也足以恢复输出的精确副本?
我的代码如下所示:
deep-learning - 我可以使用自动编码器进行聚类吗?
在下面的代码中,他们使用自动编码器作为监督聚类或分类,因为它们有数据标签。 http://amunategui.github.io/anomaly-detection-h2o/ 但是,如果我没有标签,我可以使用自动编码器对数据进行聚类吗?问候
neural-network - 自动编码器 - 编码器与解码器网络大小?
我一直在阅读自动编码器,并且在构建解码器时我看到的所有示例都反映了编码器部分。
这只是惯例吗?
是否有任何特定原因解码器不应具有与编码器不同的隐藏层结构。例如...
只要输入和输出匹配。
也许我错过了一些明显的东西。
python - 使用 numpy.array 初始化 tflearn
我正在使用 tflearn 创建一个自动编码器,现在我想使用 RBM 的学习参数(np.array)初始化权重和偏差。
我尝试了以下方法:
为了
但我总是得到错误
如果我使用:
我收到错误:
有人可以提出一些建议吗?
machine-learning - 用于音乐的 LSTM 自动编码器 - Keras [Sequence to sequence]
因此,我正在尝试为大约 200 首歌曲(每首歌曲约 3-5 分钟)的片段学习固定向量表示,并希望为此使用基于 LSTM 的序列到序列自动编码器。
我正在预处理音频(使用 librosa),如下所示:
- 我首先只是得到每首歌曲大约 (1500000,) - (2500000,) 形状的原始音频信号时间序列。
- 然后,我将每个原始时间序列切成片段,并获得每首歌曲形状 (512, 3000) - (512, 6000) 的较低级别的 mel 频谱图矩阵。这些 (512,) 向量中的每一个都可以称为“迷你歌曲”,因为它们代表歌曲的各个部分。
- 我将所有歌曲的所有这些迷你歌曲垂直堆叠在一起以创建训练数据(我们称之为X)。X 的大小是 (512, 600000),其中第一个维度 (512) 是窗口大小,第二个维度 (600000) 是数据集中“迷你歌曲”的总数。
- 也就是说,X 中大约有 600000 首迷你歌——X 中的每一列代表一首长度为 (512,) 的迷你歌。
- 这些 (512,) 个迷你歌曲向量中的每一个都应该被编码为每个迷你歌曲的 (50,) 个向量,即在过程结束时我们将有 600000 (50,) 个向量。
- 用更标准的术语来说,我有 600000 个训练样本,每个长度为 512。[认为这类似于图像数据集 - 600000 个图像,每个长度为 784,其中图像的分辨率为 32x32。除了在我的情况下,我想将 512 长度的样本视为具有时间属性的序列。]
我在这里阅读了这个例子,并希望为我的用例扩展它。我想知道应该将图层的timesteps
和input_dim
参数设置为什么。Input
我正在设置timesteps = X.shape[0]
(即在这种情况下为 512)和input_dim = X.shape[1]
(即 600000)。这是正确的方法吗?
编辑:在上面添加了说明。
matlab - 堆叠稀疏自动编码器参数
我使用 MATLAB 研究堆叠稀疏自动编码器。谁能建议堆叠稀疏自动编码器参数应采用哪些值:
L2 权重正则化(Lambda)稀疏正则化(Beta)稀疏比例(Rho)。