Умовне випадкове поле

Матеріал з testwiki
Версія від 16:32, 16 листопада 2024, створена imported>InternetArchiveBot (Виправлено джерел: 1; позначено як недійсні: 0.) #IABot (v2.0.9.5)
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)
Перейти до навігації Перейти до пошуку

Шаблон:Multiple issues

Шаблон:Машинне навчання

Умо́вні випадко́ві поля́ (УВП, Шаблон:Lang-en) — це клас методів статистичного моделювання, які часто застосовують в розпізнаванні образів та машинному навчанні, й використовують для структурового передбачування. УВП належать до родини моделювання послідовностей. На відміну від дискретного класифікатора, який передбачує мітку для окремого зразка без врахування «сусідніх» зразків, УВП може брати до уваги контекст; наприклад, лінійно-ланцюгове УВП (що є популярним в обробці природної мови) передбачує послідовності міток для послідовностей входових зразків.

УВП є одним з типів розрізнювальних неспрямованих імовірнісних графових моделей. Їх використовують для кодування відомих взаємозв'язків між спостереженнями та побудови узгоджених представлень, і часто використовують для Шаблон:Нп або розбирання послідовних даних, таких як обробка природних мов та біологічні послідовності,[1] та в комп'ютерному баченні.[2] Зокрема, УВП, серед інших задач, знаходять застосування в розмічуванні частин мови, поверхнево-синтаксичному аналізі,[3] розпізнаванні іменованих сутностей,[4] Шаблон:Нп та пошуку пептидних критичних функційних областей,[5] будучи альтернативою спорідненим прихованим марковським моделям (ПММ). У комп'ютерному зорі УВП часто використовують для розпізнавання об'єктів[6] та сегментування зображень.

Опис

Шаблон:Нп, Шаблон:Нп та Перейра[1] визначили УВП на спостереженнях 𝑿 та випадкових змінних 𝒀 наступним чином:

Нехай

G=(V,E)

є таким графом, що

𝒀=(𝒀v)vV, так що 𝒀 індексовано вершинами G. Тоді (𝑿,𝒀) є умовним випадковим полем, коли випадкові змінні 𝒀v, обумовлені 𝑿, володіють марковською властивістю по відношенню до цього графу: p(𝒀v|𝑿,𝒀w,wv)=p(𝒀v|𝑿,𝒀w,wv), де 𝑤v означає, що w та v є сусідами в G.

Це означає, що УВП є неспрямованою графовою моделлю, чиї вершини може бути поділено на рівно дві неперетинні множини 𝑿 та 𝒀, спостережувані та виходові змінні, відповідно; тоді моделюють умовний розподіл p(𝒀|𝑿).

Висновування

Для графів загального вигляду задача точного висновування в УВП є нерозв'язною. Задача висновування для УВП є по суті такою ж, як і для Шаблон:Нп, і мають місце ті самі аргументи.[7] Проте, існують особливі випадки, для яких висновування є здійсненним:

Якщо точне висновування є неможливим, то можливо застосовувати декілька алгоритмів для отримування наближених розв'язків. До них належать:

Навчання параметрів

Навчання параметрів θ зазвичай виконують навчанням максимальної правдоподібності для p(Yi|Xi;θ). Якщо всі вузли мають розподіли експоненційного сімейства, та є спостережуваними під час тренування, то ця оптимізація є опуклою.[7] Її можливо розв'язувати, наприклад, застосуванням алгоритмів градієнтного спуску, або квазі-ньютоновими методами, такими як алгоритм Шаблон:Нп. З іншого боку, якщо деякі змінні є неспостережуваними, то для цих змінних має бути розв'язано задачу висновування. Для графів загального вигляду точне висновування є непіддатливим, тож мають застосовуватися наближення.

Приклади

У послідовнісному моделюванні, граф, який становить інтерес, зазвичай є ланцюговим. Входова послідовність спостережуваних змінних X представляє послідовність спостережень, а Y представляє приховану (або невідому) змінну стану, висновки про яку потрібно отримувати зі спостережень. Yi структурують так, щоби утворити ланцюг, з ребрами між кожними Yi1 та Yi. Маючи просте представлення Yi як «міток» для кожного з елементів послідовності входу, це компонування також уможливлює дієві алгоритми для:

  • тренування моделі, навчання умовних розподілів між Yi та функціями ознак для деякого корпусу тренувальних даних.
  • декодування, визначення ймовірності заданої послідовності міток Y за заданої X.
  • висновування, визначення найправдоподібнішої послідовності міток Y за заданої X.

Умовну залежність кожної з Yi від X визначають через фіксований набір функцій ознак вигляду f(i,Yi1,Yi,X), які можливо розглядати як вимірювання на послідовності входу, що частково визначають правдоподібність кожного з можливих значень Yi. Ця модель призначує кожній ознаці числову вагу, й поєднує їх для визначення ймовірності певного значення Yi.

Лінійно-ланцюгові УВП мають багато таких же застосувань, як і концептуально простіші приховані марковські моделі (ПММ), але послаблюють деякі вихідні положення щодо розподілів послідовностей входу та виходу. ПММ можливо грубо розуміти як УВП з дуже особливими функціями ознак, які використовують сталі ймовірності для моделюванні переходів станів та виходів. І навпаки, УВП можливо грубо розуміти як узагальнення ПММ, яке робить сталі ймовірності переходів довільними функціями, що міняться над позиціями в послідовності прихованих станів, залежно від послідовності входу.

Примітно, що, на противагу до ПММ, УВП можуть містити будь-яке число функцій ознак, ці функції ознак можуть оглядати всю послідовність входу X в будь-який момент висновування, і спектрові функцій ознак не потрібно мати ймовірнісної інтерпретації.

Варіанти

УВП вищих порядків, та напівмарковські УВП

УВП можливо розширити до моделей вищих порядків, зробивши кожну з Yi залежною від фіксованого числа k попередніх змінних Yik,...,Yi1. У звичайних формулюваннях УВП вищих порядків тренування та висновування є дієвими лише для маленьких значень k (таких як k ≤ 5),[8] оскільки їхня обчислювальна витратність зростає з k експоненційно.

Проте, іншому нещодавньому просуванню вдалося поліпшити ці нюанси шляхом задіювання понять та інструментів з області баєсової непараметрії. Конкретніше, УВП-нескінченний (Шаблон:Lang-en) підхід[9] становить УВП-модель, здатну навчатися нескінченно тривалої часової динаміки масштабованою манерою. Це здійснюється введенням новітньої функції потенціалу для УВП, яка ґрунтується на «запам'ятовувачі послідовностей» (ЗП, Шаблон:Lang-en), непараметричній баєсовій моделі для навчання нескінченно тривалих динамік у послідовних спостереженнях.[10] Щоби зробити таку модель обчислювально піддатливою, УВП-нескінченність застосовує наближення середнього поля[11] запостульованих новітніх функцій потенціалу (які веде ЗП). Це дозволяє винаходити дієві алгоритми наближеного тренування та висновування для цієї моделі, не підриваючи її здатності схоплювати та моделювати часові залежності довільної тривалості.

Існує ще одне узагальнення УВП, напівма́рковське умо́вне випадко́ве по́ле (напів-УВП, Шаблон:Lang-en), яке моделює сегментування довільної довжини послідовності міток Y.[12] Воно забезпечує майже таку ж потужність для моделювання довготривалих залежностей Yi, як і УВП вищих порядків, за помірних обчислювальних витрат.

Нарешті, як альтернативу процедурі тренування УВП можливо розглядати моделі з широким розділенням (Шаблон:Lang-en) для структурового передбачування, такі як Шаблон:Нп.

Латентно-динамічне умовне випадкове поле

Лате́нтно-динамі́чні умо́вні випадко́ві по́ля (ЛДУВП, Шаблон:Lang-en), або розрі́знювальні імові́рнісні моде́лі з лате́нтними змі́нними (РІМЛЗ, Шаблон:Lang-en) — це один із типів УВП для задач маркування послідовностей. Вони є Шаблон:Нп, що тренують розрізнювально.

В ЛДУВП, як і в будь-якій задачі маркування послідовностей, для заданої послідовності спостережень x = x1,,xn головною задачею, яку ця модель мусить розв'язати, є як призначити послідовність міток y = y1,,yn з однієї скінченної множини міток Шаблон:Mvar. Замість моделювати Шаблон:Mvar(y|x) безпосередньо, як робило би звичайне лінійно-ланцюгове УВП, між x та y «вставляють» множину латентних змінних h, застосовуючи ланцюгове правило ймовірності:[13]

P(𝐲|𝐱)=𝐡P(𝐲|𝐡,𝐱)P(𝐡|𝐱)

Це дозволяє схоплювати латентну структуру між спостереженнями та мітками.[14] В той час як ЛДУВП може бути треновано з використанням квазі-ньютонових методів, для них на основі алгоритму структурового перцептрону Коллінза також було розроблено особливу версію алгоритму перцептрону, названу перцептро́ном з лате́нтними змі́нними (Шаблон:Lang-en).[13] Ці моделі знаходять застосування в комп'ютерному баченні, зокрема в Шаблон:Нп для потоків відео,[14] та в поверхнево-синтаксичному аналізі.[13]

Програмне забезпечення

Це — частковий перелік програмного забезпечення, що втілює загальні інструменти УВП.

  • RNNSharp УВП на основі рекурентних нейронних мереж (C#, .NET)
  • CRF-ADF лінійно-ланцюгові УВП зі швидким інтерактивним ADF-тренуванням (C#, .NET)
  • CRFSharp лінійно-ланцюгові УВП (C#, .NET)
  • GCO УВП з субмодулярними функціями енергії (C++, Matlab)
  • DGM загальні УВП (C++)
  • GRMM загальні УВП (Java)
  • factorie загальні УВП (Scala)
  • CRFall загальні УВП (Matlab)
  • Sarawagi's CRF лінійно-ланцюгові УВП (Java)
  • HCRF library приховано-станові УВП (C++, Matlab)
  • Accord.NET лінійно-ланцюгові УВП, ПУВП та ПММ (C#, .NET)
  • Wapiti швидкі лінійно-ланцюгові УВП (C)[15]
  • CRFSuite швидкі обмежені лінійно-ланцюгові УВП (C)
  • CRF++ лінійно-ланцюгові УВП (C++)
  • FlexCRFs марковські УВП першого та другого порядків (C++)
  • crf-chain1 лінійно-ланцюгові УВП першого порядку (Haskell)
  • imageCRF УВП для сегментування зображень та томів зображень (C++)
  • MALLET лінійно-ланцюгові для маркування послідовностей (Java)
  • PyStruct структурове навчання в Python (Python)
  • Pycrfsuite python-обв'язка для crfsuite (Python)
  • Figaro ймовірнісна мова програмування, здатна визначати УВП та інші графові моделі (Scala)
  • CRF моделювальні та обчислювальні інструменти для УВП та інших неспрямованих графових моделей (R)
  • OpenGM бібліотека для дискретних Шаблон:Нп моделей та розподілених операцій на цих моделях (C++)
  • UPGMpp[6] бібліотека для побудови, тренування неспрямованих графових моделей, та виконання висновування на них (C++)
  • KEG_CRF швидкі лінійні УВП (C++)

Це — частковий перелік програмного забезпечення, що втілює пов'язані з УВП інструменти.

  • MedaCy розпізнавач медичних іменованих сутностей (Python)
  • Conrad передбачувач генів на основі УВП (Java)
  • Stanford NER розпізнавач іменованих сутностей (Java)
  • BANNER розпізнавач іменованих сутностей (Java)

Див. також

Примітки

Шаблон:Reflist

Література