我的数据集大小为~500000,输入维数为46。我正在尝试使用Pybrain来训练网络,但是对整个数据集的培训非常慢。使用50000个数据点的批次,每批需要超过2个小时的培训。
优化网络设计使培训更快的注意事项是什么?
发布于 2016-08-30 06:01:33
以下是一些影响你训练速度的因素:
关于网络设计,你唯一能做的就是让网络变得更浅,以减少权重。为了减少划时代的数量,可能还有其他选项,如添加残余连接,但这不会减少1期的训练时间。
如果没有更多的信息,目前还不清楚瓶颈在哪里,但20个小时的时间似乎有点高。您能够得到的最简单和最大的改进是使用一个好的GPU,这应该可以使用pylearn,因为它是建立在Theano之上的。
发布于 2016-09-02 05:15:46
使用一些数据集分析(如主成分分析)试图找出数据集的底层结构。您可以在不丢失太多信息的情况下减少维度。
发布于 2016-08-30 06:12:44
即使有CPU,批处理的2小时也太长了。你有多少层?你有多少中子?你试过一层吗?尽量减少模型的复杂性。
您可能想要训练一个softmax回归,只是为了得到您的计算能力的下限。如果您发现您的机器挣扎,即使使用softmax回归,您将需要升级您的硬件。
https://datascience.stackexchange.com/questions/13740
复制相似问题