Bergabunglah bersama kami di ⁠#Android11: The Beta Launch Show pada tanggal 3 Juni!

Mem-build aplikasi yang lebih canggih dengan machine learning

Machine learning (ML) adalah teknik pemrograman yang memberi aplikasi kemampuan untuk secara otomatis belajar dan meningkat berdasarkan pengalaman, tanpa diprogram secara eksplisit untuk melakukannya. Hal ini sangat cocok bagi aplikasi yang memanfaatkan data tidak terstruktur seperti gambar dan teks, atau masalah terkait parameter yang jumlahnya banyak seperti untuk memprediksi tim olahraga yang menang.

Android mendukung berbagai alat dan metode machine learning. Entah Anda developer berpengalaman atau yang baru memulai, kami menyediakan beberapa referensi ML untuk membantu Anda mendapatkan hasil terbaik.

Area Utama Pengembangan ML

Saat mengembangkan aplikasi ML untuk Android, tugas utama Anda adalah mendesain produk, menerapkan algoritma inferensi, dan men-deploy model ML yang sudah ada. Tergantung pada situasinya, Anda juga dapat melatih ulang model yang sudah ada atau membuat dan melatih model baru.

Mendesain untuk Machine Learning

Serupa dengan teknologi lain, penerapan machine learning sebagai sebuah solusi memerlukan kerja sama antara manajer produk, desainer, dan developer untuk menentukan sasaran, desain, build, dan iterasi produk. Google telah menyediakan dua panduan dalam area ini:

Mem-build dan Melatih Model

Machine learning memerlukan model yang dilatih untuk menjalankan tugas tertentu, seperti membuat prediksi, atau mengklasifikasi atau mengenali beberapa input. Anda dapat memilih (dan mungkin menyesuaikan) model yang ada, atau membuat model dari awal. Pembuatan dan pelatihan model dapat dilakukan pada perangkat pengembangan, atau menggunakan infrastruktur cloud.

Pelajari model terlatih

Model terlatih tersedia di ML Kit dan Google Cloud. Baca tentang keduanya lebih lanjut di bagian selanjutnya.

Pelajari cara membuat model Anda sendiri dengan TensorFlow

Untuk pengalaman pengembangan interaktif yang lebih mendalam, Anda dapat menggunakan referensi TensorFlow berikut:

Inferensi

Inferensi adalah proses menggunakan model machine learning yang telah dilatih untuk menjalankan suatu tugas tertentu.

Salah satu keputusan penting yang harus Anda buat sebagai developer Android adalah apakah inferensi akan dijalankan pada perangkat, atau menggunakan layanan cloud yang dapat diakses dari jauh. Berikut adalah beberapa masalah yang perlu diperhitungkan saat membuat keputusan ini:

MasalahInferensi pada perangkatInferensi berbasis cloud
Latensi Latensi yang lebih rendah meningkatkan kualitas pengalaman real time Komunikasi asinkron dan bandwidth yang tersedia dapat memengaruhi latensi.
Resource Resource perangkat tertentu, seperti penyimpanan dan daya pemrosesan, dapat membatasi performa. Resource berbasis cloud lebih andal dan memiliki penyimpanan berlimpah.
Offline/Online Kemampuan untuk beroperasi secara offline merupakan nilai tambah dari menjalankan inferensi dengan infrastruktur jaringan yang lemah atau tidak ada Sambungan jaringan diperlukan
Biaya Penggunaan baterai, waktu download model bagi pengguna akhir Bandwidth untuk transfer data bagi pengguna akhir, biaya komputasi bagi developer
Privasi Data pengguna tetap berada di perangkat Data mungkin keluar dari perangkat, tindakan pengamanan tambahan mungkin diperlukan

Tabel berikut menunjukkan opsi pengembangan yang tersedia untuk setiap jenis inferensi:

Inferensi pada perangkatInferensi berbasis cloud

ML Kit

TensorFlow Lite

TensorFlow Lite dapat digunakan untuk mengirimkan model TensorFlow yang sudah dilatih sebagai solusi pada perangkat:

AutoML

Gunakan AutoML untuk melatih model visi kustom di Google Cloud dan menjalankan model yang dihasilkan di Android serta perangkat edge lainnya:

ML Kit

Google Cloud API

Deployment

Deployment adalah proses pengemasan dan update model ML Anda untuk digunakan di Android ketika melakukan inferensi pada perangkat. Ada tiga opsi yang tersedia:

Menyertakan model dengan aplikasi Android
Model Anda akan di-deploy dengan aplikasi seperti aset lainnya. Agar dapat mengupdate model, aplikasi juga harus diupdate. Ada dua cara untuk menambahkan model ke aplikasi Anda:
Menyediakan model pada waktu proses
Dengan cara ini, Anda dapat mengupdate model secara terpisah dari aplikasi. Cara ini juga menjadikan pengujian A/B lebih mudah. Anda dapat menyajikan model kustom menggunakan fungsi Model Kustom ML Kit atau menghosting download model dengan infrastruktur Anda sendiri.
Kombinasi keduanya
Ada kalanya developer mengemas versi awal model mereka dengan aplikasi Android, sehingga pengguna tidak perlu menunggu model untuk didownload saat mengupdate model ke versi baru.

Untuk model ML Kit terlatih yang dipilih, yaitu pengenalan teks dan pemindaian barcode, developer dapat menggunakan model bersama yang disediakan oleh Layanan Google Play sehingga ukuran APK lebih kecil.

Kisah Developer

Membuat yang tidak mungkin menjadi mungkin

Penambahan ML ke aplikasi Android memberikan cara baru untuk membuat aplikasi yang sebelumnya terlalu sulit untuk dioptimalkan dalam berbagai kondisi (seperti pemindaian barcode yang andal) atau yang bahkan tidak mungkin dilakukan (misalnya deteksi gambar dan sentimen teks).

Fitur

Lose It! adalah aplikasi pemantau kalori untuk menurunkan berat badan. Aplikasi ini membantu menurunkan badan dengan merekam data semua makanan yang Anda konsumsi sehingga Anda mengetahui jumlah kalori yang telah dikonsumsi. Lose It! memanfaatkan text recognition API ML Kit untuk memindai label nutrisi guna mengambil data saat pengguna memasukkan nama makanan baru yang tidak ada dalam library aplikasi.

Fitur

PlantVillage membantu petani mendeteksi penyakit pada tanaman singkong. Penn State University dan International Institute of Tropical Agriculture menggunakan model TensorFlow kustom yang berjalan secara offline di perangkat seluler untuk membantu petani mendeteksi gejala awal penyakit tanaman.

Fitur

Aplikasi Fishbrain menyediakan peta memancing setempat, prakiraan cuaca, dan menghubungkan jutaan pemancing. Fishbrain menggunakan Model Kustom ML Kit untuk menyajikan model TensorFlow Lite kustom yang telah diupdate.