Modell értelmezhetősége a Azure Machine Learning (előzetes verzió)

A modell értelmezhetősége – áttekintés

A modell értelmezhetősége kritikus fontosságú az adatszakértők, az auditorok és az üzleti döntéshozók számára a vállalati szabályzatoknak, iparági szabványoknak és kormányzati szabályozásoknak való megfelelés biztosítása érdekében:

  • Az adattudósok számára szükség van arra, hogy elmagyarázzák modelljeiket a vezetőknek és az érdekelt feleknek, hogy megértsék az eredményeik értékét és pontosságát. A modellek hibakeresése és a továbbfejlhetőségükről való megalapozott döntések meghozatalához is értelmezhetőségre van szükségük.

  • A jogi auditorok olyan eszközöket igényelnek, amelyek ellenőrzik a modelleket a jogszabályi megfelelőség szempontjából, és monitorják, hogy a modellek döntései milyen hatással vannak az emberekre.

  • Az üzleti döntéshozóknak a végfelhasználói átláthatósággal kell bajluk. Ez lehetővé teszi számukra a bizalomszerzést és a bizalom fenntartását.

A gépi tanulási modell magyarázatának képessége a modellfejlesztés két fő fázisában fontos:

  • A betanítás során a modelltervezők és -kiértékelők a modellek értelmezhetőségi kimenetével ellenőrizhetik a hipotéziseket, és bizalmat építhetnek az érdekelt felekkel. Emellett a modell elemzéseit is használják a hibakereséshez, a modell viselkedésének ellenőrzéshez és a célkitűzéseknek való megfelelőség ellenőrzéshez, valamint a modell méltetlenségét vagy a funkciókat keresve.

  • A következtetési fázisban, mivel az üzembe helyezett modellek átláthatósága lehetővé teszi a vezetők számára, hogy megértsék, hogyan működik a modell, és hogyan kezelik és befolyásolják a döntések a való életben az embereket.

Értelmezhetőség a Azure Machine Learning

A modell értelmezhetőségi osztályát a következő SDK-csomaggal lehet elérhetővé tenni: (Ismerje meg, hogyan telepíthet SDK-csomagokat a Azure Machine Learning)

  • azureml.interpretA a Microsoft által támogatott funkciókat tartalmazza.

Általános pip install azureml-interpret használatra használható.

A modell értelmezése

Az SDK osztályokkal és metódusokkal a következő lépéseket sajáthatja el:

  • A modell előrejelzésének magyarázata a funkció fontosságértékének generálása a teljes modellhez és/vagy egyéni adatpontokhoz.
  • Valós adatkészletek modellértelmének értelmezhetősége nagy léptékben, a betanítás és a következtetés során.
  • Interaktív vizualizációs irányítópult használata az adatok mintáinak és magyarázatának felderítéséhez a betanítás során

A gépi tanulásban a jellemzők a cél adatpont előrejelzéséhez használt adatmezők. A hitelkockázat előrejelzéséhez például használhatók az életkor, a fiókméret és a fiók életkorának adatmezői. Ebben az esetben az életkor, a fiók mérete és a fiók kora funkciók. A funkció fontossága azt mutatja meg, hogy az egyes adatmezők milyen hatással vannak a modell előrejelzésére. Előfordulhat például, hogy az előrejelzésben gyakran használják az életkort, míg a fiók mérete és kora nem befolyásolja jelentősen az előrejelzési értékeket. Ez a folyamat lehetővé teszi az adattudósok számára az eredményül kapott előrejelzések magyarázatát, hogy az érintettek átlássák a modell legfontosabb jellemzőit.

Támogatott értelmezhetőségi technikák

azureml-interpret az Interpret-Community (Közösség értelmezése) által kifejlesztett értelmezhetőségi technikákat használja, amely egy nyílt forráskódú Python-csomagaz értelmezhető modellek betanítása és a feketedobozos AI-rendszerek értelmezésének segítése érdekében. Az Interpret-Community az SDK által támogatott magyarázók állomása, és jelenleg a következő értelmezési technikákat támogatja:

Értelmezhetőségi technika Leírás Típus
SHAP-fa magyarázó Az SHAPfa magyarázója, amely a polinomiális idő gyors SHAP-értékbecslési algoritmusával foglalkozik, amely a fákra és fák együttesére vonatkozik. Modellspecifikus
SHAP – Mély magyarázó Az SHAP magyarázata alapján a Deep Explainer "egy nagy sebességű közelítő algoritmus az SHAP-értékekhez mélytanulásos modellekben, amely az SHAP NIPStanulmányban leírt Deep ALGORITHM kapcsolatra épül. A TensorFlow-háttért használó TensorFlow-modellek és Keras-modellek támogatottak (a PyTorch előzetes támogatása is elérhető)." Modellspecifikus
SHAP Linear Explainer Az SHAP lineáris magyarázója SHAP-értékeket számít ki egy lineáris modellhez, opcionálisan a funkciók közötti korrelációk tetését is. Modellspecifikus
SHAP kernel magyarázó Az SHAP Kernel magyarázó eszköze egy speciálisan súlyozott helyi lineáris regressziót használ bármely modell SHAP-értékeinek becsléséhez. Modelltől független
Utánozó magyarázó (globális helyettes) Az utánozó magyarázó a globális helyettes modellek a feketedoboz-modellek utánzhoz való betanításán alapul. A globális helyettes modell egy belsőleg értelmezhető modell, amely úgy van betanítva, hogy a lehető legpontosabban megbecsülje a fekete dobozos modellek előrejelzéseit. Az adattudósok értelmezik a helyettes modellt, hogy következtetéseket vonnak le a fekete doboz modellel kapcsolatban. Helyettes modellként a következő értelmezhető modellek egyikét használhatja: LightGBM (LGBMExplainableModel), Lineáris regresszió (LinearExplainableModel), Sztochasztikus gradiens gradiens magyarázható modell (SGDExplainableModel) és Döntési fa (DecisionTreeExplainableModel). Modelltől független
Permutáció funkció fontossága magyarázó (PFI) A permutáció funkció fontossága olyan besorolási és regressziós modellek magyarázatára használható, amelyek a Breiman véletlenszerű erdőkről készült tanulmánya által ihletettek (lásd a 10. szakaszt). Magas szinten úgy működik, hogy az adatokat véletlenszerűen, a teljes adatkészletre külön-külön eltolást ad, és kiszámítja, hogy mennyire változik az érdeklődési mutató teljesítmény mérőszáma. Minél nagyobb a változás, annál fontosabb ez a funkció. A PFI bármilyen mögöttes modell általános viselkedését el tudja magyarázni, az egyes előrejelzéseket azonban nem. Modelltől független

A fent ismertetett értelmezhetőségi technikákon kívül egy másik SHAP-alapú magyarázó is támogatott, a neve TabularExplainer . A modelltől függően a az egyik támogatott TabularExplainer SHAP-magyarázót használja:

  • TreeExplainer az összes faalapú modellhez
  • DeepExplainer DNN-modellekhez
  • LinearExplainer lineáris modellekhez
  • KernelExplainer az összes többi modellhez

TabularExplainer emellett jelentős szolgáltatás- és teljesítménybeli fejlesztéseket is tett a közvetlen SHAP-magyarázókhoz:

  • Az inicializálási adatkészlet összegzése. Olyan esetekben, ahol a magyarázat sebessége a legfontosabb, összefoglaljuk az inicializálási adatkészletet, és reprezentatív mintákból álló kis készletet hozunk létre, amely felgyorsítja az általános és az egyéni funkciók fontos értékeinek előállítását.
  • Mintavételezés a kiértékelési adatkészletből. Ha a felhasználó nagy számú kiértékelési mintát ad át, de ténylegesen nem szükséges mindegyiket kiértékelni, a mintavételezési paraméter true (igaz) értékére is beállítható, hogy felgyorsítsa a modell általános magyarázatának kiszámítását.

Az alábbi ábrán a támogatott magyarázók jelenlegi struktúrája látható.

Machine Learning architektúra értelmezése

Támogatott gépi tanulási modellek

Az SDK csomagja a következő adatkészlet-formátumokkal azureml.interpret betanított modelleket támogatja:

  • numpy.array
  • pandas.DataFrame
  • iml.datatypes.DenseData
  • scipy.sparse.csr_matrix

A magyarázati függvények bemenetként a modelleket és a folyamatokat is elfogadják. Ha meg van téve egy modell, a modellnek implementálja az előrejelzési függvényt, vagy meg kell felelnie a predict predict_proba Scikit-konvenciónak. Ha a modell ezt nem támogatja, becsomagolhatja a modellt egy olyan függvénybe, amely ugyanazt az eredményt hozza létre a Scikitben, és ezt a burkoló függvényt használhatja a kiválasztott predict predict_proba magyarázóval. Ha meg van téve egy folyamat, a magyarázati függvény feltételezi, hogy a futó folyamat szkript előrejelzést ad vissza. Ezzel a burkoló technikával a azureml.interpret a PyTorch, a TensorFlow és a Keras mélytanulási keretrendszeren keresztül betanított modelleket, valamint a klasszikus gépi tanulási modelleket is támogatja.

Helyi és távoli számítási cél

A azureml.interpret csomag úgy lett kialakítva, hogy helyi és távoli számítási célokkal is működjön. Helyi futtatás esetén az SDK-függvények nem fognak kapcsolatba lépni egyik Azure-szolgáltatásokkal sem.

A Compute-on távolról futtathatja a magyarázatokat Azure Machine Learning és naplózhatja a magyarázatadatokat a Azure Machine Learning futtatáselőzmény-szolgáltatásban. Az információk naplózása után a magyarázatból származó jelentések és vizualizációk azonnal elérhetők Azure Machine Learning stúdió felhasználói elemzéshez.

Következő lépések