Makine öğrenimi projesi planlaması

Makine öğrenimi projelerini planlamak, tipik yazılım mühendisliği projelerini planlamaktan farklıdır. ML projeleri genellikle doğrusal değildir ve farklı belirsizlik derecelerine sahiptir. Bu tür projeler için yinelemeli bir yaklaşım ve deneysel bir zihniyet gerekir.

Proje belirsizliği

Projeye başlarken en iyi yaklaşım genellikle net olmadığı için erken aşamada planlama yapmak zor olabilir. Bu doğal belirsizlik, zaman çizelgelerini tahmin etmeyi zorlaştırır.

Yakın zamanda düzenlenen bir Kaggle yarışması, makine öğrenimi projelerinin belirsizliğini göstermektedir. Yarışmanın ilk birkaç haftasında 350 takım katıldı. En iyi takımlar, karşılaştırma tahmin kalitesini% 35'ten %65'e çıkarmayı başardı. Sonraki iki hafta içinde, sorun üzerinde çalışan ekip sayısı 350'den 1.400'e yükseldi. Ancak en iyi model yalnızca %68'lik bir tahmin kalitesine ulaştı.

Şekil 3'te, çabadaki önemli artışı ancak model kalitesindeki minimum kazancı göstererek makine öğrenimi geliştirmesindeki belirsizlik gösterilmektedir.

Resimde, iki hafta içinde ekip sayısının 350'den 1.400'e yükseldiği ancak model kalitesinin yalnızca yüzde üç arttığı gösterilmektedir.

Şekil 3. İki haftalık bir süre içinde, sorun üzerinde çalışan ekiplerin sayısı 4 kat arttı ancak modelin kalitesi neredeyse aynı kaldı. Bu durum, bir yapay zeka çözümünün çabasını tahmin etmenin zorluğunu vurgulamaktadır.

Diğer bir deyişle, her biri çeşitli veri dönüşümleri, mimariler ve hiper parametrelerle deney yapan binin üzerinde ekip yalnızca% 68 tahmin kalitesine sahip bir model üretmeyi başardı.

Sektörden bir örnek, çıkışın girişlerle orantılı olmadığı makine öğrenimi projelerinin doğrusal olmadığını gösterir. İki ekibin bir modeli% 90 tahmin kalitesine eğitmesi birkaç ay sürdü. Ancak modelin% 99,9 tahmin kalitesiyle üretime hazır hale getirilmesi, birkaç ekip için beş yıldan uzun sürdü.

Bu örnekler, üretime hazır makine öğreniminin hem bilimsel hem de mühendislik bakış açısı gerektiren keşifsel bir süreç olduğunu vurgular.

Deneysel yaklaşım

Çoğu durumda, makine öğrenimi geliştirme, geleneksel yazılım mühendisliği uygulamaktan ziyade deneme yapmak gibidir. ML, farklı özellikleri test etmeyi, birden fazla mimariyi denemeyi ve hiperparametreleri tam olarak ayarlamanızı gerektirir. Denemelerin başarılı olacağı garanti edilmez. Bu nedenle, deneysel bir çerçeve kullanarak planlama yapmak en iyisidir.

Bir ML proje planından nasıl farklı olduğunu görmek için tipik bir yazılım mühendisliği planına göz atalım.

Yazılım mühendisliği projelerini planlama

Tipik bir yazılım mühendisliği planında, gereksinimleri tanımlar, bileşenleri özetler, harcanan çabayı tahmin eder ve işi planlarsınız. Çözüme giden yol net bir şekilde tanımlanmıştır. Örneğin, mühendisler genellikle tasarım spesifikasyonunu karşılayan bir uygulama oluşturmak için tamamlamaları gereken görevleri yüksek bir kesinlik derecesiyle bilirler.

Bir görevi tamamlamak için gereken süreyi tahmin ederken benzer projelere dayalı olarak çalışmayı tahmin edebilirler. Bilinmeyen bağımlılıklar veya değişen şartlar gibi tahmini bazen zorlaştırabilecek zorluklar her zaman ortaya çıksa da genellikle çözüme giden net bir yol vardır.

Buna karşılık, ML projelerinde genellikle başarıya giden tek bir yol yoktur.

ML projelerini planlama

Çoğu yapay zeka projesinde, deneme yanılma sürecinde birden fazla yaklaşımı deneyerek en iyi çözümü bulabilirsiniz. Genellikle, sorunu çözmeye çalışmadan önce sorununuzun en uygun çözümünü bilemezsiniz. Örneğin, optimal çözümün mimarisi basit bir doğrusal model, nöral ağ veya karar ağacı olabilir. En iyi çözümü ancak her yaklaşımı deneyerek bulabilirsiniz.

Bu belirsizlik, planlamayı zorlaştırır. Daha önce de belirtildiği gibi, bir yapay zeka projesinin gerektireceği çabayı tahmin etmek zordur. Bir çözümün ne kadar zaman ve kaynak gerektirebileceğini ancak sorunu çözmeye çalışarak anlayabilirsiniz.

Aşağıda, makine öğrenimi çalışmalarını planlamak için önerilen stratejiler verilmiştir:

  • Çalışmaya zaman aralığı ekleyin. Görevleri tamamlamak veya belirli bir çözümü denemek için net zaman aralıkları belirleyin. Örneğin, doğru türde verilere erişip erişemeyeceğinizi belirlemek için iki hafta ayırabilirsiniz. Verileri alabilirseniz basit bir modelin makine öğrenimi çözümünün uygulanabilir olup olmadığını görmek için iki hafta daha ayırabilirsiniz. Basit bir model başarısız olursa iki hafta daha ayırarak bir sinir ağını deneyebilirsiniz. Her zaman aralığının sonunda, soruna kaynak uygulamaya devam etmenin faydalı olup olmadığını belirlemek için daha fazla bilgiye sahip olursunuz.

  • Proje şartlarını daraltın. Bir yapay zeka çözümü umut verici görünüyorsa ancak ürün veya hizmetiniz için kritik bir özellik değilse çözümün şartlarını daraltın. Örneğin, bir sonraki çeyreğin çalışmalarını planlarken çok basit bir çözümü denemeyi planlayabilirsiniz. Ardından, sonraki çeyreklerde çözümü iteratif olarak iyileştirmeyi planlayabilirsiniz. Birçok ekip, daha uzun bir zaman aralığında artımlı iyileştirmeler yaparak bir yapay zeka çözümü uygulayarak etkili yapay zeka çözümlerine ulaşmıştır.

  • Stajyer veya yeni işe alınanlar projesi. Bir stajyeri veya yeni işe alınan bir çalışanı yönlendirip ML çözümü denemesi için rehberlik etmek, bilinmeyen sonuçları olan yeni bir alanı keşfetmeye başlamanın iyi bir yolu olabilir. Proje tamamlandıktan sonra, bir yapay zeka çözümünün gerektireceği çaba ve takip edilmesi muhtemel olan yaklaşımlar hakkında daha iyi bir fikir edinirsiniz. Ayrıca, kaynakların başka bir yere yönlendirilip yönlendirilmeyeceğini de anlayabilirsiniz.

Her stratejide, hızlı bir şekilde başarısız olmak akıllıcadır. Öncelikle maliyeti en düşük ancak potansiyel olarak en yüksek getiriyi sağlayacak yaklaşımları deneyin. Yaklaşım işe yararsa iyi bir çözüm bulmuşsunuz demektir. Aksi takdirde çok fazla zaman ve kaynak harcamamış olursunuz.

Ekipler deneme çalıştırma konusunda deneyim ve bilgi edindikçe bir denemenin gerektirebileceği çabayı daha iyi tahmin edebilecek ve planlamayı daha tahmin edilebilir hale getirebilecek. Ancak bir denemenin sonucu neredeyse her zaman bilinmez. Bu nedenle, en iyi çözümü bulmak için gereken deneme sayısı önceden tahmin edilemez.

Deneysel bir bakış açısıyla planlama yaklaşımları, ekibinizin başarıya ulaşmasına yardımcı olur. Bir yaklaşım çıkmaza girdiğinde ekip üyeleri, ML çözümü bulma sürecinin bir parçası olduğunu anlayarak cesaretini kaybetmez. Daha da önemlisi, makine öğrenimi geliştirme sürecindeki doğal belirsizliği paydaşlarla tartışarak daha gerçekçi beklentiler oluşturabilirsiniz.

Öğrendiklerinizi test etme

Deneysel bir yaklaşım kullanarak yapay zeka geliştirmeyi planlamanın avantajı nedir? Geçerli olanların tümünü seçin.
Potansiyel riskleri tespit etmek ve yönetmek için
Başarısız yaklaşımlara harcanan zaman ve kaynakları azaltmak için.
Paydaşlara, yapay zeka geliştirmenin doğasında var olan belirsizliği bildirin.
En iyi yaklaşımı belirlemek ve önce bunu çözmek için.
Başlangıçta en iyi yaklaşımın hangisi olacağını bilemezsiniz.

Unutmayın

Birden fazla makine öğrenimi yaklaşımını olasılıksal olarak planlamayı öğrenmek zaman ve deneyim gerektirir. Proje planınızın sık sık güncellenmesi gerekebilir. Ekibiniz birden fazla yaklaşımla deneme yaparken sürekli olarak gelişen dinamik bir doküman olarak düşünün. Aşağıdaki temel fikirlere odaklanarak başarı şansınızı artırabilirsiniz:

  • Her yaklaşımın maliyetini ve başarı şansını tahmin edin.
  • Farklı yaklaşımlardan oluşan bir portföy deneyebilirsiniz.
  • Öğrendiklerinizi gözden geçirin ve sistemi tek tek iyileştirmeye çalışın.
  • Başarısızlıklara karşı plan yapın.

Bazen erken bir yaklaşım, önemli bir gelişmeye yol açar. Veri oluşturma ardışık düzeninde veya eğitim-doğrulama bölmesindeki bir hatayı keşfedebilir. İyi bir planlama ve ayrıntılı dokümanlar sayesinde, işletmenizin sorununu beklenenden daha erken çözecek bir model bulma olasılığınızı artırabilirsiniz.