我正在设计一个带有一副纸牌作为输入和3个输出的神经网络:直线,同花顺或都不是。
在我的代码中,牌组表示为(13,4)矩阵(数字和西服)。使用2个完全连接的层(每层256个单元)解决这个问题很简单(输入是扁平的,因此最终是(52)而不是(13,4)。损耗相当稳定地下降了,我的精度很快上升到100%。
我希望我的网络能够使卷积变得更快,因为直人忽略了花色而同花顺忽略了数字。
所以我首先尝试的是使用2d转换使它成为1个通道。我先实验了1个转换层,然后进行了2次fc层。
我的第一个直觉是制作内核(5,4)。从理论上讲,它至少具有检测直线的完美格式。它无法收敛:损耗到处都是,每个输出的精度也是如此(我分别监视每个输出的精度)。然后我尝试了一堆不同的内核大小,但仍然学不到任何东西。
所以我认为也许我应该采取不同的方法:让我们将西装视为4个通道,并运行1d转换而不是2d。尝试了不同的内核大小,也没有运气。
因此,在这一点上,我开始质疑我的假设是否完全正确。卷积是查看(13,4)卡座并检测图案的好方法吗?对我来说似乎很明显,但是,由于我无法使其正常工作,所以我正在寻求帮助。
这对这个特定问题并不重要,但是我正在使用python和pytorch。