Makine öğrenimi projeleri on sıkıntıdan geçmelidir. Kaç sıkıntıdan kurtuldunuz gördünüz mü?

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.

    Google, kuantum makine öğrenimi modellerini hızla oluşturmak için açık kaynak kitaplık TFQ yayınladı
    önceki
    30.000'den fazla yorumu taramak ve Korelilerin "Parazit" filmini nasıl derecelendirdiğini görmek için Python'u kullanın.
    Sonraki
    Teknolog: Bu yıl hala Python öğreniyorum, aptal, değil mi? Netizen: Söylemeye cesaret edin
    Gobang'ın AlphaGo sürümünü oynamak için CNN nasıl kullanılır?
    Daha güçlü soğuk hava, Çin'in çoğu bölümünü etkilemeye devam ediyor
    Yeni taç pnömoni salgını dünya çapında 20.000'den fazla insanı öldürdü
    Bir hisse merhaba! Ani yükselen 1,2 trilyon, günlük 100 hisse senedi limit dalgası, küresel salgının serbest bırakılması olumlu
    Salgın altında internette tıbbi bakım: konsültasyon hacmi arttı, hizmet standartları ve teşhis yetenekleri çözülmeyi bekliyor
    Wuhan polisi, tıbbi tedavi görmeleri için 200'den fazla kediden fazla şüpheli yeni taç hastası göndermek için üçüncü katta yarım saat yürüdü.
    Üç ilden 100'den fazla niteliksiz yüksek lisans tezi rastgele seçildi. Yenilik ve mantık büyük bir kusur
    Yeni yıl eğitimi! Ejderha ve Kaplan Sıçrayışı Eğitimi Elit Askerler
    Odak röportajı Böyle bir yerde yaşa, yumuşak bacaklara bakın! Yoksulluktan nasıl kurtulurlar?
    esprili! 12 yaşındaki çocuk, koridordaki kokuyu kokladıktan sonra kapıyı çaldı ve sakinler ona "küçük kahraman" dedi.
    Zorluklar ve zorluklar, Yuru Yucheng 2019'da Hong Kong'un iniş ve çıkışları, sevinçleri ve endişeleri, karşılıklı katılım
    To Top