Transfer learning adalah penggunaan kembali model yang telah dilatih sebelumnya pada masalah baru. Saat ini sangat populer dalam pembelajaran mendalam karena dapat melatih jaringan saraf dalam dengan data yang relatif sedikit. Ini sangat berguna di bidang ilmu data karena sebagian besar masalah dunia nyata biasanya tidak memiliki jutaan titik data berlabel untuk melatih model kompleks seperti itu. 

Kita akan melihat apa itu transfer learning, bagaimana cara kerjanya, mengapa dan kapan Anda harus menggunakannya. Selain itu, kami akan membahas berbagai pendekatan pembelajaran transfer dan memberi Anda beberapa sumber daya tentang model yang sudah dilatih sebelumnya.

PINDAH BELAJAR

Pembelajaran transfer, yang digunakan dalam pembelajaran mesin, adalah penggunaan kembali model yang telah dilatih sebelumnya pada masalah baru. Dalam transfer learning, mesin mengeksploitasi pengetahuan yang diperoleh dari tugas sebelumnya untuk meningkatkan generalisasi tentang yang lain. Misalnya, dalam melatih pengklasifikasi untuk memprediksi apakah suatu gambar berisi makanan, Anda dapat menggunakan pengetahuan yang diperoleh selama pelatihan untuk mengenali minuman.

 Daftar isi

  • Apa itu?

  • Bagaimana cara kerjanya?

  • Mengapa digunakan?

  • Kapan Anda harus menggunakannya?

  • Pendekatan untuk mentransfer pembelajaran :  Melatih model untuk menggunakannya kembali; Menggunakan model yang sudah terlatih; Ekstraksi fitur

  • Bacaan lebih lanjut

Apa itu Pembelajaran Transfer?

Dalam pembelajaran transfer, pengetahuan tentang model pembelajaran mesin yang sudah terlatih diterapkan pada masalah yang berbeda tetapi terkait. Misalnya, jika Anda melatih pengklasifikasi sederhana untuk memprediksi apakah suatu gambar berisi ransel, Anda dapat menggunakan pengetahuan yang diperoleh model selama pelatihannya untuk mengenali objek lain seperti kacamata hitam.

Dengan pembelajaran transfer, pada dasarnya kami mencoba untuk mengeksploitasi apa yang telah dipelajari dalam satu tugas untuk meningkatkan generalisasi yang lain. Kami mentransfer bobot yang telah dipelajari jaringan di "tugas A" ke "tugas B" baru.

pembelajaran transfer pengetahuan

Ide umumnya adalah menggunakan pengetahuan yang telah dipelajari model dari tugas dengan banyak data pelatihan berlabel yang tersedia dalam tugas baru yang tidak memiliki banyak data. Alih-alih memulai proses pembelajaran dari awal, kita mulai dengan pola yang dipelajari dari menyelesaikan tugas terkait.

Pembelajaran transfer sebagian besar digunakan dalam visi komputer dan tugas pemrosesan bahasa alami seperti analisis sentimen karena sejumlah besar daya komputasi yang diperlukan.

Transfer learning sebenarnya bukan teknik pembelajaran mesin, tetapi dapat dilihat sebagai "metodologi desain" di lapangan, misalnya, pembelajaran aktif. Ini juga bukan bagian eksklusif atau area studi pembelajaran mesin. Namun demikian, ini telah menjadi sangat populer dalam kombinasi dengan jaringan saraf yang membutuhkan sejumlah besar data dan daya komputasi.

 

Cara Kerja Transfer Learning

Dalam visi komputer, misalnya, jaringan saraf biasanya mencoba mendeteksi tepi di lapisan sebelumnya, bentuk di lapisan tengah, dan beberapa fitur khusus tugas di lapisan selanjutnya. Dalam pembelajaran transfer, lapisan awal dan tengah digunakan dan kami hanya melatih kembali lapisan terakhir. Ini membantu memanfaatkan data berlabel dari tugas yang awalnya dilatih.

Mari kembali ke contoh model yang dilatih untuk mengenali ransel pada gambar, yang akan digunakan untuk mengidentifikasi kacamata hitam. Pada layer sebelumnya, model telah belajar mengenali objek, oleh karena itu kita hanya akan melatih ulang layer terakhir sehingga akan mempelajari apa yang membedakan kacamata dengan objek lain.

pengklasifikasi mentransfer pembelajaran

Dalam transfer learning, kami mencoba mentransfer pengetahuan sebanyak mungkin dari tugas sebelumnya yang modelnya dilatih ke tugas baru yang dihadapi. Pengetahuan ini bisa dalam berbagai bentuk tergantung pada masalah dan datanya. Misalnya, bagaimana model disusun, yang memungkinkan kita untuk lebih mudah mengidentifikasi objek baru.

Mengapa Menggunakan Pembelajaran Transfer

Pembelajaran transfer memiliki beberapa keuntungan, tetapi keuntungan utamanya adalah menghemat waktu pelatihan, kinerja jaringan saraf yang lebih baik (dalam banyak kasus), dan tidak membutuhkan banyak data. 

Biasanya, banyak data diperlukan untuk melatih jaringan saraf dari awal, tetapi akses ke data itu tidak selalu tersedia — di sinilah pembelajaran transfer berguna. Dengan pembelajaran transfer, model pembelajaran mesin yang solid dapat dibangun dengan data pelatihan yang relatif sedikit karena modelnya sudah dilatih sebelumnya. Ini sangat berharga dalam pemrosesan bahasa alami karena sebagian besar pengetahuan ahli diperlukan untuk membuat kumpulan data berlabel besar. Selain itu, waktu pelatihan berkurang karena terkadang diperlukan waktu berhari-hari atau bahkan berminggu-minggu untuk melatih jaringan saraf dalam dari awal pada tugas yang kompleks.

Menurut CEO DeepMind Demis Hassabis, pembelajaran transfer juga merupakan salah satu teknik paling menjanjikan yang dapat mengarah pada kecerdasan umum buatan (AGI) suatu hari nanti:

Pembelajaran transfer AGI

 

Kapan Menggunakan Pembelajaran Transfer

Seperti yang selalu terjadi dalam pembelajaran mesin, sulit untuk membentuk aturan yang berlaku secara umum, tetapi berikut adalah beberapa panduan tentang kapan pembelajaran transfer dapat digunakan:

  • Data pelatihan berlabel tidak cukup untuk melatih jaringan Anda dari awal.
  • Sudah ada jaringan yang telah dilatih sebelumnya untuk tugas serupa, yang biasanya dilatih pada sejumlah besar data.
  • Ketika tugas 1 dan tugas 2 memiliki input yang sama.

Jika model asli dilatih menggunakan TensorFlow, Anda cukup memulihkannya dan melatih kembali beberapa lapisan untuk tugas Anda. Namun, perlu diingat bahwa pembelajaran transfer hanya berfungsi jika fitur yang dipelajari dari tugas pertama bersifat umum, yang berarti fitur tersebut juga dapat berguna untuk tugas terkait lainnya. Juga, input dari model harus memiliki ukuran yang sama dengan yang awalnya dilatih. Jika Anda tidak memilikinya, tambahkan langkah pra-pemrosesan untuk mengubah ukuran input Anda ke ukuran yang dibutuhkan.

 

transfer dasar belajar

Pendekatan untuk Mentransfer Pembelajaran

1. MELATIH MODEL UNTUK MENGGUNAKANNYA KEMBALI

Bayangkan Anda ingin menyelesaikan tugas A tetapi tidak memiliki cukup data untuk melatih jaringan saraf dalam. Salah satu cara mengatasinya adalah dengan menemukan tugas B terkait dengan banyak data. Latih jaringan saraf dalam pada tugas B dan gunakan model sebagai titik awal untuk menyelesaikan tugas A. Apakah Anda perlu menggunakan seluruh model atau hanya beberapa lapisan sangat bergantung pada masalah yang Anda coba selesaikan.

Jika Anda memiliki input yang sama di kedua tugas, kemungkinan menggunakan kembali model dan membuat prediksi untuk input baru Anda adalah sebuah pilihan. Atau, mengubah dan melatih kembali lapisan tugas khusus yang berbeda dan lapisan keluaran adalah metode untuk dijelajahi.

2. MENGGUNAKAN MODEL YANG SUDAH TERLATIH

Pendekatan kedua adalah dengan menggunakan model yang sudah dilatih sebelumnya. Ada banyak model ini di luar sana, jadi pastikan untuk melakukan sedikit riset. Berapa banyak lapisan yang akan digunakan kembali dan berapa banyak yang harus dilatih ulang tergantung pada masalahnya. 

Keras, misalnya, menyediakan sembilan model pra-pelatihan yang dapat digunakan untuk pembelajaran transfer, prediksi, ekstraksi fitur, dan penyempurnaan. Anda dapat menemukan model-model ini, dan juga beberapa tutorial singkat tentang cara menggunakannya, di  sini . Ada juga banyak lembaga penelitian yang merilis model terlatih.

Jenis pembelajaran transfer ini paling sering digunakan di seluruh pembelajaran mendalam.

3. EKSTRAKSI FITUR

Pendekatan lain adalah dengan menggunakan pembelajaran mendalam untuk menemukan representasi terbaik dari masalah Anda, yang berarti menemukan fitur yang paling penting. Pendekatan ini juga dikenal sebagai pembelajaran representasi, dan seringkali dapat menghasilkan kinerja yang jauh lebih baik daripada yang dapat diperoleh dengan representasi yang dirancang dengan tangan.

Dalam pembelajaran mesin, fitur biasanya dibuat secara manual oleh peneliti dan pakar domain. Untungnya, deep learning dapat mengekstrak fitur secara otomatis. Tentu saja, ini tidak berarti rekayasa fitur dan pengetahuan domain tidak penting lagi — Anda masih harus memutuskan fitur mana yang Anda masukkan ke dalam jaringan. Yang mengatakan, jaringan saraf memiliki kemampuan untuk mempelajari fitur mana yang benar-benar penting dan mana yang tidak. Algoritma pembelajaran representasi dapat menemukan kombinasi fitur yang baik dalam jangka waktu yang sangat singkat, bahkan untuk tugas-tugas kompleks yang membutuhkan banyak usaha manusia.

Representasi yang dipelajari kemudian dapat digunakan untuk masalah lain juga. Cukup gunakan lapisan pertama untuk melihat representasi fitur yang tepat, tetapi jangan gunakan output jaringan karena terlalu spesifik untuk tugas. Sebagai gantinya, masukkan data ke jaringan Anda dan gunakan salah satu lapisan perantara sebagai lapisan keluaran. Lapisan ini kemudian dapat diartikan sebagai representasi dari data mentah.

Pendekatan ini sebagian besar digunakan dalam visi komputer karena dapat mengurangi ukuran kumpulan data Anda, yang mengurangi waktu komputasi dan membuatnya lebih cocok untuk algoritme tradisional juga.

sumber: https://builtin.com/data-science/transfer-learning

 Copyright stekom.ac.id 2018 All Right Reserved