我需要能够判断一个形状是正确还是错误地绘制,
我有形状的样本数据,这些数据包含形状和像素的顺序(由像素的颜色表示)
例如,你可以看到降采样图像和颜色变化
我很难确定需要定义什么样的网络来接受这种类型的输入进行训练。
我应该将降采样图像转换为矩阵并输入吗?假设我的图像是64×64的,我需要64×64个输入神经元(如果忽略像素的颜色,我想),这是可行的解决方案吗?
如果你有任何指导,我会很感激的 🙂
回答:
我给你提供了一个例子。下面是一个二值化的4×4图像,显示的是字母c
。你可以选择连接行或列。我选择按列连接,如图所示。然后每个像素映射到一个输入神经元(总共16个输入神经元)。在输出层,我有26个输出,对应字母a
到z
。
注意,为了简化,在图中我没有将层i
的所有节点连接到层i+1
,但你可能应该全部连接。
在输出层,我高亮了c
的节点,以表明在这一训练实例中,c
是目标标签。预期的输入和输出向量在图的底部列出。
如果你想保留颜色的强度,例如,R/G/B,那么你必须将输入的数量增加三倍。每个单一像素将被三个神经元替代。
希望这对你有帮助。对于进一步的阅读,我强烈建议你查看Andrew Ng的深度学习教程,链接在这里 – 这里 – UFLDL。这是图像识别问题的最新技术。在教程的练习中,你将接受大量的图像预处理和图像处理的工程技巧训练,结合有趣的深度学习算法,从头到尾进行学习。