我正在尝试创建一个神经网络项目,用于判断彩色图像的质量,并返回该图像是否通过质量检查。这个质量检查将基于2000个样本进行训练,其中包含50%的优质照片和50%的劣质照片。
假设我正在检查的图片尺寸为1280×1280像素,采用RGB格式且无Alpha通道。我试图创建以下神经网络结构:
输入层 ==> 1280 * 1280 * 3 = 4915200个神经元
2个隐藏层 ==> 第一层 = 1638400个神经元,第二层 = 409600个神经元
输出层 ==> 1个神经元
我遇到的问题是,在简单的XOR训练中,我们可以轻松地使用2个输入、1个包含2个神经元的隐藏层和1个输出神经元来完成。然而,当应用于现实世界时,内存成为了一个巨大的问题。所需的内存量超过了我的128GB内存机器的容量。
我不知道应该如何处理这个项目才能使其在内存使用上更加高效?(至少在128GB内)
期待就我应该采取什么方法来使其工作展开公开讨论!
谢谢
回答:
你应该使用卷积神经网络。我建议你从一个图像识别项目中复制一个神经网络,并在你的数据集上重新训练。一个高效的卷积神经网络实现不应该占用那么多内存,尽管训练可能需要很长时间。
你还可以使用较低分辨率的图像,这是机器视觉中通常采用的做法。将所有图像缩小到例如256×256像素。