De fleste maskinlærings- og deep learning-modeller er stærkt afhængige af datamængde og variation for at fungere godt. Mængden og mangfoldigheden af data, der leveres under træningen, har en væsentlig indflydelse på forudsigelsesnøjagtigheden af disse modeller.
Deep learning-modeller, der er blevet lært at udføre effektivt på komplicerede opgaver, inkluderer ofte skjulte neuroner. Antallet af parametre, der kan trænes, stiger i overensstemmelse med antallet af skjulte neuroner.
Mængden af data, der kræves, er proportional med antallet af modeller, der kan læres. En metode til at håndtere vanskeligheden ved begrænsede data er at anvende en række forskellige transformationer til de nuværende data for at syntetisere nye data.
Teknikken til at syntetisere nye data fra eksisterende data omtales som 'Data Augmentation'. Dataforøgelse kan bruges til at opfylde begge krav: mængden af data og variationen af de træningsdata, der kræves for at udvikle nøjagtige machine learning eller deep learning-modeller.
I dette indlæg vil vi se nærmere på dataforøgelse, dens typer, hvorfor det er vigtigt og meget mere.
Så hvad er dataforøgelse?
Data Augmentation er processen med at udvikle nye og repræsentative data fra eksisterende data. Du kan opnå dette ved at inkludere ændrede versioner af eksisterende data eller syntetisere nye data.
De datasæt, der produceres med denne metode, vil forbedre din maskinlæring eller deep learning modeller ved at minimere risikoen for overfitting. Det er processen med at ændre, eller "augmentere", et datasæt med yderligere information.
Dette supplerende input kan variere fra billeder til tekst, og det øger ydeevnen af maskinlæringssystemer.
Antag, at vi ønsker at bygge en model til at kategorisere hunderacer, og vi har et stort antal fotografier af alle varianter undtagen mops. Som et resultat ville modellen have svært ved at kategorisere mops.
Vi kunne tilføje yderligere (faktiske eller falske) mops-billeder til samlingen, eller vi kunne fordoble vores nuværende mops-fotografier (f.eks. ved at replikere og forvrænge dem for at gøre dem kunstigt unikke).
Hvilken nytte tjener dataforøgelse i nutiden?
Ansøgninger til machine learning udvikler sig hurtigt og diversificerer, især inden for deep learning. De udfordringer, som den kunstige intelligens-industri står over for, kan overvindes gennem dataforøgelsesteknikker.
Dataforøgelse kan forbedre ydeevnen og resultaterne af maskinlæringsmodeller ved at tilføje nye og forskellige eksempler til træningsdatasæt.
Når datasættet er stort og tilstrækkeligt, yder en maskinlæringsmodel bedre og er mere nøjagtig. For maskinlæringsmodeller kan dataindsamling og mærkning være tidskrævende og dyrt.
Virksomheder kan reducere deres driftsomkostninger ved at ændre datasæt og bruge dataforøgelsesstrategier.
Rengøring af data er et af stadierne i udviklingen af en datamodel, og det er essentielt for modeller med høj nøjagtighed. Modellen vil dog ikke være i stand til at forudse korrekte input fra den faktiske verden, hvis datarensning mindsker repræsentativiteten.
Maskinlæringsmodeller kan styrkes ved at anvende dataforøgelsestilgange, som producerer varianser, som modellen kan støde på i den faktiske verden.
Typer af dataforøgelse
Ægte dataforøgelse
Ægte dataforøgelse sker, når du tilføjer ægte, supplerende data til et datasæt. Dette kan variere fra tekstfiler med yderligere attributter (til mærkede billeder) til billeder af andre objekter, der kan sammenlignes med det originale objekt, eller endda optagelser af den faktiske ting.
For eksempel, ved at tilføje et par flere funktioner til en billedfil, kan en maskinlæringsmodel nemmere opdage emnet.
Flere metadata om hvert billede (f.eks. dets navn og beskrivelse) kan inkluderes, så vores AI-model ved mere om, hvad hvert billede repræsenterer, før det begynder at træne på disse billeder.
Når det bliver tid til at kategorisere friske fotos i en af vores forudbestemte kategorier, som "kat" eller "hund", kan modellen være bedre i stand til at registrere de elementer, der er til stede i et billede og præstere generelt bedre som et resultat.
Syntetiske data Augmentation
Udover at tilføje flere rigtige data, kan du også bidrage syntetiske data eller kunstige data, der virker autentiske.
Dette er gavnligt til vanskelige opgaver som neural stiloverførsel, men det er også godt til ethvert design, uanset om du bruger GAN'er (Generative Adversarial Networks), CNN'er (Convolutional Neural Networks) eller andre dybe neurale netværksarkitekturer.
For eksempel, hvis vi ønsker at kategorisere mops ordentligt uden at skulle ud og tage et antal billeder, kan vi tilføje nogle falske mops-fotografier til en samling af hundebilleder.
Denne form for dataforøgelse er især effektiv til at forbedre modelnøjagtigheden, når indsamling af data er vanskelig, dyr eller tidskrævende. I denne situation udvider vi datasættet kunstigt.
Antag, at vores oprindelige gruppe på 1000 hunderacefotografier kun indeholder 5 mopsbilleder. I stedet for at tilføje yderligere faktiske mops-fotografier fra rigtige hunde, lad os skabe et falsk ved at klone en af de nuværende og forvrænge det lidt, så det stadig virker som en mops.
Dataforstærkningsteknikker
Dataforøgelsestilgange indebærer små ændringer af eksisterende data. Det er det samme som at omformulere et udsagn. Vi kan opdele dataforøgelse i tre kategorier:
tekst
- Orderstatning: Denne dataforøgelsestilgang omfatter udskiftning af nuværende termer med synonymer. Som et eksempel kan "Denne film er tåbelig" blive "Denne film er idiotisk."
- Sætnings-/ordblanding: Denne strategi indebærer at skifte rækkefølgen af sætninger eller ord, mens den overordnede sammenhæng bevares.
- Syntaks-træmanipulation: Du ændrer en eksisterende sætning til at være grammatisk nøjagtig, mens du bruger de samme udtryk.
- Tilfældig sletning: Selvom denne strategi producerer grim skrivning, er den effektiv. Som et resultat bliver linjen "Jeg vil ikke købe denne plade, fordi den er ridset" til "Jeg vil ikke købe denne, fordi den er ridset." Sætningen er mindre klar, men den er fortsat en plausibel tilføjelse.
- Tilbageoversættelse: Denne tilgang er både effektiv og fornøjelig. Tag en erklæring skrevet på dit sprog, oversæt den til et andet sprog, og oversæt den derefter tilbage til dit originalsprog.
Billeder
- Kernelfiltre: Denne fremgangsmåde gør et billede skarpere eller slørede.
- Billedkombination: Selvom det kan virke underligt, kan du blande billeder.
- Sletning tilfældigt: Slet en lille del af det aktuelle billede.
- Geometriske transformationer: Denne tilgang omfatter blandt andet vilkårlig vending, rotation, beskæring eller oversættelse af billeder.
- Vende et billede: Du kan vende et billede fra vandret til lodret orientering.
- Farverumstransformation: Du kan ændre RGB-farvekanalerne eller forbedre enhver nuværende farve.
- Re-Scaling er processen med at justere den visuelle skala. Du har mulighed for at skalere ind eller ud. Når du skalerer indad, bliver billedet mindre end den oprindelige størrelse. Billedet bliver større end originalen, hvis du skalerer det udad.
Audio
- Pitch: Denne tilgang involverer ændring af lydens tonehøjde.
- Skift hastighed: Skift hastigheden på lydfilen eller optagelsen.
- Mere støj: Du kan tilføje mere støj til lydfilen.
Use Case
Medicinsk billeddannelse er en fremtrædende brugssag til dataforøgelse lige nu. Medicinske billedsamlinger er små, og det er vanskeligt at dele data på grund af regler og bekymringer om privatlivets fred.
Desuden er datasæt meget mere begrænsede i tilfælde af ualmindelige lidelser. Medicinske billedbehandlingsvirksomheder bruger dataforøgelse til at diversificere deres datasæt.
Udfordringer
Skalerbarhed, forskellige datasæt og relevans er nogle af de problemer, der skal løses for at udvikle effektive dataforstærkningsteknikker.
Med hensyn til skalerbarhed skal udvidede data være skalerbare, så mange forskellige modeller kan bruge dem. Du vil gerne sikre dig, at dette kan duplikeres til brug i fremtidige modeller, da det kan tage noget tid at opsætte et dataforøgelsessystem, der genererer en stor mængde relevante, værdifulde, forbedrede data.
Med hensyn til heterogenitet har forskellige datasæt forskellige funktioner, der skal tages i betragtning, mens der udvikles udvidede data. For at udvikle passende forbedrede data skal egenskaberne for hvert datasæt udnyttes.
Med andre ord vil dataforøgelse være forskellig mellem datasæt og use cases.
Endelig, for at garantere, at fordelene ved de øgede data overstiger enhver fare, bør de udvidede data evalueres ved hjælp af passende metrikker, før de bruges af maskinlæringsmodeller.
For eksempel kan tilstedeværelsen af betydelig baggrundsstøj eller ikke-relaterede elementer i billedbaserede udvidede data have en skadelig indvirkning på modellens ydeevne.
Konklusion
I sidste ende, uanset om du forsøger at forudsige tab, identificere økonomisk svindel eller konstruere bedre billedklassificering modeller, er dataforøgelse en kritisk måde at bygge mere nøjagtige, robuste modeller på.
Gennem en overlegen træningsprocedure kan enkel forbehandling og dataforøgelse endda hjælpe teams med at udvikle banebrydende modeller.
Virksomheder kan bruge dataforøgelse til at reducere mængden af tid brugt på at forberede træningsdata og til at skabe maskinlæringsmodeller, der er mere nøjagtige og hurtigere.
Ved at udvide mængden af relevante data i datasættet kan dataforøgelse også gavne maskinlæringsmodeller, der allerede har en masse data.
Giv en kommentar