通常在训练网络从给定数据中决定两个值时,我注意到以下两点。
1.) 每个决策使用两个输出神经元,通过选择数值较高的神经元来做出正决策。
2.) 每个决策使用一个神经元,并设定一个阈值,例如0.5
,因此通过检查神经元输出值是否>=0.5
来做出正决策。
假设希望网络根据输入数据进行预测,例如每次从给定图像中预测形状的中心点,除了将输出神经元设为可能的结果数量(这肯定是所有像素数乘以2
,因为可能的X,Y
值对),还能做些什么呢?
具体来说,如何使输出神经元激活,例如输出432,50
作为中心点,假设可能的中心点X,Y
坐标范围从0
到450
[换句话说,人造神经元能否被建模为类似于祖母细胞,如果不能,为什么]?
回答:
你可以将[0,1]的输出缩放到你想要的范围。
如果你希望输出X ∈ [0,500]和Y ∈ [0,500],你可以有两个输出,两个都输出[0,1],然后将每个结果乘以500。
你还应该将输入数据缩放到某个统一范围。有些函数要求输入在特定范围内(例如[0,1]),例如,某些输入集在[0,10]范围内,而另一些在[0,1000]范围内,可能会使网络感到困惑,或者不同特征在不同范围内可能会使网络难以适当加权这些特征。
如果你的输出与输入在同一范围内,确定输入的缩放比例也将告诉你需要如何缩放输出。