Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 神经网络与图像分类_C++_Image Processing_Neural Network - Fatal编程技术网

C++ 神经网络与图像分类

C++ 神经网络与图像分类,c++,image-processing,neural-network,C++,Image Processing,Neural Network,我已经建立了一个实验性的神经网络——其思想是它可以查看JPEG图像并识别图像中哪些部分是音乐符号 为了训练网络,我使用了各种页面图像,这些图像被切割成100 x 100个框,可以值为1.0(即包含符号)或0.0(不包含符号) 不过,在训练网络时,它似乎已经固定了自己,它或多或少每次都会产生0.5的结果(平方误差为0.25)。乙状结肠(逻辑)功能用于激活 该网络有10000个输入神经元(100 x 100图像的每个像素),2000个隐藏神经元(每个输入连接到一个“行”和一个“列”隐藏神经元) 有一

我已经建立了一个实验性的神经网络——其思想是它可以查看JPEG图像并识别图像中哪些部分是音乐符号

为了训练网络,我使用了各种页面图像,这些图像被切割成100 x 100个框,可以值为1.0(即包含符号)或0.0(不包含符号)

不过,在训练网络时,它似乎已经固定了自己,它或多或少每次都会产生0.5的结果(平方误差为0.25)。乙状结肠(逻辑)功能用于激活

该网络有10000个输入神经元(100 x 100图像的每个像素),2000个隐藏神经元(每个输入连接到一个“行”和一个“列”隐藏神经元)

有一个输出神经元

使用两个输出神经元会得到更好的结果吗?(即为“是音乐”激活的和为“不是音乐”激活的)


(这里可以看到C++源:-虽然在任何给定的时间内,公开回购中的内容可能不是我在机器上使用的).< /p> fWW——实际问题是因为代码中的符号错误如注释中所述-所以两层相互冲突,正如您所预期的那样,向中间聚集

但是。。。我的代码基于上世纪90年代的一本书——被广泛引用的“C++中的实用神经网络配方”。这本书没有什么错(尽管C++反映了时间的编码风格,没有STL类等),但它也来自于一个神经网络不如今天理解和设计的时代,因此基本设计是有缺陷的。 我现在正在考虑如何最好地实现多层卷积网络——这本书中根本没有讨论过(事实上,它否定了多层网络依赖于单个隐藏层NN是一般近似器这一事实的想法)


我用单隐层NN得到了一些有趣的结果,但它对图像处理来说并不是那么有用。

aargh-可能只是代码中缺少减号的问题-这意味着对隐层的更正会被对输出层的错误更正所抵消。现在检查一下。我对这个话题不太了解,但我会选择一个输出神经元。如果它的输出低于某个阈值,则它包含“音乐”,如果它高于另一个阈值,则它不是“音乐”。