Transfer Learning: Solusi Efisien untuk Membuat Model Baru dengan Memanfaatkan Pre-trained Model
Dalam mengembangkan model deep learning, dibutuhkan volume dataset yang besar, sumber daya, serta waktu komputasi yang tidak sedikit. Transfer Learning (TL) dapat mengatasi permasalahan ini dengan memanfaatkan pre-trained model yang sudah ada dan disesuaikan dengan kebutuhan yang lebih spesifik. Penyesuaian model ini memungkinkan pembuatan model baru (yang sesuai dengan kebutuhan) dengan biaya yang lebih rendah. Misalnya, jika kita memiliki model machine learning yang sudah dilatih sebelumnya (pre-trained model) untuk mendeteksi gambar anjing, maka kita dapat memanfaatkan pre-trained model tersebut untuk mendeteksi kucing dengan cara melatih pre-trained model menggunakan gambar kucing dalam dataset yang lebih kecil (dan tentu saja biaya komputasinya relatif lebih efisien). Dengan kata lain, kita membuat model untuk mendeteksi gambar kucing bukan dari nol, tetapi dengan memanfaatkan pre-trained model (anjing) yang sebelumnya sudah ada.
Figure 1. How Transfer Learning Works (https://www.techtarget.com/searchcio/definition/transfer-learning)
Berikut adalah cara melakukan transfer learning dari pre-trained model untuk membuat model baru dengan tugas yang baru:
- Pilih model yang telah dilatih sebelumnya: Pilih model yang telah dilatih sebelumnya (pre-trained model) yang memiliki tugas serupa atau mirip (misalnya, sama-sama untuk identifikasi gambar hewan).
- Konfigurasi pre-trained model: Konfigurasikan pre-trained model tersebut untuk meneruskan pengetahuan (transfer learning) kepada model yang akan menyelesaikan tugas terkait.
- Bekukan (keep) layer-layer dari pre-trained model: Dengan membekukan bobot layer-layer dari pre-trained model, berarti “menjaga pengetahuan” dari pre-trained model. (note: Namun, pada beberapa domain yang sangat berbeda, melakukan fine-tuning pada seluruh layer model bisa lebih efektif meskipun membutuhkan lebih banyak sumber daya.)
- Hapus lapisan terakhir: Dalam beberapa kasus, kita dapat menghapus lapisan terakhir dari model yang telah dilatih sebelumnya. Dalam sebagian besar arsitektur ML, lapisan terakhir bersifat khusus tugas. Menghapus lapisan-lapisan terakhir ini membantu kita untuk mengonfigurasi ulang model agar memenuhi persyaratan tugas baru.
- Tambahkan layer(s) baru
- Latih model untuk domain target yang baru
Dengan langkah-langkah tersebut, transfer learning memungkinkan kita untuk memanfaatkan model yang sudah ada (pre-trained model) dan mengadaptasinya dengan lebih efisien, sehingga mempercepat proses pengembangan model baru dengan biaya yang lebih rendah.
Keywords: Machine Learning, Deep Learning, Transfer Learning
SDG: 9 “Industry, Innovation and Infrastructure”
Referensi:
Comments :