我是神经网络的新手,但对于我的项目,他们似乎很合适。该应用程序最终应该在Android手机上运行。我的想法是使用TenserFlow,但我不确定它是否合适。
我有以下情况,我的输入是一组图像(它们的顺序不应对输出产生任何影响)。设置大小不固定,但在大多数情况下低于10.我的整个集合的输出只是二进制分类(通过/失败)。
我将有一个卷积神经网络,它计算两个输出,一个权重和一个通过/失败值。每个图像单独提供给此CNN,然后使用加权算术平均值将结果值聚合为最终通过/未通过值。
我的问题是,我可以用TensorFlow训练这样的网络吗?
我的训练数据中没有CNN输出的值,只有聚合后的输出。这通常是否可以使用渐变导向框架,或者我必须使用遗传算法方法。
答案 0 :(得分:0)
你绝对可以用张量流来做到这一点。在完成了介绍教程之后,您应该查看CNN tutorial以了解如何在tensorflow中实现卷积神经网络。 所有繁重的工作都已经得到了解决。您所要做的就是使用tf.nn.conv2d()方法创建卷积层,然后使用池化和标准化操作之一,依此类推。 如果你不熟悉这意味着什么,你应该read up,但简而言之,CNN有三个独特的组成部分。卷积层通过查找特定模式的图像扫描窗口,并将其激活作为网格记录在输出中。学习降低数据维度的重要性,以及池化层的作用是什么;它采用卷积层的输出并减小其大小。归一化层比规范化这一点,因为具有规范化数据往往会改善学习。
如果您只有汇总输出,那么您需要考虑为单个图像提供合理代理输出的方法。您可以做的一件事就是使用聚合输出作为集合中每个单独图像的标签,并使用渐变下降来训练。