Mi az automatizált gépi tanulás (AutoML)?

A KÖVETKEZŐKRE VONATKOZIK: Python SDK azure-ai-ml v2 (aktuális)

Az automatizált gépi tanulás, más néven automatizált ml vagy AutoML a gépi tanulási modell fejlesztésének időigényes, iteratív feladatainak automatizálása. Lehetővé teszi az adattudósok, elemzők és fejlesztők számára, hogy nagy léptékű, hatékonyságú és termelékenységű ML-modelleket építsenek, miközben fenntartják a modell minőségét. Az Azure Machine Tanulás automatizált gépi tanulása a Microsoft Research részleg áttörésén alapul.

Hogyan működik az AutoML?

A betanítás során az Azure Machine Tanulás számos folyamatot hoz létre párhuzamosan, amelyek különböző algoritmusokat és paramétereket próbálnak ki. A szolgáltatás a funkciók kiválasztásával párosított ML-algoritmusokon keresztül iterál, ahol minden iteráció egy betanítási pontszámmal rendelkező modellt hoz létre. Minél jobb az optimalizálni kívánt metrika pontszáma, annál jobb, ha a modell "illeszkedik" az adatokhoz. A művelet leáll, amint eléri a kísérletben meghatározott kilépési feltételeket.

Az Azure Machine Tanulás használatával az alábbi lépésekkel tervezheti meg és futtathatja automatizált gépi tanulási kísérleteit:

  1. Azonosítsa a megoldandó ml-problémát : besorolás, előrejelzés, regresszió, számítógépes látás vagy NLP.

  2. Válassza ki, hogy elsőként szeretne-e kódelső vagy kód nélküli webes felületet használni: Azok a felhasználók, akik elsőként szeretnének kódot használni, használhatják az Azure Machine Tanulás SDKv2-t vagy az Azure Machine Tanulás CLIv2-t. Ismerkedés az oktatóanyaggal : Objektumészlelési modell betanítása az AutoML és a Python használatával. Azok a felhasználók, akik a korlátozott/kód nélküli felhasználói élményt részesítik előnyben, használhatják az Azure Machine Tanulás Studio webes felületét a következő címenhttps://ml.azure.com: . Ismerkedés az oktatóanyaggal: Besorolási modell létrehozása automatizált gépi tanulással az Azure Machine Tanulás.

  3. Adja meg a címkézett betanítási adatok forrását: Az adatokat többféleképpen is elérhetővé teheti az Azure Machine-Tanulás.

  4. Konfigurálja az automatizált gépi tanulási paramétereket, amelyek meghatározzák , hogy hány iteráció van a különböző modelleken, hiperparaméter-beállításokon, speciális előfeldolgozáson/featurizáción, és milyen metrikákat kell figyelembe venni a legjobb modell meghatározásakor.

  5. Küldje el a betanítási feladatot.

  6. Az eredmények áttekintése

Az alábbi ábra ezt a folyamatot szemlélteti. Automated Machine learning

A naplózott feladat adatait is megvizsgálhatja, amelyek a feladat során összegyűjtött metrikákat tartalmazzák. A betanítási feladat létrehoz egy Python szerializált objektumot (.pkl fájlt), amely tartalmazza a modellt és az adatok előfeldolgozását.

Bár a modellépítés automatizált, azt is megtudhatja, hogy mennyire fontosak vagy relevánsak a létrehozott modellek.

Mikor érdemes használni az AutoML-t: besorolás, regresszió, előrejelzés, számítógépes látás & NLP

Alkalmazza az automatizált gépi tanulást, ha azt szeretné, hogy az Azure Machine Tanulás betanítsa és hangolja a modellt az Ön számára a megadott célmetrika használatával. Az automatizált gépi tanulási folyamat demokratizálja a gépi tanulási modell fejlesztési folyamatát, és lehetővé teszi a felhasználók számára az adatelemzési szakértelmüktől függetlenül egy teljes körű gépi tanulási folyamat azonosítását bármilyen probléma esetén.

Az ml-szakemberek és a fejlesztők az iparágakban az automatizált gépi tanulást a következő célra használhatják:

  • Ml-megoldások implementálása széles körű programozási ismeretek nélkül
  • Időt és erőforrásokat takaríthat meg
  • Adatelemzési ajánlott eljárások használata
  • Agilis problémamegoldás biztosítása

Classification

A besorolás a felügyelt tanulás olyan típusa, amelyben a modellek tanítási adatok használatával tanulnak, és a megtanultakat új adatokra alkalmazzák. Az Azure Machine Learning kifejezetten ezekhez a feladatokhoz kínál jellemzőkre bontást, például mély neurális hálózati szövegek jellemzőkre bontását a besoroláshoz. További információ a featurizációs lehetőségekről. Az AutoML által támogatott algoritmusok listáját itt találja.

A besorolási modellek fő célja annak előrejelzése, hogy a betanítási adatokból tanultak alapján milyen kategóriákba sorolhatók az új adatok. Gyakori besorolási példák a csalások észlelése, a kézírás-felismerés és az objektumészlelés.

Ebben a Python-jegyzetfüzetben egy példa a besorolásra és az automatizált gépi tanulásra: Bank Marketing.

Regresszió

A besoroláshoz hasonlóan a regressziós feladatok is gyakori felügyelt tanulási feladatok. Az Azure Machine Tanulás a regressziós problémákra jellemző featurizációt kínál. További információ a featurizációs lehetőségekről. Az AutoML által támogatott algoritmusok listáját itt találja.

A besorolástól eltérően, ahol az előrejelzett kimeneti értékek kategorikusak, a regressziós modellek numerikus kimeneti értékeket jeleznek előre független prediktorok alapján. A regresszió célja, hogy segítsen a független prediktorváltozók közötti kapcsolat felállításában azáltal, hogy megbecsüli, milyen hatással van egy változó a többire. Például előre jelzi egy autó árát olyan jellemzők alapján, mint az üzemanyagfogyasztás, a biztonsági minősítés stb.

Tekintse meg az alábbi Python-jegyzetfüzetek előrejelzéseinek regresszióját és automatizált gépi tanulását: Hardverteljesítmény.

Idősoros előrejelzés

Az előrejelzések minden vállalkozás fontos részét képezik, legyen szó bevételről, leltárról, értékesítésről vagy vásárlói keresletről. Az automatizált ML segítségével egyesítheti a technikai megoldásokat és módszereket, és ajánlott, magas minőségű idősor-előrejelzést kaphat. Az AutoML által támogatott algoritmusok listáját itt találja.

Az automatizált idősoros kísérletek többváltozós regressziós problémaként vannak kezelve. A múltbeli idősorértékek "kimutatása" további dimenziókká válik a regresszor és más prediktorok számára. Ez a megközelítés a klasszikus idősoros módszerekkel ellentétben azzal az előnnyel jár, hogy a betanítás során természetesen több környezeti változót és azok egymáshoz való viszonyát is beépíti. Az automatizált gépi tanulás egyetlen, de gyakran belsőleg elágaztatott modellt tanul az adathalmaz és az előrejelzési horizont összes eleméhez. Így több adat áll rendelkezésre a modellparaméterek becsléséhez, és lehetővé válik a nem látott adatsorok általánosítása.

A speciális előrejelzési konfiguráció a következőket tartalmazza:

  • ünnepészlelés és jellemzőkre bontás
  • idősorok és DNN-tanulók (Auto-ARIMA, Prophet, ForecastTCN)
  • számos modell támogatja a csoportosítást
  • gördülő kiindulópont keresztellenőrzése
  • konfigurálható késés
  • görgő ablakösszesítési szolgáltatások

Tekintse meg az előrejelzés és az automatizált gépi tanulás példáját ebben a Python-jegyzetfüzetben: Energiaigény.

Számítógépes látástechnológia

A számítógépes látási feladatok támogatása lehetővé teszi a képadatokra betanított modellek egyszerű létrehozását olyan forgatókönyvek esetében, mint a képbesorolás és az objektumészlelés.

Ezzel a képességgel a következő lehetőségeket használhatja:

  • Zökkenőmentes integráció az Azure Machine Tanulás adatcímkézési funkciójával
  • Címkézett adatok használata képmodellek létrehozásához
  • Optimalizálja a modell teljesítményét a modellalgoritmus megadásával és a hiperparaméterek finomhangolásával.
  • Töltse le vagy telepítse az eredményként kapott modellt webszolgáltatásként az Azure Machine Tanulás.
  • Nagy léptékű üzembe helyezés az Azure Machine Tanulás MLOps és ML Pipelines képességeinek kihasználásával.

A látási feladatokhoz készült AutoML-modellek létrehozása az Azure Machine Tanulás Python SDK-val támogatott. Az eredményként kapott kísérletezési feladatok, modellek és kimenetek az Azure Machine Tanulás studio felhasználói felületén érhetők el.

Megtudhatja, hogyan állíthat be AutoML-betanítást számítógépes látásmodellekhez.

Computer vision tasks examples. Image from: http://cs231n.stanford.edu/slides/2021/lecture_15.pdf Kép forrása: http://cs231n.stanford.edu/slides/2021/lecture_15.pdf

A képek esetében az automatizált gépi tanulás az alábbi számítógépes látástechnológiai feladatokat támogatja:

Feladat Leírás
Többosztályos képbesorolás Olyan feladatok, amelyekben a kép egy osztálykészletből származó egyetlen címkével van besorolva – például minden kép egy „macska” vagy egy „kutya” vagy egy „kacsa” képeként van besorolva
Többcímkés képbesorolás Olyan feladatok, amelyekben a kép egy vagy több címkét is kaphat egy címkekészletből – például egy kép címkéje lehet „macska” és „kutya” is
Objektumészlelés Olyan feladatok, amelyek a képen látható objektumok azonosítására és az egyes objektumok határolókeretekkel való megkeresése szolgálnak – például az összes kutya és macska megkeresése egy képen, és határolókeret rajzolása mindegyik köré.
Példányszegmentálás A képeken látható objektumok képpontszintű azonosítására használható feladatok, amelyek egy sokszöget rajzolnak a kép egyes objektumai köré.

Természetes nyelvi feldolgozás: NLP

Az automatizált gépi tanulás természetes nyelvi feldolgozási (NLP) feladatainak támogatása lehetővé teszi a szöveges adatokon betanított modellek egyszerű létrehozását a szövegbesoroláshoz és az elnevezett entitásfelismerési forgatókönyvekhez. Az automatizált ml-betanított NLP-modellek létrehozása az Azure Machine Tanulás Python SDK-n keresztül támogatott. Az eredményként kapott kísérletezési feladatok, modellek és kimenetek az Azure Machine Tanulás studio felhasználói felületén érhetők el.

Az NLP-képesség a következőket támogatja:

  • Teljes körű mély neurális hálózati NLP-képzés a legújabb előre betanított BERT-modellekkel
  • Zökkenőmentes integráció az Azure Machine Tanulás adatcímkézésével
  • Címkézett adatok használata NLP-modellek létrehozásához
  • Többnyelvű támogatás 104 nyelven
  • Elosztott betanítás a Horovod használatával

Megtudhatja, hogyan állíthat be AutoML-betanítást NLP-modellekhez.

Betanítási, érvényesítési és tesztelési adatok

Az automatizált gépi tanulással betanítási adatokat biztosít az ML-modellek betanításához, és megadhatja, hogy milyen típusú modellérvényesítést kell végrehajtania. Az automatizált gépi tanulás a betanítás részeként elvégzi a modellérvényesítést. Az automatizált gépi tanulás érvényesítési adatokkal hangolja a modell hiperparamétereit az alkalmazott algoritmus alapján, hogy megtalálja a betanítási adatoknak leginkább megfelelő kombinációt. A hangolás minden iterációja esetében azonban ugyanazokat az érvényesítési adatokat használják, ami modellértékelési torzítást vezet be, mivel a modell folyamatosan fejlődik, és illeszkedik az érvényesítési adatokhoz.

Annak ellenőrzéséhez, hogy az ilyen torzítások nem alkalmazhatók-e a végleges ajánlott modellre, az automatizált gépi tanulás támogatja a tesztadatok használatát az automatizált gépi tanulás által a kísérlet végén javasolt végső modell kiértékeléséhez. Ha tesztadatokat ad meg az AutoML-kísérlet konfigurációjának részeként, a rendszer alapértelmezés szerint teszteli ezt az ajánlott modellt a kísérlet végén (előzetes verzió).

Fontos

A modellek tesztelése egy tesztadatkészlettel a létrehozott modellek kiértékeléséhez előzetes verziójú funkció. Ez a funkció egy kísérleti előzetes verziójú funkció, amely bármikor változhat.

Megtudhatja, hogyan konfigurálhat AutoML-kísérleteket tesztadatok (előzetes verzió) használatára az SDK-val vagy az Azure Machine Tanulás studióval.

Jellemzőkiemelés

A szolgáltatásfejlesztés az adatok tartományi ismereteinek felhasználásával olyan funkciókat hoz létre, amelyek segítenek az ml-algoritmusok jobb megismerésében. Az Azure Machine Tanulás skálázási és normalizálási technikákat alkalmaz a funkciófejlesztés megkönnyítésére. Ezeket a technikákat és jellemzőket együttesen featurizációnak nevezzük.

Automatizált gépi tanulási kísérletek esetén a rendszer automatikusan alkalmazza a featurizációt, de az adatok alapján testre is szabható. További információ a featurizációról (SDK v1) és arról, hogy az AutoML hogyan segít megelőzni a modellek túlillesztését és kiegyensúlyozatlan adatait .

Megjegyzés:

A gépi tanulás automatizált featurizálási lépései (funkció normalizálása, hiányzó adatok kezelése, szöveg numerikussá alakítása stb.) a mögöttes modell részévé válnak. Ha a modellt előrejelzésekhez használja, a betanítás során alkalmazott featurizációs lépések automatikusan a bemeneti adatokra lesznek alkalmazva.

A featurizáció testreszabása

További funkciótervezési technikák, például kódolás és átalakítások is elérhetők.

Engedélyezze ezt a beállítást a következőkkel:

  • Azure Machine Tanulás studio: Engedélyezze az automatikus featurizációt a További konfiguráció megtekintése szakaszban az alábbi lépésekkel.

  • Python SDK: Adja meg a featurizációt az AutoML-feladatobjektumban . További információ a featurizáció engedélyezéséről.

Együttes modellek

Az automatizált gépi tanulás támogatja az alapértelmezés szerint engedélyezett együttes modelleket. Az együttes tanulás több modell kombinálásával javítja a gépi tanulási eredményeket és a prediktív teljesítményt, és nem egyetlen modelleket használ. Az együttes iterációk a feladat végleges iterációiként jelennek meg. Az automatizált gépi tanulás a szavazati és a halmozási együttes metódusokat is használja a modellek kombinálására:

  • Szavazás: az előrejelzett osztály valószínűségeinek súlyozott átlaga (besorolási tevékenységek esetén) vagy az előrejelzett regressziós célok (regressziós tevékenységek esetén) alapján előrejelzést ad.
  • Halmozás: a halmozás heterogén modelleket egyesít, és az egyes modellek kimenete alapján betanít egy metamodellt. Az aktuális alapértelmezett metamodellek a logisticRegression a besorolási tevékenységekhez, az ElasticNet pedig a regressziós/előrejelzési tevékenységekhez.

A Caruana-együttes kiválasztási algoritmusa rendezett együttes inicializálásával dönti el, hogy mely modelleket használja az együttesen belül. Magas szinten ez az algoritmus inicializálja az együttest legfeljebb öt, a legjobb egyéni pontszámmal rendelkező modellel, és ellenőrzi, hogy ezek a modellek a legjobb pontszám 5%-os küszöbértékén belül vannak-e a gyenge kezdeti együttes elkerülése érdekében. Ezután minden egyes együttes iterációhoz hozzáad egy új modellt a meglévő együtteshez, és kiszámítja az eredményként kapott pontszámot. Ha egy új modell javította a meglévő együttes pontszámát, az együttes frissül, hogy tartalmazza az új modellt.

Az automatikus gépi tanulás alapértelmezett együttes beállításainak módosításához tekintse meg az AutoML-csomagot .

AutoML &ONNX

Az Azure Machine Tanulás használatával automatizált gépi tanulással létrehozhat egy Python-modellt, és onnx formátumba konvertálhatja. Miután a modellek ONNX formátumban vannak, számos platformon és eszközön futtathatók. További információ az ML-modellek ONNX-sel való felgyorsításáról.

Ebben a Jupyter-jegyzetfüzet-példában megtudhatja, hogyan konvertálhat ONNX formátumra. Megtudhatja, hogy mely algoritmusok támogatottak az ONNX-ben.

Az ONNX-futtatókörnyezet a C#-ot is támogatja, így a C#-alkalmazásokban automatikusan létrehozott modellt anélkül használhatja, hogy a REST-végpontok által bevezetett hálózati késéseket vagy késéseket kellene megszüntetnie. További információ az AutoML ONNX-modell használatáról egy .NET-alkalmazásban az ONNX-modellek ML.NET és az ONNX runtime C# API-val való következtetésével.

További lépések

Az AutoML használatához több erőforrás is rendelkezésre áll.

Oktatóanyagok/ útmutatók

Az oktatóanyagok az AutoML-forgatókönyvek bevezető példái.

Az útmutatók további részleteket nyújtanak az automatizált gépi tanulás funkcióiról. Példa:

Jupyter-jegyzetfüzetminták

Tekintse át a részletes kódmintákat és használati eseteket az automatizált gépi tanulási minták GitHub-jegyzetfüzettárában.

Python SDK-referencia

Az AutoML-feladatosztály referenciadokumentációjával mélyítse el az SDK tervezési mintáival és osztályspecifikációival kapcsolatos szakértelmét.

Megjegyzés:

Az automatizált gépi tanulási képességek más Microsoft-megoldásokban is elérhetők, például ML.NET, HDInsight, Power BI és SQL Server