кочан Какво представляват синтетичните данни? - Обединете.AI
Свържете се с нас

AI 101 г

Какво представляват синтетичните данни?

mm
Обновено on

Какво представляват синтетичните данни?

Синтетичните данни са бързо разрастваща се тенденция и нововъзникващ инструмент в областта на науката за данните. Какво точно са синтетичните данни? Краткият отговор е, че синтетичните данни се състоят от данни, които не се основават на явления или събития от реалния свят, по-скоро се генерира чрез компютърна програма. Но защо синтетичните данни стават толкова важни за науката за данни? Как се създават синтетични данни? Нека проучим отговорите на тези въпроси.

Какво е синтетичен набор от данни?

Както подсказва терминът „синтетичен“, синтетичните набори от данни се генерират чрез компютърни програми, вместо да се съставят чрез документиране на събития от реалния свят. Основната цел на синтетичния набор от данни е да бъде достатъчно гъвкав и стабилен, за да бъде полезен за обучение на модели за машинно обучение.

За да бъдат полезни за класификатор за машинно обучение, синтетичните данни трябва да има определени свойства. Въпреки че данните могат да бъдат категорични, двоични или числени, дължината на набора от данни трябва да бъде произволна и данните трябва да бъдат генерирани на случаен принцип. Случайните процеси, използвани за генериране на данните, трябва да могат да се контролират и да се основават на различни статистически разпределения. Случаен шум може също да бъде поставен в набора от данни.

Ако синтетичните данни се използват за класификационен алгоритъм, степента на разделяне на класове трябва да може да се персонализира, за да може проблемът с класификацията да бъде улеснен или по-труден според изискванията на проблема. Междувременно за регресионна задача могат да се използват нелинейни генеративни процеси за генериране на данните.

Защо да използваме синтетични данни?

Тъй като рамки за машинно обучение като TensorfFlow и PyTorch стават по-лесни за използване и предварително проектираните модели за компютърно зрение и обработка на естествен език стават все по-разпространени и мощни, основният проблем, с който учените в областта на данните трябва да се сблъскат, е събирането и обработката на данни. Компаниите често срещат трудности при получаването на големи количества данни, за да обучат точен модел в рамките на даден период от време. Ръчното етикетиране на данни е скъп и бавен начин за получаване на данни. Генерирането и използването на синтетични данни обаче може да помогне на специалистите по данни и компаниите да преодолеят тези препятствия и да разработят надеждни модели за машинно обучение по по-бърз начин.

Използването на синтетични данни има редица предимства. Най-очевидният начин, по който използването на синтетични данни облагодетелства науката за данните е, че намалява необходимостта от събиране на данни от събития от реалния свят и поради тази причина става възможно генерирането на данни и изграждането на набор от данни много по-бързо, отколкото набор от данни, зависим от събития от реалния свят. Това означава, че големи обеми данни могат да бъдат произведени за кратък период от време. Това е особено вярно за събития, които се случват рядко, тъй като ако дадено събитие рядко се случва в природата, повече данни могат да бъдат измислени от някои оригинални проби от данни. Освен това, данните могат да бъдат автоматично етикетирани, докато се генерират, което драстично намалява времето, необходимо за етикетиране на данните.

Синтетичните данни също могат да бъдат полезни за получаване на данни за обучение за крайни случаи, които са случаи, които може да се случват рядко, но са критични за успеха на вашия AI. Крайните случаи са събития, които са много подобни на основната цел на AI, но се различават по важни начини. Например, обекти, които се виждат само частично, могат да се считат за крайни случаи при проектирането на класификатор на изображения.

И накрая, синтетични набори от данни може да сведе до минимум опасенията за поверителност. Опитите за анонимизиране на данни могат да бъдат неефективни, тъй като дори ако чувствителните/идентифициращите променливи бъдат премахнати от набора от данни, други променливи могат да действат като идентификатори, когато се комбинират. Това не е проблем със синтетичните данни, тъй като те никога не са били базирани на реално лице или реално събитие, на първо място.

Използва случаи за синтетични данни

Синтетичните данни имат голямо разнообразие от употреби, тъй като може да се приложи към почти всяка задача за машинно обучение. Често използвани случаи за синтетични данни включват самоуправляващи се превозни средства, сигурност, роботика, защита от измами и здравеопазване.

Един от първоначалните случаи на използване на синтетични данни бяха самоуправляващите се автомобили, тъй като синтетичните данни се използват за създаване на данни за обучение на автомобили в условия, при които получаването на реални данни за обучение на пътя е трудно или опасно. Синтетичните данни също са полезни за създаването на данни, използвани за обучение на системи за разпознаване на изображения, като системи за наблюдение, много по-ефективно от ръчното събиране и етикетиране на куп данни за обучение. Роботичните системи могат да бъдат бавни за обучение и развитие с традиционните методи за събиране на данни и обучение. Синтетичните данни позволяват на роботизираните компании да тестват и проектират роботизирани системи чрез симулации. Системите за защита от измами могат да се възползват от синтетичните данни и новите методи за откриване на измами могат да бъдат обучени и тествани с данни, които са постоянно нови, когато се използват синтетични данни. В областта на здравеопазването синтетичните данни могат да се използват за проектиране на здравни класификатори, които са точни, но запазват поверителността на хората, тъй като данните няма да се основават на реални хора.

Предизвикателства със синтетичните данни

Въпреки че използването на синтетични данни носи много предимства, то носи и много предизвикателства.

Когато се създават синтетични данни, в тях често липсват извънредни стойности. Извънредните стойности се появяват в данните естествено и въпреки че често се изпускат от наборите от данни за обучение, тяхното съществуване може да е необходимо за обучение на наистина надеждни модели за машинно обучение. Освен това качеството на синтетичните данни може да бъде силно променливо. Синтетичните данни често се генерират с входни или начални данни и следователно качеството на данните може да зависи от качеството на входните данни. Ако данните, използвани за генериране на синтетичните данни, са пристрастни, генерираните данни могат да запазят това пристрастие. Синтетичните данни също изискват някаква форма на изходен/качествен контрол. Тя трябва да бъде проверена спрямо данни, анотирани от хора, или в противен случай автентичните данни са някаква форма.

Как се създават синтетични данни?

Синтетичните данни се създават програмно с техники за машинно обучение. Могат да се използват класически техники за машинно обучение като дървета на решенията, както и техниките за дълбоко обучение. Изискванията за синтетичните данни ще повлияят какъв тип алгоритъм се използва за генериране на данните. Дървета на решенията и подобни модели за машинно обучение позволяват на компаниите да създават некласически, мултимодални разпределения на данни, обучени върху примери за данни от реалния свят. Генерирането на данни с тези алгоритми ще осигури данни, които са силно свързани с оригиналните данни за обучение. В случаите, когато типичното разпределение на данните е известно, една компания може да генерира синтетични данни чрез използване на метод Монте Карло.

Базираните на дълбоко обучение методи за генериране на синтетични данни обикновено използват и двете вариационен автоенкодер (VAE) or генеративна състезателна мрежа (GAN). VAE са модели за машинно обучение без надзор, които използват енкодери и декодери. Енкодерната част на VAE е отговорна за компресирането на данните в по-проста, компактна версия на оригиналния набор от данни, който декодерът след това анализира и използва, за да генерира представяне на базовите данни. VAE се обучава с цел да има оптимална връзка между входните данни и изхода, при която и входните, и изходните данни са изключително сходни.

Когато става дума за GAN модели, те се наричат ​​„конкурентни“ мрежи поради факта, че GAN всъщност са две мрежи, които се конкурират една с друга. Генераторът е отговорен за генерирането на синтетични данни, докато втората мрежа (дискриминаторът) работи, като сравнява генерираните данни с реален набор от данни и се опитва да определи кои данни са фалшиви. Когато дискриминаторът улови фалшиви данни, генераторът се уведомява за това и прави промени, за да се опита да получи нова партида данни от дискриминатора. На свой ред дискриминаторът става все по-добър в откриването на фалшификати. Двете мрежи се тренират една срещу друга, като фалшификатите стават все по-реалистични през цялото време.