我正在尝试使用神经网络实现波斯语OCR,我使用了5000个训练样本,每个样本是一个70 * 79的矩阵,具体来说,我有一个5530个单元的输入层,一个隐藏层(4000个单元)和一个38个单元的输出层。
为了获得更快和更好的结果,我应该使用什么训练算法(反向传播,粒子群优化,遗传算法,…)?我使用反向传播运行了实现,但它花了很长时间,我不得不取消进程,我应该使用另一种算法,还是应该减少我的维度,或者…?
谢谢
回答:
常规的反向传播通常非常慢。尝试一些更快的变体,比如添加动量或rprop。
仍然要预期它会非常慢,因为仅在第一层就有超过2200万个连接。