我想实现神经网络,猜测用户是选择真还是假。
什么是最合适的设计?我是这方面的新手,但我想到以下几点:
有128个输入,用于128个先前的猜测(如果你愿意,你可以使用内存)。
第一个输入是最新的猜测,第二个是先前的输入,第三个是2个回转等等。
我正在考虑隐藏完全连接的256个节点层以及输出的最后一个层。
这就是我代表我输入的方式:0 - 尚未猜到,0.5 - 猜测是假的,1 - 猜测是真的
这是输出的值:0为假,1为真(当输出成为输入时,我将其转换为输入格式)
现在,我对此设计的主要担心是输入正在发生变化。也就是说,第一次猜测中的第一个输入将是另一个猜测中的第二个输入,另一个输入中的第三个输入,我担心不会有可重用性,逻辑将被复制,并且猜测将是坚如磐石的。
我的恐惧毫无根据吗?我应该让神经网络为我做思考并完成它吗?
我记得我曾经在youtube上看过一些神经网络中的记忆,一个接一个地输入输入。这是我做错的方式吗?在神经网络中有记忆的特殊方法吗?
如果我的设计错了,你会建议什么设计?
答案 0 :(得分:1)
首先,你应该问自己为什么要使用神经网络。您是否先尝试过更简单(参数更少)的模型,例如Hidden Markov Models?你有足够的数据来训练网络超过几层吗?
假设您确定要使用神经网络,那么我们应该从头开始,即输入。您的输入是一个分类功能,因此应以适合的方式进行编码。编码这些功能的一种常用方法是one-hot encoding。因此,在您的情况下,您的输入将如下所示:
NYG = [1, 0, 0]
T = [0, 1, 0]
F = [0, 0, 1]
一旦输入数据格式化,您就可以考虑网络架构。虽然有几种方法可以解决每个问题,但您可能希望使用Recurrent neural networks,它可以根据输入序列输出分类。我建议从LSTM细胞的几个小层(64个节点)开始,看看你是如何进行的,那么你可以考虑如何从那里成长(如果你有足够的数据)。
我真的不能强调你不应该只是跳进神经网络。它们可能非常有用,或者它们可能会在不需要的地方添加大量混淆。