我已经从事机器学习工作几个月了。我使用过caffe和darknet,现在将开始使用theano。机器学习中有两大任务:1. 检测和2. 分类。虽然我了解大多数分类网络是如何构建或设计的,但我无法清楚地了解构建用于检测图像的神经网络的基本步骤。在分类中,我们使用适当的最大池化、ReLU和卷积层来获得更好的结果并微调网络。在构建用于目标检测的神经网络时,需要注意哪些重要事项?
回答:
一般来说,你所说的“检测”通常通过回归任务来解决(因此,是“用于回归的神经网络”)。例如,你想在图片上识别鼻尖(而不识别其他任何东西)。你需要标记训练图像,以便你有:
X(输入) – 仅为大小为256×256像素的灰度图像Y(输出) – 一对数字,表示图像上鼻尖位置的X,Y坐标。
然后,你构建一个深度神经网络来解决这个回归问题。对于这个神经网络,应用与分类相同的原则。你可以使用最大池化层、卷积层、ReLU等任何你想要的。你只需要记住,你的输出层应该能够输出所需范围内的数字,仅此而已。
关于使用人工神经网络解决此任务的好教程在这里:链接
附注:你想检测对象所在的区域(比如在图像中用彩色框圈起来)?没问题,一个解决方案是通过回归任务四次来定位对象的左上、右上、左下、右下角。或者如果你喜欢,可以使用滑动窗口。