Computer vision 输出时的适当激活功能和损耗功能,以优化OCR?

Computer vision 输出时的适当激活功能和损耗功能,以优化OCR?,computer-vision,ocr,loss-function,multiclass-classification,activation-function,Computer Vision,Ocr,Loss Function,Multiclass Classification,Activation Function,我正在尝试制作一个CNN模型(有多人手写的文字图像,目标是图像中的文本)。因此,我可以将单词编码为数字(A=0,B=1,等等,表示大写、小写和标点符号)。但是,在tensforflow.keras中,我无法完全决定使用什么样的损失来解决这个问题 我在GitHub的一些存储库中发现了一个叫做CTC丢失的东西。但是,ctc损耗与softmax一起用作最终致密层的活化。由于softmax为每个类别输出的概率总和为1;所以,我假设softmax不能同时输出两个“o”的概率 那么,对于这样的问题,我可以使

我正在尝试制作一个CNN模型(有多人手写的文字图像,目标是图像中的文本)。因此,我可以将单词编码为数字(A=0,B=1,等等,表示大写、小写和标点符号)。但是,在
tensforflow.keras
中,我无法完全决定使用什么样的损失来解决这个问题

我在GitHub的一些存储库中发现了一个叫做CTC丢失的东西。但是,ctc损耗与softmax一起用作最终致密层的活化。由于softmax为每个类别输出的概率总和为1;所以,我假设softmax不能同时输出两个“o”的概率


那么,对于这样的问题,我可以使用哪些适当的激活和丢失函数?

softmax分别应用于每个文本位置,因此输出两个“o”是没有问题的。事实上,CTC非常适合文本识别,而您的方法无法处理不在训练集中的单词,而CTC能够做到这一点,只要它看到了单词的所有字符。下面是我写的关于CTC的简短介绍:对于每个位置,softmax都会输出字母属于某个类的概率。那么,既然每个类只有一个神经元,softmax将如何为两个“o”输出两个单独的概率。我仍然无法理解这将如何发生。感谢链接到关于损失函数的文章,我将阅读它。每个类有一个输出(例如“a”、“b”、…),但重复T次,并且softmax应用于每个时间步(因此,对于1…T中的每个T),因此对于每个时间步,字符概率总和为1。有关详细信息,请参见链接,如图3.1。什么定义(或应该是什么定义)用于训练的RNN块的时间步数?这在某种程度上是速度和识别长单词能力之间的折衷,例如,请参阅:它有32个时间步,因此非常适合单词识别,而它太小,无法读取完整的文本行。