Msaidizi wa utambuzi wa maandishi ya OCR

【Mfululizo wa OCR wa Kujifunza kwa Kina·7】Kazi ya Upotezaji wa CTC na Mbinu za Mafunzo

Kanuni, mbinu za utekelezaji na mafunzo ya kazi ya upotezaji wa CTC, na teknolojia ya msingi ya kutatua shida ya mpangilio wa mlolongo. Ingia kwenye algoriti za mbele-nyuma, mikakati ya kusimbua, na mbinu za uboreshaji.

## Utangulizi Uainishaji wa Muda wa Connectionist (CTC) ni mafanikio muhimu katika uundaji wa mlolongo wa kujifunza kwa kina, haswa katika uwanja wa OCR. CTC hutatua tatizo la kimsingi la kutolingana kati ya urefu wa mlolongo wa pembejeo na mlolongo wa pato, kuwezesha ujifunzaji wa mlolongo wa mwisho hadi mwisho. Makala haya yatachunguza kanuni za hisabati, utekelezaji wa algoriti, na mbinu za uboreshaji wa mafunzo ya CTC. ## Dhana za Msingi za CTC ### Masuala ya mpangilio wa mlolongo Katika kazi za OCR, tunakabiliwa na changamoto zifuatazo: **Kutolingana kwa urefu**: Urefu wa mlolongo wa kipengele cha picha ya ingizo ni tofauti na urefu wa mlolongo wa maandishi ya pato. Kwa mfano, neno lililo na herufi 3 linaweza kuendana na mlolongo wa kipengele cha hatua 100 za wakati. **Msimamo usio na uhakika**: Msimamo halisi wa kila mhusika kwenye picha haujulikani. Mbinu za jadi zinahitaji sehemu sahihi ya wahusika, ambayo ni ngumu katika matumizi ya vitendo. **Ugumu katika Ugawaji wa Wahusika**: Maandishi yaliyoandikwa kila mara, maandishi yaliyoandikwa kwa mkono, au fonti za kisanii hutatizika kugawanyika kwa usahihi katika herufi mahususi. ### Suluhisho la CTC CTC hutatua matatizo ya mpangilio wa mlolongo kwa njia zifuatazo za ubunifu: Tunakuletea Alama Tupu: Tumia alama maalum tupu kushughulikia mpangilio. Lebo tupu hazilingani na herufi zozote za pato na hutumiwa kutenganisha herufi rudufu kutoka kwa mfuatano wa kujaza. Uwezekano wa Njia: Huhesabu uwezekano wa njia zote zinazowezekana za upatanishi. Kila njia inawakilisha mawasiliano ya hatua ya tabia kwa wakati. **Upangaji Unaobadilika**: Kokotoa kwa ufanisi uwezekano wa njia kwa kutumia algoriti za mbele-nyuma, epuka kuorodhesha njia zote zinazowezekana. ## Kanuni za Hisabati za CTC ### Ufafanuzi wa kimsingi Kwa kuzingatia mlolongo wa pembejeo X = (x₁, x₂, ..., xt) na mlolongo unaolengwa Y = (y₁, y₂, ..., yu), ambapo T ≥ U. Seti ya lebo: L = {1, 2, ..., K}, iliyo na kategoria za herufi K. **Mkusanyiko wa Lebo Uliopanuliwa**: L_ext = L ∪ {tupu}, iliyo na vitambulisho tupu. **Njia ya mpangilio**: Mlolongo wa urefu T π = (π₁, π₂, ..., πt), ambapo πt ∈ L_ext. ### Ramani ya njia za vitambulisho CTC inafafanua kazi ya ramani B ambayo hubadilisha njia ya upatanishi kuwa mlolongo wa lebo ya pato: 1. Ondoa alama zote tupu 2. Unganisha herufi zinazorudiwa mfululizo **Mfano wa ramani**: - π = (a, a, tupu, b, tupu, b) → B(π) = (a, b, b) - π = (tupu, c, c, a, tupu, t) → B(π) = (c, a, t) ### Kazi ya upotezaji wa CTC Kazi ya upotezaji wa CTC inafafanuliwa kama logarithm hasi ya jumla ya uwezekano wote wa njia iliyopangwa kwa mlolongo unaolengwa Y: L_CTC = -logi P(Y| X) = -log Σ_{π∈B⁻¹(Y)} P(π| X) ambapo B⁻¹(Y) ni seti ya njia zote zilizopangwa kwa Y. Uwezekano wa Njia: Kwa kudhani kuwa utabiri wa kila hatua ya wakati ni huru, uwezekano wa njia ni: P(π| X) = ∏t yt^{πt} ambapo yt^{πt} ni uwezekano wa hatua ya wakati t kutabiri lebo πt. ## Algorithm ya mbele-nyuma ### Algorithm ya Mbele Algorithm ya mbele huhesabu uwezekano wa njia kutoka mwanzo wa mlolongo hadi nafasi ya sasa. **Mlolongo wa Lebo Iliyopanuliwa**: Ili kuwezesha hesabu, panua mlolongo unaolengwa Y hadi Y_ext, ukiingiza lebo tupu kabla na baada ya kila herufi. **Uanzishaji**: - α₁(1) = y₁^{tupu} (nafasi ya kwanza ni tupu) - α₁(2) = y₁^{y₁} (nafasi ya kwanza ni mhusika wa kwanza) - α₁(s) = 0 kwa maeneo mengine **Mfumo wa kujirudia*: Kwa t > 1 na nafasi s: - Ikiwa Y_ext[s] ni tupu au sawa na herufi iliyotangulia: α_t(s) = (α_{t-1}(s) + α_{t-1}(s-1)) × y_t^{Y_ext[s]} - Vinginevyo: α_t(s) = (α_{t-1}(s) + α_{t-1}(s-1) + α_{t-1}(s-2)) × y_t^{Y_ext[s]} ### Algorithm ya Nyuma Algorithm ya nyuma huhesabu uwezekano wa njia kutoka nafasi ya sasa hadi mwisho wa mlolongo. **Uanzishaji**: - β_T(| Y_ext|) = 1 - β_T(| Y_ext|-1) = 1 (ikiwa lebo ya mwisho sio tupu) - β_T(s) = 0 kwa maeneo mengine **Mfumo wa kujirudia*: Kwa t < T na nafasi s: - Ikiwa Y_ext [s+1] ni tupu au sawa na herufi ya sasa: β_t(s) = (β_{t+1}(s) + β_{t+1}(s+1)) × y_{t+1}^{Y_ext[s+1]} - Vinginevyo: β_t(s) = (β_{t+1}(s) + β_{t+1}(s+1) + β_{t+1}(s+2)) × y_{t+1}^{Y_ext[s+1]} ### Hesabu ya Gradient Jumla ya uwezekano:P (Y| X) = α_T(| Y_ext|) + α_T(| Y_ext|-1) **Gradient ya Uwezekano wa Lebo**: ∂(-ln P(Y| X))/∂y_k^t = -1/P(Y| X) × Σ_{s:Y_ext[s]=k} (α_t(s) × β_t(s))/y_k^t ## Mkakati wa usimbuaji wa CTC ### Usimbuaji wa Uchoyo Uchoyo huamua lebo kwa uwezekano mkubwa zaidi katika kila hatua ya wakati: π_t = argmax_k y_t^k Kisha tumia ramani ya B ili kupata mlolongo wa mwisho. **Faida**: Mahesabu rahisi na kasi ya haraka **Hasara**: Suluhisho bora la kimataifa haliwezi kupatikana ### Usimbuaji wa utaftaji wa kifungu Utafutaji wa boriti hudumisha njia nyingi za wagombea, kupanua njia za kuahidi zaidi kwa kila hatua. **Hatua za Algorithm**: 1. Anzisha : Mkusanyiko wa mgombea una njia tupu 2. Kwa kila hatua ya wakati: - Panua njia zote za wagombea - Weka njia ya K na uwezekano mkubwa zaidi 3. Rudisha njia kamili na uwezekano mkubwa zaidi **Urekebishaji wa Kigezo**: - Upana wa Boriti K: Husawazisha ugumu wa kukokotoa na ubora wa usimbuaji - Adhabu ya urefu: Epuka kupendelea mfuatano mfupi ### Utafutaji wa kifungu cha kiambishi awali Utafutaji wa kifungu cha kiambishi awali unazingatia uwezekano wa kiambishi awali cha njia ili kuepuka njia za kuhesabu mara mbili na kiambishi awali sawa. **Wazo la msingi**: Unganisha njia na kiambishi awali sawa, na uweke tu njia inayowezekana zaidi ya upanuzi. ## Mbinu za Mafunzo na Uboreshaji ### Usindikaji wa data **Usindikaji wa Urefu wa Mlolongo**: - Kundi la nguvu: Kupanga mfuatano wa urefu sawa - Mkakati wa Jaza: Jaza mfuatano mfupi na alama maalum - Mkakati wa Kupunguza: Punguza kwa njia inayofaa mfuatano mrefu kupita kiasi **Usindikaji wa Awali wa Lebo**: - Usanifishaji wa Seti ya Wahusika: Usimbaji wa herufi sare na herufi kubwa - Utunzaji maalum wa wahusika: Hushughulikia alama za uakifishaji na nafasi - Ujenzi wa Msamiati: Jenga faharasa kamili ya wahusika ### Mkakati wa Mafunzo **Kujifunza kwa Kozi**: Anza mafunzo na sampuli rahisi na hatua kwa hatua uongeze ugumu: - Mlolongo mfupi hadi mrefu - Futa picha kwa picha yenye ukungu - Fonti za kawaida kwa fonti zilizoandikwa kwa mkono **Uboreshaji wa Data**: - Mabadiliko ya jiometri: zunguka, kiwango, kata - Kuongeza kelele: Kelele ya Gaussian, kelele ya chumvi na pilipili - Mabadiliko ya taa: mwangaza, marekebisho ya utofautishaji **Mbinu za kuhalalisha**: - Kuacha shule: Zuia kufaa kupita kiasi - Uharibifu wa uzito: Uhalalishaji wa L2 - Kulainisha Lebo: Hupunguza kujiamini kupita kiasi ### Urekebishaji wa Hyperparameter **Ratiba ya Kiwango cha Kujifunza**: - Mkakati wa joto:Nyakati chache za kwanza hutumia kiwango kidogo cha kujifunza - Annealing ya Cosin: Kiwango cha kujifunza huharibika kulingana na kazi ya cosine - Urekebishaji wa Kubadilika: Hurekebisha kulingana na utendakazi wa seti ya uthibitishaji **Uteuzi wa Ukubwa wa Kundi **: - Mapungufu ya Kumbukumbu: Zingatia uwezo wa kumbukumbu ya GPU - Utulivu wa Gradient: Hutoa gradient thabiti zaidi kwa makundi makubwa - Kasi ya Muunganisho: Sawazisha kasi ya mafunzo na utulivu ## Mazingatio ya Maombi ya Vitendo ### Uboreshaji wa Hesabu **Uboreshaji wa Kumbukumbu**: - Vituo vya ukaguzi vya gradient: Hupunguza alama ya kumbukumbu ya uenezi wa mbele - Mafunzo ya usahihi mchanganyiko: Punguza mahitaji ya kumbukumbu ukitumia FP16 - Uboreshaji wa grafu inayobadilika: Huboresha ugawaji wa kumbukumbu kwa grafu zilizohesabiwa **Uboreshaji wa Kasi**: - Kompyuta Sambamba: Hutumia uwezo wa usindikaji sambamba wa GPU - Uboreshaji wa Algorithm: Inatekelezwa kwa kutumia algoriti bora za mbele hadi nyuma - Uboreshaji wa kundi: Weka saizi za kundi ipasavyo ### Utulivu wa nambari **Hesabu ya Uwezekano**: - Hesabu ya nafasi ya kumbukumbu: Epuka kufurika kwa thamani kunakosababishwa na kuzidisha uwezekano - Kukatwa kwa nambari: Hupunguza anuwai ya maadili ya uwezekano - Mbinu za Kuhalalisha: Hakikisha uhalali wa usambazaji wa uwezekano **Utulivu wa Gradient**: - Kupunguza gradient: Huzuia milipuko ya gradient - Uanzishaji wa Uzito: Tumia mkakati unaofaa wa uanzishaji - Urekebishaji wa kundi: huimarisha mchakato wa mafunzo ## Tathmini ya Utendaji ### Tathmini metriki **Usahihi wa kiwango cha tabia**: Accuracy_char = Idadi ya herufi zinazotambuliwa kwa usahihi / Jumla ya idadi ya wahusika **Usahihi wa Kiwango cha Serial**: Accuracy_seq = idadi ya mfuatano sahihi kabisa / jumla ya idadi ya mfuatano **Umbali wa Kuhariri**: Hupima tofauti kati ya mlolongo uliotabiriwa na mlolongo halisi, ikiwa ni pamoja na idadi ya chini ya kuingiza, kufuta, na shughuli za uingizwaji. ### Uchambuzi wa Hitilafu **Aina za Makosa ya Kawaida**: - Kuchanganyikiwa kwa wahusika: Utambulisho mbaya wa wahusika sawa - Makosa ya nakala: CTC huwa na kutoa herufi rudufu - Hitilafu ya urefu: Utabiri usio sahihi wa urefu wa mlolongo **Mikakati ya Uboreshaji**: - Uchimbaji wa sampuli ngumu: Zingatia sampuli za mafunzo zilizo na viwango vya juu vya makosa - Uboreshaji wa baada ya usindikaji: Hurekebisha makosa kwa kutumia miundo ya lugha - Mbinu Jumuishi: Kuchanganya utabiri kutoka kwa miundo mingi ## Muhtasari Kazi ya upotezaji wa CTC hutoa zana yenye nguvu ya uundaji wa mlolongo, haswa wakati wa kushughulika na shida za usawa. Kwa kuanzisha uwekaji lebo tupu na algoriti za programu zinazobadilika, CTC inatambua ujifunzaji wa mfuatano wa mwisho hadi mwisho na kuepuka hatua changamano za usindikaji wa mapema. **Mambo muhimu ya kuchukua**: - CTC hutatua tatizo la urefu usiolingana wa pembejeo na mlolongo wa pato - Algorithms ya mbele-nyuma hutoa mahesabu bora ya uwezekano - Mkakati unaofaa wa kusimbua ni muhimu kwa utendaji wa mwisho - Mbinu za mafunzo na mikakati ya uboreshaji huathiri sana utendaji wa mfano **Mapendekezo ya Maombi**: - Chagua mkakati unaofaa wa kusimbua kwa kazi maalum - Msisitizo juu ya usindikaji wa data na mbinu za uboreshaji - Zingatia uthabiti wa nambari na ufanisi wa hesabu - Uboreshaji wa baada ya usindikaji kulingana na maarifa ya kikoa Utumiaji mzuri wa CTC umeweka msingi muhimu wa ukuzaji wa ujifunzaji wa kina katika uwanja wa uundaji wa mlolongo, na pia ilitoa msaada muhimu kwa maendeleo ya teknolojia ya OCR.
Msaidizi wa OCR QQ huduma kwa wateja mkondoni
Huduma kwa wateja wa QQ(365833440)
Kikundi cha mawasiliano cha mtumiaji wa QQ msaidizi wa OCR
QQkikundi(100029010)
Msaidizi wa OCR wasiliana na huduma kwa wateja kwa barua pepe
Sanduku la barua:net10010@qq.com

Asante kwa maoni na mapendekezo yako!