Modely a platformy AI

Co je syntetická data?

mm
Přidejte Unite.AI mezi své preferované zdroje na Google

Co je syntetická data?

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

Co je syntetický dataset?

Jak název “syntetický” naznačuje, syntetické datasety jsou generovány pomocí počítačových programů, místo aby byly složeny z dokumentace skutečných událostí. Hlavním účelem syntetického datasetu je být dostatečně všestranný a robustní, aby mohl být použit pro trénování modelů strojového učení.

Aby syntetická data mohla být užitečná pro klasifikátor strojového učení, měla by mít určitou vlastnost. Zatímco data mohou být kategorická, binární nebo numerická, délka datasetu by měla být libovolná a data by měla být generována náhodně. Náhodné procesy používané pro generování dat by měly být ovladatelné a založené na různých statistických distribucích. Náhodný šum může být také umístěn do datasetu.

Pokud se syntetická data používají pro klasifikační algoritmus, množství tříd by mělo být přizpůsobitelné, aby klasifikační problém mohl být učiněn jednodušší nebo složitější podle požadavků problému. Mezitím, pro regresní úlohu, lze použít nelineární generativní procesy pro generování dat.

Proč používat syntetická data?

Jakmile se frameworky strojového učení, jako je 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íce všudypřítomnými a výkonnými, hlavním problémem, který musí datové vědci řešit, je sběr a zpracování dat. Společnosti často mají potíže s získáním velkého množství dat pro trénování přesného modelu v daném časovém rámci. Ruční označování dat je nákladným a pomalým způsobem, jak získat data. Nicméně, generování a používání syntetických dat může pomoci datovým vědcům a společnostem překonat tyto překážky a vyvinout spolehlivé modely strojového učení rychlejším způsobem.

Existuje několik výhod používání syntetických dat. Nejzřetelnějším způsobem, jakým použití syntetických dat prospívá datové vědě, je to, že snižuje potřebu zachycovat data ze skutečných událostí, a proto je možné generovat data a konstruovat dataset mnohem rychleji než dataset závislý na skutečných událostech. To znamená, že velké objemy dat lze produkovat v krátkém časovém rámci. To je especialmente pravdivé pro události, které se vyskytují zřídka, protože pokud se událost vyskytuje zřídka v divočině, více dat lze vytvořit z některých skutečných vzorků dat. Kromě toho, data lze automaticky označit, zatímco jsou generována, což dramaticky snižuje množství času potřebného pro označení dat.

Syntetická data mohou být také užitečná pro získání trénovacích dat pro okrajové případy, které jsou instance, které se mohou vyskytovat zřídka, ale jsou kritické pro úspěch vašeho AI. Okrajové případy jsou události, které jsou velmi podobné primárnímu cíli AI, ale liší se významnými způsoby. Například, objekty, které jsou pouze částečně viditelné, mohou být považovány za okrajové případy při navrhování klasifikátoru obrazů.

Nakonec, syntetické datasety mohou minimalizovat obavy o soukromí. Pokusy o anonymizaci dat mohou být neúčinné, protože i když jsou odstraněny citlivé/identifikační proměnné z datasetu, jiné proměnné mohou působit jako identifikátory, když jsou kombinovány. To není problém se syntetickými daty, protože nebyla založena na skutečné osobě nebo skutečné události.

Případy použití syntetických dat

Syntetická data mají širokou škálu případů použití, protože lze aplikovat na téměř jakoukoli úlohu strojového učení. Obvyklé případy použití syntetických dat zahrnují samořiditelná vozidla, bezpečnost, robotiku, ochranu proti podvodům a zdravotnictví.

Jedním z prvních případů použití syntetických dat byla samořiditelná vozidla, protože syntetická data jsou používána pro vytváření trénovacích dat pro vozidla v podmínkách, kde je obtížné nebo nebezpečné získat skutečná, silniční trénovací data. Syntetická data jsou také užitečná pro vytváření dat používaných pro trénování systémů rozpoznávání obrazů, jako jsou systémy dohledu, mnohem efektivněji než ruční sběr a označení velkého množství trénovacích dat. Robotické systémy mohou být pomalé při trénování a vývoji pomocí tradičních metod sběru a trénování dat. Syntetická data umožňují robotickým společnostem testovat a inženýrsky vyvíjet robotické systémy pomocí simulací. Systémy ochrany proti podvodům mohou také profitovat ze syntetických dat, a nové metody detekce podvodů mohou být trénovány a testovány s daty, která jsou neustále nová, když se používají syntetická data. V oblasti zdravotnictví lze syntetická data použít pro návrh klasifikátorů, které jsou přesné, ale zároveň chrání soukromí lidí, protože data nejsou založena na skutečných osobách.

Výzvy syntetických dat

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

Když jsou syntetická data vytvořena, často postrádají outliery. Outliery se vyskytují v datech přirozeně, a zatímco jsou často odstraněny z trénovacích datasetů, jejich existence může být nezbytná pro trénování skutečně spolehlivých modelů strojového učení. Kromě toho, kvalita syntetických dat může být velmi proměnlivá. Syntetická data jsou často generována s vstupními, nebo seed, daty, a proto kvalita dat může být závislá na kvalitě vstupních dat. Pokud jsou data použita pro generování syntetických dat zkreslená, generovaná data mohou toto zkreslení prodloužit. Syntetická data také vyžadují some formu výstupní/kvalitativní kontroly. Musí být ověřena proti lidsky označeným datům, nebo jinak autentickým datům v některé formě.

Jak jsou syntetická data vytvářena?

Syntetická data jsou vytvářena programově pomocí technik strojového učení. Klasické techniky strojového učení, jako jsou rozhodovací stromy, lze použít, stejně jako hluboké techniky učení. Požadavky na syntetická data ovlivňují, jaký typ algoritmu se používá 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 skutečných dat. Generování dat pomocí těchto algoritmů poskytne data, která jsou silně korelována s původními trénovacími daty. Pro instance, kde je typická distribuce dat známa, lze syntetická data generovat pomocí Monte Carlo metody.

Hluboké techniky učení pro generování syntetických dat obvykle využívají buď variabilní autoencoder (VAE) nebo generativní adversní sítě (GAN). VAE jsou nesupervizované modely strojového učení, které využívají encoderů a decoderů. Encoder část VAE je odpovědná za komprimaci dat do jednodušší, kompaktní verze původního datasetu, kterou decoder poté analyzuje a používá pro generování reprezentace základních dat. VAE je trénován s cílem mít optimální vztah mezi vstupními daty a výstupními daty, jeden, ve kterém jsou vstupní data a výstupní data velmi podobná.

Když se jedná o GAN modely, jsou nazývány “adversarial” sítě, protože GAN jsou ve skutečnosti dvě sítě, které soutěží proti sobě. Generátor je odpovědný za generování syntetických dat, zatímco druhá síť (diskriminátor) funguje tak, že porovnává generovaná data s reálným datasetem a snaží se určit, která data jsou falešná. Když diskriminátor zachytí falešná data, generátor je o tomto informován a provádí změny, aby získal novou dávku dat od diskriminátoru. Mezitím se diskriminátor stává lepší a lepší v detekci falešných dat. Obě sítě jsou trénovány proti sobě, s falešnými daty, která se stávají stále více realistickými.

Blogger a programátor se specializací na Machine Learning a Deep Learning témata. Daniel doufá, že pomůže ostatním využít sílu AI pro sociální dobro.