Otomatik makine öğrenimi veya AutoML açıklaması

Makine öğreniminin (hem klasik makine öğrenimi hem de derin öğrenme) kullanımının önündeki en büyük iki engel beceriler ve bilgi işlem kaynaklarıdır. İkinci sorunu, hızlandırılmış donanım satın almak için (üst düzey GPU'lu bilgisayarlar gibi) veya buluttaki bilgi işlem kaynaklarının kiralanması için (takılı GPU'lar, TPU'lar vb.) Üzerine para atarak çözebilirsiniz. FPGA'lar).

Öte yandan beceri problemini çözmek daha zordur. Veri bilimciler genellikle yüksek maaşlar emreder ve işe almak yine de zor olabilir. Google, çalışanlarının çoğunu kendi TensorFlow çerçevesine göre eğitebildi, ancak çoğu şirket, makine öğrenimi ve derin öğrenme modellerini kendileri oluşturacak kadar beceriye sahip değil, başkalarına nasıl yapılacağını öğretmek çok daha az.

AutoML nedir?

Otomatik makine öğrenimi veya AutoML, yetenekli veri bilimcilerinin makine öğrenimi ve derin öğrenme modelleri oluşturma ihtiyacını azaltmayı veya ortadan kaldırmayı amaçlamaktadır. Bunun yerine, bir AutoML sistemi, etiketli eğitim verilerini girdi olarak sağlamanıza ve çıktı olarak optimize edilmiş bir modeli almanıza olanak tanır.

Bunu yapmanın birkaç yolu var. Bir yaklaşım, yazılımın veriler üzerinde her tür modeli eğitmesi ve en iyi çalışanı seçmesidir. Bu, bazen (ancak her zaman değil) daha iyi sonuçlar veren diğer modelleri birleştiren bir veya daha fazla topluluk modeli oluşturması için bir iyileştirme olacaktır.

İkinci bir teknik, daha iyi bir modeli eğitmek için en iyi modelin veya modellerin hiperparametrelerini (aşağıda açıklanmıştır) optimize etmektir. Özellik mühendisliği (ayrıca aşağıda açıklanmıştır), herhangi bir model eğitimine değerli bir ektir. Derin öğrenmenin becerilerini ortadan kaldırmanın bir yolu, temelde belirli veriler için iyi eğitilmiş bir genel modeli özelleştirerek, aktarımla öğrenmeyi kullanmaktır.

Hiperparametre optimizasyonu nedir?

Tüm makine öğrenimi modellerinin parametreleri vardır, yani modeldeki her değişken veya özellik için ağırlıktır. Bunlar genellikle hataların geri yayılması ve ayrıca stokastik gradyan inişi gibi bir optimize edicinin kontrolü altında yineleme ile belirlenir.

Çoğu makine öğrenimi modelinde ayrıca eğitim döngüsünün dışında ayarlanmış hiperparametreler bulunur. Bunlar genellikle öğrenme oranını, bırakma oranını ve Rastgele Ormandaki ağaçların sayısı gibi modele özgü parametreleri içerir.

Hiperparametre ayarlama veya hiperparametre optimizasyonu (HPO), en iyi eğitilmiş modelle sonuçlanan seti bulmak için bir modelin bir veya daha fazla hiperparametresini süpürmenin veya aramanın otomatik bir yoludur. Taramadaki (dış döngü) her hiperparametre değeri kümesi için modeli yeniden eğitmeniz gerektiğinden (iç döngü) bu zaman alıcı olabilir. Birçok modeli paralel olarak eğitirseniz, gereken süreyi daha fazla donanım kullanma pahasına azaltabilirsiniz.

Özellik mühendisliği nedir?

Bir özellik , gözlemlenen bir olgunun bireysel ölçülebilir bir özelliği veya özelliğidir. Bir "özellik" kavramı, doğrusal regresyon gibi istatistiksel tekniklerde kullanılan açıklayıcı bir değişken ile ilgilidir. Bir özellik vektörü , tek bir satırın tüm özelliklerini sayısal bir vektörde birleştirir. Özellik mühendisliği , model eğitim sürecine girdi için en iyi değişken kümesini ve en iyi veri kodlamasını ve normalleştirmeyi bulma sürecidir.

Özellik seçme sanatının bir parçası , sorunu açıklayan minimum bağımsız değişkenler kümesini seçmektir . İki değişken birbiriyle yüksek düzeyde ilişkiliyse, ya tek bir özellikte birleştirilmeleri gerekir ya da biri çıkarılmalıdır. Bazen insanlar, ilişkili değişkenleri doğrusal olarak ilişkisiz değişkenler kümesine dönüştürmek için temel bileşen analizi (PCA) gerçekleştirir.

Makine sınıflandırmasında kategorik verileri kullanmak için metin etiketlerini başka bir forma kodlamanız gerekir. İki ortak kodlama vardır.

Biri etiket kodlamadır , yani her metin etiketi değerinin bir sayıyla değiştirildiği anlamına gelir. Diğeri ise tekli kodlamadır , yani her metin etiketi değeri ikili değer (1 veya 0) olan bir sütuna dönüştürülür. Çoğu makine öğrenimi çerçevesi, dönüşümü sizin için yapan işlevlere sahiptir. Etiket kodlaması bazen makine öğrenimi algoritmasını kodlanmış sütunun sıralı olduğunu düşünerek karıştırabildiğinden, genel olarak tek sıcak kodlama tercih edilir.

Makine regresyonunda sayısal verileri kullanmak için genellikle verileri normalleştirmeniz gerekir. Aksi takdirde, daha büyük aralıklara sahip sayılar, özellik vektörleri arasındaki Öklid mesafesine hakim olma eğiliminde olabilir, etkileri diğer alanlar pahasına büyütülebilir ve en dik iniş optimizasyonu yakınsamada zorluk yaşayabilir. Makine öğrenimi için verileri normalleştirmenin ve standartlaştırmanın, min-maks normalleştirme, ortalama normalleştirme, standardizasyon ve birim uzunluğa ölçekleme dahil olmak üzere çeşitli yolları vardır. Bu işleme genellikle özellik ölçekleme denir .

İnsanların yeni özellikler oluşturmak veya özellik vektörlerinin boyutluluğunu azaltmak için kullandıkları bazı dönüşümler basittir. Örneğin, çıkarma Year of Birthile ilgili Year of Deathve inşa Age at Deathömrü ve mortalite analizi için bir ana bağımsız değişken olan,. Diğer durumlarda, özellik yapımı o kadar açık olmayabilir.

Transfer öğrenimi nedir?

Aktarım öğrenimi bazen özel makine öğrenimi olarak adlandırılır ve bazen AutoML (çoğunlukla Google tarafından) olarak adlandırılır. Google Cloud AutoML, verilerinizden modelleri eğitirken sıfırdan başlamak yerine, otomatik derin aktarım öğrenimi (diğer veriler üzerinde eğitilmiş mevcut bir derin sinir ağından başlar) ve sinir mimarisi araması (yani ekstra ağ katmanları) dil çifti çevirisi, doğal dil sınıflandırması ve görüntü sınıflandırması için.

Bu, genellikle AutoML ile kastedilenden farklı bir süreçtir ve pek çok kullanım durumunu kapsamaz. Öte yandan, desteklenen bir alanda özelleştirilmiş bir derin öğrenme modeline ihtiyacınız varsa, transfer öğrenimi genellikle üstün bir model üretecektir.

AutoML uygulamaları

Deneyebileceğiniz birçok AutoML uygulaması vardır. Bazıları ücretli hizmetlerdir ve bazıları ücretsiz kaynak kodudur. Aşağıdaki listeler hiçbir şekilde tam veya nihai değildir.

AutoML hizmetleri

Üç büyük bulut hizmetinin tümü bir tür AutoML'ye sahiptir. Amazon SageMaker, hiperparametre ayarı yapar, ancak otomatik olarak birden çok modeli denemez veya özellik mühendisliği gerçekleştirmez. Azure Machine Learning, hem özellikler ve algoritmalar arasında gezinen AutoML'ye hem de genellikle AutoML tarafından seçilen en iyi algoritmada çalıştırdığınız hiperparametre ayarlamasına sahiptir. Google Cloud AutoML, daha önce tartıştığım gibi, dil çifti çevirisi, doğal dil sınıflandırması ve görüntü sınıflandırması için derin aktarım öğrenimidir.

Bazı küçük şirketler de AutoML hizmetleri sunmaktadır. Örneğin, AutoML'yi icat ettiğini iddia eden DataRobot, pazarda güçlü bir üne sahip. Ve dotData küçük bir pazar payına ve vasat bir kullanıcı arayüzüne sahipken, güçlü özellik mühendisliği yeteneklerine sahiptir ve birçok kurumsal kullanım durumunu kapsar. 2017'de incelediğim H2O.ai Sürücüsüz AI, bir veri bilimcisinin bir Kaggle ustası gibi modelleri geliştirmesine, özellik mühendisliği, algoritma taramaları ve hiperparametre optimizasyonunu birleşik bir şekilde yapmasına yardımcı olabilir.

AutoML çerçeveleri

AdaNet, minimum uzman müdahalesi ile yüksek kaliteli modelleri otomatik olarak öğrenmek için hafif bir TensorFlow tabanlı çerçevedir. Auto-Keras, Texas A & M'de geliştirilmiş, derin öğrenme modellerinin mimarisini ve hiper parametrelerini otomatik olarak aramak için işlevler sağlayan, otomatikleştirilmiş makine öğrenimi için açık kaynaklı bir yazılım kitaplığıdır. NNI (Neural Network Intelligence), kullanıcıların makine öğrenimi modellerini (ör. Hiperparametreler), sinir ağı mimarilerini veya karmaşık bir sistemin parametrelerini verimli ve otomatik bir şekilde tasarlamasına ve ayarlamasına yardımcı olmak için Microsoft'un bir araç setidir.

GitHub'da ek AutoML projeleri ve AutoML hakkında oldukça eksiksiz ve güncel bir makale listesi bulabilirsiniz.