Optimalizace řezu grafu - Graph cut optimization

Graf optimalizace cut je kombinatorické optimalizace metoda použitelná pro rodiny funkcí z diskrétních proměnných , pojmenoval koncepce řezu v teorii proudění sítí . Díky teorému o maximálním průtoku o minimálním průtoku je stanovení minimálního řezu v grafu představujícím síť toku ekvivalentní výpočtu maximálního toku v síti. Vzhledem k pseudobolské funkci , pokud je možné postavit síť toku s kladnými váhami takovými

  • každý výřez sítě lze mapovat na přiřazení proměnných k (a naopak) a
  • cena se rovná (do aditivní konstanty)

pak je možné nalézt globální optimum ze v polynomiálním čase pomocí výpočtu minimální řez grafu. Mapování mezi řezy a přiřazením proměnných se provádí tak, že každá proměnná bude představována jedním uzlem v grafu a při daném řezu bude mít každá proměnná hodnotu 0, pokud odpovídající uzel patří ke komponentě připojené ke zdroji, nebo 1, pokud patří ke komponentě připojené k dřezu.

Ne všechny pseudoboleovské funkce mohou být reprezentovány sítí toku a v obecném případě je problém globální optimalizace NP-těžký . Existují dostatečné podmínky pro charakterizaci skupin funkcí, které lze optimalizovat pomocí řezů grafů, jako jsou například submodulární kvadratické funkce . Optimalizace řezu grafu může být rozšířena na funkce diskrétních proměnných s konečným počtem hodnot, ke kterým lze přistupovat pomocí iterativních algoritmů se silnými vlastnostmi optimality, počítáním jednoho řezu grafu při každé iteraci.

Optimalizace řezu grafu je důležitým nástrojem pro odvození grafických modelů, jako jsou náhodná pole Markov nebo podmíněná náhodná pole , a má aplikace v problémech počítačového vidění, jako je segmentace obrazu , odšumování , registrace a stereofonní shoda .

Reprezentativnost

O pseudobolské funkci se říká, že je reprezentovatelná, pokud existuje graf s nezápornými váhami a se zdrojovými a potápěčskými uzly a existuje sada uzlů tak, že pro každou n-tici hodnot přiřazených proměnným se rovná (do konstanty) hodnota průtoku určená minimálním řezem grafu tak, že pokud a pokud .

Je možné klasifikovat pseudobolské funkce podle jejich pořadí, určeného maximálním počtem proměnných přispívajících ke každému jednotlivému členu. Všechny funkce prvního řádu, kde každý člen závisí na nejvýše jedné proměnné, jsou vždy reprezentovatelné. Kvadratické funkce

jsou reprezentovatelné tehdy a jen tehdy, pokud jsou submodulární, tj. pro každý kvadratický člen je splněna následující podmínka

Kubické funkce

jsou reprezentovatelné tehdy a jen tehdy, pokud jsou pravidelné , tj. všechny možné binární projekce na dvě proměnné, získané fixací hodnoty zbývající proměnné, jsou submodulární. U funkcí vyššího řádu je pravidelnost nezbytnou podmínkou reprezentovatelnosti.

Konstrukce grafu

Konstrukce grafu pro reprezentovatelnou funkci je zjednodušena skutečností, že součet dvou reprezentovatelných funkcí a je reprezentovatelný, a jeho graf je spojením grafů a reprezentujících dvě funkce. Taková věta umožňuje vytvářet samostatné grafy představující každý člen a kombinovat je tak, aby získal graf představující celou funkci.

Graf představující kvadratickou funkci proměnných obsahuje vrcholy, z nichž dva představují zdroj a jímku a ostatní představují proměnné. Když představují funkce vyššího řádu, graf obsahuje pomocné uzly, které umožňují modelovat interakce vyššího řádu.

Unární podmínky

Unární člen závisí pouze na jedné proměnné a může být reprezentován grafem s jedním nekoncovým uzlem a jednou hranou s váhou if , nebo s váhou if .

Binární výrazy

Image
Příklad grafu představujícího kvadratický člen v případě a .

Kvadratický (nebo binární) člen může být reprezentován grafem obsahujícím dva neterminální uzly a . Termín lze přepsat jako

s

V tomto výrazu je první člen konstantní a není reprezentován žádným okrajem, dva následující výrazy závisí na jedné proměnné a jsou reprezentovány jedním okrajem, jak je znázorněno v předchozí části u unárních výrazů, zatímco třetí člen je reprezentován hrana s váhou (submodulita zaručuje, že váha není záporná).

Ternární podmínky

Kubický (nebo ternární) člen může být reprezentován grafem se čtyřmi neterminálními uzly, tři z nich ( , a ) přidružené ke třem proměnným plus jeden čtvrtý pomocný uzel . Obecný ternární člen lze přepsat jako součet konstanty, tří unárních členů, tří binárních členů a ternárního členu ve zjednodušené formě. Podle znamení mohou existovat dva různé případy . Pokud tedy

Image
Příklad grafu představujícího ternární člen, kdy (vlevo) a kdy (vpravo).

s

Pokud je konstrukce podobná, ale proměnné budou mít opačnou hodnotu. V případě, že funkce je pravidelná, se pak všechny její výstupky dvou proměnných být submodular, což znamená, že , a jsou pozitivní a pak všechny pojmy v nových reprezentace jsou submodular.

V tomto rozkladu lze reprezentovat konstantní, unární a binární výrazy, jak je znázorněno v předchozích částech. Pokud ternární termín může být reprezentovány grafem na čtyřech okrajích , , , , vše s hmotností , zatímco v případě, termín může být reprezentována čtyřech okrajích , , , s hmotností .

Minimální řez

Po sestavení grafu představujícího pseudobolskou funkci je možné vypočítat minimální řez pomocí jednoho z různých algoritmů vyvinutých pro tokové sítě, jako je algoritmus Ford – Fulkerson , Edmonds – Karp a Boykov – Kolmogorov . Výsledkem je rozdělení grafu na dvě připojené komponenty a takové, že a , a funkce dosáhne svého globálního minima, když pro každou takovou, že odpovídající uzel , a pro každou takovou, že odpovídající uzel .

Algoritmy Max-flow, jako je Boykov – Kolmogorov, jsou v praxi velmi efektivní pro sekvenční výpočet, ale je obtížné je paralelizovat, takže nejsou vhodné pro aplikace s distribuovaným výpočtem a brání jim ve využívání potenciálu moderních CPU . Byly vyvinuty paralelní algoritmy max-flow, jako je push-relabel a jump-flood , které mohou také využívat hardwarovou akceleraci v implementacích GPGPU .

Funkce diskrétních proměnných s více než dvěma hodnotami

Předchozí konstrukce umožňuje globální optimalizaci pouze pseudoboleovských funkcí, ale lze ji rozšířit na kvadratické funkce diskrétních proměnných s konečným počtem hodnot ve formě

kde a . Funkce představuje unární příspěvek každé proměnné (často označovaný jako datový termín ), zatímco funkce představuje binární interakce mezi proměnnými ( termín hladkosti ). Obecně je optimalizace těchto funkcí NP-těžkým problémem a stochastické optimalizační metody, jako je simulované žíhání, jsou citlivé na lokální minima a v praxi mohou generovat libovolně suboptimální výsledky. S řezy grafu je možné konstruovat přesunutí tvorby algoritmy, které umožňují dosáhnout v polynomiálním čase lokální minima se silnými optimality vlastnostmi pro široké rodiny kvadratické funkce praktický význam (pokud je binární interakce je metrický nebo semimetric ), například že hodnota funkce v řešení leží v konstantním a známém faktoru z globálního optima.

Vzhledem k tomu, funkce s a určitou přiřazení hodnot k proměnné, je možné přiřadit každému přiřazení do oddílu sady proměnných, jako že . Dejte dva různé úkoly a a hodnoty , tah, který převádí do se říká, že je -expansion pokud a . Vzhledem k několika hodnotám a se říká, že tah je -swap if . Intuitivně přesunutí -expansion přiřadí hodnotu některým proměnným, které mají jinou hodnotu , zatímco pohyb -swap přiřadí některé proměnné, které mají hodnotu in a naopak.

Pro každou iteraci vypočítá algoritmus -expansion pro každou možnou hodnotu minimum funkce mezi všemi přiřazeními, kterých lze dosáhnout jediným pohybem -expansion z aktuálního dočasného řešení , a vezme ji jako nové dočasné řešení.



while :
    
    foreach :
        
        if :
            
            

-Swap algoritmus je podobný, ale hledá minimum ze všech úkolů , které jsou přístupné pomocí jediného -swap průniku .



while :
    
    foreach :
        
        if :
            
            

V obou případech lze optimalizační problém v nejvnitřnější smyčce vyřešit přesně a efektivně pomocí výřezu grafu. Oba algoritmy jistě končí konečným počtem iterací vnější smyčky a v praxi je takový počet malý, přičemž většina zlepšení nastává při první iteraci. Algoritmy mohou generovat různá řešení v závislosti na počátečním odhadu, ale v praxi jsou robustní s ohledem na inicializaci a počínaje bodem, kde jsou všechny proměnné přiřazeny ke stejné náhodné hodnotě, je obvykle dostatečné pro dosažení kvalitních výsledků.

Řešení generované takovými algoritmy nemusí být nutně globálním optimem, ale má silné záruky optimality. If is a metric and is a solution generated by the -expansion algorithm, or if is a semimetric and is a a solution generated by the -swap algorithm, then lies within a known and constant factor from the global minimum :

Nepodmodulární funkce

Obecně lze říci, že problém optimalizace nesubodulární pseudobolské funkce je NP-tvrdý a nelze jej vyřešit v polynomiálním čase jednoduchým řezem grafu. Nejjednodušším přístupem je aproximace funkce podobným, ale submodulárním, například zkrácení všech nepodmodulárních výrazů nebo jejich nahrazení podobnými submodulárními výrazy. Takový přístup je obecně neoptimální a produkuje přijatelné výsledky, pouze pokud je počet nesodulovaných výrazů relativně malý.

V případě kvadratických nesodulovaných funkcí je možné vypočítat v polynomiálním čase dílčí řešení pomocí algoritmů jako QPBO . Funkce vyššího řádu lze v polynomiálním čase zredukovat na kvadratickou formu, kterou lze optimalizovat pomocí QPBO.

Funkce vyššího řádu

Kvadratické funkce jsou rozsáhle studovány a byly podrobně charakterizovány, ale obecnější výsledky byly odvozeny také pro funkce vyššího řádu. Zatímco kvadratické funkce mohou skutečně modelovat mnoho problémů praktického zájmu, jsou omezeny skutečností, že mohou představovat pouze binární interakce mezi proměnnými. Možnost zachytit interakce vyššího řádu umožňuje lépe zachytit podstatu problému a může poskytnout kvalitnější výsledky, kterých by bylo obtížné dosáhnout pomocí kvadratických modelů. Například v aplikacích počítačového vidění , kde každá proměnná představuje pixel nebo voxel obrazu, lze k modelování informací o textury použít interakce vyššího řádu, které by bylo obtížné zachytit pouze pomocí kvadratických funkcí.

Byly vyvinuty dostatečné podmínky analogické k submodularitě k charakterizaci pseudoboleovských funkcí vyššího řádu, které lze optimalizovat v polynomiálním čase, a existují algoritmy analogické k -expansion a -swap pro některé rodiny funkcí vyššího řádu. Problém je obecně NP-těžký a byly vyvinuty přibližné metody pro rychlou optimalizaci funkcí, které nesplňují takové podmínky.

Reference

  1. ^ a b c Peng a kol. (2015).
  2. ^ Rother a kol. (2012).
  3. ^ Lombaert a Cheriet (2012).
  4. ^ So a kol. (2011).
  5. ^ Tang a Chung (2007).
  6. ^ Kim a kol. (2003).
  7. ^ Hong a Chen (2004).
  8. ^ a b c d e f Kolmogorov a Zabin (2004).
  9. ^ Goldberg & Tarjan (1988).
  10. ^ Vineet a Narayanan (2008).
  11. ^ Stich (2009).
  12. ^ a b c Boykov et al. (2001).
  13. ^ a b Kolmogorov a Rother (2007).
  14. ^ Ishikawa (2014).
  15. ^ a b Kohli a kol. (2009).
  16. ^ a b Freedman & Drineas (2005).
  17. ^ Kohli a kol. (2008).

Poznámky

  1. ^ Je nutné přidat jeden uzel, grafy bez pomocných uzlů mohou představovat pouze binární interakce mezi proměnnými.
  2. ^ Algoritmy, jako je simulované žíhání, mají silné teoretické konvergenční vlastnosti pro určité plánování teploty do nekonečna. Takové plánování nelze v praxi realizovat.

externí odkazy