2015-11-05 89 views
3

这个问题可能会过于宽泛,但我会尽量使每个子主题尽可能具体。用于映射大型二进制输入的深度学习

我的设置: 大型二进制输入(每个样品2-4 KB)(无图像)相同尺寸的 大型二进制输出

我的目标:使用Deep学习,以找到我的二进制输入的映射功能到二进制输出。

我已经生成了一个大型训练集(> 1'000'000个样本),并且可以轻松生成更多。

神经网络和深厚的学习我的(当然有限)的知识,我的计划是建立与2000或4000的输入节点,相同数量的输出节点的网络,并尝试不同数量的隐藏层。 然后在我的数据集上训练网络(如果需要,等待几周),并检查输入和输出之间是否存在相关性。

它会更好输入我的二进制数据作为单个比特成网,或作为更大的实体(例如在时间16个比特,等)?

对于逐位输入: 我已经试过“神经设计师”,但软件崩溃时我尝试加载我的数据集(即使是在小的6行),我不得不编辑该项目保存文件以设置输入和目标属性。然后它再次崩溃。

我已经尝试OpenNN,但它试图分配一个矩阵的大小(hidden_​​layers *输入节点)^ 2,当然,它失败(对不起,没有117GB的RAM可用)。

是否有合适的开源框架可用于这种类型的 二元映射函数回归?我必须执行我自己的?

深入学习正确的方法?

有没有人有这些类型的任务经验? 不幸的是,我找不到有关深度学习+二元映射的论文。

如果有要求,我会很乐意补充更多信息。

感谢您为noob提供指导。

回答

0

您有一个包含二进制值向量对的数据集,最大长度为4,000位。你想在这些对之间创建一个映射函数。从表面上看,这似乎并不合理 - 想象一个带有二进制像素的64x64图像 - 这仅包含4096位数据,并且在现代神经网络的范围内。

在处理二进制值时,多层Restricted Boltzmann Machine看起来是一个不错的选择。添加到网络中的多少层实际上取决于数据中的抽象级别。

你没有提及数据的来源,但我认为你期望有一个体面的相关性。假设每个位的位置是任意的,并且独立于它的近邻,我将排除一个卷积神经网络。

一个很好的开源框架是Torch - 一个广泛支持机器学习算法的科学计算框架。由于其CUDA实施,它还具有利用GPU加速处理的优势。这将有希望避免你等待几个星期的结果。

如果您提供更多的背景,那么也许我们可以在家中解决...