2 OCR學習 CTC相關

2021-10-10 13:22:11 字數 930 閱讀 7053

一、ctc是什麼?

ctc可以生成乙個損失函式,用於在序列資料上進行監督式學習,不需要對齊輸入資料及標籤,經常連線在乙個rnn網路的末端,訓練端到端的語音和文字識別系統。(一句話總結就是當label長度小於input長度時,如何做損失函式。)原文

二、ctc過程

ctc網路的輸入

ctc網路的輸入是乙個樣本(影象)經過網路(一般是cnn+rnn)計算後生成的特徵向量(特徵序列)。

特徵序列裡各個向量是按序排布的,是從影象樣本上從左到右的乙個個小的區間對映過來的,可以設定區間的大小(寬度),寬度越小,獲得的特徵序列裡的特徵向量個數越多,極端情況下,可以設定區間寬度為1,這樣就會生成width(影象寬度)個特徵向量。

ctc網路的計算過程

ctc網路的計算是為了得到特徵序列最可能對應的標籤物件,對語音識別是一段話,對文字識別是一段文字。

1. 計算特徵序列裡n個特徵向量分別對應的n個可能結果的概率。如果當前的特徵向量的**結果不在樣本標籤列表裡,就置**結果為blank空格或下劃線。計算結果從乙個n維的特徵序列,得到乙個n×n的**序列。

2.  計算n×n的**序列對應的所有可能的結果的概率,中間涉及到去除重複字母和blank的操作。

n×n個特徵向量對應的所有可能結果有n的n次方個,涉及到組合學,計算所有可能概率的成本會很高,但是ctc運用了動態規劃以大幅降低計算的複雜性。

ctc網路的輸出

對識別過程,取出最大概率對應的結果作為識別結果輸出;

對訓練過程,取最大概率對應的結果跟真實標籤之間的差異(計算編輯距離等方法),作為訓練loss,反向傳輸給前端網路。

ctc計算過程示意圖:

深度學習之OCR相關經驗記錄

q1 基於深度學習的文字檢測方法有哪幾種?各有什麼優缺點?a 常用的基於深度學習的文字檢測方法一般可以分為基於回歸的 基於分割的兩大類,當然還有一些將兩者進行結合的方法。1 基於回歸的方法分為box回歸和畫素值回歸。a.採用box回歸的方法主要有ctpn textbox系列和east,這類演算法對規...

2 機器學習相關數學基礎

1.高等數學 1 函式 2 極限 3 導數 4 極值和最值 極值點 是在一階導數等於0的點,2階導大於0是極小值,2階導小於0是極大值.2階導等於0是拐點,不是極值點.最值 在定義域內的最大最小值 5 泰勒級數 6 梯度 7 梯度下降 2.線性代數 1 基本概念 2 行列式 3 矩陣 4 最小二乘法...

2 機器學習相關數學基礎

一 學習筆記 1.線性代數 1 基本概念 2 矩陣 3 向量 2.概率論 1 事件 2 概率 3 概率分布 4 期望和方差 二 關於 梯度 梯度下降 和 貝葉斯定理 梯度 梯度是乙個向量,它的方向與取得最大方向導數的方向一致,而它的模為方向導數的最大值。即函式在該點處沿著梯度的方向變化最快,變化率最...