Yapay zeka modelleri ve platformları

Julien Rebetez, Picterra’da Makine Öğrenimi Lider Mühendisi – Röportaj Serisi

mm
Unite.AI sitesini Google'daki tercih ettiğiniz kaynaklara ekleyin

Julien Rebetez, Picterra’nın Lider Yazılım ve Makine Öğrenimi Mühendisidir. Picterra, derin öğrenme tabanlı dedektörlere hızlı ve güvenli bir şekilde eğitim vermek için özel olarak tasarlanmış bir coğrafi bulut tabanlı platform sağlar.

Picterra’nın kullanıcıları, tek bir kod satırı yazmadan ve sadece birkaç insan tarafından oluşturulmuş anotasyonla, kullanıma hazır derin öğrenme modelleri oluşturup dağıtabilir.

Uydu ve hava görüntülerinin analizini otomatikleştirir, böylece kullanıcılar nesneleri ve kalıpları tanıtabilir.

Sizi makine öğrenimi ve yapay zeka ile ilgilenmeye iten şey nedir?

Programlama yapmaya video oyunları yapmak istediğim için başladım ve ilk olarak bilgisayar grafikleri ile ilgilenmeye başladım. Bu, bilgisayar vizyonuna beni yönlendirdi, ki bu, bilgisayarın sahte bir ortam yaratmak yerine gerçek ortamı algılamasıdır. Çalışmalarım sırasında bazı Makine Öğrenimi dersleri aldım ve bilgisayar vizyonu açısından ilgisini çektim. Sanırım ML’nin ilginç olan yanı, yazılım mühendisliği, algoritmalar ve matematik arasındaki kesişme noktasında olması ve hala çalıştığında biraz sihirli hissetmesidir.

 

Uzun yıllardır uydu görüntülerini analiz etmek için makine öğrenimi kullanıyorsunuz. İlk projenizin ne olduğu hakkında bilgi verebilir misiniz?

Uydu görüntülerine ilk maruz kaldığım proje, ormanlık alanların tespiti için kullanılan Terra-i projesiydi ve bunu çalışmalarım sırasında yaptım. Various uzay ajansları (NASA, ESA, vb.) tarafından üretilen ücretsiz uydu verilerinin miktarına şaşırdım. Her gün veya her gün düzenli olarak dünyanın görüntülerini ücretsiz olarak alabilirsiniz ve bu, birçok bilimsel uygulama için harika bir kaynaktır.

 

Terra-i projesi hakkında daha fazla bilgi verebilir misiniz?

Terra-i projesi (http://terra-i.org/terra-i.html) İsviçre’deki HEIG-VD’den Profesör Andrez Perez-Uribe tarafından başlatıldı ve şimdi Kolombiya’daki CIAT’dan Louis Reymondin tarafından yönetiliyor. Projenin amacı, ücretsiz uydu görüntülerini kullanarak ormanlık alanların tespitidir. O zamanlar, MODIS görüntülerini (250m piksel çözünürlüğü) kullanıyorduk çünkü bunlar uniform ve öngörülebilir bir kapsama sahipti (hem mekansal hem de zaman açısından). Her piksel için birkaç günde bir ölçüm alırdık ve bu ölçüm zaman serisinden, bazen ML’de “yeni” olarak adlandırdığımız anormallikleri veya yenilikleri tespit etmeye çalışırdık.

Bu proje çok ilginçti çünkü o zamanlar veri miktarı bir zorluktu ve aynı zamanda işin çalışması için birden fazla bilgisayarda bazı yazılım mühendisliği vardı. ML açısından, o zamanlar çok derin olmayan Bayesian Sinir Ağı kullanıyorduk ve bir pikselin zaman serisinin nasıl olması gerektiğini öngörüyorduk. Ölçüm öngörüyle eşleşmiyorsa, o zaman bir anormallik olurdu.

Bu projenin bir parçası olarak, ayrıca bulut kaldırma üzerinde çalıştım. Geleneksel bir sinyal işleme yaklaşımı kullandık, burada zaman serisi ölçümleriniz vardır ve bazıları bulut nedeniyle tamamen yanlış olur. Zaman serisini temizlemek için fourier tabanlı bir yaklaşım (HANTS) kullandık, ancak zorluk, eğer çok güçlü bir şekilde temizlersek, aynı zamanda yenilikleri de kaldırabileceğimizdi, bu nedenle doğru parametreleri bulmak için birçok deney yapmamız gerekti.

 

Ayrıca, tarla görüntülerinden otomatik olarak ürün tipi sınıflandırması için bir derin öğrenme sistemi tasarlayıp uyguladınız. O zamanlar karşılaştığınız en ilginç projeler hangileriydi?

Bu, benim ilk gerçek derin öğrenme deneyimimdi. O zamanlar, framework’ü çalıştırmak ve düzgün bir şekilde bir GPU kullanmaktan çok, asıl zorluk ML itself değil, daha çok teknik ayrıntılardı. Theano’yu kullandık, ki bu Tensorflow’un atasıdır.

Projenin amacı, drone görüntülerinden tarla ürününü sınıflandırmaktı. Renk histogramlarını girişler olarak kullandığımız bir yaklaşım denedik, bu, ham görüntünün kendisi yerine, derin öğrenme modelinin renk histogramlarını kullanması anlamına geliyordu. Bunu makul bir sürede çalıştırmak için, özel bir Theano katmanı uygulamak zorunda kaldım, hatta bazı CUDA kodu yazdım. Bu, o zamanlar harika bir öğrenme deneyimi ve derin öğrenmenin teknik ayrıntılarına biraz daha dalma fırsatıydı.

 

Picterra’da Lider Yazılım ve Makine Öğrenimi Mühendisi olarak görevlerinizi nasıl tanımlarsınız?

Aslında çok değişken, ancak büyük çoğunluğu sistem mimarisini ve genel ürünün görünümünü izlemek ve çeşitli paydaşlarla iletişim kurmakla ilgili. ML, işimizin merkezinde olsa da, çoğu zaman ML itself üzerinde değil, etrafındaki her şey üzerinde çalışıyorsunuz: veri yönetimi, altyapı, UI/UX, prototip, kullanıcıları anlama, vb… Bu, akademiden veya daha büyük şirketlerdeki önceki deneyimimden oldukça farklı, orada daha spesifik bir problema odaklanıyordunuz.

Picterra’da ilginç olan şey, sadece kullanıcılarımız için derin öğrenme modelleri çalıştırmakla kalmıyor, aynı zamanda onlara kendi modellerini eğitmelerine izin veriyoruz. Bu, tipik ML iş akışından farklı, orada ML ekibi bir modeli eğitiyor ve sonra onu üretime yayınlıyor. Bu, bizim için her kullanıcı için çalışacak bir eğitim yöntemi bulmamız anlamına geliyor. Elle eğitim parametreleriyle oynamanın aksine, bu, bizim ‘deneysel çerçeve’mizi yaratmamıza yol açtı, bu, platformumuzdaki kullanıcıların oluşturacağı eğitim verilerini simüle eden bir veri seti deposudur. Bu, eğitim metodolojimizde yapılan değişikliklerin kullanıcılarımızın eğitim verilerine karşı test edilmesini ve bunların yardımcı olup olmadığını değerlendirmemizi sağlar. Böylece, tek bir modeli değerlendirmek yerine, bir mimari + eğitim metodolojisi değerlendiriyoruz.

Diğer bir zorluk, kullanıcılarımızın ML uzmanları olmaması, bu nedenle eğitim kümesi, etiket gibi kavramları bilmiyorlar. Non-ML uzmanlarının veri setleri oluşturup ML modelleri eğitebileceği bir UI oluşturmak sürekli bir zorluk ve UX ile ML ekipleri arasında, kullanıcıları doğru yönlendirmek için sürekli bir geri bildirim var.

 

Picterra’da yeni fikirleri ve teknolojileri prototip olarak tasarlayıp uygulamak da görevleriniz arasında. En ilginç projeleriniz hangileri?

Sanırım Picterra’daki en ilginç proje, Özel Dedektör prototipi idi. 1,5 yıl önce, platformda ‘yerleşik’ dedektörlere sahiptik, bunlar bizim tarafımızdan eğitilmiş ve kullanıcılarımıza sunulmuş dedektörlere sahiptik. Örneğin, bir bina dedektörü, bir araba dedektörü gibi.

Bu, tipik ML iş akışıdır: ML mühendisi belirli bir durum için bir model geliştirir ve sonra bunu müşterilere sunar.

Ama biz bunu farklı yapmak istedik ve sınırları biraz zorlamak istedik. Dedektörleri doğrudan platformda eğitebilmeleri için kullanıcılarımıza izin vermeye karar verdik. Bunu çalıştırmak için birkaç zorluk vardı: ilk olarak, bunu birkaç saat değil, birkaç dakika içinde gerçekleştirmek istedik. İkincisi, büyük derin öğrenme modelleri için tipik olan binlerce anotasyona ihtiyacımız yoktu.

Bunun için çok basit bir modelle başladık, bir dizi test yaptık ve sonra bunu platformumuza entegre etmeye çalıştık ve tüm iş akışını test ettik. İlk başta, çoğu durumda iyi çalışmıyordu, ancak birkaç durumda çalışıyordu. Bu, bize umut verdi ve eğitim metodolojisi ve model üzerinde iterasyon yapmaya başladık. Birkaç ay sonra, iyi çalışır bir noktaya ulaştık ve şimdi kullanıcılarımız bunu her zaman kullanıyor.

Bu projede ilginç olan şey, eğitimi hızlı tutmak (şu anda birkaç dakika) ve modeli yeterince karmaşık tutmak arasında çift zorluktu, ancak aynı zamanda kullanıcıların sorunlarını çözecek kadar karmaşık olması gerekiyordu. Buna ek olarak, birçok durumda az (<100) etiket ile çalışıyor.

Ayrıca, Google’ (GOOGL ) ın “Makine Öğrenimi Kuralları”nı uyguladık, özellikle de tüm iş akışını ve metriği modeli optimize etmeden önce uygulamakla ilgili olanları. Bu, sistem düşünme moduna giriyor, bazı sorunlarınızın core ML tarafından değil, UI, ön işleme, son işleme gibi diğer yönlerde ele alınabileceğini anlamanıza yardımcı oluyor.

 

Picterra’da kullanılan bazı makine öğrenimi teknolojileri hakkında bilgi verebilir misiniz?

Üretim için Pytorch’u modelimizi eğitmek ve çalıştırmak için kullanıyoruz. Ayrıca, bazı müşteriler için özel olarak geliştirilen modeller için Tensorflow’u kullanıyoruz. Bunun dışında, standard bir bilimsel Python yığını (numpy, scipy) ve bazı coğrafi kütüphaneler (gdal) kullanıyoruz.

 

Bir kullanıcı görüntüler yüklediğinde ve nöral ağı doğru şekilde nesneleri anotasyonlamak için eğitmek istediğinde, Picterra’nın arka planında neler oluyor?

Elbette, bir kullanıcı görüntüler yüklediğinde, bunları işler ve “Cloud-Optimized-Geotiff” (COG) formatında blobstore’mizde (Google Cloud Storage) depolarız, bu da bize görüntünün sadece belirli kısımlarına hızlı bir şekilde erişmemizi sağlar. Bu, coğrafi görüntülerin çok büyük olabileceği için kritik bir nokta, kullanıcılarımızın düzenli olarak 50000×50000 boyutlarında görüntülerle çalıştığını görüyoruz.

Sonra, modelinizi eğitmek için, web arayüzümüzü kullanarak eğitim verilerinizi oluşturacaksınız. Bunu, üç tür alan tanımlayarak yapacaksınız:

  1. ‘Eğitim alanları’, burada eğitim etiketlerini çizeceksiniz
  2. ‘Test alanları’, modelin sonuçları gösterebileceğiniz alanlar
  3. ‘Doğruluk alanı’, burada etiketler çizeceksiniz, ancak bunlar sadece eğitim için değil, skorlama için kullanılacaktır

Eğitim verilerinizi oluşturduktan sonra, sadece ‘Eğit’ düğmesine tıklayabilirsiniz ve biz sizin için bir dedektörü eğiteceğiz. Bundan sonra olan şey, bir eğitim işini sıraya alıyoruz, bir GPU işçi tarafından alınmasını bekliyoruz (eğer çoklu işler varsa, yeni GPU işçiler otomatik olarak başlatılır), modelinizi eğitiyoruz, ağırlıklarını blobstore’a kaydediyoruz ve nihayet ‘Test alanı’ndaki sonuçları UI’de görüntülemek için öngörüyoruz. Buradan sonra, modelinizi iyileştirmek için iterasyon yapabilirsiniz. Tipik olarak, ‘Test alanları’ndaki bazı hataları göreceksiniz ve modelinizi iyileştirmek için ‘Eğitim alanları’ ekleyeceksiniz.

Modelinizle mutlu olduğunuzda, bunu büyük ölçekte çalıştırabilirsiniz. Kullanıcı açısından bu çok basit: sadece ‘Tespit Et’ düğmesine tıklayabilirsiniz. Ancak büyük görüntüler için, bu biraz daha karmaşıktır. Hızlandırmak, hataları işleyebilmek ve tespitlerin birkaç saat sürmesini önlemek için, büyük tespitleri ızgara hücrelerine ayırır ve her hücre için bağımsız bir tespit işi çalıştırırız. Bu, çok büyük ölçekli tespitleri çalıştırmamızı sağlar. Örneğin, bir müşterimiz Danimarka’nın tamamı üzerinde 25cm çözünürlüklü bir görüntü üzerinde tespit çalıştırdı, bu veri boyutu terapiktedir – tek bir proje için. Benzer bir projeyi bu medium gönderisinde kapsadık.

 

Picterra hakkında paylaşmak istediğiniz başka bir şey var mı?

Sanırım Picterra’nın harika olan yanı, benzersiz bir ürün olması ve ML ile coğrafi arasındaki kesişme noktasında olması. Bizim diğer coğrafi veri işleyen şirketlerden farklı olduğumuz şey, kullanıcılarımıza self-serve bir platform sunmamız. Kullanıcılar, kolayca konumlar bulabilir, kalıpları analiz edebilir ve uydu görüntülerinde nesneleri tespit edebilir ve sayabilir. Bunları yapabilmek için makine öğrenimi gerekli, ancak kullanıcılarımızın temel kodlama becerilerine bile ihtiyacı yok – platform, birkaç insan tarafından oluşturulmuş anotasyonlara dayalı olarak işi yapıyor. Daha derinlemesine öğrenmek isteyenler için, coğrafi alanda makine öğrenimi temel kavramlarını kapsayan kapsamlı bir online kurs başlattık.

Ayrıca, Picterra’nın olası uygulamaları sınırsız – platformda oluşturulan dedektörler, şehir yönetimi, 精密 tarım, orman yönetimi, insani ve afet risk yönetimi, tarım gibi birçok alanda kullanıldı. Aslında, kullanıcılarımızın platformumuzu ne için kullandıklarına her gün şaşırıyoruz. Denemek ve sosyal medyada deneyimlerinizi paylaşmak isteyebilirsiniz.

Harika bir röportaj için teşekkür ederiz ve Picterra’nın ne kadar güçlü olduğunu paylaştığınız için teşekkür ederiz. Daha fazla bilgi öğrenmek isteyen okuyucular, Picterra web sitesini ziyaret edebilir.

Antoine, Unite.AI'nin vizyoner lideri ve kurucu ortağı, AI ve robotik geleceğini şekillendirmeye ve tanıtmaya yönelik sarsılmaz bir tutkuya sahiptir. Bir seri girişimci olarak, AI'nin toplum için elektrik kadar yıkıcı olacağına inanmaktadır ve sık sık yıkıcı teknolojiler ve AGI'nin potansiyeli hakkında konuşmaktadır.

Bir gelecekçi olarak, bu yeniliklerin dünyamızı nasıl şekillendireceğini keşfetmeye adanmıştır. Ayrıca, Securities.io kurucusudur, bu platform geleceği yeniden tanımlayan ve tüm sektörleri yeniden şekillendiren teknolojilere yatırım yapmayı hedeflemektedir.