Andersonův úhel
10 nejlepších algoritmů strojového učení

Přestože procházíme dobu mimořádné inovace v oblasti strojového učení urychleného pomocí GPU, nejnovější výzkumné články často zmiňují algoritmy, které jsou desetiletí, v některých případech dokonce 70 let staré.
Někteří mohou tvrdit, že mnoho z těchto starších metod spadá do kategorie “statistické analýzy” spíše než strojového učení a raději datují vznik tohoto odvětví zpět pouze do roku 1957, kdy byla vynalezen Perceptron.
Vzhledem k tomu, jak tyto starší algoritmy podporují a jsou zapleteny do nejnovějších trendů a pozoruhodných vývojů ve strojovém učení, je tato stanoviska sporná. Proto se podívejme na některé “klasické” stavební kameny, které stojí za nejnovějšími inovacemi, stejně jako na některé novější položky, které se snaží získat místo v síni slávy umělé inteligence.
1: Transformery
V roce 2017 vedl Google Research výzkumnou spolupráci, která vyústila v článek Pozorování je vše, co potřebujete. Práce popsala novou architekturu, která podporovala mechanismy pozornosti z “potrubí” v modelech kodér-dekodér a rekurentních neuronových sítích na centrální transformační technologii samy o sobě.
Přístup byl nazván Transformér a od té doby se stal revoluční metodou v oblasti zpracování přirozeného jazyka (NLP), pohánějící, mezi mnoha dalšími příklady, autoregresivní jazykový model a umělecký model GPT-3.

Transforméry elegantně vyřešily problém sekvenční transdukce, také nazývané “transformace”, který se zabývá zpracováním vstupních sekvencí do výstupních sekvencí. Transformér také přijímá a spravuje data kontinuálně, spíše než v sekvencích, což umožňuje “trvalost paměti”, kterou architektury RNN nejsou navrženy pro získání. Pro podrobnější přehled transformérů se podívejte na naši referenční článek.
Na rozdíl od rekurentních neuronových sítí (RNN), které začaly dominovat výzkumu ML v éře CUDA, mohla architektura Transformer být snadno paralelizována, což otevřelo cestu k produktivnímu zpracování mnohem většího korpusu dat než RNN.
Populární použití
Transforméry získaly veřejnou pozornost v roce 2020 s vydáním GPT-3 od OpenAI, který se chlubil tehdy rekordním 175 miliardami parametrů. Tento údajně ohromující úspěch byl později zastíněn pozdějšími projekty, jako je vydání Microsoftu Megatron-Turing NLG 530B v roce 2021, který (jak název napovídá) nabízí více než 530 miliard parametrů.

Časová osa hyperscale Transformer NLP projektů. Zdroj: Microsoft
Architektura Transformer také překročila hranice z NLP do počítačového vidění, pohánějící novou generaci rámců pro syntézu obrazů, jako je OpenAI’s CLIP a DALL-E, které používají mapování textu na obraz k dokončení neúplných obrazů a syntéze nových obrazů z trénovaných domén, mezi mnoha dalšími aplikacemi.

DALL-E se snaží dokončit částečný obraz busty Platóna. Zdroj: https://openai.com/blog/dall-e/
2: Generativní adversativní sítě (GAN)
Ačkoli transforméry získaly ohromnou publicitu díky vydání GPT-3, Generativní adversativní síť (GAN) se stala rozpoznatelnou značkou sama o sobě a může se nakonec připojit k deepfake jako sloveso.
Poprvé navržená v roce 2014 a primárně používána pro syntézu obrazů, architektura Generativní adversativní sítě se skládá z Generátoru a Discriminátora. Generátor prochází tisíci obrázky v datové sadě, iterativně se snaží je rekonstruovat. Pro každou попытku ohodnotí Discriminátor práci Generátoru a pošle Generátor zpět, aby to udělal lépe, ale bez jakéhokoli vhledu do toho, jak předchozí rekonstrukce selhala.

Zdroj: https://developers.google.com/machine-learning/gan/gan_structure
To nutí Generátor prozkoumat mnohost cest, místo aby sledoval potenciální slepé uličky, které by vznikly, kdyby Discriminátor řekl, kde šel špatně (viz #8 níže). Díky tomu, že Generátor získá podrobnou a komplexní mapu vztahů mezi body v datové sadě.

Výňatek z článku Improving GAN Equilibrium by Raising Spatial Awareness: nový rámec prochází někdy záhadným latentním prostorem GAN, poskytující reaktivní instrumentaci pro architekturu syntézy obrazů. Zdroj: https://genforce.github.io/eqgan/
Pomocí analogie je to rozdíl mezi naučením se jedné nudné cestě do centra Londýna nebo pečlivým získáním Znáním.
Výsledkem je sbírka funkcí v latentním prostoru trénovaného modelu. Semantický ukazatel pro funkci vysoké úrovně by mohl být “osoba”, zatímco sestup do specifičnosti související s touto funkcí by mohl odhalit další naučené charakteristiky, jako je “muž” a “žena”. Na nižších úrovních se sub-funkce mohou rozložit na “blondýnku”, “kaučanskou” atd.
Propojení je značným problémem v latentním prostoru GAN a rámců kodér-dekodér: je úsměv na GAN-generované ženské tváři propojenou funkcí její “identity” v latentním prostoru, nebo je to paralelní větev?

GAN-generované tváře z thispersondoesnotexist. Zdroj: https://this-person-does-not-exist.com/en
Minulé dva roky přinesly řadu nových výzkumných iniciativ v tomto ohledu, možná otevírajíc cestu k úrovněmu, Photoshop-stylu editaci latentního prostoru GAN, ale prozatím mnoho transformací je efektivně “všechno nebo nic” balíčky. Poznámka, že vydání EditGAN od NVIDIA na konci roku 2021 dosáhlo vysoké úrovně interpretability v latentním prostoru pomocí semantických segmentačních masek.
Populární použití
Kromě jejich (skutečně bastante omezeného) zapojení do populárních deepfake videí, GAN pro obraz a video se rozšířily za posledních čtyři roky, okouzlující výzkumníky i veřejnost. Držení kroků s ohromující rychlostí a frekvencí nových vydání je výzvou, i když repozitář GitHub Awesome GAN Applications se snaží poskytnout komplexní seznam.
Generativní adversativní sítě teoreticky mohou odvodit funkce z jakéhokoli dobře definovaného doménu, včetně textu.
3: Podporující vektorové stroje (SVM)
Původně z roku 1963, Podporující vektorový stroj (SVM) je základní algoritmus, který se často objevuje v novém výzkumu. Pod SVM mapují vektory relativní dispozici bodů dat v datové sadě, zatímco podporující vektory definují hranice mezi různými skupinami, funkcemi nebo rysy.

Podporující vektory definují hranice mezi skupinami. Zdroj: https://www.kdnuggets.com/2016/07/support-vector-machines-simple-explanation.html
Odvozená hranice se nazývá hyperrovinou.
V nízkých úrovních funkcí je SVM dvojrozměrný (obrázek výše), ale tam, kde je vyšší počet skupin nebo typů, stává se třírozměrný.

Hlubší pole bodů a skupin vyžaduje třírozměrný SVM. Zdroj: https://cml.rhul.ac.uk/svm.html
Populární použití
Pokudže Podporující vektorové stroje mohou efektivně a agnosticky řešit vysokodimenzionální data mnoha druhů, objevují se široce napříč různými sektory strojového učení, včetně deepfake detekce, klasifikace obrazů, klasifikace nenávistných projevů, analýza DNA a předpověď populace, mezi mnoha dalšími.
4: K-Means Clustering
Clusterizace obecně je nesupervizovaná metoda učení, která se snaží kategorizovat body dat pomocí odhadu hustoty, vytvářející mapu distribuce dat, která se studuje.

K-Means clusterizace odhaluje segmenty, skupiny a komunity v datech. Zdroj: https://aws.amazon.com/blogs/machine-learning/k-means-clustering-with-amazon-sagemaker/
K-Means Clustering se stal nejpopulárnější implementací tohoto přístupu, vedoucí body dat do distinctivních “K Skupin”, které mohou indikovat demografické sektory, online komunity nebo jakoukoli jinou možnou skrytou agregaci čekající na objevení v syrových statistických datech.

Clusterformace v K-Means analýze. Zdroj: https://www.geeksforgeeks.org/ml-determine-the-optimal-value-of-k-in-k-means-clustering/
Hodnota K sama o sobě je určujícím faktorem v užitečnosti procesu a stanovení optimální hodnoty pro cluster. Počátečně je hodnota K náhodně přiřazena a její funkce a vektorové charakteristiky jsou porovnány s jejími sousedy. Ti sousedé, kteří se nejvíce podobají bodu dat s náhodně přiřazenou hodnotou, jsou přiřazeni k jeho clusteru iterativně, dokud data nevydají všechny skupinování, které proces umožňuje.
Graf pro čtvercovou chybu, nebo “náklad” různých hodnot mezi clusterů, odhalí kolenní bod pro data:

Kolenní bod v clusterovém grafu. Zdroj: https://www.scikit-yb.org/en/latest/api/cluster/elbow.html
Kolenní bod je podobný konceptu, jak se ztráta vyrovná do klesajících návratů na konci tréninkové relace pro datovou sadu. Reprezentuje bod, ve kterém již nebude možné rozlišit žádné další rozdíly mezi skupinami, ukazující na okamžik, kdy je třeba přejít k následujícím fázím v datové trubici, nebo ohlásit výsledky.
Populární použití
K-Means Clustering, zřejmých důvodů, je primární technologií ve zákaznické analýze, protože nabízí jasnou a vysvětlitelnou metodologii pro překlad velkých množství obchodních záznamů do demografických poznatků a “vedení”.
Mimo tuto aplikaci je K-Means Clustering také používán pro předpověď sesuvu, segmentaci medicínských obrazů, syntézu obrazů s GAN, klasifikaci dokumentů, a městské plánování, mezi mnoha dalšími potenciálními a skutečnými použitími.
5: Náhodný les
Náhodný les je ensemblová metoda učení, která průměruje výsledek z pole rozhodovacích stromů, aby stanovila celkovou předpověď pro výsledek.

Zdroj: https://www.tutorialandexample.com/wp-content/uploads/2019/10/Decision-Trees-Root-Node.png
Pokud jste výzkumu prozkoumali, i když jste pouze sledovali trilogii Zpět do budoucnosti, rozhodovací strom je poměrně snadno pochopitelný: řada cest leží před vámi a každá cesta se větví do nového výsledku, který obsahuje další možné cesty.
V posilovacím učení byste mohli ustoupit od cesty a začít znovu z dřívější pozice, zatímco rozhodovací stromy se zavazují ke svým cestám.
Takže algoritmus Náhodný les je vlastně spread-betting pro rozhodnutí. Algoritmus se nazývá “náhodný”, protože dělá ad hoc výběry a pozorování, aby pochopil medián součtu výsledků z pole rozhodovacích stromů.
Pokudže bere v úvahu mnohost faktorů, přístup Náhodný les může být obtížnější převést do smysluplných grafů než rozhodovací strom, ale je pravděpodobně mnohem produktivnější.
Rozhodovací stromy jsou náchylné k přeučení, kde získané výsledky jsou specifické pro data a nejsou pravděpodobně obecně platné. Náhodný lesův náhodný výběr datových bodů bojuje proti této tendenci, pronikaje k smysluplným a užitečným reprezentativním trendům v datech.

Regrese rozhodovacího stromu. Zdroj: https://scikit-learn.org/stable/auto_examples/tree/plot_tree_regression.html
Populární použití
Jako u mnoha algoritmů v tomto seznamu, Náhodný les typicky funguje jako “časný” třídící a filtrovací data, a jako takový se pravidelně objevuje v novém výzkumu. Některé příklady použití Náhodného lesa zahrnují syntézu magnetické rezonance, předpověď ceny bitcoinu, segmentaci zákazníků, klasifikaci textu a detekci podvodů s kreditními kartami.
Poznámka, že Náhodný les je nízkoúrovňový algoritmus v architekturách strojového učení, a může také přispět k výkonu jiných nízkoúrovňových metod, stejně jako algoritmů vizualizace, včetně induktivní clusterizace, transformací funkcí, klasifikace textových dokumentů pomocí řídkých funkcí, a zobrazení potrubí.
6: Naivní Bayes
Spojený s odhadem hustoty (viz 4 výše), naivní Bayes klasifikátor je silný, ale relativně lehký algoritmus, schopný odhadovat pravděpodobnosti na základě vypočtených funkcí dat.

Vztahy funkcí v naivním Bayesovském klasifikátoru. Zdroj: https://www.sciencedirect.com/topics/computer-science/naive-bayes-model
Termín “naivní” odkazuje na předpoklad v Bayesově teorému, že funkce jsou nesouvisející, známé jako podmíněná nezávislost. Pokud přijmete tento postoj, chůze a mluvení jako kachna nejsou dostatečné k tomu, aby se zjistilo, že se jedná o kachnu, a nejsou přijaty žádné “zjevné” předpoklady.
Tento úroveň akademické a vyšetřovací přísnosti by byl přehnaný, pokud je k dispozici “zdravý rozum”, ale je cenným standardem, když se prochází mnoha nejasnostmi a potenciálně nesouvisejícími korelacemi, které mohou existovat v datové sadě strojového učení.
V původní Bayesovské síti jsou funkce podrobeny skórovacím funkcím, včetně minimální délky popisu a Bayesovského skórování, které mohou uvalit omezení na data vzhledem k odhadovaným spojením nalezeným mezi body dat a směru, ve kterém tato spojení proudí.
Naivní Bayesovský klasifikátor, naopak, funguje tak, že předpokládá, že funkce daného objektu jsou nezávislé, a poté používá Bayesův teorém k výpočtu pravděpodobnosti daného objektu na základě jeho funkcí.
Populární použití
Naivní Bayesovy filtry jsou dobře reprezentovány v předpovědi nemocí a kategorizaci dokumentů, filtrování spamu, klasifikaci sentimentu, systémy doporučení, a detekci podvodů, mezi mnoha dalšími aplikacemi.
7: K-Nearest Neighbors (KNN)
Poprvé navržen v roce 1951 a přizpůsobený stavu techniky poloviny 20. století, K-Nearest Neighbors (KNN) je štíhlý algoritmus, který se stále objevuje v akademických článcích a soukromých výzkumných iniciativách strojového učení.
KNN byl nazván “lenivým učitelem”, protože vyčerpávajícím způsobem prochází datovou sadou, aby vyhodnotil vztahy mezi body dat, místo aby vyžadoval trénink plnohodnotného modelu strojového učení.

KNN seskupení. Zdroj: https://scikit-learn.org/stable/modules/neighbors.html
Přestože je KNN architektonicky štíhlý, jeho systematický přístup klade značnou poptávku po čtení a zápisu operacích, a jeho použití ve velmi velkých datech může být problematické bez pomocných technologií, jako je Principal Component Analysis (PCA), které mohou transformovat komplexní a objemná data do reprezentativních seskupení, která KNN může procházet s menší námahou.
Nedávná studie vyhodnotila účinnost a ekonomiku několika algoritmů, které měly za úkol předpovědět, zda zaměstnanec opustí společnost, a zjistila, že sedmdesátiletý KNN zůstal lepší než moderní konkurenti v přesnosti a prediktivní účinnosti.
Populární použití
Přestože je KNN konceptuálně jednoduchý, nebyl uvězněn v 50. letech – byl adaptován do více orientovaného DNN přístupu v návrhu z roku 2018 Pennsylvania State University, a zůstává centrálním časným procesem (nebo analytickým nástrojem) v mnoha složitějších rámcích strojového učení.
V různých konfiguracích byl KNN použit pro verifikaci online podpisu, klasifikaci obrazů, těžbu textu, předpověď plodin, a rozpoznávání obličeje, kromě dalších aplikací a inkorporací.

KNN založený systém rozpoznávání obličeje ve výcviku. Zdroj: https://pdfs.semanticscholar.org/6f3d/d4c5ffeb3ce74bf57342861686944490f513.pdf
8: Markovský rozhodovací proces (MDP)
Matematický rámec zavedený americkým matematikem Richardem Bellmanem v roce 1957, Markovský rozhodovací proces (MDP) je jedním z nejzákladnějších bloků posilovacího učení architektur. Konceptuální algoritmus sám o sobě, byl adaptován do mnoha dalších algoritmů a objevuje se často v současném výzkumu AI/ML.
MDP prozkoumává datové prostředí pomocí hodnocení svého aktuálního stavu (tj. “kde” je v datech), aby rozhodl, který uzel dat prozkoumat jako další.

Zdroj: https://www.sciencedirect.com/science/article/abs/pii/S0888613X18304420
Základní Markovský rozhodovací proces upřednostňuje krátkodobou výhodu před více žádoucími dlouhodobými cíli. Z tohoto důvodu je obvykle vložen do kontextu komplexnější politické architektury v posilovacím učení a je často podroben omezujícím faktorům, jako je sleva odměny a další modifikující proměnné, které mu zabrání spěchat k okamžitému cíli bez ohledu na širší požadovaný výsledek.
Populární použití
MDP je nízkoúrovňový koncept, který se široce používá v obou výzkumu a aktivních nasazeních strojového učení. Byl navržen pro systémy obrany IoT, rybolov, a předpověď trhu.
Kromě jeho zjevné použitelnosti pro šach a další striktně sekvenční hry, MDP je také přirozeným uchazečem o procedurální trénink robotických systémů, jak můžeme vidět ve videu níže.
9: Term Frequency-Inverse Document Frequency
Term Frequency (TF) dělí počet výskytů slova v dokumentu počtem slov v dokumentu. Takže slovo seal, které se objeví jednou v článku o tisíc slovech, má term frekvenci 0,001. Samotná TF je z velké části zbytečná jako ukazatel termínu, kvůli skutečnosti, že bezvýznamná slova (jako a, and, the, a it) dominují.
Aby se získal smysluplný hodnotu pro termín, Inverse Document Frequency (IDF) vypočítá TF slova napříč několika dokumenty v datové sadě, přiřazuje nízké hodnocení velmi častým stop-slovům, jako články. Výsledné vektorové funkce jsou normalizovány na celá čísla, s každým slovem přiřazeným vhodnou váhou.

TF-IDF váží relevanci termínů na základě frekvence napříč několika dokumenty, s řidší výskytem jako ukazatelem významu. Zdroj: https://moz.com/blog/inverse-document-frequency-and-the-importance-of-uniqueness
Přestože tento přístup zabraňuje ztrátě semanticky důležitých slov jako outlierů, invertování frekvenční váhy automaticky neznamená, že nízkofrekvenční termín není outlier, protože některé věci jsou řídké a bezcenné. Proto nízkofrekvenční termín bude muset prokázat svou hodnotu ve širším architektonickém kontextu, objevujíc se (i na nízké frekvenci na dokument) v několika dokumentech v datové sadě.
Přestože je starý, TF-IDF je silnou a populární metodou pro počáteční filtrovací projekty v rámcích zpracování přirozeného jazyka.
Populární použití
Pokudže TF-IDF sehrál alespoň nějakou roli ve vývoji Googleova převážně okultního algoritmu PageRank za posledních dvacet let, stal se velmi široce přijatým jako manipulativní SEO taktikou, navzdory Johnovi Muellerovi odmítnutí jeho důležitosti pro výsledky vyhledávání.
Vzhledem k utajení kolem PageRanku, neexistuje žádný jasný důkaz, že TF-IDF není v současné době efektivní taktikou pro zlepšení umístění ve vyhledávání Google. Spalující diskuze mezi IT profesionály naznačuje populární pochopení, správné nebo ne, že zneužívání termínů může stále vést k lepšímu umístění SEO (i když další obvinění z monopolního zneužívání a nadměrné reklamy rozostřují hranice této teorie).
10: Stochastic Gradient Descent
Stochastic Gradient Descent (SGD) je stále populárnější metodou pro optimalizaci trénování modelů strojového učení.
Gradient Descent sám o sobě je metodou optimalizace a následného kvantifikace zlepšení, které model dělá během trénování.
V tomto smyslu “gradient” označuje sestupnou strmou (spíše než barevnou gradaci, viz obrázek níže), kde nejvyšší bod “kopce”, vlevo, reprezentuje začátek trénovacího procesu. V této fázi model ještě neviděl celou datovou sadu ani jednou a belum naučil se dostatečně o vztazích mezi daty, aby mohl produkovat efektivní transformace.

Gradient Descent na FaceSwap trénovací relaci. Můžeme vidět, že trénování se zastavilo na nějakou dobu v druhé polovině, ale nakonec se dostalo zpět na gradient směrem k přijatelné konvergenci.
Nejnižší bod, vpravo, reprezentuje konvergenci (bod, ve kterém je model tak efektivní, jak může být, za daných omezení a nastavení).
Gradient funguje jako záznam a předpověď pro rozdíly mezi chybovou rychlostí (jak přesně model aktuálně mapuje vztahy mezi daty) a váhami (nastavení, která ovlivňují, jakým způsobem model bude učit).
Tento záznam pokroku může být použit k informování plánu učení, automatického procesu, který řekne architektuře, aby se stala více granulární a přesnou, jakmile se rané vágní detaily transformují do jasných vztahů a mapování. Gradientová ztráta poskytuje takzvanou “just-in-time” mapu, kam by se trénování mělo vydat dál a jak by mělo postupovat.
Inovace Stochastic Gradient Descent spočívá v tom, že aktualizuje parametry modelu na každé trénovací příkladu na iteraci, což obecně urychluje cestu ke konvergenci. Díky vzniku hyperscale datových sad v posledních letech se SGD stal populárnější jako jedna z možných metod, jak řešit následující logistické problémy.
Na druhou stranu má SGD negativní důsledky pro škálování funkcí a může vyžadovat více iterací, aby dosáhl stejného výsledku, vyžadující další plánování a další parametry, ve srovnání s pravidelným Gradient Descentem.
Populární použití
Díky své konfigurovatelnosti a navzdory jeho nedostatkům se SGD stal nejpopulárnějším optimalizačním algoritmem pro přizpůsobení neuronových sítí. Jedna konfigurace SGD, která se stává dominantní v novém výzkumu AI/ML, je volba Adaptivní Moment Estimation (ADAM) optimalizátoru.
ADAM adaptuje rychlost učení pro každý parametr dynamicky (“adaptivní rychlost učení”), stejně jako zahrnuje výsledky z předchozích aktualizací do následujících konfigurací (“hybnost”). Kromě toho může být nakonfigurován pro použití pozdějších inovací, jako je Nesterov Momentum.
Někteří však tvrdí, že použití hybnosti může také urychlit ADAM (a podobné algoritmy) k suboptimálnímu závěru. Jako u většiny špičkového výzkumu strojového učení, SGD je práce v průběhu.
Poprvé zveřejněno 10. února 2022. Revize 10. února 20:05 EET – formátování.












