注意,当在Fractal_OCL_AttentionMLMH_d 中使用 Net.feedForward(TempData,12,true) 时,应替代 Net.feedForward(TempData,12,true);
检查 if(!Net.feedForward(TempData,12,true))
printf("error in Net feed forward. Check topology and input data");
将产生错误。与 Fractal_OCL_AttentionMLMH 版本不同,该版本不会出现此类错误。
请检查原因。
Dmitry Nazarov:
在Fractal_OCL_AttentionMLMH_d 中使用时请注意,不要使用 Net.feedForward(TempData,12,true);
检查 if(!Net.feedForward(TempData,12,true))
printf("error in Net feed forward. Check topology and input data");
将产生错误。与 Fractal_OCL_AttentionMLMH 版本不同的是,该版本不会出现此类错误。
请检查原因。
谢谢,我会检查的。
我们需要检查所有前馈值是否为 NaN、Inf,否则 FeedForward 会错误返回。
Dmitry Nazarov:
在Fractal_OCL_AttentionMLMH_d 中使用时请注意,不要使用 Net.feedForward(TempData,12,true);
检查 if(!Net.feedForward(TempData,12,true))
printf("error in Net feed forward. Check topology and input data");
将产生错误。与 Fractal_OCL_AttentionMLMH 版本不同,该版本不会出现此类错误。
请检查原因。
试一下这个版本,我没有出错。
附加的文件:
NeuroNet.mqh
594 kb
好的。错误消除了谢谢。
非常感谢这篇文章。我已经根据新功能调整了我的机器人,它们运行得很好。
我想,没有 OCL 就无法工作?太可惜了,我不是游戏玩家,而且这张卡还是旧的.....。
感谢作者提供的机器人,请检查 EA 本身代码中的错误,因为在训练过程中,当算法显示未定义信号时,遗漏模式的数量趋于 100%,而当历时结束时,最后一栏出现买入或卖出时,下一个历时的遗漏模式值就会减少。
Alexey Volchanskiy:
我想,没有 OCL 就无法工作?太糟糕了,我不是游戏玩家,显卡也是旧的....。
如果处理器是多核的,在 OCL 上为处理器安装驱动程序,速度不会很快,但可以检查一下。
我想,没有 OCL 就无法工作?太糟糕了,我不是游戏玩家,显卡也是旧的....。
德米特里,你能不能再解释一下 Neuronkey 创建过程中的窗口参数?我的理解是否正确,即这是在一步计算中按顺序(一步)提取的神经元数量? 以节省计算能力? |
新文章 神经网络变得轻松(第十二部分):舍弃已发布:
作为研究神经网络的下一步,我建议研究在神经网络训练过程中提高收敛性的方法。 有若干种这样的方法。 在本文中,我们将研究其中之一,名为“舍弃”。
在训练神经网络时,会将大量特征馈入每个神经元,且很难评估每个独立特征的影响。 结果就是,某些神经元的误差会被其他神经元的调整值抹平,这些误差从而会在神经网络输出处累积。 这会导致训练在某个局部最小值处停止,且误差较大。 这种效应涉及特征检测器的协同适应,其中每个特征的影响会随环境而变化。 当环境分解成单独的特征,且可以分别评估每个特征的影响时,很可能会有相反的效果。
2012年,多伦多大学的一组科学家提议从学习过程中随机排除一些神经元,作为复杂协同适应问题的解决方案 [12]。 训练中减少特征的数量,会增加每个特征的重要性,且特征的数量和质量构成的持续变化降低了它们协同适应的风险。 此方法称为舍弃。 有时拿这种方法的应用与决策树进行比较:通过舍弃一些神经元,我们在每次训练迭代中获得一个含有其自身权重的新神经网络。 根据组合规则,这样的网络具有很大的可变性。
作者:Dmitriy Gizlyk