Aracılığıyla paylaş


Otomatik makine öğrenmesi (AutoML) nedir?

ŞUNLAR IÇIN GEÇERLIDIR: Python SDK'sı azure-ai-ml v2 (geçerli)

Otomatik ml veya AutoML olarak da bilinen otomatik makine öğrenmesi, makine öğrenmesi modeli geliştirmenin zaman alan, yinelemeli görevlerini otomatikleştirir. Otomatik ML sayesinde veri bilimcileri, analistler ve geliştiriciler, model kalitesini korurken verimlilik ve üretkenlikle uygun ölçekte makine öğrenmesi modelleri oluşturabilir. Azure Machine Learning'de otomatik ML, Microsoft Research bölümünden gelen bir ilerlemeyi temel alır.

  • Kod deneyimli müşteriler için Azure Machine Learning Python SDK'sını yükleyin. AutoML ve Python ile (önizleme) nesne algılama modelini eğitme eğitiminize başlayın.

AutoML nasıl çalışır?

Eğitim sırasında Azure Machine Learning, sizin için farklı algoritmaları ve parametreleri deneyen birçok işlem hattını paralel olarak oluşturur. Hizmet, özellik seçimleri ile eşleştirilmiş ML algoritmaları aracılığıyla yinelenir. Her yineleme, eğitim puanına sahip bir model oluşturur. İyileştirmek istediğiniz ölçüm puanı ne kadar iyi olursa, model verilerinize o kadar iyi uyar. Denemede tanımlanan çıkış ölçütlerini karşıladıktan sonra işlem durdurulur.

Azure Machine Learning'i kullanarak aşağıdaki adımlarla otomatik ML eğitim denemelerinizi tasarlayabilir ve çalıştırabilirsiniz:

  1. Çözülecek ML sorununu belirleyin : sınıflandırma, tahmin, regresyon, görüntü işleme veya NLP.

  2. Kod öncelikli bir deneyim veya kod içermeyen bir studio web deneyimi seçin: Kod öncelikli deneyimi tercih eden kullanıcılar Azure Machine Learning SDKv2 veya Azure Machine Learning CLIv2'yi kullanabilir. AutoML ve Python ile Nesne Algılama Modeli Eğitimi Kılavuzu'na Başlayın. Sınırlı veya kod içermeyen bir deneyimi tercih eden kullanıcılar adresinden kullanabilir. Öğreticiyi kullanmaya başlama: Azure Machine Learning'de otomatik ML ile sınıflandırma modeli oluşturma.

  3. Etiketlenen eğitim verilerinin kaynağını belirtin: Verilerinizi birçok farklı yolla Azure Machine Learning'e getirin.

  4. Otomatik makine öğrenmesi parametrelerini yapılandırma: Farklı modellere göre yineleme sayısını, hiper parametre ayarlarını, gelişmiş ön işleme ve özellik belirleme seçeneklerini ve en iyi modeli belirlerken değerlendirilecek ölçümleri ayarlayın.

  5. Eğitim işini gönderin.

  6. Sonuçları gözden geçirin.

Aşağıdaki diyagramda bu işlem gösterilmektedir. Otomatik Makine öğrenmesi

Ayrıca, iş sırasında toplanan ölçümleri içeren günlüğe kaydedilen iş bilgilerini de inceleyebilirsiniz. Eğitim işi, modeli ve veri ön işlemesini içeren bir Python serileştirilmiş nesnesi (.pkl dosyası) oluşturur.

Model oluşturma otomatikleştirilmiş olsa da, oluşturulan modeller için önemli veya ilgili özelliklerin ne kadar önemli olduğunu da öğrenebilirsiniz.

AutoML ne zaman kullanılır: sınıflandırma, regresyon, tahmin, görüntü işleme ve NLP

Azure Machine Learning'in belirttiğiniz hedef ölçümü kullanarak modeli sizin için eğitmesini ve ayarlamasını istediğinizde otomatik ML kullanın. Otomatik ML, makine öğrenmesi modeli geliştirme sürecini demokratikleştirir ve veri bilimi uzmanlığından bağımsız olarak kullanıcılarına herhangi bir sorun için uçtan uca bir makine öğrenmesi işlem hattı belirleme gücü sağlar.

Farklı sektörlerdeki ML uzmanları ve geliştiriciler aşağıdaki işlemleri yapmak için otomatik ML kullanabilir:

  • Kapsamlı programlama bilgisi olmadan ML çözümleri uygulama
  • Zaman ve kaynak tasarrufu
  • Veri bilimi en iyi uygulamalarını uygulama
  • Çevik sorun çözme sağlama

Sınıflandırma

Sınıflandırma, modellerin eğitim verilerini kullanmayı ve bu öğrenmeleri yeni verilere uygulamayı öğrendiği bir denetimli öğrenme türüdür. Azure Machine Learning özellikle bu görevler için özellik geliştirmeleri, örneğin sınıflandırma için derin sinir ağı metin özellik geliştiricileri sunar. Özellik geliştirme seçenekleri hakkında daha fazla bilgi için bkz . Veri özellik kazandırma. AutoML tarafından desteklenen algoritmaların listesini Desteklenen algoritmalar bölümünde de bulabilirsiniz.

Sınıflandırma modellerinin temel amacı, eğitim verilerinden elde edilen öğrenmelere göre yeni verilerin hangi kategorilere gireceğini tahmin etmektir. Yaygın sınıflandırma örnekleri sahtekarlık algılama, el yazısı tanıma ve nesne algılamadır.

Bu Python not defterinde sınıflandırma ve otomatik makine öğrenmesi örneğine bakın: Banka Pazarlaması.

Regresyon

Sınıflandırmaya benzer şekilde regresyon görevleri de yaygın bir denetimli öğrenme görevidir. Azure Machine Learning, regresyon sorunlarına özgü özellik özellikleri sunar. Özellik geliştirme seçenekleri hakkında daha fazla bilgi edinin. AutoML tarafından desteklenen algoritmaların listesini Desteklenen algoritmalar bölümünde de bulabilirsiniz.

Tahmin edilen çıkış değerlerinin kategorik olduğu sınıflandırmadan farklı olarak, regresyon modelleri bağımsız tahmincilere göre sayısal çıkış değerlerini tahmin eder. Regresyonda amaç bir değişkenin diğerlerini nasıl etkilediğini tahmin ederek söz konusu bağımsız gösterge değişkenleri arasındaki ilişkiyi oluşturmaya yardımcı olmaktır. Örneğin model, gaz kilometresi ve güvenlik derecelendirmesi gibi özelliklere göre otomobil fiyatını tahmin edebilir.

Şu Python not defterlerindeki tahminler için regresyon ve otomatik makine öğrenmesi örneğine bakın: Donanım Performansı.

Zaman serisi tahmin etme

Gelir, envanter, satış veya müşteri talebi gibi daha birçok alanda tahminler oluşturmak her işletmenin ayrılmaz bir parçasıdır. Teknikleri ve yaklaşımları birleştirmek ve önerilen, yüksek kaliteli bir zaman serisi tahmini almak için otomatik ML'yi kullanın. AutoML tarafından desteklenen algoritmaların listesi için bkz. Desteklenen algoritmalar.

Otomatik zaman serisi denemesi, sorunu çok değişkenli bir regresyon sorunu olarak ele alır. Geçmiş zaman serisi değerleri, diğer tahmincilerle birlikte regresör için daha fazla boyut oluşturmak üzere "düzenlenir". Bu yaklaşım, klasik zaman serisi yöntemlerinden farklı olarak, eğitim sırasında birden çok bağlamsal değişkeni ve bunların birbiriyle ilişkilerini doğal olarak birleştirme avantajına sahiptir. Otomatik ML, veri kümesindeki tüm öğeler ve tahmin ufukları için tek ama genellikle dahili olarak dallandırılmış bir model öğrenir. Bu nedenle model parametrelerini tahmin etmek için daha fazla veri kullanılabilir ve görünmeyen serilere genelleştirmek mümkün hale gelir.

Gelişmiş tahmin yapılandırması şunları içerir:

  • Tatil algılama ve özellik geliştirme
  • Zaman serisi ve DNN öğrenenler (Auto-ARIMA, Prophet, ForecastTCN)
  • Gruplandırma aracılığıyla birçok model için destek
  • Sıralı çıkış noktası çapraz doğrulaması
  • Yapılandırılabilir gecikmeler
  • Hareketli pencere kümülasyon özellikleri

Tahmin ve otomatik makine öğrenmesi örneği için şu Python not defterine bakın: Enerji Talebi.

Görüntü işleme

Görüntü işleme görevleri desteği, görüntü sınıflandırması ve nesne algılama gibi senaryolar için görüntü verileri üzerinde eğitilmiş modelleri kolayca oluşturmanızı sağlar.

Bu özellik ile şunları yapabilirsiniz:

  • Azure Machine Learning veri etiketleme özelliğiyle sorunsuz bir şekilde tümleştirin .
  • Görüntü modelleri oluşturmak için etiketlenmiş verileri kullanın.
  • Model algoritmasını belirterek ve hiper parametreleri ayarlayarak model performansını iyileştirin.
  • Elde edilen modeli Azure Machine Learning'de web hizmeti olarak indirin veya dağıtın.
  • Azure Machine Learning MLOps ve ML Pipelines özelliklerinden yararlanarak uygun ölçekte kullanıma hazır hale getirme.

Azure Machine Learning Python SDK'sını kullanarak görüntü işleme görevleri için AutoML modelleri yazabilirsiniz. Elde edilen deneme işlerine, modellerine ve çıkışlarına Azure Machine Learning studio kullanıcı arabiriminden erişebilirsiniz.

Görüntü işleme modelleri için AutoML eğitimini ayarlamayı öğrenin.

Bilgisayarlı görü görevleri örnekleri. Görüntü: http://cs231n.stanford.edu/slides/2021/lecture_15.pdf Görüntü: http://cs231n.stanford.edu/slides/2021/lecture_15.pdf

Görüntüler için otomatikleştirilmiş ML, aşağıdaki görüntü işleme görevlerini destekler:

Görev Açıklama
Çok sınıflı görüntü sınıflandırması Bir görüntünün bir sınıf kümesinden yalnızca tek bir etiketle sınıflandırıldığı görevler; örneğin, her görüntü bir 'kedi' veya 'köpek' ya da 'ördek' görüntüsü olarak sınıflandırılır.
Çok etiketli görüntü sınıflandırması Bir resmin bir etiket kümesinden bir veya daha fazla etikete sahip olabileceği görevler ; örneğin, bir görüntü hem 'kedi' hem de 'köpek' ile etiketlenebilir.
Nesne algılama Bir görüntüdeki nesneleri tanımlama ve her nesneyi sınırlayıcı kutuyla bulma görevleri; örneğin, bir görüntüdeki tüm köpek ve kedileri bulun ve her birinin çevresine bir sınırlayıcı kutu çizin.
Örneği segmentlere ayırma Bir görüntüdeki nesneleri piksel düzeyinde tanımlama, görüntüdeki her nesnenin etrafına bir çokgen çizme görevleri.

Doğal dil işleme: NLP

Otomatik ML'de doğal dil işleme (NLP) görevleri desteği, metin sınıflandırması ve adlandırılmış varlık tanıma senaryoları için metin verileri üzerinde eğitilmiş modelleri kolayca oluşturmanıza olanak tanır. Azure Machine Learning Python SDK'sı aracılığıyla ml tarafından eğitilen otomatik NLP modelleri yazabilirsiniz. Elde edilen deneme işlerine, modellerine ve çıkışlarına Azure Machine Learning studio kullanıcı arabiriminden erişebilirsiniz.

NLP özelliği aşağıdakileri destekler:

  • En son önceden eğitilmiş BERT modelleri ile uçtan uca derin sinir ağı NLP eğitimi
  • Azure Machine Learning veri etiketlemesi ile sorunsuz tümleştirme
  • NLP modelleri oluşturmak için etiketlenmiş verileri kullanma
  • 104 dilde çok dilli destek
  • Horovod ile dağıtılmış eğitim

NLP modelleri için AutoML eğitimini ayarlamayı öğrenin.

Eğitim, doğrulama ve test verileri

Otomatik ML ile ML modellerini eğitmek için eğitim verileri sağlarsınız ve gerçekleştirilecek model doğrulama türünü belirtebilirsiniz. Otomatik ML, eğitimin bir parçası olarak model doğrulama gerçekleştirir. Yani otomatik ML, eğitim verilerine en uygun bileşimi bulmak için uygulanan algoritmaya göre model hiper parametreleri ayarlamak için doğrulama verilerini kullanır. Ancak, her ayarlama yinelemesinde aynı doğrulama verilerinin kullanılması, modelin doğrulama verilerine daha fazla uyum sağlaması ve gelişmeye devam etmesi nedeniyle model değerlendirme yanlılığına yol açar.

Bu tür bir sapmanın önerilen son modele uygulanmadığını doğrulamaya yardımcı olmak için otomatik ML, denemenizin sonunda otomatik ML'nin önerdiği son modeli değerlendirmek için test verilerinin kullanılmasını destekler. AutoML deneme yapılandırmanızın bir parçası olarak test verileri sağladığınızda, bu önerilen model denemenizin (önizleme) sonunda varsayılan olarak test edilir.

Önemli

Oluşturulan modelleri değerlendirmek için modellerinizi bir test veri kümesiyle test etmek bir önizleme özelliğidir. Bu özellik deneysel bir önizleme özelliğidir ve herhangi bir zamanda değişebilir.

Test verilerini (önizleme) SDK ile veya Azure Machine Learning stüdyosu kullanacak şekilde AutoML denemelerini yapılandırmayı öğrenin.

Özellik mühendisliği

Özellik mühendisliği, ML algoritmalarının daha iyi öğrenmesine yardımcı olan özellikler oluşturmak için verilerin etki alanı bilgisini kullanır. Azure Machine Learning'de ölçeklendirme ve normalleştirme teknikleri özellik mühendisliğine yardımcı olur. Bu teknikler ve özellik mühendisliği toplu olarak özellik geliştirme olarak adlandırılır.

Otomatik makine öğrenmesi denemeleri için özellik geliştirme otomatik olarak gerçekleşir, ancak verilerinize göre de özelleştirebilirsiniz. Özelliklerin hangi özelliklere dahil olduğu (SDK v1) ve AutoML'nin modellerinizdeki fazla sığdırma ve dengesiz verileri önlemeye nasıl yardımcı olduğu hakkında daha fazla bilgi edinin.

Not

Özellik normalleştirme, eksik verileri işleme ve metni sayısala dönüştürme gibi otomatik makine öğrenmesi özellik geliştirme adımları, temel alınan modelin bir parçası haline gelir. Modeli tahminler için kullandığınızda, eğitim sırasında uygulanan özellik geliştirme adımları giriş verilerinize otomatik olarak uygulanır.

Özellik geliştirmeyi özelleştirme

Kodlama ve dönüşümler gibi diğer özellik mühendisliği tekniklerini de kullanabilirsiniz.

Bu ayarı şu şekilde etkinleştirin:

Topluluk modelleri

Otomatik makine öğrenmesi, varsayılan olarak etkinleştirilen grup modellerini destekler. Ensemble learning, tek modelleri kullanmak yerine birden çok modeli birleştirerek makine öğrenmesi sonuçlarını ve tahmine dayalı performansı geliştirir. Toplu yinelemeler, işinizin son yinelemeleri olarak görünür. Otomatik makine öğrenmesi, modelleri birleştirmek için hem oylama hem de yığınlama grubu yöntemlerini kullanır:

  • Oylama: Tahmin edilen sınıf olasılıklarının ağırlıklı ortalamasını (sınıflandırma görevleri için) veya tahmin edilen regresyon hedeflerini (regresyon görevleri için) temel alarak tahmin eder.
  • Yığınlama: Heterojen modelleri birleştirir ve tek tek modellerin çıkışına göre bir meta model eğiter. Geçerli varsayılan meta modeller sınıflandırma görevleri için LogisticRegression ve regresyon/tahmin görevleri için ElasticNet'tir.

Sıralanmış grup başlatmalı Caruana grubu seçim algoritması , grup içinde hangi modellerin kullanılacağına karar verir. Yüksek düzeyde, bu algoritma en iyi bireysel puanlara sahip en fazla beş modelle grubu başlatır ve kötü bir ilk grubu önlemek için bu modellerin en iyi puanın %5 eşiğinde olduğunu doğrular. Ardından her bir topluluk yinelemesi için mevcut gruba yeni bir model eklenir ve sonuçta elde edilen puan hesaplanır. Yeni bir model mevcut grup puanını geliştirirse, grup yeni modeli içerecek şekilde güncelleştirilir.

Otomatik makine öğrenmesinde varsayılan grup ayarlarını değiştirmek için AutoML paketine bakın.

AutoML & ONNX

Azure Machine Learning ile bir Python modeli oluşturmak ve bunun ONNX biçimine dönüştürülmesini sağlamak için otomatik ML'yi kullanabilirsiniz. Modeller ONNX biçiminde olduktan sonra bunları çeşitli platformlarda ve cihazlarda çalıştırabilirsiniz. ONNX ile ML modellerini hızlandırma hakkında daha fazla bilgi edinin.

Bu Jupyter not defteri örneğinde ONNX biçimine nasıl dönüştürüldüğünü görün. ONNX'te hangi algoritmaların desteklendiği hakkında bilgi edinin.

ONNX çalışma zamanı C#'yi de desteklediğinden, C# uygulamalarınızda otomatik olarak oluşturulan modeli, rest uç noktalarının oluşturduğu ağ gecikme sürelerinden herhangi birine veya yeniden kodlamaya gerek kalmadan kullanabilirsiniz. ML.NET içeren bir .NET uygulamasında AutoML ONNX modeli kullanma ve ONNX çalışma zamanı C# API'si ile ONNX modellerini çıkarsama hakkında daha fazla bilgi edinin.

Sonraki adımlar

AutoML ile çalışmaya başlamak için aşağıdaki kaynakları kullanın.

Eğitimler ve nasıl yapılır makaleleri

Eğitimler, AutoML senaryolarının uçtan uca başlangıç örnekleridir.

Nasıl yapılır makaleleri, otomatik ML'nin sunduğu işlevler hakkında daha fazla ayrıntı sağlar. Örneğin,

Jupyter not defteri örnekleri

Otomatik makine öğrenimi örnekleri için GitHub not defteri deposundaki ayrıntılı kod örneklerini ve kullanım örneklerini inceleyin.

Python SDK referansı

AutoML İş sınıfı başvuru belgeleriyle SDK tasarım desenleri ve sınıf belirtimleri uzmanlığınızı derinleştirin.

Not

Otomatik makine öğrenmesi özellikleri ML.NET, HDInsight, Power BI ve SQL Server gibi diğer Microsoft çözümlerinde de kullanılabilir.