Spojte se s námi

AI 101

Co jsou syntetická data?

mm

Co jsou to syntetická data?

Syntetická data jsou rychle se rozvíjejícím trendem a nově vznikajícím nástrojem v oblasti datové vědy. Co přesně jsou syntetická data? Krátká odpověď je, že syntetická data se skládají z data, která nejsou založena na žádných skutečných jevech nebo událostech, spíše je generován pomocí počítačového programu. Proč se však syntetická data stávají tak důležitými pro datovou vědu? Jak vznikají syntetická data? Pojďme prozkoumat odpovědi na tyto otázky.

Co je to syntetická datová sada?

Jak naznačuje termín „syntetický“, syntetické datové soubory jsou generovány prostřednictvím počítačových programů, místo aby byly složeny prostřednictvím dokumentace událostí v reálném světě. Primárním účelem syntetické datové sady je být dostatečně všestranný a robustní, aby byl užitečný pro trénování modelů strojového učení.

Aby byla syntetická data užitečná pro klasifikátor strojového učení, měla by mít určité vlastnosti. Zatímco data mohou být kategorická, binární nebo numerická, délka datové sady by měla být libovolná a data by měla být generována náhodně. Náhodné procesy používané k generování dat by měly být kontrolovatelné a založené na různých statistických rozděleních. Do datové sady může být také umístěn náhodný šum.

Pokud se syntetická data používají pro klasifikační algoritmus, měla by být velikost separace tříd přizpůsobitelná, aby bylo možné problém klasifikace usnadnit nebo ztížit podle požadavků problému. Mezitím pro regresní úlohu lze pro generování dat použít nelineární generativní procesy.

Proč používat syntetická data?

S tím, jak se rámce strojového učení jako TensorfFlow a PyTorch stávají snadněji použitelnými a předem navržené modely pro počítačové vidění a zpracování přirozeného jazyka se stávají všudypřítomnějšími a výkonnějšími, primárním problémem, kterému musí datoví vědci čelit, je sběr dat a manipulace s nimi. Společnosti mají často potíže se získáním velkého množství dat pro natrénování přesného modelu v daném časovém rámci. Ruční označování dat je nákladný a pomalý způsob získávání dat. Vytváření a používání syntetických dat však může pomoci datovým vědcům a společnostem překonat tyto překážky a rychleji vyvinout spolehlivé modely strojového učení.

Použití syntetických dat má řadu výhod. Nejviditelnějším způsobem, jak využití syntetických dat prospívá datové vědě, je to, že snižuje potřebu zachycovat data z událostí v reálném světě, a z tohoto důvodu je možné generovat data a sestavovat datovou sadu mnohem rychleji než datovou sadu závislou na události ze skutečného světa. To znamená, že lze vyprodukovat velké objemy dat v krátkém časovém rámci. To platí zejména pro události, které se vyskytují zřídka, jako když se událost zřídkakdy stane ve volné přírodě, lze z některých skutečných datových vzorků získat více dat. Kromě toho lze data automaticky označovat při jejich generování, což výrazně zkracuje dobu potřebnou k označení dat.

Syntetická data mohou být také užitečná pro získání trénovacích dat pro okrajové případy, což jsou případy, které se mohou vyskytovat zřídka, ale jsou rozhodující pro úspěch vaší AI. Okrajové případy jsou události, které jsou velmi podobné primárnímu cíli AI, ale v důležitých věcech se liší. Například objekty, které jsou pouze částečně viditelné, by mohly být považovány za okrajové případy při navrhování klasifikátoru obrázků.

Nakonec syntetické datové sady může minimalizovat obavy o soukromí. Pokusy o anonymizaci dat mohou být neúčinné, protože i když jsou citlivé/identifikující proměnné z datové sady odstraněny, jiné proměnné mohou při jejich kombinaci fungovat jako identifikátory. Toto není problém se syntetickými daty, protože nikdy nebyly založeny na skutečné osobě nebo skutečné události.

Používá případy pro syntetická data

Syntetická data mají širokou škálu použití, protože jej lze použít na téměř jakýkoli úkol strojového učení. Běžné případy použití syntetická data zahrnují samořídící vozidla, zabezpečení, robotiku, ochranu proti podvodům a zdravotnictví.

Jedním z prvních případů použití syntetických dat byla samořídící auta, protože syntetická data se používají k vytváření tréninkových dat pro auta v podmínkách, kde je získání skutečných tréninkových dat na silnici obtížné nebo nebezpečné. Syntetická data jsou také užitečná pro vytváření dat používaných k trénování systémů rozpoznávání obrazu, jako jsou sledovací systémy, mnohem efektivněji než ruční sběr a označování hromady trénovacích dat. Robotické systémy se mohou pomalu trénovat a vyvíjet s tradičními metodami sběru dat a školení. Syntetická data umožňují robotickým společnostem testovat a konstruovat robotické systémy prostřednictvím simulací. Systémy ochrany proti podvodům mohou těžit ze syntetických dat a nové metody detekce podvodů lze trénovat a testovat s daty, která jsou při použití syntetických dat neustále nová. V oblasti zdravotnictví lze syntetická data použít k navrhování zdravotních klasifikátorů, které jsou přesné, ale zároveň zachovávají soukromí lidí, protože data nebudou založena na skutečných lidech.

Výzvy pro syntetická data

I když použití syntetických dat přináší mnoho výhod, přináší také mnoho výzev.

Když jsou vytvářena syntetická data, často postrádají odlehlé hodnoty. Odlehlé hodnoty se v datech vyskytují přirozeně, a přestože jsou často vypouštěny z trénovacích datových sad, jejich existence může být nezbytná pro trénování skutečně spolehlivých modelů strojového učení. Kromě toho může být kvalita syntetických dat velmi proměnlivá. Syntetická data jsou často generována se vstupními daty, a proto kvalita dat může záviset na kvalitě vstupních dat. Pokud jsou data použitá ke generování syntetických dat zkreslená, generovaná data mohou toto zkreslení udržovat. Syntetická data také vyžadují určitou formu kontroly výstupu/kvality. Je třeba to zkontrolovat s daty anotovanými lidmi, jinak jsou autentická data nějakou formou.

Jak se vytvářejí syntetická data?

Syntetická data jsou vytvářena programově pomocí technik strojového učení. Lze použít klasické techniky strojového učení, jako jsou rozhodovací stromy, stejně jako techniky hlubokého učení. Požadavky na syntetická data ovlivní, jaký typ algoritmu se použije pro generování dat. Rozhodovací stromy a podobné modely strojového učení umožňují společnostem vytvářet neklasické, multimodální distribuce dat, trénované na příkladech dat z reálného světa. Generování dat pomocí těchto algoritmů poskytne data, která vysoce korelují s původními trénovacími daty. V případech, kdy je známa typická distribuce dat, může společnost generovat syntetická data pomocí metody Monte Carlo.

Metody generování syntetických dat založené na hlubokém učení obvykle využívají buď variační autokodér (VAE) nebo generativní adversariální síť (GAN). VAE jsou modely strojového učení bez dozoru, které využívají kodéry a dekodéry. Kodérová část VAE je zodpovědná za komprimaci dat do jednodušší, kompaktní verze původní datové sady, kterou pak dekodér analyzuje a používá ke generování reprezentace základních dat. VAE je trénován s cílem dosáhnout optimálního vztahu mezi vstupními daty a výstupem, kdy jsou vstupní data i výstupní data extrémně podobná.

Pokud jde o modely GAN, nazývají se „adversariální“ sítě, protože GAN jsou ve skutečnosti dvě sítě, které si navzájem konkurují. Generátor je zodpovědný za generování syntetických dat, zatímco druhá síť (diskriminátor) funguje tak, že porovnává generovaná data se skutečným souborem dat a snaží se určit, která data jsou falešná. Když diskriminátor zachytí falešná data, generátor je na to upozorněn a provede změny, aby se pokusil získat novou dávku dat diskriminátorem. Na druhé straně se diskriminátor stává stále lepším v odhalování padělků. Tyto dvě sítě jsou trénovány proti sobě, přičemž padělky jsou stále živější.