Cara Mudah Menyesuaikan Model Machine Learning

1. Pengantar

2a934d0e86f14118.png

Terakhir diupdate: 28-03-2022

Machine Learning

Machine learning merupakan area yang berkembang dengan sangat cepat. Riset dan potensi baru dirilis setiap hari, sehingga kasus penggunaan yang sebelumnya tidak mungkin dilakukan menjadi mungkin.

Rilis berikut ini biasanya memiliki model. Model dapat dipahami sebagai persamaan Matematika yang sangat panjang, yang dengan input (misalnya: gambar) akan menghasilkan output (misalnya: klasifikasi)

  • Lalu bagaimana caranya menggunakan salah satu model baru ini dengan data Anda sendiri?
  • Bagaimana Anda dapat memanfaatkan model canggih ini untuk kasus penggunaan atau di aplikasi Anda?

Codelab ini akan memandu Anda menjalani proses penyesuaian model machine learning ke data Anda sendiri dengan mudah.

Membuat dan melatih model Machine Learning memiliki banyak tantangan:

  • Memerlukan banyak waktu.
  • Menggunakan data dalam jumlah besar.
  • Memerlukan keahlian di beberapa bidang, seperti Matematika dan Statistik.
  • Memerlukan banyak materi: beberapa model mungkin memerlukan waktu pelatihan selama beberapa hari.

Membuat arsitektur model yang baru memerlukan banyak waktu, dan mungkin membutuhkan banyak eksperimen serta pengalaman selama bertahun-tahun. Namun, bagaimana jika Anda dapat memanfaatkan semua pengetahuan tersebut dan menggunakannya pada data Anda sendiri hanya dengan menyesuaikan perkembangan mutakhir untuk masalah Anda sendiri? Anda dapat menggunakan teknik yang disebut Pemelajaran Transfer.

Dalam codelab ini, Anda akan mempelajari cara melakukan Pemelajaran Transfer, cara kerjanya, dan waktu untuk menggunakannya.

Yang akan Anda pelajari

  • Pengertian Pemelajaran Transfer dan waktu penggunaannya.
  • Cara menggunakan Pemelajaran Transfer.
  • Cara menyempurnakan model.
  • Cara menggunakan TensorFlow Lite Model Maker.
  • Cara menggunakan TensorFlow Hub.

Yang Anda butuhkan

  • Semua kode dijalankan menggunakan Google Colaboratory sehingga Anda tidak perlu menginstal apa pun di komputer Anda. Anda hanya memerlukan akses ke internet dan Akun Google untuk login ke Colab.
  • Pengetahuan dasar tentang TensorFlow dan Keras API.
  • Pengetahuan tentang Python.

Jika Anda belum memiliki pengetahuan dasar mengenai TensorFlow atau Machine Learning, Anda tetap dapat mempelajari Pemelajaran Transfer. Baca langkah berikutnya, yaitu "Apa yang dimaksud dengan Pemelajaran Transfer" untuk mengetahui teori di balik teknik, lalu lanjutkan ke "Pemelajaran Transfer dengan Model Maker". Jika Anda ingin mempelajari lebih lanjut dan melihat prosesnya secara lebih mendetail, Anda akan mempelajarinya di bagian mengenai Pemelajaran Transfer dengan TensorFlow Hub.

2. Apa yang dimaksud dengan Pemelajaran Transfer?

Model terlatih adalah jaringan tersimpan yang sebelumnya dilatih pada set data besar, biasanya pada tugas klasifikasi gambar berskala besar. Anda dapat menggunakan model terlatih sebagaimana adanya, atau menggunakan pemelajaran transfer untuk menyesuaikan model ini ke tugas tertentu.

Intuisi di balik pemelajaran transfer untuk klasifikasi gambar adalah jika model dilatih pada set data yang besar dan cukup umum, model ini akan secara efektif berfungsi sebagai model generik di dunia visual. Anda kemudian dapat memanfaatkan peta fitur yang dipelajari ini tanpa harus memulai dari awal dengan melatih model besar pada set data besar.

Ada dua cara untuk menyesuaikan Model Machine Learning

  • Ekstraksi Fitur: Gunakan representasi yang dipelajari oleh jaringan sebelumnya untuk mengekstrak fitur signifikan dari sampel baru. Anda cukup menambahkan pengklasifikasi baru yang dilatih dari awal, di atas model terlatih. Dengan begitu, Anda dapat menggunakan kembali peta fitur yang dipelajari sebelumnya untuk set data. Anda tidak perlu melatih (kembali) seluruh model. Jaringan konvolusi dasar sudah berisi fitur yang secara umum berguna untuk mengklasifikasikan gambar. Namun, bagian klasifikasi akhir dari model terlatih dikhususkan untuk tugas klasifikasi asli, dan selanjutnya khusus untuk kumpulan class tempat model dilatih.
  • Penyempurnaan: Cairkan beberapa lapisan atas dari dasar model yang beku dan gabungkan kedua lapisan pengklasifikasi yang baru ditambahkan dan lapisan terakhir model dasar. Dengan begitu, kita dapat "menyempurnakan" representasi fitur dengan urutan yang lebih tinggi dalam model dasar agar lebih relevan untuk tugas tertentu.

Meskipun ekstraksi fitur bersifat lebih cepat untuk dilatih, tetapi Anda dapat memperoleh hasil yang lebih baik dengan Penyempurnaan.

Anda akan mencoba keduanya (Ekstraksi Fitur dan Penyempurnaan) menggunakan dua cara yang berbeda untuk melakukan Pemelajaran Transfer:

  • Library TensorFlow Lite Model Maker secara otomatis melakukan sebagian besar pipeline data dan pembuatan model, sehingga mempermudah prosesnya. Model yang dihasilkan juga dapat diekspor dengan mudah untuk digunakan pada perangkat seluler dan browser.
  • Model TensorFlow Hub memanfaatkan repositori besar model machine learning yang tersedia di TensorFlow Hub. Peneliti dan komunitas berkontribusi terhadap model ini, sehingga model yang canggih dapat tersedia jauh lebih cepat dan lebih beragam.

3 Pemelajaran Transfer dengan Model Maker

Setelah mengetahui ide di balik Pemelajaran Transfer, mari kita mulai menggunakan library TensorFlow Lite Model Maker, yakni sebuah alat untuk membantu Anda melakukannya dengan mudah.

Library TensorFlow Lite Model Maker adalah lib open source yang menyederhanakan proses Pemelajaran Transfer dan membuat prosesnya jauh lebih mudah dipahami oleh developer non-ML, seperti developer Seluler dan Web.

Notebook Colab akan memandu Anda melalui langkah-langkah berikut:

  • Memuat data.
  • Memisahkan data.
  • Membuat dan melatih model
  • Mengevaluasi model.
  • Mengekspor model.

Setelah langkah ini, Anda dapat mulai melakukan Pemelajaran Transfer dengan data Anda sendiri, dengan mengikuti proses yang sama persis.

Colaboratory

Selanjutnya, buka Google Colab untuk melatih model kustom.

Perlu waktu sekitar 15 menit untuk membaca penjelasan dan memahami dasar-dasar notebook.

Kelebihan:

  • Cara mudah untuk menyesuaikan model.
  • Tidak perlu memahami TensorFlow atau Keras API.
  • Alat open source yang dapat diubah jika pengguna memerlukan sesuatu yang belum diimplementasikan.
  • Mengekspor model secara langsung untuk dijalankan pada perangkat seluler atau browser.

Kekurangan

  • Kemungkinan konfigurasi lebih kecil daripada pembuatan pipeline dan model lengkap sendiri, seperti dengan dua metode sebelumnya
  • Bahkan saat memilih model dasar, tidak semua model dapat digunakan sebagai dasar.
  • Tidak cocok untuk data berukuran besar yang pipeline datanya lebih kompleks.

4. Temukan model di TensorFlow Hub

Pada akhir kursus ini, Anda akan dapat:

  • Menemukan model Machine Learning di TensorFlow Hub.
  • Memahami koleksi.
  • Memahami berbagai jenis model.

Untuk melakukan Pemelajaran Transfer, Anda perlu memulai dengan dua hal berikut:

  • Data, misalnya gambar dari subjek yang ingin Anda kenali.
  • Model dasar yang dapat disesuaikan dengan data Anda.

Bagian data biasanya bergantung pada bisnis, tetapi cara yang paling mudah adalah dengan mengambil banyak gambar dari hal yang ingin Anda kenali. Namun, bagaimana dengan model dasarnya? Di mana Anda dapat menemukannya? di sinilah peran TensorFlow Hub.

TensorFlow Hub adalah repositori model untuk kebutuhan model TensorFlow Anda.

Anda dapat menelusuri dan membaca dokumentasi ribuan model yang tersedia untuk Anda gunakan. Banyak dari model tersebut yang siap untuk Pemelajaran Transfer dan Penyempurnaan.

Menelusuri model

Pertama, lakukan penelusuran sederhana terhadap model yang akan digunakan di TensorFlow Hub yang dapat Anda gunakan di kode Anda nanti.

Langkah 1: Di browser, buka situs tfhub.dev.

gambar halaman utama tfhub.dev

Untuk Pemelajaran Transfer di domain gambar, kita memerlukan Vektor Fitur. Vektor Fitur mirip seperti model klasifikasi, tetapi tanpa kepala klasifikasi.

Vektor Fitur dapat mengonversi gambar menjadi representasi numerik di ruang ke-N (di mana N merupakan jumlah dimensi lapisan output model).

Di TFHub, Anda dapat menelusuri khususnya Vektor Fitur dengan mengklik kartu tertentu.

Gambar halaman tfhub.dev dengan persegi yang memperjelas tugas vektor fitur

Anda juga dapat menelusuri nama model dengan filter di sebelah kiri untuk hanya menampilkan Image feature vectors.

Ini adalah gambar halaman penelusuran dari tfhub.dev setelah memilih tugas vektor fitur di halaman utama

Kartu dengan ikon biru adalah koleksi model. Jika Anda mengklik koleksi gambar, Anda akan memiliki akses ke banyak model serupa yang dapat dipilih. Mari kita pilih koleksi gambar.

Ini adalah halaman Koleksi gambar dari tfhub.dev

Scroll ke bawah, lalu pilih MobileNet V3. Semua vektor fitur dapat digunakan.

Ini adalah halaman Koleksi gambar dari tfhub.dev yang di-scroll sedikit dari halaman sebelumnya

Di halaman detail model, Anda dapat membaca semua dokumentasi untuk model, melihat cuplikan kode untuk mencoba model, atau bahkan mencobanya langsung di Notebook Colab.

Halaman detail model vektor fitur mobilenetV3

Untuk saat ini, yang Anda butuhkan hanyalah URL di bagian atas. Itu adalah handle model dan cara mudah untuk mengakses model dari library TensorFlow Hub.

5. Pemelajaran Transfer dengan TensorFlow Hub

Setelah memilih model yang akan digunakan, mari kita sesuaikan model dengan memuatnya menggunakan metode KerasLayer dari library TensorFlow Hub.

Metode ini memuat model dengan cara yang dapat digunakan sebagai lapisan pada model, sehingga Anda dapat membuat model di sekitar lapisan ini.

Sebelumnya, saat Anda mempelajari cara menggunakan Model Maker, semua hal internal disembunyikan dari Anda agar lebih mudah dipahami. Sekarang, Anda akan melihat hal yang dilakukan Model Maker di balik layar.

Colaboratory

Selanjutnya, buka Google Colab untuk melatih model kustom.

Perlu waktu sekitar 20 menit untuk membaca penjelasan dan memahami dasar-dasar notebook.

Kelebihan:

  • Ribuan model yang tersedia yang dikontribusikan oleh Peneliti dan komunitas, dilatih pada berbagai set data.
  • Model untuk semua tugas, seperti visi, teks, dan audio.
  • Mudah untuk bereksperimen dengan berbagai model yang serupa. Dengan mengubah model dasar, perubahan satu string saja mungkin diperlukan.

Kekurangan

  • Masih membutuhkan keahlian TensorFlow/Keras untuk menggunakan model tersebut.

Jika Anda ingin memahaminya lebih mendalam, Anda juga dapat melakukan Pemelajaran Transfer menggunakan Aplikasi Keras. Proses ini sangat mirip dengan penggunaan TensorFlow Hub, tetapi hanya dengan TensorFlow API inti.

6. Selamat

Selamat, Anda telah mempelajari apa itu Pemelajaran Transfer dan cara menerapkannya pada data Anda sendiri.

Dalam Codelab ini, Anda telah mempelajari cara menyesuaikan model Machine Learning ke data Anda sendiri menggunakan teknik yang disebut Pemelajaran Transfer

Anda sudah mencoba 2 bentuk Pemelajaran Transfer:

  • Menggunakan alat seperti TensorFlow Lite Model Maker.
  • Menggunakan Vektor Fitur dari TensorFlow Hub.

Kedua opsi tersebut memiliki kelebihan dan kekurangan, serta berbagai kemungkinan konfigurasi untuk kebutuhan khusus Anda.

Anda juga mempelajari bahwa model dapat ditingkatkan lebih lanjut dan menyempurnakannya dengan mengubah bobotnya sedikit lebih banyak agar lebih cocok dengan data Anda.

Kedua opsi tersebut dapat digunakan untuk menyempurnakan model.

Pemelajaran Transfer dan penyempurnaan tidak hanya untuk model terkait gambar. Karena tujuannya adalah menggunakan representasi domain yang telah dipelajari untuk disetel ke set data Anda, ide tersebut juga dapat digunakan untuk domain Teks dan Audio.

Langkah Berikutnya

  • Cobalah dengan data Anda sendiri.
  • Beri tahu kami apa saja yang Anda buat dan tag TensorFlow di media sosial dengan project Anda.

Pelajari Lebih Lanjut

Ada Pertanyaan?