【发布时间】:2021-03-21 15:32:41
【问题描述】:
我想使用 pytorch/keras 预测当前的棋盘。 (我们暂时不用担心输入。)
我会怎么做呢?
棋盘有 8x8 个位置 (64),每个位置可以是黑色或白色棋子 (12) 或根本没有棋子 (1)。我计划将此表示用于棋盘(欢迎其他建议!):
https://en.wikipedia.org/wiki/Board_representation_(computer_chess)#Square_list
例如:
2 3 4 5 6 4 3 2
1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
-1-1-1-1-1-1-1-1
-2-3-4-5-6-4-3-2`
据我所知,无法预测这样的事情。因为我的最后一层必须预测的类数是 448 (64x7),我不觉得神经网络可以做到这一点。此外,还有一个问题是 softmax 不起作用(imo)。损失函数也可能成为问题。
有人知道如何做到这一点吗?或者可以为我指明正确的方向,因为多类分类并不是这项任务的正确术语。我正在考虑创建 6 个网络,为每个部分创建一个分类。所以一个看起来像这样的 8x8 数组(对于车来说):
10000001
00000000
00000000
00000000
00000000
-1000000-1
但是问题还是很相似的。 我认为创建 64 个神经网络,每个神经网络处理一个位置会稍微简化问题。但这将是一种痛苦的训练。 期待听到您的建议!
【问题讨论】:
-
请通过intro tour、help center 和how to ask a good question 了解本网站的工作原理并帮助您改进当前和未来的问题,从而帮助您获得更好的答案。 “教我如何设计我想到的这个简洁的应用程序”对于 Stack Overflow 来说是题外话。您必须诚实地尝试解决方案,然后就您的实施提出具体问题。
-
你可以去SE Sites寻找合适的组。你似乎需要一个关于信息论和系统设计的开放式讨论;这些与 Stack Overflow 无关。
-
您还必须先定义问题,然后其他人才能与您进行富有成效的讨论。 “预测当前棋盘” [原文如此] 没有指定任何有用的内容(暂时忽略双冠词)。
标签: python neural-network pytorch prediction chess