首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何训练大数据量的神经网络?

如何训练大数据量的神经网络?
EN

Data Science用户
提问于 2016-08-30 05:35:42
回答 3查看 2.8K关注 0票数 1

我的数据集大小为~500000,输入维数为46。我正在尝试使用Pybrain来训练网络,但是对整个数据集的培训非常慢。使用50000个数据点的批次,每批需要超过2个小时的培训。

优化网络设计使培训更快的注意事项是什么?

EN

回答 3

Data Science用户

回答已采纳

发布于 2016-08-30 06:01:33

以下是一些影响你训练速度的因素:

  • 网络中的权重数
  • CPU的速度
  • 您正在使用的软件包(主要是它正在使用的引擎,在PyLearn中,这是Theano)
  • 如果您的所有数据都存储在内存中,或者在批间从磁盘读取

关于网络设计,你唯一能做的就是让网络变得更浅,以减少权重。为了减少划时代的数量,可能还有其他选项,如添加残余连接,但这不会减少1期的训练时间。

如果没有更多的信息,目前还不清楚瓶颈在哪里,但20个小时的时间似乎有点高。您能够得到的最简单和最大的改进是使用一个好的GPU,这应该可以使用pylearn,因为它是建立在Theano之上的。

票数 2
EN

Data Science用户

发布于 2016-09-02 05:15:46

使用一些数据集分析(如主成分分析)试图找出数据集的底层结构。您可以在不丢失太多信息的情况下减少维度。

票数 1
EN

Data Science用户

发布于 2016-08-30 06:12:44

即使有CPU,批处理的2小时也太长了。你有多少层?你有多少中子?你试过一层吗?尽量减少模型的复杂性。

您可能想要训练一个softmax回归,只是为了得到您的计算能力的下限。如果您发现您的机器挣扎,即使使用softmax回归,您将需要升级您的硬件。

票数 0
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/13740

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档