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 Learning automatizált gépi tanulása a Microsoft Research részleg áttörésén alapul.
- A kódokkal jártos ügyfelek számára telepítse az Azure Machine Learning Python SDK-t. Ismerkedés az oktatóanyaggal : Objektumészlelési modell (előzetes verzió) betanítása az AutoML és a Python használatával.
Hogyan működik az AutoML?
A betanítás során az Azure Machine Learning 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 kísérletben meghatározott kilépési feltételek teljesülése után leáll.
Az Azure Machine Learning használatával az alábbi lépésekkel tervezheti meg és futtathatja automatizált gépi tanulási kísérleteit:
Azonosítsa a megoldandó ml-problémát : besorolás, előrejelzés, regresszió, számítógépes látás vagy NLP.
Válassza ki, hogy elsőként szeretne-e használni egy kódelső vagy egy kód nélküli studio webes felületet: Azok a felhasználók, akik előnyben részesítik a kódelső élményt, használhatják az Azure Machine Learning SDKv2-t vagy az Azure Machine Learning CLIv2-t. Ismerkedés az oktatóanyaggal : Objektumészlelési modell betanítása az AutoML és a Python használatával. A korlátozott vagy kód nélküli élményt előnyben részesítő felhasználók használhatják a webes felületet az Azure Machine Learning Studióban 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 Learningben.
Adja meg a címkézett betanítási adatok forrását: Az adatokat többféleképpen is átviheti az Azure Machine Learningbe.
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.
Küldje el a betanítási feladatot.
Tekintse át az eredményeket.
Az alábbi ábra ezt a folyamatot szemlélteti.
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 Learning betanítson és hangoljon egy modellt az Ön számára a megadott célmetrika használatával. Az automatizált gépi tanulás 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 alkalmazása
- Agilis problémamegoldás biztosítása
Osztályozás
A besorolás a felügyelt tanulás olyan típusa, amelyben a modellek elsajátítják a betanítási adatok használatát, és alkalmazzák ezeket a tanulásokat az új adatokra. 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. A featurizálási lehetőségekről további információt az Adatok featurizálása című témakörben talál. Az AutoML által támogatott algoritmusok listáját a támogatott algoritmusok között is megtalálhatja.
A besorolási modellek fő célja annak előrejelzése, hogy mely kategóriákba tartoznak az új adatok a betanítási adatokból származó tanulságok alapján. 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 Learning 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 a támogatott algoritmusok között is megtalálhatja.
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. A modell például előre jelezheti az autó árát olyan jellemzők alapján, mint a gázhasználat és a biztonsági minősítés.
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 a támogatott algoritmusok között 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" több dimenziót jelent a regresszor számára más prediktorokkal együtt. 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ágazó 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 általánossá válik az adatsorok megjelenítése.
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ő eredetű keresztérvényesítés
- 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őmentesen integrálható az Azure Machine Learning 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 Learningben.
- Az Azure Machine Learning MLOps és az ML Pipelines képességeinek kihasználása nagy léptékben.
A látási feladatokhoz készült AutoML-modellek létrehozása az Azure Machine Learning Python SDK-val támogatott. Az eredményként kapott kísérletezési feladatok, modellek és kimenetek az Azure Machine Learning 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.
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, ahol egy kép osztálycsoportból csak egyetlen címkével van besorolva – például minden kép "macska" vagy "kutya" vagy "kacsa" képeként van besorolva. |
Többcímkés képbesorolás | Olyan feladatok, amelyekben egy kép egy vagy több címkével rendelkezhet egy címkekészletből – például egy kép "macska" és "kutya" címkével is ellátható. |
Objektumészlelés | A képeken lévő objektumok azonosítására és az egyes objektumok határolókerettel való megkeresésére szolgáló feladatok, például az összes kutya és macska megkeresése a képen, és határolókeret rajzolása mindegyik körül. |
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 gépi tanulási betanított NLP-modellek létrehozása az Azure Machine Learning Python SDK-n keresztül támogatott. Az eredményként kapott kísérletezési feladatok, modellek és kimenetek az Azure Machine Learning 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 Learning-adatok cí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 megadhatja a betanítási adatokat az ML-modellek betanításához, és megadhatja, hogy milyen típusú modellérvényesítést hajtson végre. 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 Learning 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 Learningben a skálázási és normalizálási technikákat alkalmazzák a funkciófejlesztés megkönnyítése érdekében. 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 .
Feljegyzés
Az alapul szolgáló modell részévé válnak az automatizált gépi tanulási featurizációs lépések (például a funkció normalizálása, a hiányzó adatok kezelése és a szöveg numerikussá alakítása). 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 Learning 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őrejelzé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 várható.
- Halmozás: Heterogén modellek kombinálása és metamodell betanítása az egyes modellek kimenete alapján. 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 Learning segítségével automatizált gépi tanulással létrehozhat egy Python-modellt, és onnx formátumra konvertálhatja. Miután a modellek ONNX formátumban vannak, különböző platformokon és eszközökö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.
Következő 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 első kódért kövesse az oktatóanyagot: Objektumészlelési modell betanítása autoML-vel és Pythonnal
Alacsony vagy kód nélküli élményért tekintse meg az Oktatóanyagot: Besorolási modell betanítása kód nélküli AutoML-vel az Azure Machine Learning Studióban.
Az útmutató cikkek részletesebben ismertetik az automatizált gépi tanulás funkcióit. Például,
Automatikus betanítási kísérletek beállításainak konfigurálása
Megtudhatja, hogyan taníthat be számítógépes látásmodelleket a Pythonnal.
Megtudhatja, hogyan tekintheti meg a létrehozott kódot az automatizált ML-modellekből (SDK v1).
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.
Feljegyzé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.