【发布时间】:2018-10-23 19:23:52
【问题描述】:
我在 tensorflow 中制作了一个模型,其 OCR 结构如下。我在一个非常大的数据集(250K 图像)上对其进行了训练,并且准确率也达到了 94% 左右。但该模型在大多数情况下将“is”预测为“1s”或“1S”。我检查了数据集,它包含很多“is”实例,所以我不认为数据集是问题所在。当它是另一个词(例如“this”或“christian”)的一部分时,该模型也能正确预测。这种行为可能是什么原因我如何改进模型以检测“是”。
我尝试过的事情
减少 maxpool 层数。
对 maxpool 层使用 2x1 内核
Input: (?, 64, 1024, 1)
cnn-1: [None, 64, 1024, 64]
relu-1: [None, 64, 1024, 64]
bn-1: [None, 64, 1024, 64]
maxpool-1: [None, 32, 512, 64]
cnn-2: [None, 32, 512, 128]
relu-2: [None, 32, 512, 128]
bn-2: [None, 32, 512, 128]
maxpool-2: [None, 16, 256, 128]
cnn-3-1: [None, 16, 256, 256]
relu-3-1: [None, 16, 256, 256]
cnn-3-1: [None, 16, 256, 256]
relu-3: [None, 16, 256, 256]
bn-3: [None, 16, 256, 256]
maxpool-3: [None, 8, 128, 256]
cnn-4-1: [None, 8, 128, 512]
relu-4-1: [None, 8, 128, 512]
bn-4-1: [None, 8, 128, 512]
cnn-4-2: [None, 8, 128, 512]
relu-4-2: [None, 8, 128, 512]
bn-4-2: [None, 8, 128, 512]
maxpool-4: [None, 4, 64, 512]
cnn-5: [None, 4, 64, 512]
relu-5: [None, 4, 64, 512]
lstm-input: [None, 64, 2048]
lstm-output: [None, 64, 256]
lstm-output-reshaped: [None, 256]
fully-connected: [None, 94]
reshaped_logits: [None, None, 94]
transposed_logits: [None, None, 94]
【问题讨论】:
标签: tensorflow deep-learning ocr lstm convolutional-neural-network