此TensorFlow示例中的过滤器图像数据在哪里?

问题描述 投票:2回答:1

我正在尝试使用Google的这个教程来使用TensorFlow Estimator来训练和识别图像:https://www.tensorflow.org/tutorials/estimators/cnn

我在教程中可以看到的数据是:train_data,train_labels,eval_data,eval_labels:

((train_data,train_labels),(eval_data,eval_labels)) = 
tf.keras.datasets.mnist.load_data();

在卷积层中,应该有特征滤波器图像数据与输入图像数据相乘?但是我没有在代码中看到它们。

从本指南开始,输入图像数据与过滤器图像数据一起检查低级特征(曲线,边缘等),因此也应该有滤镜图像数据(下图中的右边矩阵)?:https://adeshpande3.github.io/A-Beginner%27s-Guide-To-Understanding-Convolutional-Neural-Networks

enter image description here

tensorflow machine-learning artificial-intelligence conv-neural-network sample
1个回答
1
投票

滤镜是模型中使用的Conv2d图层的权重矩阵,不是预加载的图像,例如您在示例中给出的“对接曲线”。如果是这种情况,我们需要为CNN提供所有可能类型的形状,曲线,颜色,并希望我们为模型提供的任何看不见的数据都包含模型可以识别的有限图像集。

相反,我们允许CNN学习从数据本身成功分类所需的过滤器,并希望它可以推广到新数据。通过大量的迭代和数据(它们需要很多),模型迭代地为其设计最佳的过滤器集合,以成功地对图像进行分类。训练开始时的随机初始化确保每层的所有过滤器都学会识别输入图像中的不同特征。

早期图层通常对应于颜色和边缘(如上所述)的事实不是预定义的,但网络已经意识到在输入中查找边缘是在图像的其余部分中创建上下文的唯一方法,从而进行分类(人类)最初做同样的事)。

网络使用较早层中的这些原始过滤器在较深层中生成更复杂的解释。这是分布式学习的强大功能:通过多个简单功能的应用程序来表示复杂的功能。

© www.soinside.com 2019 - 2024. All rights reserved.