问题标签 [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.
deep-learning - 在 Theano/Lasagne 中创建前馈自动编码器时出现尺寸错误
我想创建一个具有 3000 个输入、2 个隐藏和 3000 个输出神经元的简单自动编码器:
训练数据的形状如下:
这是输入、目标和损失函数定义:
我只是运行一个时代,但得到一个错误:
这是错误:
ValueError: ('shapes (3000,3) and (3000,2) not aligned: 3 (dim 1) != 3000 (dim 0)', (3000, 3), (3000, 2)) 应用导致错误:Dot22(inputs, W) 拓扑排序索引:3 输入类型:[TensorType(float64, matrix), TensorType(float64, matrix)] 输入形状:[(3000, 3), (3000, 2)] 输入步幅:[ (24, 8), (16, 8)] 输入值:['未显示','未显示'] 输出客户端:[[Elemwise{add,no_inplace}(Dot22.0, InplaceDimShuffle{x,0}.0 ), Elemwise{Composite{(i0 * (Abs(i1) + i2 + i3))}}[(0, 2)](TensorConstant{(1, 1) of 0.5}, Elemwise{add,no_inplace}.0, Dot22.0, InplaceDimShuffle{x,0}.0)]]
在我看来,自动编码器的瓶颈似乎是问题所在。有任何想法吗?
image - Caffe - 使用图像数据/图像标签对训练自动编码器
我对Caffe非常陌生。我的任务是在图像对上训练一个自动编码器网络,以 .tif 格式给出,其中一个是神经的灰度图像,另一个是相应的二进制掩码,它显示图像上是否存在某种结构。我在同一个“火车”文件夹中有这些。我想要完成的是对这些图像进行有意义的实验(分割、分类,未指定)。我的第一个问题是,如果没有现有的 train.txt,我不知道如何将图像输入网络。我可以直接使用图像,或者需要其他格式,如 lmdb、hdf5 吗?任何建议表示赞赏。
tensorflow - 具有 0 个隐藏单元的 TensorFlow 自动编码器学习了一些东西
我目前正在使用简单的自动编码器运行一些测试。我自己完全在 Tensorflow 中编写了一个自动编码器,此外还复制并粘贴了这个 keras 博客条目中的代码:https ://blog.keras.io/building-autoencoders-in-keras.html (只是为了有一个不同的自动编码器实现) .
当我测试不同的架构时,我从单层开始,并在这一层中有几个隐藏单元。我注意到,当我将隐藏单元的数量减少到只有一个(!)隐藏单元时,我仍然会得到与更大架构(多达几千个隐藏单元)相同的训练和测试损失。在我的数据中,最差的损失是 0.5。我尝试过的任何架构都达到了 ~ 0.15。
出于好奇,我将唯一现有隐藏层中的隐藏单元数量减少到零(我知道这没有任何意义)。但是,我仍然得到 0.15 的训练和测试损失。我认为这种奇怪的行为可能是由于解码层的偏差(当我重建输入时)。最初,我将偏差变量(在 TF 中)设置为 trainable=True。所以现在我猜即使没有任何隐藏单元,模型仍然会学习解码层中的偏差,这可能会导致我的损失从 0.5 减少到 0.15。
在下一步中,我将解码层中的偏差设置为 trainable=False。现在模型(没有隐藏单元)没有学到任何东西,就像我预期的那样(损失=0.5)。然而,使用一个隐藏单元,我再次得到大约 0.15 的测试和训练损失。
按照这种思路,我将编码层中的偏差设置为 trainable=False,因为我想避免我的架构只学习偏差。所以现在,只有我的自动编码器的权重是可训练的。这仍然适用于单个隐藏单元(当然只是单个隐藏层)。令人惊讶的是,这只适用于单层网络。一旦我增加层数(与隐藏单元的数量无关),网络就不会再学习任何东西(以防只有权重得到更新)。
我报告的所有事情对于训练损失和测试损失都是正确的(在机器永远看不到的完全独立的数据集中)。这让我更加好奇。
我的问题是:我如何从 1 节点“网络”中学到与从更大的“网络”中学到的一样多的东西(用于训练和测试)?其次,更大的网络怎么可能永远不会过拟合(训练和测试误差略有变化,但始终具有可比性)。任何建议都会非常有帮助!非常感谢!尼尔斯
python - 我使用 fit_generator 的损失是 0.0000e+00(使用 Keras)
我正在尝试在我的 GPU 的“大型”数据集上使用 Keras。为此,我使用了 fit_generator,问题是我的损失每次都是 0.0000e+00。
我的打印类和生成器功能:
这就是我使用它们的方式:
这是我的输出(的一部分):
X_train 和 y_train 形状是:
所以我的问题是,我该如何解决“损失:0.0000e+00”问题?
感谢您的时间。
编辑:模型,原文来自 Pradyumna 的 pradyu1993.github.io/2016/03/08/segnet-post.html。
和:
deep-learning - DeepLearning4J:前馈自动编码器上的形状不匹配
我正在实现一个自动编码器,用于物联网传感器数据的异常检测。我的数据集来自模拟,但基本上它是加速度计数据 - 三个维度,每个轴一个。
我正在从 CSV 文件中读取它,第 2-4 列包含数据 - 对不起代码质量,它又快又脏:
这是网络:
我收到以下错误:形状不匹配:x.shape=[1, 9000], y.shape=[1, 3]
.examples.feedforward.autoencoder.AnomalyDetector.main(AnomalyDetector.java:136)
但是我没有在任何地方定义尺寸,恕我直言,输入和输出的尺寸应该是(3,3000)和(3,3000)。我的错误在哪里?
非常感谢提前...
编辑:更新到最新版本 13.9.16 我遇到了同样的错误(语义上),这就是我现在正在做的事情:
这里是网络:
我的错误是:
我很确定我弄乱了训练数据 - 训练数据的形状是 3000 行,3 列 - 目标相同(相同的数据,因为我想构建一个自动编码器) - 测试数据可以是在这里找到: https ://pmqsimulator-romeokienzler-2310.mybluemix.net/data
有任何想法吗?
matlab - 在 10^5 稀疏矩阵上运行 Matlab 自动编码器时出现内存不足的错误
我有一个名为 pbAttack 的 10^5 方稀疏矩阵。每个元素表示节点 i 和节点 j 之间是否存在连接。如果有连接,pbAttack(i,j) = 1。否则,pbAttack (i,j) = 0。然后我想按照本教程使用它:Matlab Autoencoders。我使用与链接的 Matlab 教程中相同的代码。我只更改它以使用我的数据。但是,我收到以下错误:
所有这些错误都是由矩阵的巨大尺寸引起的吗?是否有解决方法使其不需要那么多内存?太感谢了。
python - Keras中卷积自动编码器的输出大小
我在做 Keras 库作者写的卷积自编码器教程: https ://blog.keras.io/building-autoencoders-in-keras.html
但是,当我启动完全相同的代码并使用 summary() 分析网络架构时,输出大小似乎与输入大小不兼容(在自动编码器的情况下是必需的)。以下是 summary() 的输出:
python - 编译自动编码器时keras出错?
这是我的自动编码器的模型:
这是我的拟合和预测功能:
当我尝试编译它时,我收到以下错误。我的数据集的所有图像都是 32x32 像素。为什么会出现这个错误呢?
我需要在我的模型中进行哪些更改以使输入形状变为 (1,32,32) ?
python - 如何在keras中单独使用Autoencoder的编码器?
我已经训练了以下自动编码器模型:
在训练这个自动编码器之后,我想将训练有素的编码器用于受监督的线路。我怎样才能只提取这个自动编码器模型的训练有素的编码器部分?
tensorflow - 使用 tensorflow 实现自动编码器
我想通过修改代码使用tensorflow实现我自己的自动编码器代码:在此处输入链接描述我想将代码写入一个类。我实现的类是:
该类由一个主函数调用:
并发生错误:
我想知道我的代码有什么问题?先感谢您!
浙青