Qgelm

Künstliche Intelligenz: Microsofts ML.NET 0.9 gibt mehr Einblick in die Modelle

Originalartikel

Backup

<html> <p class=„printversionback-to-article printversion–hide“><a href=„https://www.heise.de/developer/meldung/Kuenstliche-Intelligenz-Microsofts-ML-NET-0-9-gibt-mehr-Einblick-in-die-Modelle-4271377.html“>zur&#252;ck zum Artikel</a></p><figure class=„printversionlogo“><svg preserveaspectratio=„xMinYMin“ xmlns=„http://www.w3.org/2000/svg“ viewbox=„0 0 600 85“ width=„360“ height=„51“><path d=„M230.68,63.64V59.82h6V20.65h-6V16.9h24c8.4,0,14.86,2,19.28,6s6.68,9.75,6.68,17.33S278.4,53.59,274,57.64s-10.88,6-19.28,6Zm18.08-3.75h4.35c4.88,0,8.48-1.58,10.73-4.73s3.38-8.1,3.38-14.93-1.13-11.78-3.38-14.86-5.85-4.65-10.73-4.65h-4.35Zm73.76-11.33H299.63v.23c0,4.28.68,7.43,2,9.3s3.38,2.85,6.3,2.85a8.71,8.71,0,0,0,5.85-1.88,9.2,9.2,0,0,0,2.85-5.55h5.18a13.44,13.44,0,0,1-5.33,8.33c-2.7,1.8-6.38,2.7-11.26,2.7-5.78,0-10.2-1.5-13.28-4.58s-4.65-7.35-4.65-13.06c0-5.55,1.58-9.83,4.73-12.91s7.58-4.65,13.13-4.65,9.75,1.65,12.68,4.88S322.37,42.33,322.52,48.56Zm-12.16-3.68c0-4.35-.38-7.43-1.2-9.23A4.19,4.19,0,0,0,305,33a4.33,4.33,0,0,0-4.13,2.63c-.83,1.73-1.2,4.65-1.2,8.7V45h10.73Zm30.69,18.76L329.27,34.15H325.6V30.33h19.13v3.83h-4.05l8.4,21,8.4-21h-4.35V30.33h12.53v3.83h-3.83L350.06,63.64Zm62.2-15.08H380.37v.23c0,4.28.68,7.43,2,9.3s3.38,2.85,6.3,2.85a8.71,8.71,0,0,0,5.85-1.88,9.2,9.2,0,0,0,2.85-5.55h5.18a13.44,13.44,0,0,1-5.33,8.33c-2.7,1.8-6.38,2.7-11.26,2.7-5.78,0-10.2-1.5-13.28-4.58S368,52.61,368,46.91c0-5.55,1.58-9.83,4.73-12.91s7.58-4.65,13.13-4.65,9.75,1.65,12.68,4.88S403.11,42.33,403.26,48.56ZM391.1,44.88c0-4.35-.38-7.43-1.2-9.23A4.19,4.19,0,0,0,385.7,33a4.33,4.33,0,0,0-4.13,2.63c-.83,1.73-1.2,4.65-1.2,8.7V45H391.1Zm34.37,15h4.73v3.83H409.64V59.89h4.73V18.62h-4.73V14.87h15.83v45Zm29.11,4.65c-5.85,0-10.5-1.58-13.81-4.65s-5-7.43-5-12.91,1.65-9.83,5-12.91,8-4.65,13.81-4.65,10.5,1.58,13.81,4.65,5,7.43,5,12.91-1.65,9.75-5,12.91S460.44,64.54,454.58,64.54Zm0-3.53a5.05,5.05,0,0,0,5-3c1-2,1.43-5.7,1.43-11s-.45-9-1.43-11a5.05,5.05,0,0,0-5-3,5,5,0,0,0-5,3c-1,2-1.43,5.7-1.43,11s.45,9,1.43,11A4.88,4.88,0,0,0,454.58,61Zm28.89-26.86h-4.73V30.33h15.83v4.2a9.59,9.59,0,0,1,3.83-3.9,12.61,12.61,0,0,1,5.93-1.28c4.73,0,8.48,1.58,11.18,4.65s4.13,7.43,4.13,12.83-1.35,9.75-4.13,12.91-6.45,4.73-11.18,4.73a13,13,0,0,1-5.93-1.28,8.76,8.76,0,0,1-3.83-3.9V73.1h5.18v3.83h-21V73.1h4.73Zm11.11,11.18v3.3c0,3.9.53,6.68,1.5,8.4a5.17,5.17,0,0,0,4.8,2.63,4.89,4.89,0,0,0,4.8-2.78c.9-1.8,1.43-5.18,1.43-9.9s-.45-8.1-1.43-9.9a5,5,0,0,0-4.8-2.78,5.09,5.09,0,0,0-4.8,2.63C495,38.66,494.58,41.51,494.58,45.33Zm66.78,3.23H538.47v.23c0,4.28.68,7.43,2,9.3s3.38,2.85,6.3,2.85a8.71,8.71,0,0,0,5.85-1.88,9.2,9.2,0,0,0,2.85-5.55h5.18a13.44,13.44,0,0,1-5.33,8.33c-2.7,1.8-6.38,2.7-11.26,2.7-5.78,0-10.2-1.5-13.28-4.58s-4.65-7.35-4.65-13.06c0-5.55,1.58-9.83,4.73-12.91s7.58-4.65,13.13-4.65,9.75,1.65,12.68,4.88S561.13,42.33,561.36,48.56Zm-12.23-3.68c0-4.35-.38-7.43-1.2-9.23a4.19,4.19,0,0,0-4.2-2.63,4.33,4.33,0,0,0-4.13,2.63c-.83,1.73-1.2,4.65-1.2,8.7V45h10.73ZM600,30v9.9h-3.53a6.44,6.44,0,0,0-1.43-4,4.61,4.61,0,0,0-3.6-1.28,6.39,6.39,0,0,0-5.7,3.23c-1.43,2.1-2.1,5.1-2.1,8.85V59.82h6.08v3.83h-22V59.82h4.73V34.15h-5.1V30.33h16.21v5.93a11.9,11.9,0,0,1,4.28-5.18,12.15,12.15,0,0,1,6.6-1.65c.68,0,1.43.08,2.4.15S598.8,29.8,600,30Z“ transform=„translate(0 0)“ fill=„#661136“/><path d=„M99.72,27.6h4.39V42.76h.07a8.46,8.46,0,0,1,3.15-3.07,9.34,9.34,0,0,1,4.54-1.24c3.22,0,8.49,2,8.49,10.4V63.26H116V49.35c0-3.88-1.46-7.25-5.64-7.25a6.33,6.33,0,0,0-5.93,4.39,5.94,5.94,0,0,0-.29,2.12V63.26H99.72V27.6ZM130,51.91c.07,5.93,3.88,8.42,8.35,8.42a16.93,16.93,0,0,0,6.74-1.24l.73,3.15a18.82,18.82,0,0,1-8.05,1.54c-7.47,0-11.93-5-11.93-12.3s4.32-13.11,11.35-13.11c7.91,0,10,7,10,11.42a13.18,13.18,0,0,1-.15,2H130Zm12.89-3.22c.07-2.78-1.17-7.17-6.15-7.17-4.47,0-6.44,4.1-6.74,7.17Zm14.64-16.55a2.56,2.56,0,0,1-2.78,2.71,2.6,2.6,0,0,1-2.64-2.71,2.74,2.74,0,0,1,2.78-2.78A2.62,2.62,0,0,1,157.55,32.14Zm-4.91,31V38.95H157V63.18Zm11.13-4.47a11.26,11.26,0,0,0,5.78,1.76c3.22,0,4.69-1.61,4.69-3.59s-1.24-3.22-4.54-4.47c-4.39-1.54-6.44-4-6.44-6.88,0-3.88,3.15-7.1,8.35-7.1A11.71,11.71,0,0,1,177.54,40l-1.1,3.22a9.62,9.62,0,0,0-5-1.39c-2.64,0-4,1.54-4,3.29,0,2,1.46,2.93,4.61,4.1,4.17,1.61,6.37,3.73,6.37,7.32,0,4.25-3.29,7.32-9.08,7.32a14.37,14.37,0,0,1-6.81-1.68Zm22.92-6.81c.07,5.93,3.88,8.42,8.35,8.42a16.93,16.93,0,0,0,6.74-1.24l.73,3.15a18.82,18.82,0,0,1-8.05,1.54c-7.47,0-11.93-5-11.93-12.3s4.32-13.11,11.35-13.11c7.91,0,10,7,10,11.42a13.18,13.18,0,0,1-.15,2H186.69Zm12.89-3.22c.07-2.78-1.17-7.17-6.15-7.17-4.47,0-6.44,4.1-6.74,7.17ZM70.58,57,67.5,54.32a28,28,0,0,0,6.15-17.13c0-17.79-13.91-29.36-31.12-29.36-23.06,0-31.12,18.23-31.12,38.58,0,18,13.25,32.87,31.55,32.87A45.36,45.36,0,0,0,69,71a27.71,27.71,0,0,0,4.17-3.59L75,70.06A42.67,42.67,0,0,1,43.42,85C19.62,85.07,0,67.79,0,43.42,0,18.67,18.08,0,43,0c20.57,0,37.7,13,37.7,34.63C80.68,42.61,76.43,51.54,70.58,57ZM48.69,27.38,34.92,58.72c-1.17,2.64-2.93,5.71-6.22,5.71a4.12,4.12,0,0,1-4.32-4.17c0-1.9,1-3.66,1.68-5.34L41,20.87c1.17-2.56,2.56-4.47,5.49-4.47a4,4,0,0,1,4.17,4.17C50.66,23,49.64,25.26,48.69,27.38ZM59.6,46.49,54.1,58.86c-1.24,2.64-3,5.56-6.3,5.56a4,4,0,0,1-4.17-4.17A12.72,12.72,0,0,1,45.32,55L52,40c1.17-2.49,2.56-4.47,5.49-4.47a4,4,0,0,1,4.17,4.17A16,16,0,0,1,59.6,46.49Z“ transform=„translate(0 0)“ fill=„#888“/></svg></figure><figure class=„aufmacherbild“><img src=„https://heise.cloudimg.io/width/700/q75.png-lossy-75.webp-lossy-75.foil1/_www-heise-de_/imgs/18/2/5/7/6/4/3/4/ml__bewerten__glasschach__canstock-c321e5a54add60ce.jpeg“ srcset=„https://heise.cloudimg.io/width/700/q75.png-lossy-75.webp-lossy-75.foil1/_www-heise-de_/imgs/18/2/5/7/6/4/3/4/ml__bewerten__glasschach__canstock-c321e5a54add60ce.jpeg 700w, https://heise.cloudimg.io/width/1050/q75.png-lossy-75.webp-lossy-75.foil1/_www-heise-de_/imgs/18/2/5/7/6/4/3/4/ml__bewerten__glasschach__canstock-c321e5a54add60ce.jpeg 1050w, https://heise.cloudimg.io/width/1200/q75.png-lossy-75.webp-lossy-75.foil1/_www-heise-de_/imgs/18/2/5/7/6/4/3/4/ml__bewerten__glasschach__canstock-c321e5a54add60ce.jpeg 1200w“ sizes=„(min-width: 80em) 43.75em, (min-width: 64em) 66.66vw, 100vw“ alt=„K&#252;nstliche Intelligenz: ML.NET 0.9 gibt mehr Einblick in die Modelle“ class=„img-responsive“/><figcaption class=„akwa-caption“><p class=„source akwa-captionsource“>(Bild:&#160;Can Stock Photo)</p> </figcaption></figure><p><strong>Das auf .NET-Entwickler ausgerichtete Machine-Learning-Framework hat au&#223;erdem Vorlagen f&#252;r Visual Studio an Bord.</strong></p> <p>Microsoft hat Version 0.9 von ML.NET herausgegeben. Das Open-Source-Framework, richtet sich an Entwickler, die Machine-Learning-Anwendungen (ML) mit .NET erstellen. Microsoft hatte es erstmals im <a href=„https://www.heise.de/meldung/ML-NET-Machine-Learning-Framework-fuer-NET-Entwickler-4047132.html“><strong>Rahmen der Build 2018 [1]</strong></a> vorgestellt. Das j&#252;ngste Release bringt vor allem Funktionen, die bei der Erkl&#228;rbarkeit von ML-Modellen helfen. Au&#223;erdem gibt es nun Vorlagen f&#252;r Visual Studio und eine Anbindung an CUDA 10 f&#252;r die Transformation von ONNX-Modellen (Open Neural Network Exchange).</p> <div class=„inread“/> <h3 class=„subheading“>Besseres Verst&#228;ndnis f&#252;r die Modelle</h3> <p>Das aktuelle Release bietet mit Feature Contribution Calculation (FCC) eine Methode zum Bewerten, welche Features, also messbare Eigenschaften beziehungsweise Charakteristika, den gr&#246;&#223;ten Einfluss auf die Vorhersagen mit einem ML-Modell haben. Entwickler und Data Scientists k&#246;nnen die Information verwenden, um anhand historischer Daten die wichtigsten Features auszuw&#228;hlen und so die Performance und Genauigkeit f&#252;r k&#252;nftige Berechnungen verbessern.</p> <p>Ein Beispiel f&#252;r den <a href=„https://github.com/dotnet/machinelearning/blob/master/docs/samples/Microsoft.ML.Samples/Dynamic/FeatureContributionCalculationTransform.cs“ rel=„external noopener“ target=„_blank“><strong>Einsatz von FCC findet sich auf GitHub [2]</strong></a>. Dar&#252;ber hinaus hat Microsoft die bereits im vorherigen Release eingef&#252;hrten Methoden zur Erkl&#228;rbarkeit durch Permutation Feature Importance (PFI) und Generalized Additive Models (GAM) erweitert. Zu <a href=„https://github.com/dotnet/machinelearning/blob/master/docs/samples/Microsoft.ML.Samples/Dynamic/PermutationFeatureImportance/PfiBinaryClassificationExample.cs“ rel=„external noopener“ target=„_blank“><strong>PFI haben die Macher ebenfalls ein Beispiel auf GitHub [3]</strong></a> ver&#246;ffentlicht.</p> <h3 class=„subheading“>Anbindung an CUDA und Visual Studio</h3> <p>Transformationen von Modellen im <a href=„https://onnx.ai/“ rel=„external noopener“ target=„_blank“><strong>ONNX-Format [4]</strong></a> lassen sich nun &#252;ber die <a href=„https://github.com/Microsoft/onnxruntime“ rel=„external noopener“ target=„_blank“><strong>ONNX-Runtime-Bibliothek [5]</strong></a> mit CUDA 10 durchf&#252;hren. Derzeit funktioniert die Anbindung nur f&#252;r Windows 64-bit, f&#252;r Linux und Mac soll sie in K&#252;rze folgen.</p> <p>Au&#223;erdem existieren neuerdings zwei Visual-Studio-Vorlagen f&#252;r ML.NET: Mit ML.NET Console Application l&#228;sst sich eine Beispielanwendung erstellen, und die ML.NET Model Library ist die Basis f&#252;r eine Modellbibliothek, die Entwickler in ihre Anwendung einbinden k&#246;nnen. Beide Vorlagen sind derzeit als Preview gekennzeichnet.</p> <figure class=„a-inline-image a-u-inline“ is=„a-grossbild“><img alt=„Die Visual-Studio-Vorlagen haben noch Preview-Status.“ src=„https://heise.cloudimg.io/width/1431/q50.png-lossy-50.webp-lossy-50.foil1/_www-heise-de_/imgs/18/2/5/7/6/4/3/4/mlnet-vstudio-6aa38891579342b5.png“ srcset=„https://heise.cloudimg.io/width/2862/q30.png-lossy-30.webp-lossy-30.foil1/_www-heise-de_/imgs/18/2/5/7/6/4/3/4/mlnet-vstudio-6aa38891579342b5.png 2x“ class=„c1“/><figcaption class=„a-caption“><p class=„a-captiontext“>Die Visual-Studio-Vorlagen haben noch Preview-Status.</p> <p class=„a-captionsource“>(Bild:&#160;Microsoft)</p> </figcaption></figure><p>Dar&#252;ber hinaus gibt es einige Erweiterungen der API. So lassen sich nun f&#252;r die <em>TextLoader</em>-Klasse die Attribute und Spalten optional &#252;ber eine separate Klasse definieren, die das Datenmodell beschreibt, wie folgendes Codebeispiel aus dem MSDN-Blog zeigt:</p> <pre class=„rtetx–listing“>… Your code in your class…<br/>var mlContext = new MLContext();<br/> Read the data into a data view.<br/>var dataView =<br/> mlContext.Data.ReadFromTextFile&lt;InspectedRow&gt;(dataPath, <br/> hasHeader: true);<br/> The data model. This type will be used from multiple code. <br/>private class InspectedRow<br/>{<br/> [LoadColumn(0)]<br/> public bool IsOver50K { get; set; }<br/> [LoadColumn(1)]<br/> public string Workclass { get; set; }<br/>}</pre> <p>Weitere Neuerungen wie der Einsatz von ML.NET in Windows-Nano-Containern <a href=„https://blogs.msdn.microsoft.com/dotnet/2019/01/10/announcing-ml-net-0-9-machine-learning-for-net/“ rel=„external noopener“ target=„_blank“><strong>lassen sich dem MSDN-Blog entnehmen [6]</strong></a>. Der <a href=„https://github.com/dotnet/machinelearning“ rel=„external noopener“ target=„_blank“><strong>Sourcecode zu ML.NET ist auf GitHub zu finden [7]</strong></a>. Ein <a href=„https://dotnet.microsoft.com/learn/machinelearning-ai/ml-dotnet-get-started-tutorial“ rel=„external noopener“ target=„_blank“><strong>Tutorial hilft beim Einstieg [8]</strong></a> in das Framework. ()<br class=„clear“/></p> <hr/><p><strong>URL dieses Artikels:</strong><br/><small><code>http://www.heise.de/-4271377</code></small></p> <p><strong>Links in diesem Artikel:</strong><br/><small><code><strong>[1]</strong>&#160;https://www.heise.de/meldung/ML-NET-Machine-Learning-Framework-fuer-NET-Entwickler-4047132.html</code></small><br/><small><code><strong>[2]</strong>&#160;https://github.com/dotnet/machinelearning/blob/master/docs/samples/Microsoft.ML.Samples/Dynamic/FeatureContributionCalculationTransform.cs</code></small><br/><small><code><strong>[3]</strong>&#160;https://github.com/dotnet/machinelearning/blob/master/docs/samples/Microsoft.ML.Samples/Dynamic/PermutationFeatureImportance/PfiBinaryClassificationExample.cs</code></small><br/><small><code><strong>[4]</strong>&#160;https://onnx.ai/</code></small><br/><small><code><strong>[5]</strong>&#160;https://github.com/Microsoft/onnxruntime</code></small><br/><small><code><strong>[6]</strong>&#160;https://blogs.msdn.microsoft.com/dotnet/2019/01/10/announcing-ml-net-0-9-machine-learning-for-net/</code></small><br/><small><code><strong>[7]</strong>&#160;https://github.com/dotnet/machinelearning</code></small><br/><small><code><strong>[8]</strong>&#160;https://dotnet.microsoft.com/learn/machinelearning-ai/ml-dotnet-get-started-tutorial</code></small><br/><small><code><strong>[9]</strong>&#160;mailto:rme@ct.de</code></small><br/></p> <p class=„printversion__copyright“><em>Copyright &#169; 2019 Heise Medien</em></p> </html>

Cookies helfen bei der Bereitstellung von Inhalten. Diese Website verwendet Cookies. Mit der Nutzung der Website erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Computer gespeichert werden. Außerdem bestätigen Sie, dass Sie unsere Datenschutzerklärung gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information