首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >神经网络函数最小化器的时间复杂度

神经网络函数最小化器的时间复杂度
EN

Data Science用户
提问于 2016-10-31 06:23:25
回答 2查看 237关注 0票数 1

我试着训练一个neural network来识别A到J的手写信件。我有一套200000码的训练。每个训练集都是784像素值的列表。我的神经网络有input layer of size 784hidden layer of size 50output layer of size 10

我正在使用python的fmin_cg库的scipy最小化函数。我面临的问题是,每次迭代都要花费大量的时间。

  • 第一次迭代几乎花了7-10分钟。
  • 第二次迭代耗时20分钟。
  • 第三名还在跑。

这可能是因为我的电脑过时了,只有2GB的内存和一个缓慢的处理器,但是我以前用training set of size 5000input layer size if 400hidden layer size 25output layer of size 10训练过一个神经网络。该神经网络识别手写体数字,是吴家杰机器学习课程中的一个练习问题。

所以是的,我知道当前的神经网络需要比前一个神经网络更长的训练时间,因为训练集,输入层和隐藏层都比以前的神经网络大得多,但我仍然认为这需要很长的时间。为什么这么慢?

这种规模的神经网络正常吗?还是应该使用其他更快的优化算法?有办法测量神经网络的时间复杂性吗?

EN

回答 2

Data Science用户

回答已采纳

发布于 2018-05-19 18:18:08

神经网络最好使用随机梯度下降(小批量)训练,而不是共轭梯度下降或其他优化方法。

我建议使用为此设计的框架,比如Keras或Tensorflow。

另外:我建议在这个特定的任务中使用卷积网络,而不是完全连接的网络。

票数 0
EN

Data Science用户

发布于 2018-03-19 13:33:19

本教程的第一段解释得很好。

而且,如果您增加网络的大小,时间复杂度将不会线性增长。它将增长平方,参数的数目也会增长。

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

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

复制
相关文章

相似问题

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