【Дубоко учење ОЦР серија · 7】 ЦТЦ Функција губитка и технике обуке
📅
Време : 2025-08-19
👁️
Читање:2021
⏱️
Прибл . 21 минута (4005 речи)
📁
Категорија : Напредни водичи
Принцип , имплементација и технике обуке ЦТЦ губитка функције, као и основна технологија за решавање проблема поравнања секвенце. Зароните у алгоритме напред-уназад, стратегије декодирања и методе оптимизације.
## Увод
Конекционистичка временска класификација (ЦТЦ) је важан пробој у моделирању секвенци дубоког учења, посебно у области ОЦР-а. ЦТЦ решава основни проблем неусклађености између дужине улазне секвенце и излазне секвенце, омогућавајући учење секвенце од краја до краја. Овај чланак ће се позабавити математичким принципима, имплементацијом алгоритама и техникама оптимизације обуке ЦТЦ-а.
## ЦТЦ Основни концепти
### Питања поравнања секвенце
У ОЦР задацима суочавамо се са следећим изазовима:
** Дужина неусклађеност **: Дужина секвенце карактеристика улазне слике се разликује од дужине излазног текста секвенце. На пример, реч која садржи 3 знака може одговарати секвенци карактеристика од 100 временских корака.
** Неизвесна позиција **: Тачан положај сваког лика на слици је непознат. Традиционалне методе захтевају прецизну сегментацију карактера, што је тешко у практичној примени.
** Тешкоће у сегментацији карактера **: Континуирано писани текст, руком писани текст, или уметнички фонтови боре да прецизно поделе на појединачне знакове.
### ЦТЦ-ово решење
ЦТЦ решава проблеме поравнања секвенци на следеће иновативне начине:
Представљамо празне маркере: Користите посебне празне маркере за руковање поравнањем. Празне ознаке не одговарају било каквим излазним знаковима и користе се за одвајање дуплих знакова од секвенци попуњавања.
Вероватноћа пута: Израчунава вероватноћу свих могућих путева поравнања. Свака путања представља могућу кореспонденцију корака карактера и времена.
** Динамичко планирање **: Ефикасно израчунајте вероватноће путање користећи алгоритме напред-назад, избегавајући набрајање свих могућих путева.
## ЦТЦ математички принципи
### Основне дефиниције
С обзиром на улазну секвенцу X = (x ₁, x ₂, ..., xт) и циљну секвенцу Y = (y ₁, y ₂, ..., yу), где Т ≥ У.
Скуп ознака: Л = {1, 2, ..., К}, који садржи К категорије знакова.
**Ектендед Таг Цоллецтион**: Л_еxт = Л ∪ {бланк}, садржи празне ознаке.
** Пут поравнања **: Низ дужине Т π = (π ₁, π ₂, ..., πт), где πт ∈ Л_еxт.
### Мапирање путања до ознака
ЦТЦ дефинише функцију мапирања Б која претвара путању поравнања у излазну секвенцу ознака:
1 . Уклоните све празне маркере
КСНУМКС . Спојите узастопне дуплиране знакове
** Пример мапирања **:
- π = (а, а, празно, б, празно, б, б) → Б(π) = (а, б, б)
- π = (празно, ц, ц, а, празно, т) → Б(π) = (ц, а, т)
### ЦТЦ функција губитка
Функција губитка ЦТЦ је дефинисана као негативни логаритам збира свих вероватноћа путање мапираних на циљну секвенцу И:
Л _ЦТЦ = -лог П(Y | X ) = -лог Σ_{π ∈ Б ⁻ ¹(Y)} П(π | X)
где је Б ⁻ ¹(Y) скуп свих путања мапираних на Y.
Вероватноћа пута: Под претпоставком да су предвиђања сваког временског корака независна, вероватноћа пута је:
П(π| X ) = ∏ т yт ^{πт}
где yт ^{πт} је вероватноћа временског корака т који предвиђа ознаку πт.
## Алгоритам напред-назад
### Алгоритам за прослеђивање
Алгоритам напред израчунава вероватноћу путање од почетка секвенце до тренутне позиције.
** Ектендед Лабел Сеqуенце **: Да бисте олакшали израчунавање, проширите циљну секвенцу И на Y_еxт, убацујући празне ознаке пре и после сваког карактера.
** Иницијализација **:
- α ₁(1) = y ₁ ^{бланк} (прва позиција је празна)
- α ₁(2) = y ₁ ^{y ₁} (прва позиција је први знак)
- α ₁(с) = 0 за друге локације
** Рекурзивна формула **:
За т > 1 и позиције с:
- Ако је Y_еxт празно или исто као и претходни знак:
α_т (с) = (α_{т-1}(с) + α_{т-1}(с-1)) × y_т ^{Y_еxт[с]}
- Иначе:
α_т (с) = (α_{т-1}(с) + α_{т-1}(с-1) + α_{т-1}(с-2)) × y_т ^{Y_еxт[с]}
### Уназад алгоритам
Уназад алгоритам израчунава вероватноћу путање од тренутне позиције до краја секвенце.
** Иницијализација **:
- β_Т(| Y_еxт|) = 1
- β_Т(| Y _еxт | -1 ) = 1 (ако последња ознака није празна)
- β_Т(с) = 0 за друге локације
** Рекурзивна формула **:
За т < Т и позиције с:
- Ако је Y_еxт [с + 1] празно или исто као и тренутни знак:
β_т (с) = (β_{т + 1}(с) + β_{т + 1}(с + 1)) × y_{т + 1}^{Y_еxт[с + 1]}
- Иначе:
β_т (с) = (β_{т + 1}(с) + β_{т + 1}(с + 1) + β_{т + 1}(с + 2)) × y_{т + 1}^{Y_еxт[с + 1]}
### Израчунавање градијента
Укупна вероватноћа:П (Y | X ) = α_Т(| Y_еxт|) + α_Т(| Y_еxт|-1)
** Градијент вероватноће етикете **:
∂ (-лн П(Y | X ))/∂ y _к ^ т = -1/П(Y | X ) × Σ_{с:Y_еxт[с]= к} (α_т(с) × β_т(с))/y_к ^ т
## ЦТЦ стратегија декодирања
### Похлепно декодирање
Похлепа декодира ознаку са највећом вероватноћом у сваком временском кораку:
π _т = аргмаx_к y_т ^ к
Затим примените Б мапирање да бисте добили коначну секвенцу.
** Предности **: Лако прорачуни и брза брзина
** Недостаци **: Глобално оптимално решење се не може добити
### Бундле претрага декодирање
Претрага снопа одржава више путева кандидата, проширујући најперспективније путеве у сваком временском кораку.
** Кораци алгоритма **:
КСНУМКС . Иницијализујте: Колекција кандидата садржи празне путање
2 . За сваки временски корак:
- Проширите све путеве кандидата
- Држите К-пут са највећом вероватноћом
3 . Вратите комплетну путању са највећом вероватноћом
** Подешавање параметара **:
- Ширина снопа К: Балансира рачунарску сложеност са квалитетом декодирања
- Дужина казна: Избегавајте фаворизовање кратке секвенце
### Префикс пакет претрага
Префикс сноп претрага узима у обзир вероватноћу префикса путање да би се избегло двоструко бројање путање са истим префиксом.
** Основна идеја **: Спојите путање са истим префиксом, и задржите само највероватнији метод проширења.
## Технике обуке и оптимизација
### Претходна обрада података
** Обрада дужине секвенце **:
- Динамичко дозирање: Груписање секвенци сличне дужине
- Попуните стратегију: Попуните кратке секвенце са посебним маркерима
- Стратегија скраћивања: Разумно скратите претерано дуге секвенце
** Етикета Преобрада **:
- Стандардизација скупа знакова: Јединствено кодирање знакова и капитализација
- Руковање посебним карактером: Ручке интерпункцијских знакова и размака
- Изградња речника: Изградите комплетан речник знакова
### Стратегија обуке
** Учење курса **:
Започните обуку са једноставним узорцима и постепено повећавајте потешкоће:
- Кратке до дуге секвенце
- Јасна слика на мутну слику
- Редовни фонтови за руком писане фонтове
** Побољшање података **:
- Геометрија трансформације: ротирати, скала, рез
- Додавање буке: Гауссова бука, со и бибер бука
- Промене осветљења: осветљење, подешавања контраста
** Технике регуларизације **:
- Напуштање: Спречите преклапање
- Деградација тежине: L2 регуларизација
- Лабел Смоотхинг: Смањује претерано самопоуздање
### Подешавање хиперпараметара
** Заказивање стопе учења **:
- Стратегија загревања: Првих неколико епоха користи малу стопу учења
- Косинусно жарење: Стопа учења се распада у складу са косинусном функцијом
- Адаптивно подешавање: Подешава се на основу перформанси валидације скупа
** Избор величине серије **:
- Ограничења меморије: Размислите о капацитету ГПУ меморије
- Стабилност градијента: Обезбеђује стабилнији градијент за веће серије
- Брзина конвергенције: Балансирајте брзину и стабилност тренинга
## Практична разматрања примене
### Рачунарска оптимизација
** Оптимизација меморије **:
- Градијент контролне тачке: Смањује меморијски отисак напред ширења
- Обука мешовита прецизност: Смањите захтеве за меморијом са FP16
- Динамички граф оптимизација: Оптимизује расподелу меморије за израчунате графиконе
** Оптимизација брзине **:
- Паралелно рачунање: Користи могућности паралелне обраде ГПУ-а
- Оптимизација алгоритма: Имплементирано коришћењем ефикасних алгоритама напред-назад
- Батцх Оптимизатион: Подесите величине серије на одговарајући начин
### Нумеричка стабилност
** Израчунавање вероватноће **:
- Обрачун лог-простор: Избегавајте преливање вредности узроковано множењем вероватноће
- Нумеричко исецање: Ограничава опсег вредности вероватноће
- Технике нормализације: Осигурати ваљаност дистрибуције вероватноће
** Стабилност градијента **:
- Градијент обрезивање: Спречава градијент експлозије
- Иницијализација тежине: Користите одговарајућу стратегију иницијализације
- Нормализација серије: стабилизује процес обуке
## Евалуација учинка
### Процените метрике
** Тачност на нивоу карактера **:
Аццурацy _цхар = Број исправно препознатих знакова / Укупан број знакова
** Тачност серијског нивоа **:
Аццурацy _сеq = број тачно тачних секвенци / укупан број секвенци
** Уређивање Удаљеност **:
Мери разлику између предвиђене секвенце и стварне секвенце, укључујући минимални број операција уметања, брисања и замене.
### Анализа грешака
** Уобичајени типови грешака **:
- Конфузија карактера: Погрешна идентификација сличних ликова
- Дупле грешке: ЦТЦ имају тенденцију да производе дупле знакове
- Грешка дужине: Нетачна предвиђања дужине секвенце
** Стратегије побољшања **:
- Тешко узорак рударство: Фокусирајте се на узорке обуке са високим стопама грешака
- Оптимизација после обраде: Исправља грешке користећи језичке моделе
- Интегрисани приступ: Комбиновање предвиђања из више модела
## Резиме
Функција губитка ЦТЦ-а пружа моћан алат за моделирање секвенци, посебно када се ради о проблемима поравнања. Увођењем алгоритама за празно означавање и динамичко програмирање, ЦТЦ остварује учење секвенци од краја до краја и избегава сложене кораке предобраде.
** Кључни одузети **:
- ЦТЦ решава проблем неусклађених дужина улазних и излазних секвенци
- Алгоритми напред-назад пружају ефикасне прорачуне вероватноће
- Одговарајућа стратегија декодирања је кључна за коначну изведбу
- Технике обуке и стратегије оптимизације значајно утичу на перформансе модела
** Предлози за примену **:
- Изаберите одговарајућу стратегију декодирања за одређени задатак
- Нагласак на техникама предобраде и побољшања података
- Фокусирајте се на нумеричку стабилност и рачунску ефикасност
- Оптимизација пост-обраде заснована на знању домена
Успешна примена ЦТЦ-а поставила је важне темеље за развој дубоког учења у области моделирања секвенци, а такође је пружила кључну подршку напретку ОЦР технологије.
Билтен
ЦТЦ функција губитка
Придружите се класификацији времена
Поравнање секвенце
Алгоритам напред-назад
Динамичко планирање
ОЦР обука
Моделирање секвенци