ML.NET - ML.NET

ML.NET
Mldotnet.svg
Orijinal yazar (lar)Microsoft
Geliştirici (ler).NET Vakfı
İlk sürüm7 Mayıs 2018; 2 yıl önce (2018-05-07)[1]
Kararlı sürüm
1.5.2 / 11 Eylül 2020; 2 ay önce (2020-09-11)
Depogithub.com/ dotnet/makine öğrenme/
YazılmışC # ve C ++
İşletim sistemiLinux, Mac os işletim sistemi, pencereler[2]
Platform.NET Çekirdeği,
.NET Framework
TürMakine öğrenme kütüphane
LisansMIT Lisansı[3]
İnternet sitesinokta.ağ/ ml

ML.NET bir ücretsiz yazılım makine öğrenme kütüphane için C # ve F # Programlama dilleri.[4][5][6] Ayrıca destekler Python NimbusML ile birlikte kullanıldığında modeller. ML.NET'in önizleme sürümü, özellik mühendisliği sevmek n-gram oluşturma ve öğrenenlerin ikili sınıflandırma, çok sınıflı sınıflandırma ve regresyon görevlerini yerine getirmesi.[7] Anormallik algılama ve öneri sistemleri gibi ek ML görevleri eklendi ve derin öğrenme gibi diğer yaklaşımlar gelecekteki sürümlere dahil edilecek.[8][9]

Makine öğrenme

ML.NET, model tabanlı Makine Öğrenimi analitiği ve tahmin yeteneklerini mevcut .NET geliştiricilerine getirir. Çerçeve, platformlar arası çalıştırma becerisini devralan .NET Core ve .NET Standard üzerine inşa edilmiştir. Linux, pencereler ve Mac os işletim sistemi. ML.NET çerçevesi yeni olmasına rağmen, kökenleri 2002 yılında Microsoft ürünlerinde dahili olarak kullanılmak üzere TMSN (metin madenciliği arama ve gezinme) adlı bir Microsoft Araştırma projesi olarak başladı. Daha sonra 2011 civarında TLC (öğrenme kodu) olarak yeniden adlandırıldı. ML.NET, TLC kitaplığından türetildi ve Microsoft Research'ten Dr. James McCaffrey, ana babasını büyük ölçüde aştığını söylüyor.[10]

Geliştiriciler, bir Makine Öğrenimi Modelini eğitebilir veya mevcut bir Modeli bir 3. taraf tarafından yeniden kullanabilir ve herhangi bir ortamda çevrimdışı olarak çalıştırabilir. Bu, geliştiricilerin çerçeveyi kullanmak için Veri Bilimi konusunda bir geçmişe sahip olmaları gerekmediği anlamına gelir. İçin destek açık kaynak Açık Sinir Ağı Değişimi (ONNX ) Derin Öğrenme model biçimi, ML.NET'te derleme 0.3'ten tanıtıldı. Sürüm, Faktorizasyon Makineleri gibi diğer önemli geliştirmeleri de içeriyordu. LightGBM, Topluluklar, LightLDA dönüşümü ve OVA.[11] ML.NET entegrasyonu TensorFlow 0.5 sürümünden etkinleştirilmiştir. Matrix Factorization ile gelişmiş öneri özellikleri dahil olmak üzere 0.7'yi oluşturmak için x86 ve x64 uygulamaları desteği eklendi.[12] Resmi GitHub deposunda planlanan özelliklerin tam bir yol haritası sunulmuştur.[13]

Framework'ün ilk kararlı 1.0 sürümü şu tarihte duyuruldu: Derleme (geliştirici konferansı) 2019. Bir Model Oluşturucu aracı ve AutoML (Otomatik Makine Öğrenimi) yeteneklerinin eklenmesini içeriyordu.[14] Derleme 1.3.1, C # bağlamaları kullanan Derin Sinir Ağı eğitiminin bir önizlemesini tanıttı[15] Tensorflow ve veritabanları üzerinde model eğitimi sağlayan bir Veritabanı yükleyici için. 1.4.0 önizlemesi, ARM işlemcilerde ML.NET puanlaması ve Windows ve Linux için GPU'larla Derin Sinir Ağı eğitimi ekledi.[16]

Verim

Microsoft'un ML.NET ile makine öğrenimi hakkındaki makalesi, yüksek doğruluk elde ederken büyük veri kümeleri kullanarak duyarlılık analizi modellerini eğitebildiğini gösterdi. Sonuçları, Amazon'un 9GB inceleme veri setinde% 95 doğruluk gösterdi.[17]

Model oluşturucu

ML.NET CLI bir Komut satırı arayüzü model eğitimi gerçekleştirmek ve veriler için en iyi algoritmayı seçmek için ML.NET AutoML kullanır. ML.NET Model Builder önizlemesi[18] için bir uzantısıdır Görsel stüdyo en iyi ML.NET Modelinin çıktısını almak için ML.NET CLI ve ML.NET AutoML kullanan GUI.[14]

Model açıklanabilirliği

AI adaleti ve açıklanabilirliği, son yıllarda AI Etikçiler için bir tartışma alanı olmuştur.[19] Makine Öğrenimi uygulamaları için önemli bir sorun, son kullanıcıların ve bir uygulamanın geliştiricilerinin bir algoritmanın bir karara nasıl geldiğinden veya veri kümesinin önyargı içerip içermediğinden emin olmadıkları kara kutu efektidir.[20] Derleme 0.8, Microsoft'ta dahili olarak kullanılan model açıklanabilirlik API'leri içerir. 'Genel Özellik Önemi' ve 'Genelleştirilmiş Katkı Modelleri' eklenerek modellerin özellik önemini anlama yeteneği ekledi.[21]

Genel puana katkıda bulunan birkaç değişken olduğunda, her bir değişkenin bir dökümünü ve hangi özelliklerin nihai puan üzerinde en fazla etkiye sahip olduğunu görmek mümkündür. Resmi belgeler, puanlama ölçütlerinin hata ayıklama amacıyla çıkarılabileceğini gösterir. Bir modelin eğitimi ve hata ayıklaması sırasında, geliştiriciler canlı filtrelenmiş verileri önizleyebilir ve inceleyebilir. Bu, Görsel stüdyo DataView araçları.[22]

Infer.NET

Microsoft Research, 2008'den beri akademik kurumlarda araştırma yapmak için kullanılan popüler Infer.NET model tabanlı makine öğrenimi çerçevesinin açık kaynak olarak yayınlandığını ve artık ML.NET çerçevesinin bir parçası olduğunu duyurdu.[23] Infer.NET çerçevesi kullanır olasılıklı programlama tarif etmek olasılık modelleri yorumlanabilirlik avantajına sahiptir. Infer.NET ad alanı o zamandan beri ML.NET ad alanlarıyla tutarlı Microsoft.ML.Probabilistic olarak değiştirildi.[24]

NimbusML Python desteği

Microsoft, Python programlama dili Veri Bilimciler arasında popülerdir, bu nedenle ML.NET için deneysel Python bağlamaları olan NimbusML'yi tanıtmıştır. Bu, kullanıcıların Python'da makine öğrenimi modellerini eğitmesini ve kullanmasını sağlar. Infer.NET'e benzer şekilde açık kaynak olarak yapılmıştır.[12]

Tarayıcıda makine öğrenimi

ML.NET, kullanıcıların eğitimli modelleri Açık Sinir Ağı Değişimi (ONNX) biçimi.[25] Bu, ML.NET kullanmayan farklı ortamlarda modelleri kullanma fırsatı oluşturur. Bu modelleri tarayıcının istemci tarafında, Onnx formatında oluşturulan derin öğrenme modelleri için bir javascript istemci tarafı çerçevesi olan ONNX.js kullanarak çalıştırmak mümkün olacaktır.[26]

AI Okulu Makine Öğrenimi Kursu

ML.NET önizlemesinin kullanıma sunulmasıyla birlikte Microsoft, geliştiricilerin çerçeve ile çalışmak için gereken teknikleri anlamalarına yardımcı olmak için ücretsiz yapay zeka eğitimleri ve kursları da sundu.[27][28][29]

Ayrıca bakınız

Referanslar

  1. ^ Ankit Asthana (2017-05-07). "ML.NET'e Giriş: Çapraz platform, Kanıtlanmış ve Açık Kaynak Makine Öğrenimi Çerçevesi". blogs.msdn.microsoft.com. Alındı 2018-05-10.
  2. ^ "ML.NET: .NET için Makine Öğrenimi". Microsoft. Alındı 11 Mayıs 2018.
  3. ^ usta · DotNet / MachineLearning
  4. ^ David Ramel (2018-05-08). "Açık Kaynak, Çapraz Platform ML.NET Makine Öğrenimini Basitleştirir - Visual Studio Magazine". Visual Studio Dergisi. Alındı 2018-05-10.
  5. ^ Kareem Anderson (2017-05-09). "Microsoft, ML.NET çapraz platform makine öğrenimi çerçevesini başlattı". MSFT'de. Alındı 2018-05-10.
  6. ^ Ankit Asthana (2018-08-07). "ML.NET 0.4 duyurusu". blogs.msdn.microsoft.com. Alındı 2018-08-08.
  7. ^ Gal Oshri (2018-05-06). "ML.NET 0.1 Sürüm Notları". GitHub. Alındı 2018-05-10.
  8. ^ Tiwari Aditya (2018/05/08). "Microsoft, ML.NET Açık Kaynak Makine Öğrenimi Çerçevesini Başlattı". Fossbytes. Alındı 2018-05-10. Zamanla, anormallik algılama, öneri sistemi gibi diğer ML görevlerini ve eklenen kitaplıkların faydalarını kullanarak derin öğrenme gibi diğer yaklaşımları etkinleştirecektir.
  9. ^ "ML.NET'te makine öğrenimi görevleri". Microsoft. Alındı 26 Aralık 2018.
  10. ^ James McCaffrey (2018-12-19). "ML.NET: .NET Geliştiricileri için Makine Öğrenimi Çerçevesi". MSDN Magazine Connect () Özel Sayısı 2018. Alındı 2019-01-09. ML.NET kitaplığı yeni olmasına rağmen, kökenleri yıllar öncesine dayanmaktadır. 2002'de Microsoft .NET Framework'ün piyasaya sürülmesinden kısa bir süre sonra, Microsoft Research, yazılım geliştiricilerin Microsoft ürün ve teknolojilerine ML kodunu dahil etmelerini sağlamak için TMSN ("metin madenciliği arama ve gezinme") adlı bir proje başlattı. Proje çok başarılı oldu ve yıllar geçtikçe Microsoft bünyesinde boyut ve kullanım açısından büyüdü. 2011 civarında bir yerde kütüphane, TLC ("öğrenme kodu") olarak yeniden adlandırıldı. TLC, Microsoft içinde yaygın olarak kullanılmaktadır ve şu anda 3.10 sürümündedir. ML.NET kitaplığı, Microsoft'a özgü özelliklerin kaldırıldığı TLC'nin soyundan gelir. Her iki kitaplığı da kullandım ve birçok yönden ML.NET alt öğesi üstünü aştı.
  11. ^ "Microsoft ML.NET v0.3'ü yayınlayın". GitHub. 2018-07-03. Alındı 2018-07-03.
  12. ^ a b "ML.NET 0.7 (Machine Learning .NET) Duyurusu". Microsoft. 2018-11-08. Alındı 2018-11-14.
  13. ^ "ML.NET Yol Haritası". GitHub. 2018-05-09. Alındı 2018-06-30.
  14. ^ a b "ML.NET 1.0 Duyurusu". Microsoft. 2019-05-06. Alındı 2019-05-07.
  15. ^ "SciSharp / TensorFlow.NET". SciSharp STACK. 21 Şubat 2020.
  16. ^ "ML.NET 1.4.0-preview2". GitHub. 2019-10-09. Alındı 2019-10-09.
  17. ^ Ahmed, Zeeshan; Amizadeh, Saeed; Bilenko, Mikhail; Carr, Rogan; Chin, Wei-Sheng; Dekel, Yael; Dupre, Xavier; Eksarevskiy, Vadim; Erhardt, Eric; Eseanu, Costin; Filipi, Senja; Finley, Tom; Goswami, Abhishek; Hoover, Monte; Inglis, Scott; Interlandi, Matteo; Katzenberger, Shon; Kazmi, Najeeb; Krivosheev, Gleb; Luferenko, Pete; Matantsev, Ivan; Matusevych, Sergiy; Moradi, Shahab; Nazirov, Gani; Ormont, Justin; Oshri, Gal; Pagnoni, Artidoro; Parmar, Jignesh; Roy, Prabhat; et al. (2019-05-15). "arXiv 1905.05715: ML .NET ile Microsoft'ta Makine Öğrenimi". Microsoft ve Yandex. arXiv:1905.05715. doi:10.1145/3292500.3330667.
  18. ^ "dotnet / machinelearning-modelbuilder". .NET Platformu. 17 Şubat 2020.
  19. ^ "Yapay Zeka Önyargıları Güçlendirebilir, Bulut Devleri AI Adaletine Yönelik Araçları Duyurdu". Forbes. 2018-09-24. Alındı 2018-12-05.
  20. ^ "Yapay zekanın kara kutusunu açmak ne anlama geliyor?". PwC. 2018-05-15. Alındı 2018-12-05.
  21. ^ Hastie, Trevor J. (1 Kasım 2017). "Genelleştirilmiş Katkı Modelleri". S'de İstatistiksel Modeller. sayfa 249–307. doi:10.1201/9780203738535-7. ISBN  9780203738535.
  22. ^ "ML.NET 0.8 - .NET için Makine Öğrenimi Duyurusu". Microsoft. 2018-12-04. Alındı 2018-12-05.
  23. ^ "Microsoft açık kaynak Infer.NET AI kodu, hafta sonu için tam zamanında". Kayıt. 2018-10-05. Alındı 2018-10-31.
  24. ^ "Microsoft açık kaynakları Infer.NET, popüler model tabanlı makine öğrenimi çerçevesi". Packt. 2018-10-08. Alındı 2018-10-31.
  25. ^ "ML.NET - Machine Learning.Net modellerini ONNX formatına aktarın". El Bruno. 2018-07-11. Alındı 2019-01-09.
  26. ^ "ONNX.js: Tarayıcıdaki Evrensel Derin Öğrenme Modelleri". Will Bedir. 2019-01-08. Alındı 2019-01-09.
  27. ^ "AI Okulu". Microsoft AI. 2018-05-07. Alındı 2018-06-29.
  28. ^ "ML.NET Kılavuzu". Microsoft. 2018-05-07. Alındı 2018-06-29.
  29. ^ "Infer.NET Kullanım Kılavuzu". Infer.NET. 2018-10-05. Alındı 2018-10-31.

Dış bağlantılar