Yazar | Richmond Alake
Tercüman | Hilal Ay
Üretildi | CSDN (ID: CSDNnews)
Giriş
Makine öğrenimi alanının ve teknolojinin kendisinin gelişmesiyle birlikte, projede yer alan aşamalar ve iş süreçleri de gelişiyor.
GPU özellikli mobil cihazların ortaya çıkışı, geleneksel makine öğrenimi projelerinin iş akışında yeni bir aşama başlattı. Yeni bir aşamanın ortaya çıkması, yeni roller ve pozisyonlar yaratmıştır.
Bu makalenin hedefleri:
Makine öğrenimi projesindeki her aşamanın ayrıntılı analizi.
Her aşamada yer alan roller.
Her aşamadan sonra nihai sonuç verilir.
Aşağıdaki metni girelim.
Problem tanımı
Problem tanımı, bir bilgisayarla görme / makine öğrenimi projesinin ilk aşamasıdır. Odak noktası, makine öğrenimi ile çözülmesi gereken problemleri tam olarak anlamaktır.
Genellikle bu aşama, sorunu tanımlayan, çözülmesi için sorunu belirlenmiş bir biçimde kaydeden ve her sahnede kişisel deneyimi ayrıntılı olarak tanımlayan bir kişiyi gerektirir.
Bu aşama aynı zamanda sorunu tanımlayan kişinin bakış açısından ideal çözümü yakalamalıdır.
Sorunu açıklayan kişi bir müşteri, kullanıcı veya meslektaş olabilir.
Bu aşamadaki çıktılar, aşağıdakileri içeren (ancak bunlarla sınırlı olmayan) belgelerdir (word veya pdf):
Sorun bildirimi
İdeal çözüm
Sorunu anlamak ve anlamak
beceri gereksinimi
İlgili rol: BT iş analisti
çalışma
Bu aşama, sonraki aşamaların (gerçekleştirme planı, geliştirme çalışması, vb.) Temelidir.
Bu aşamada çözümün uygulama şeklini keşfetmek ve bilginin veri yapısını, formatını ve kaynağını incelemek gerekir.
Sorunun anlaşılması, önerilen çözüm ve mevcut verilerin kombinasyonu, uygun bir makine öğrenimi modeli seçmemize ve nihayet ideal çözümü gerçekleştirmemize yardımcı olabilir.
Bu aşamada, sonraki aşamalarda çok zaman kazanmak için algoritma ve model uygulaması için gerekli olan donanım ve yazılımı incelememiz gerekiyor.
Bu aşamadaki çıktılar, aşağıdakilerle ilgili araştırmaları içeren belgelerdir (word veya pdf):
Veri yapısı ve kaynağı
Çözümün şekli
Sinir ağı / model mimarisi
Algoritma
Donanım Gereksinimleri
Yazılım gereksinimleri
İlgili pozisyonlar: makine öğrenimi araştırmacısı, veri bilimcisi, yapay zeka araştırmacısı vb.
Veri toplama / madencilik / tarama
Veriler, makine öğrenimi ve bilgisayarla görme uygulamaları için itici güçtür. Bunlar arasında veri toplama, modelin verimliliği ve performansının temelini oluşturabilecek çok önemli bir adımdır.
Çözümün çıktısı, verilerin toplanmasını tanımlar.
Verilerin anlaşılması çok önemlidir.Herhangi bir kaynaktan gelen veriler, görselleştirme araçları veya istatistiksel yöntemler kullanılarak incelenebilir ve analiz edilebilir.
Veri incelemesi, verilerin kaynağını doğrulayarak verilerin bütünlüğünü ve güvenilirliğini artırır.
Veri analizi ve keşfinin de aşağıdaki gereksinimleri karşılaması gerekir:
Toplanan verilerin, modelin öngörü kabiliyetinin çeşitli durumlara uyarlanabilmesini sağlamak için yeterince çeşitli olması gerekir.
Modelin çıkarım sürecinde doğru bir şekilde özetlenebilmesi için toplanan verilerin adil olması gerekir.
Toplanan veriler bol miktarda olmalıdır.
Veri toplamak için çeşitli araçlar vardır. Veri kaynağı API, XML, CSV veya Excel dosyaları biçiminde olabilir. Bazı durumlarda, çevrimiçi kaynaklardan veri almamız veya elde etmemiz de gerekir. Taramadan önce lütfen üçüncü taraf web sitelerinin tarama / madencilik politikalarını kontrol edin.
Bu aşamanın çıktısı, orijinal verileri ve açıklama dosyalarını içeren alt klasörleri içeren bir klasördür.
İlgili pozisyonlar: veri bilimcisi, veri analisti.
Veri hazırlama / ön işleme / geliştirme
Veri ön işleme adımı temel olarak model girdi gereksinimlerine dayanır. Araştırma aşamasına geri dönüp, model / sinir ağı mimarisi için girdi parametreleri ve gereksinimleri hakkında tekrar düşünün.
Ön işleme adımı, ham verileri modeli başarılı bir şekilde eğitebilecek bir biçime dönüştürür.
Veri ön işleme aşağıdaki adımları içerir (ancak bunlarla sınırlı değildir):
Görüntü boyutunu ayarlama, renk kanallarını değiştirme, gürültüyü azaltma, görüntü geliştirme vb. Dahil olmak üzere verileri yeniden biçimlendirme
Veri temizleme
Veri standardizasyonu
Veri geliştirme, elde edilen verilerin çeşitlendirilmesini iyileştirmek için gerçekleştirilen bir adımdır. Görüntü verilerinin iyileştirilmesi aşağıdaki biçimleri alabilir:
Resmi herhangi bir açıya döndürün
Görüntüyü yakınlaştırın veya uzaklaştırın
Görüntüyü kırp
Resmi çevirme (yatay veya dikey)
Ortalama çıkarma
Bu aşamanın teslimatı, her bir alt klasörde "eğitim", "test" ve "doğrulama" olarak etiketlenmiş alt klasörler ve açıklama dosyalarını içeren bir klasördür.
İlgili pozisyon: Veri Bilimcisi
Modelin uygulanması
Modelin uygulanmasını basitleştirmek için genellikle çeşitli çevrimiçi kaynaklar tarafından sağlanan hazır modelleri kullanabiliriz. Çoğu makine öğrenimi ve derin öğrenme çerçevesi (PyTorch veya TensorFlow gibi), modelin uygulama aşamasını hızlandırmak için kullanılabilecek önceden eğitilmiş modeller sağlar.
Bu önceden eğitilmiş modeller, güçlü veri kümeleri üzerinde eğitilmiş ve en son sinir ağı mimarisinin performansına ve yapısına ulaşmıştır.
Genel olarak, bir modeli sıfırdan uygulamaya nadiren ihtiyaç duyarız. Model gerçekleştirme aşamasında aşağıdaki görevlerin tamamlanması gerekmektedir:
Sinir ağındaki son katmanı silin ve modelin amacını belirli bir göreve değiştirin. Örneğin, Resnet sinir ağı mimarisinin son katmanını silerek, eğitilen model kodlayıcı-kod çözücü sinir ağı mimarisinde kullanılabilir.
Önceden eğitilmiş modele ince ayar yapın
Bu aşamanın çıktısı, eğitime hazır bir modeldir.
İlgili pozisyonlar: veri bilimci, makine öğrenimi mühendisi, bilgisayarla görme mühendisi, NLP mühendisi, yapay zeka mühendisi.
Eğitim
Eğitim aşamasında, modeli eğitmek için önceki veri aşamasında sağlanan verileri kullanacağız. Model eğitiminin gerçekleştirilmesi, özel görevleri yerine getirebilecek bir model oluşturmak için birleştirilmiş eğitim verilerinin modele aktarılmasını içerir.
Eğitim modelinin eğitim verilerini modele gruplar halinde iletmesi ve ardından belirli sayıda dönemi yinelemesi gerekir. Eğitimin ilk aşamalarında, modelin performansı ve doğruluğu pek tatmin edici olmayabilir. Ancak model tahminler yapmaya, tahmin edilen değeri beklenen değerle karşılaştırmaya ve sinir ağında geri yayılmaya devam ettikçe, model görevlerini daha iyi tamamlamak için kademeli olarak geliştirilebilir.
Eğitim başlamadan önce, model eğitim aşamasının verimliliğini kontrol etmek için hiperparametreler ve ağ parametreleri belirlemeliyiz.
Hiperparametreler: Sinir ağı eğitimi başlamadan önce tanımlanan değerler. Kontrol sinir ağını başlatarak pozitif bir eğitim sonucu elde edilir. Makine öğrenimi ve derin öğrenme algoritmalarını etkileyecekler, ancak algoritmadan etkilenmeyecekler. Eğitim sırasında değerleri değişmeyecek. Hiperparametre örnekleri arasında düzenlenme değeri, öğrenme hızı, katman sayısı vb. Bulunur.
Ağ parametreleri: Bu, sinir ağının manuel olarak başlatılmayacak kısmıdır. Sinir ağı içindeki değerlerdir ve doğrudan sinir ağı tarafından kontrol edilirler. Ağ parametresine bir örnek, bir sinir ağı içindeki ağırlıktır.
Eğitim sırasında, her eğitim sürecinin ve her dönemin göstergelerini kaydetmek çok önemlidir. Genellikle toplamamız gereken metrikler aşağıdaki gibidir:
Eğitim doğruluğu
Doğruluğu doğrulayın
Eğitim kaybı
Doğrulama kaybı
Eğitim metriklerini düzenlemek ve görselleştirmek için Matplotlib ve Tensorboard gibi görselleştirme araçlarını kullanabiliriz.
Yetersiz uyum ve gereğinden fazla takma gibi bazı yaygın makine öğrenimi modeli eğitim tuzaklarını belirlemek için eğitim göstergelerini görselleştirebiliriz.
Yetersiz uyum: Bu, makine öğrenimi algoritması veri kümesindeki kalıpları öğrenemediğinde gerçekleşir. Bu problemi çözmek için göreve daha uygun algoritmalar veya modeller kullanabiliriz. Verilerdeki daha fazla özelliği tanımlayarak ve bunları algoritmaya sunarak yetersiz uyum sorununu da çözebilirsiniz.
Aşırı uyum: Bu problem, algoritmanın yeni kalıpları tahmin ederken eğitim sırasında gözlemlenen kalıpları gereğinden fazla dikkate almasıyla ilgilidir. Bu, makine öğrenimi algoritmasının görülmemiş verileri doğru bir şekilde özetleyememesine neden olur. Eğitim verileri test verilerinin dağılımını doğru bir şekilde temsil edemiyorsa, aşırı uyum meydana gelebilir. Eğitim verilerindeki özelliklerin sayısını azaltarak ve çeşitli tekniklerle ağın karmaşıklığını azaltarak aşırı uyum sorununu çözebiliriz.
Bu aşamanın çıktıları, geliştirilen modeller ve eğitim göstergeleridir.
İlgili pozisyonlar: Data Scientist, Machine Learning Engineer, Computer Vision Engineer, NLP Engineer, AI Engineer
Değerlendirme
Bu aşamada zaten iyi eğitilmiş bir modeliniz var ve ardından modelin performansını değerlendirmeniz gerekiyor.
Modeli değerlendirmek için "test verilerini" kullanmamız gerekiyor. Eğitim sırasında test verileri modele gösterilemez. Test verileri, gerçek durumda olması gereken verilerin bir örneğini temsil eder.
Aşağıdaki değerlendirme stratejilerini kullanabiliriz:
Karışıklık matrisi (hata matrisi): Gerçek sınıflandırma ile sınıflandırıcının sonucu arasındaki eşleşmelerin veya uyumsuzlukların sayısının görsel bir temsilini sağlar. Karışıklık matrisi genellikle bir tablo şeklinde ifade edilir, satırlar gerçek gözlem sonuçlarını ve sütunlar sınıflandırıcının çıkarım sonuçlarını temsil eder.
Doğruluk ve hatırlama: Bu ikisi, sınıflandırma algoritmalarını, görsel arama sistemlerini vb. Değerlendirmek için kullanılan performans göstergeleridir. Görsel arama sisteminin değerlendirmesini (sorgu görüntüsüne göre benzer görüntüleri bulma) örnek olarak alırsak, doğruluk oranı, döndürülen ilgili sonuçların sayısını yansıtabilir ve geri çağırma oranı, veri setinde döndürülen ilgili sonuçların sayısını temsil eder.
Bu aşamadaki çıktı, değerlendirme sonuçlarını ve değerlendirme stratejisinin çıktısını içeren bir belgedir.
İlgili pozisyonlar: veri bilimci, makine öğrenimi mühendisi, bilgisayarla görme mühendisi, NLP mühendisi, yapay zeka mühendisi.
Parametre ayarı ve çıkarım
Parametre ayarı, hiperparametre değerlerini değiştirerek modeli optimize etme işlemidir. Parametre ayarlamanın amacı, değerlendirme sonuçlarının iyileştirilmesiyle ilgili olan modelin performansını iyileştirmektir.
Hiperparametreleri ayarladıktan ve yeni değerleri seçtikten sonra, yeniden eğitmeniz ve değerlendirmeniz gerekir.
Bu parametre ayarlama işleminin, uygun bir model oluşturulana kadar devam etmesi gerekir.
Çıkarım, modelin gerçek bir testidir. İlgili iş, uygun bir ortamdan elde edilen gerçek verileri içerir. Bu aşamada, modelin performansına tam olarak güvenmeliyiz.
Bu aşamanın çıktısı geliştirilmiş bir modeldir.
İlgili pozisyonlar: veri bilimci, makine öğrenimi mühendisi, bilgisayarla görme mühendisi, NLP mühendisi, yapay zeka mühendisi.
Mobil cihazlar için model dönüştürme
Tam bir model oluşturduktan sonra onu mobil cihaza koymamız gerekiyor.
Geliştirdiğimiz modelin uç cihazlarda (cep telefonları veya IoT cihazları gibi) kullanılması gerektiğinde model dönüşümü gerekir.
Model dönüştürme, GPU / CPU ortamında eğitilmiş makine öğrenimi modelini optimize edilmiş ve verimli bir sürüme dönüştürmelidir. Basitleştirilmiş model cihazda saklanabilir ve etkili ve doğru bir şekilde çıkarılabilir.
Modelleri mobil cihazlara aktarmak için aşağıdaki araçları kullanabiliriz:
Core ML: Bu, iOS'a özgü modeller oluşturmak için Apple tarafından yayınlanan bir çerçevedir. CoreML, yaygın makine öğrenimi görevleri (tanıma ve algılama gibi) için modeller sağlar. TensorFlow Lite'ın iOS sürümüdür.
PyTorch Mobile: PyTorch, popüler bir makine öğrenimi çerçevesidir ve makine öğrenimi ile ilgili araştırmalarda yaygın olarak kullanılmaktadır. PyTorch'un mobil sürümü TensorFlow Lite ile karşılaştırılabilir çünkü PyTorch tarafından eğitilen modelleri iOS ve Android cihazlarda kullanılabilen bir mobil sürüme dönüştürebilir. Bununla birlikte, PyTorch Mobile hala emekleme aşamasında ve şu anda deneme sürümü durumundadır.
TensorFlow Lite: .tflite dosyası biçiminde optimize edilmiş ve verimli bir sürüme dönüştürmek için mevcut TensorFlow modelini kullanın. Basitleştirilmiş model çok küçüktür, cihazda saklanabilir ve doğru bir şekilde çıkarılabilir.
Bu aşamanın çıktıları, ekipman kullanımı için optimize edilmiş makine öğrenimi modelleridir.
İlgili pozisyonlar: veri bilimci, makine öğrenimi mühendisi, bilgisayarla görme mühendisi, NLP mühendisi, yapay zeka mühendisi.
Model dağıtımı
Son eğitilmiş modelin dağıtılması son aşamadır. Modelimizi daha geniş bir uygulama veya araç ekosistemine entegre etmek veya sadece modelimiz etrafında etkileşimli bir web arayüzü oluşturmak, model dağıtımında önemli bir adımdır.
Bir üretim ortamında, bu aşama aynı zamanda modelin performansını değerlendirmek için izlemeyi gerektirir. Bu, modelin iyi performans göstermesini ve hedefe iyi uymasını sağlamak içindir.
Modeli yeniden eğitmek ve güncellemek, model dağıtım aşamasında da bir görevdir. Model güncellemeleri, modelimizin görevin güvenilirliğini ve güvenilirliğini karşılamasını sağlayabilir.
Bu aşamadaki çıktılar şunları içerir:
Model performans izleme sistemi
Modelin işlevlerine erişmek için Web UI arayüzü
Modelin yeniden dağıtımını desteklemek için sürekli entegrasyon hattı
İlgili pozisyonlar: veri mühendisi, makine öğrenimi mühendisi, bilgisayarla görme mühendisi, NLP mühendisi, yapay zeka mühendisi.
Orijinal bağlantı:
https://towardsdatascience.com/10-stages-of-a-machine-learning-project-in-2020-and-where-you-fit-cb73ad4726cb
Bu makale bir CSDN çeviri makalesidir, lütfen yeniden basımın kaynağını belirtin.