Model dan platform AI

Julien Rebetez, Kepala Insinyur Mesin Pembelajaran di Picterra – Seri Wawancara

mm
Tambahkan Unite.AI ke sumber pilihan Anda di Google

Julien Rebetez, adalah Kepala Perangkat Lunak & Mesin Pembelajaran di Picterra. Picterra menyediakan platform berbasis awan geospatial yang dirancang khusus untuk pelatihan detektor berbasis pembelajaran dalam, dengan cepat dan aman.

Tanpa satu baris kode dan dengan hanya beberapa anotasi buatan manusia, pengguna Picterra membangun dan menerapkan model pembelajaran dalam yang dapat digunakan dan siap digunakan.

Ini memungkinkan analisis otomatis citra satelit dan udara, memungkinkan pengguna untuk mengidentifikasi objek dan pola.

Apa yang menarik Anda untuk mempelajari mesin pembelajaran dan AI?

Saya mulai memprogram karena saya ingin membuat permainan video dan tertarik dengan grafik komputer. Ini membawa saya ke penglihatan komputer, yang merupakan proses terbalik di mana Anda memiliki komputer yang menciptakan lingkungan palsu, dan kemudian Anda memiliki komputer yang memahami lingkungan nyata. Selama studi saya, saya mengambil beberapa kursus Pembelajaran Mesin dan saya tertarik dengan sudut pandang penglihatan komputer. Saya pikir apa yang menarik tentang ML adalah bahwa itu berada di persimpangan antara rekayasa perangkat lunak, algoritma, dan matematika, dan masih terasa sedikit ajaib ketika itu bekerja.

 

Anda telah bekerja dengan menggunakan mesin pembelajaran untuk menganalisis citra satelit selama beberapa tahun sekarang. Apa proyek pertama Anda?

Pertama kali saya terlibat dengan citra satelit adalah proyek Terra-i (untuk mendeteksi deforestasi) dan saya bekerja di atasnya selama studi saya. Saya terkejut dengan jumlah data satelit yang tersedia secara gratis yang diproduksi oleh berbagai badan antariksa (NASA, ESA, dll.). Anda dapat mendapatkan citra reguler planet setiap hari atau sehingga ini adalah sumber daya yang sangat baik untuk banyak aplikasi ilmiah.

 

Apakah Anda dapat membagikan lebih banyak detail tentang proyek “Terra-i”?

Proyek Terra-i (http://terra-i.org/terra-i.html) dimulai oleh Profesor Andrez Perez-Uribe, dari HEIG-VD (Swiss) dan sekarang dipimpin oleh Louis Reymondin, dari CIAT (Kolombia). Ide proyek ini adalah untuk mendeteksi deforestasi menggunakan citra satelit yang tersedia secara gratis. Pada saat itu, kami bekerja dengan citra MODIS (resolusi piksel 250m) karena menyediakan cakupan yang seragam dan dapat diprediksi (baik spasial maupun temporal). Kami akan mendapatkan pengukuran untuk setiap piksel setiap beberapa hari dan dari seri waktu pengukuran ini, Anda dapat mencoba mendeteksi anomali atau kebaruan seperti yang kita sebut dalam ML.

Proyek ini sangat menarik karena jumlah data adalah tantangan pada saat itu dan ada juga beberapa rekayasa perangkat lunak yang terlibat untuk membuatnya bekerja pada beberapa komputer dan sebagainya. Dari sisi ML, itu menggunakan Jaringan Saraf Bayesian (tidak terlalu dalam pada saat itu) untuk memprediksi apa yang seharusnya terjadi pada seri waktu piksel. Jika pengukuran tidak sesuai dengan prediksi, maka kita akan memiliki anomali.

Sebagai bagian dari proyek ini, saya juga bekerja pada penghapusan awan. Kami mengambil pendekatan pemrosesan sinyal tradisional, di mana Anda memiliki seri waktu pengukuran dan beberapa di antaranya akan sepenuhnya salah karena awan. Kami menggunakan pendekatan berbasis Fourier (HANTS) untuk membersihkan seri waktu sebelum mendeteksi kebaruan di dalamnya. Salah satu kesulitan adalah bahwa jika kita membersihkannya terlalu kuat, kita juga akan menghapus kebaruan, sehingga ada beberapa eksperimen untuk dilakukan untuk menemukan parameter yang tepat.

 

Anda juga merancang dan menerapkan sistem pembelajaran dalam untuk klasifikasi jenis tanaman secara otomatis dari citra udara (drone) ladang. Apa tantangan utama pada saat itu?

Ini adalah pertama kali saya benar-benar terlibat dengan Pembelajaran Dalam. Pada saat itu, saya pikir tantangan utama lebih pada membuat kerangka kerja berjalan dan menggunakan GPU dengan benar daripada pada ML itu sendiri. Kami menggunakan Theano, yang merupakan salah satu pendahulu Tensorflow.

Tujuan proyek ini adalah untuk mengklasifikasikan jenis tanaman di ladang, dari citra drone. Kami mencoba pendekatan di mana Model Pembelajaran Dalam menggunakan histogram warna sebagai input, bukan hanya citra mentah. Untuk membuat ini bekerja dengan cukup cepat, saya ingat harus menerapkan lapisan kustom Theano, semua jalan ke beberapa kode CUDA. Itu adalah pengalaman belajar yang sangat baik pada saat itu dan cara yang baik untuk memahami detail teknis Pembelajaran Dalam.

 

Anda secara resmi adalah Kepala Perangkat Lunak dan Mesin Pembelajaran di Picterra. Bagaimana Anda dapat menjelaskan kegiatan sehari-hari Anda?

Ini benar-benar bervariasi, tetapi sebagian besar tentang memantau arsitektur sistem secara keseluruhan dan produk secara umum, serta berkomunikasi dengan berbagai pemangku kepentingan. Meskipun ML adalah inti bisnis kami, Anda dengan cepat menyadari bahwa sebagian besar waktu tidak dihabiskan pada ML itu sendiri, tetapi semua hal di sekitarnya: manajemen data, infrastruktur, UI/UX, prototyping, memahami pengguna, dan sebagainya. Ini adalah perubahan yang cukup besar dari Akademia atau pengalaman sebelumnya di perusahaan besar di mana Anda lebih fokus pada masalah tertentu.

Apa yang menarik tentang Picterra adalah bahwa kami tidak hanya menjalankan Model Pembelajaran Dalam untuk pengguna, tetapi kami juga memungkinkan mereka untuk melatih model mereka sendiri. Ini berbeda dari alur kerja ML yang khas di mana Anda memiliki tim ML yang melatih model dan kemudian menerbitkannya ke produksi. Ini berarti bahwa kami tidak dapat secara manual memainkan dengan parameter pelatihan seperti yang biasanya Anda lakukan. Kami harus menemukan metode pelatihan yang akan bekerja untuk semua pengguna kami. Ini membawa kami untuk menciptakan apa yang kami sebut ‘kerangka eksperimen’, yang merupakan repositori besar dataset yang mensimulasikan data pelatihan yang pengguna kami akan bangun di platform. Kami kemudian dapat dengan mudah menguji perubahan pada metodologi pelatihan kami terhadap dataset ini dan mengevaluasi apakah mereka membantu atau tidak. Jadi, bukan mengevaluasi satu model, kami lebih mengevaluasi arsitektur + metodologi pelatihan.

Tantangan lainnya adalah bahwa pengguna kami bukanlah praktisi ML, sehingga mereka tidak selalu tahu apa itu set pelatihan, apa itu label, dan sebagainya. Membangun UI untuk memungkinkan non-praktisi ML membangun dataset dan melatih model ML adalah tantangan konstan, dan ada banyak bolak-balik antara tim UX dan ML untuk memastikan kami membimbing pengguna ke arah yang tepat.

 

Beberapa tanggung jawab Anda termasuk prototyping ide dan teknologi baru. Apa beberapa proyek yang paling menarik yang Anda telah kerjakan?

Saya pikir yang paling menarik di Picterra adalah prototipe Detektor Kustom. 1,5 tahun yang lalu, kami memiliki detektor ‘built-in’ di platform: detektor yang kami latih sendiri dan buat tersedia untuk pengguna. Misalnya, kami memiliki detektor bangunan, detektor mobil, dan sebagainya.

Ini sebenarnya adalah alur kerja ML yang khas: Anda memiliki insinyur ML yang mengembangkan model untuk kasus tertentu dan kemudian Anda melayaninya kepada klien.

Tapi kami ingin melakukan sesuatu yang berbeda dan mendorong batas sedikit. Jadi kami berkata: “Bagaimana jika kami memungkinkan pengguna untuk melatih model mereka sendiri langsung di platform?” Ada beberapa tantangan untuk membuat ini bekerja: pertama, kami tidak ingin ini memakan waktu beberapa jam. Jika Anda ingin menjaga perasaan interaktif, pelatihan harus memakan waktu beberapa menit saja. Kedua, kami tidak ingin memerlukan ribuan anotasi, yang biasanya diperlukan untuk model Pembelajaran Dalam yang besar.

Jadi kami memulai dengan model yang sangat sederhana, melakukan beberapa tes di Jupyter, dan kemudian mencoba mengintegrasikan ke dalam platform dan menguji alur kerja secara keseluruhan, dengan UI dasar dan sebagainya. Awalnya, itu tidak bekerja dengan baik dalam sebagian besar kasus, tetapi ada beberapa kasus di mana itu bekerja. Ini memberi kami harapan dan kami mulai mengulangi metodologi pelatihan dan model. Setelah beberapa bulan, kami dapat mencapai titik di mana itu bekerja dengan baik, dan sekarang kami memiliki pengguna yang menggunakan ini sepanjang waktu.

Apa yang menarik tentang ini adalah tantangan ganda menjaga pelatihan tetap cepat (saat ini beberapa menit) dan oleh karena itu model tidak terlalu kompleks, tetapi pada saat yang sama membuatnya cukup kompleks sehingga itu bekerja dan memecahkan masalah pengguna. Di atas itu, itu bekerja dengan sedikit (<100) label untuk banyak kasus.

Kami juga menerapkan banyak “Aturan Pembelajaran Mesin” Google (GOOGL ), terutama yang tentang menerapkan pipa keseluruhan dan metrik sebelum memulai optimasi model. Ini memasukkan Anda ke dalam mode “pemikiran sistem” di mana Anda menyadari bahwa tidak semua masalah Anda harus ditangani oleh inti ML, tetapi beberapa di antaranya dapat dipindahkan ke UI, beberapa di antaranya dapat diproses sebelum/disesudah, dan sebagainya.

 

Apakah ada teknologi pembelajaran mesin yang digunakan di Picterra?

Di produksi, kami saat ini menggunakan Pytorch untuk melatih dan menjalankan model kami. Kami juga menggunakan Tensorflow dari waktu ke waktu, untuk beberapa model khusus yang dikembangkan untuk klien. Selain itu, ini adalah tumpukan ilmiah Python yang cukup standar (numpy, scipy) dengan beberapa perpustakaan geospatial (gdal) yang dimasukkan.

 

Bagaimana Picterra bekerja di backend ketika seseorang mengunggah gambar dan ingin melatih jaringan saraf untuk mengannotate objek dengan benar?

Pastinya, jadi pertama kali Anda mengunggah gambar, kami memprosesnya dan menyimpannya dalam format “Cloud-Optimized-Geotiff” (COG) di blobstore kami (Google Cloud Storage), yang memungkinkan kami untuk mengakses blok gambar dengan cepat tanpa harus mengunduh gambar secara keseluruhan nanti. Ini adalah poin kunci karena citra geospatial dapat sangat besar: kami memiliki pengguna yang secara teratur bekerja dengan gambar 50000×50000.

Kemudian, untuk melatih model Anda, Anda akan harus membuat dataset pelatihan Anda melalui UI web kami. Anda akan melakukannya dengan mendefinisikan 3 jenis area:

  1. ‘area pelatihan’, di mana Anda akan menggambar label pelatihan
  2. ‘area pengujian’, di mana model akan memprediksi untuk memungkinkan Anda memvisualisasikan beberapa hasil
  3. ‘area akurasi’, di mana Anda akan menggambar label juga, tetapi label tersebut tidak digunakan untuk pelatihan, hanya untuk skoring

Sekali Anda telah membuat dataset ini, Anda dapat dengan mudah mengklik ‘Latih’ dan kami akan melatih detektor untuk Anda. Apa yang terjadi selanjutnya adalah bahwa kami mengantrekan pekerjaan pelatihan, memiliki salah satu pekerja GPU kami untuk mengambilnya (pekerja GPU baru dimulai secara otomatis jika ada banyak pekerjaan bersamaan), melatih model Anda, menyimpan bobot model ke blobstore, dan akhirnya memprediksi di ‘area pengujian’ untuk ditampilkan di UI. Dari sana, Anda dapat mengulangi model Anda. Biasanya, Anda akan menemukan beberapa kesalahan di ‘area pengujian’ dan menambahkan ‘area pelatihan’ untuk membantu model memperbaiki.

Sekali Anda puas dengan skor model Anda, Anda dapat menjalankannya dalam skala besar. Dari sudut pandang pengguna, ini sangat sederhana: cukup klik ‘Deteksi’ di sebelah gambar yang ingin Anda jalankan. Tapi ini sedikit lebih rumit di balik layar jika gambar sangat besar. Untuk mempercepat, menangani kegagalan, dan menghindari deteksi yang memakan waktu beberapa jam, kami memecah deteksi besar menjadi grid sel dan menjalankan pekerjaan deteksi independen untuk setiap sel. Ini memungkinkan kami untuk menjalankan deteksi skala besar. Misalnya, kami memiliki pelanggan yang menjalankan deteksi di seluruh Denmark pada citra 25cm, yang berada dalam kisaran TB data – untuk satu proyek. Kami telah mencakup proyek serupa dalam pos medium ini.

 

Apakah ada yang ingin Anda bagikan tentang Picterra?

Saya pikir apa yang hebat tentang Picterra adalah bahwa itu adalah produk unik, di persimpangan antara ML dan Geospatial. Apa yang membedakan kami dari perusahaan lain yang memproses data geospatial adalah bahwa kami memungkinkan pengguna kami untuk memiliki platform self-serve. Mereka dapat dengan mudah menemukan lokasi, menganalisis pola, dan mendeteksi serta menghitung objek pada citra pengamatan bumi. Ini tidak mungkin tanpa pembelajaran mesin, tetapi pengguna kami tidak perlu memiliki keterampilan pemrograman dasar – platform melakukan pekerjaan berdasarkan beberapa anotasi buatan manusia. Untuk mereka yang ingin mempelajari lebih dalam dan memahami konsep inti pembelajaran mesin di domain geospatial, kami telah meluncurkan kursus online komprehensif.

Apa yang juga patut disebutkan adalah bahwa aplikasi yang mungkin dari Picterra tidak terbatas – detektor yang dibangun di platform telah digunakan dalam manajemen kota, pertanian presisi, manajemen hutan, manajemen bencana dan risiko kemanusiaan, pertanian, dan sebagainya, hanya untuk menyebutkan beberapa aplikasi yang paling umum. Kami secara harian terkejut oleh apa yang pengguna kami coba lakukan dengan platform kami. Anda dapat mencobanya dan memberi tahu kami bagaimana itu bekerja di media sosial.

Terima kasih atas wawancara yang luar biasa dan untuk berbagi dengan kami bagaimana Picterra begitu kuat, pembaca yang ingin mempelajari lebih lanjut harus mengunjungi situs web Picterra.

Antoine adalah seorang pemimpin visioner dan rekan pendiri Unite.AI, yang dipandu oleh semangat tak tergoyahkan untuk membentuk dan mempromosikan masa depan AI dan robotika. Sebagai seorang wirausaha serial, ia percaya bahwa AI akan menjadi sangat mengganggu masyarakat seperti listrik, dan sering tertangkap berbicara tentang potensi teknologi disruptif dan AGI.

Sebagai seorang futuris, ia berdedikasi untuk mengeksplorasi bagaimana inovasi ini akan membentuk dunia kita. Selain itu, ia adalah pendiri Securities.io, sebuah platform yang berfokus pada investasi di teknologi-teknologi canggih yang mendefinisikan kembali masa depan dan membentuk kembali seluruh sektor.