Rozhovor s výzkumnicemi Avastu Galinou Alperovich a Olgou Petrovou, které se zabývají strojovým učením.
Jak jste se dostaly ke strojovému učení? Co jste studovaly?
Galina: Na vysoké škole jsem studovala matematiku se zaměřením na pravděpodobnost a teoretickou matematiku. Po mých studiích jsem se stala stážistkou v Yandexu, kde jsem se strojovému učení přiblížila pomocí strojových analýz. Brzy mi ale došlo, že abych byla v datové vědě efektivnější, musím se naučit programovat. Proto jsem se rozhodla začít pracovat jako software developer v projektu, který se od strojového učení už příliš nelišil. A ačkoli jsem se v oboru díky této zkušenosti hodně posunula, moje vědomosti stále nebyly ucelené. Rozhodla jsem se tak pro studium magisterského oboru Umělá inteligence, což mě zase posunulo dál, především v teoretické oblasti.
Analyzovat data je každopádně první krok k tomu, jak se stát výzkumníkem strojového učení. Obdobně důležité je se od dat později posunout na modelování a experimentování. A tohle všechno je třeba integrovat do již existujících procesů, a tím se dostanete k tomu, co výzkumníci strojového učení opravdu dělají.
I když je strojové učení staré odvětví, momentálně zažívá přerod a neustále se mění. Je důležité všechny změny sledovat a pořád se učit nové věci, například pomocí kurzů nebo pracovních zkušeností.
Olga: Moje cesta byla o něco chaotičtější než ta Galiny. Na střední škole jsem se specializovala na matematiku, a rozhodla se proto pro studium na Technické univerzitě v Liberci, kde jsem získala bakalářský diplom z robotiky. Robotika si půjčuje mnoho algoritmů a technik ze strojového učení. Během mého studia jsem měla možnost s mnoha z těchto algoritmů pracovat a uvědomila jsem si, že matematika mě baví a práce s algoritmy mě naplňuje.
Být dobrým výzkumníkem strojového učení nepopiratelně znamená být také dobrým softwarovým inženýrem. Galina se tohle naučila v práci, já měla to štěstí, že mé studium bylo spíš praktické než teoretické, a díky tomu jsem se většinu věcí naučila už ve škole.
Galina: To je pravda, musím říct, že závidím Olze a ostatním, kteří měli tu možnost naučit se to, co jsem musela dohnat později, už během studia. Celkově je ale strojové učení kombinace teorie a praxe. Když něco modelujete, vždycky se hodí chápat za tím ten matematický koncept a teorii. Samozřejmě, že se to dá dělat i bez hlubšího pochopení (a občas se nám to také stává), ale je o dost zábavnější rozumět tomu, co se přesně děje. A i díky tomu si můžete mnohem víc hrát s postupy a složitějšími algoritmy, protože chápete, co děláte.
Co vás na práci ve strojovém učení baví nejvíc?
Olga: Strojové učení je krásné, ale zároveň je i záhadné. Můj tým pracuje s daty, které dostaneme z našich backend systémů nebo od klientů. Naše úkoly zahrnují klasifikaci příchozích souborů, které byly již zkontrolovány antivirovým programem a zařazeny do škodlivých či neškodných kategorií, popřípadě hledání anomálií v datech. Když poprvé data dostaneme, tak samozřejmě nevíme, co přesně v nich je, je to pro nás vlastně taková tajemná černá skříňka. Až různými postupy se postupně dopracováváme k vzorcům, díky kterým tajemství dat nakonec rozluštíme.
Galina: Opravdu se často cítíme jako detektivové snažící se odhalit příběh z do té chvíle nijak nezpracovaných dat. Ne vždy se nám to ale podaří, protože často je třeba přidat víc dat nebo je to prostě jen nicneříkající šum. Každý případ, který řešíme, a každý dataset je svým způsobem unikátní.
Co je na vaší práci nejvíc překvapující?
Galina: Začátečníci v našem oboru si často myslí, že strojové učení je jenom o skládání čistých datasetů do neuronových sítí. Může je tak potom překvapit, když zjistí, že strojové učení nezahrnuje jen neuronové sítě, ale také jiné algoritmy a že data, se kterými musí pracovat, jsou často neuspořádaná a zamotaná. Často se navíc nejedná jenom o modelování a programování. Co čteme v médiích o strojovém učení je konečný výsledek, který je rozhodně vzrušující, ale abychom ho dosáhli, je zapotřebí hodně tvrdé práce. Což si lidé mnohdy neuvědomují.
Olga: Strojové učení často vyžaduje trpělivost a výdrž, protože první postupy nemusí dost dobře fungovat nebo data potřebují bližší analýzu. Klíčem je zůstat optimistický a zkusit více různých věcí, z nichž jedna vás snad zavede tou správnou cestou. Z tohoto úhlu pohledu může být aplikace metod strojového učení hodně frustrující. Ale nadále se učíme, odstraňujeme chyby v algoritmech a nakonec se dostaneme k něčemu funkčnímu a krásnému.