Sha*_* RC 4 artificial-intelligence machine-learning neural-network
我已经实现了一个有2层的神经网络(使用CUDA).(每层2个神经元).我试图让它使用反向传播学习2个简单的二次多项式函数.
但它没有收敛,而是发散(输出变得无穷大)
以下是我尝试过的更多细节:
3 * i + 7 * j+9
和j*j + i*i + 24
(我给出了图层i
和j
输入)我检查并重新检查了我的代码,但似乎没有任何问题.
所以这是我的问题:这里出了什么问题?
任何指针将不胜感激.
如果您要解决的问题是分类类型,请尝试3层网络(3对于Kolmogorov就足够了)从输入A和B到隐藏节点C的连接(C = A*wa + B*wb)表示一行AB空间.该行划分正确和不正确的半空格.从隐藏层到输出的连接,将隐藏层值相互关联,为您提供所需的输出.
根据您的数据,错误功能可能看起来像梳子,因此实施动力应该有所帮助.将学习率保持在1对我来说是最佳的.
您的培训课程每隔一段时间就会陷入局部最小化,因此网络培训将包括几个后续会议.如果会话超过最大迭代次数或幅度太高,或者错误显然很高 - 会话失败,则启动另一次.
在每个开始时,使用随机(-0.5 - +0.5)值重新初始化您的权重.
图表你的错误下降真的很有帮助.你会得到那个"啊哈!" 因子.
归档时间: |
|
查看次数: |
3553 次 |
最近记录: |