1,365 bacaan
1,365 bacaan

Cara Mengajar Model AI Kecil Semua Yang Orang Besar Tahu

oleh Raviteja Reddy Ganta7m2025/03/12
Read on Terminal Reader

Terlalu panjang; Untuk membaca

Penyulingan pengetahuan ialah teknik dalam AI di mana model (pelajar) yang lebih kecil, lebih cekap belajar daripada model (guru) yang lebih besar dan berkuasa. Pelajar meniru output guru, selalunya menggunakan label lembut dan perwakilan pertengahan, untuk mencapai prestasi yang sama dengan pengurangan kos pengiraan.
featured image - Cara Mengajar Model AI Kecil Semua Yang Orang Besar Tahu
Raviteja Reddy Ganta HackerNoon profile picture

Jadual Kandungan

  1. pengenalan
  2. Ilmu Gelap
  3. Prosedur Penyulingan
  4. Eksperimen pada MNIST
  5. Percubaan tambahan pada MNIST

1. Pengenalan

Dalam artikel ini, saya akan meneroka proses penyulingan pengetahuan dalam AI —cara ia berfungsi secara umum, kepentingannya dan sebab untuk menggunakannya.


Bagaimanakah kita boleh memampatkan dan memindahkan pengetahuan daripada model atau ensemble model yang lebih besar (yang dilatih pada set data yang sangat besar untuk mengekstrak struktur daripada data) kepada satu model kecil tanpa banyak penurunan dalam prestasi?


Tetapi mengapa kita mahu melakukan ini? Mengapakah kita memerlukan model yang lebih kecil apabila model atau model ensemble yang lebih besar sudah memberikan hasil yang hebat pada data ujian?


Pada masa latihan, kami biasanya melatih model besar/ensembel kerana matlamat utama adalah untuk mengekstrak struktur daripada set data yang sangat besar. Kami juga boleh menggunakan banyak perkara seperti keciciran, penambahan data pada waktu kereta api untuk memberi semua jenis data kepada model besar ini.


Tetapi pada masa ramalan objektif kami sama sekali berbeza. Kami mahu mendapatkan hasil secepat mungkin. Oleh itu, menggunakan model yang lebih besar/ensemble adalah sangat mahal dan akan menghalang penggunaan kepada sejumlah besar pengguna. Jadi, sekarang persoalannya ialah bagaimana kita boleh memampatkan pengetahuan daripada model yang lebih besar ini kepada model yang lebih kecil yang boleh digunakan dengan mudah.


Geoffrey Hinton, Oriol Vinyals, dan Jeff Dean dari google melalui kertas kerja mereka menghasilkan jenis latihan yang berbeza yang dipanggil penyulingan untuk memindahkan pengetahuan ini kepada model yang lebih kecil. Ini adalah teknik yang sama yang digunakan untuk berpeluk muka dalam pelaksanaan Distill BERT mereka.



Jika kita boleh melatih model yang lebih kecil ini untuk membuat generalisasi dengan cara yang sama seperti model yang besar, maka model yang lebih kecil ini yang dilatih dengan cara ini akan melakukan lebih baik daripada model yang lebih kecil yang dilatih pada data yang sama tetapi dengan cara biasa. Ini adalah salah satu prinsip utama di sebalik Penyulingan

2. Ilmu Gelap

Biasanya, dalam pembelajaran Mesin, model yang belajar mendiskriminasi antara sebilangan besar kelas, objektif latihan utama adalah untuk memaksimumkan purata kebarangkalian log jawapan yang betul. Sebagai contoh, ambil contoh set data MNIST di mana matlamatnya adalah untuk mengklasifikasikan imej sama ada ia adalah 1 atau 2 atau … 9. Jadi jika imej sebenar ialah 2 maka objektif mana-mana model adalah untuk memaksimumkan P(2/imejnya) (yang boleh dibaca sebagai kebarangkalian bahawa imej tertentu ialah 2 jika diberikan imej). Tetapi model itu juga memberikan kebarangkalian kepada semua jawapan yang salah walaupun kebarangkalian tersebut sangat kecil, sesetengah daripadanya jauh lebih besar daripada yang lain. Intinya ialah walaupun kebarangkalian ini kecil, kebarangkalian relatif jawapan yang salah memberitahu kita banyak tentang bagaimana model itu boleh digeneralisasikan. Untuk memahaminya, mari kita lihat contoh di bawah.


Dalam rajah di atas, versi 2 ini diberi kebarangkalian 10-6 sebagai 3 dan 10-9 sebagai 7 manakala untuk versi lain ia mungkin sebaliknya. Ini adalah maklumat berharga yang mentakrifkan struktur persamaan yang kaya ke atas data (iaitu ia mengatakan yang 2 kelihatan seperti 3 dan yang kelihatan seperti 7) tetapi ia mempunyai pengaruh yang sangat kecil pada fungsi kos entropi silang semasa peringkat pemindahan kerana kebarangkalian adalah sangat hampir dengan sifar.


Tetapi sebelum kita beralih kepada prosedur penyulingan, mari kita luangkan masa tentang bagaimana model sebenarnya menghasilkan kebarangkalian keluaran. Di sinilah pengaktifan softmax masuk. Langkah terakhir pemprosesan model ialah softmax dan komponen inilah yang memberikan kebarangkalian keluaran. Input kepada softmax dipanggil logits dan kami mereka bentuk lapisan akhir NN sedemikian rupa sehingga bilangan unit tersembunyi = bilangan kelas yang ingin kami klasifikasikan.

Formula untuk mengira softmax diberikan sebagai

Persamaan di atas memberikan kebarangkalian untuk setiap i dan jumlah semua kebarangkalian keseluruhan i sama dengan 1. Semasa masa latihan, kerugian untuk mana-mana contoh latihan tunggal dikira dengan membandingkan kebarangkalian softmax ini dengan sasaran keras(label) dan menggunakan pekali rambatan belakang dikemas kini sehingga kerugian adalah minimum.


Seperti yang dilihat di atas softmax ini memberikan kebarangkalian tinggi kepada label yang benar dan kebarangkalian rendah untuk label yang salah. Kami juga melihat bahawa kebarangkalian jawapan yang salah walaupun kecil, mempunyai banyak maklumat tersembunyi di dalamnya yang membantu model untuk digeneralisasikan. Kami panggil Pengetahuan Gelap ini

3. Prosedur Penyulingan

Menurut kertas itu, cara terbaik untuk memindahkan keupayaan generalisasi model yang lebih besar kepada model kecil adalah dengan menggunakan kebarangkalian kelas yang dihasilkan oleh model rumit sebagai sasaran lembut untuk melatih model kecil.


Jadi prosesnya adalah seperti berikut:

  • Ambil set latihan asal yang digunakan untuk melatih model yang lebih besar kemudian hantar data latihan itu melalui model yang lebih besar dan dapatkan kebarangkalian softmax ke atas kelas yang berbeza. Seperti yang dilihat di atas, label yang benar akan mendapat kebarangkalian yang tinggi dan label yang salah akan mendapat kebarangkalian yang rendah. Tetapi kami melihat kebarangkalian rendah ini mempunyai banyak maklumat yang tersembunyi di dalamnya. Jadi untuk memperbesar kepentingan kebarangkalian ini, pengarang kertas menggunakan pembolehubah yang dipanggil Suhu(T) untuk membahagikan semua logit sebelum melalui softmax. Ini menghasilkan taburan kebarangkalian yang lebih lembut ke atas kelas. Kita boleh lihat di bawah


Output menggunakan softmax dengan suhu(T) ialah apa yang kita panggil Sasaran lembut. Proses ini adalah apa yang penulis panggil penyulingan . Analogi dengan mengeluarkan kekotoran dalam air dengan meningkatkan suhu


  • Banyak maklumat tentang fungsi yang dipelajari daripada model besar berada dalam nisbah kebarangkalian yang sangat kecil dalam sasaran lembut.
  • Beberapa istilah:
  1. Sasaran lembut - output daripada model besar selepas suhu T telah digunakan semasa softmax
  2. Ramalan lembut - output daripada model yang lebih kecil selepas suhu T telah digunakan semasa softmax
  3. Ramalan keras - keluaran daripada model yang lebih kecil apabila suhu T = 1(softmax biasa)
  4. Sasaran sebenar - sasaran sebenar dari set latihan


Di bawah ialah carta alir keseluruhan proses latihan


Jadi proses latihan untuk model kecil mempunyai 2 fungsi kehilangan. Fungsi kehilangan pertama mengambil kedua-dua ramalan lembut dan sasaran lembut dan merupakan fungsi kehilangan entropi silang. Ini adalah cara keupayaan generalisasi dipindahkan daripada model besar kepada model kecil dengan cuba memadankan sasaran lembut. Untuk fungsi kehilangan ini, kedua-dua softmax menggunakan suhu 'T'.


Pengarang juga mendapati bahawa menggunakan model kecil untuk memadankan sasaran sebenar membantu. Ini digabungkan dalam fungsi kos kedua. Kos akhir ialah purata wajaran bagi kedua-dua fungsi kos ini dengan parameter hiper alfa dan beta.

4. Eksperimen pada MNIST

Pengarang menggunakan set data MNIST untuk menguji pendekatan ini. Mereka menggunakan dua seni bina untuk ini yang berbeza hanya dalam bilangan unit tersembunyi di lapisan tengah. Penulis menggunakan 2 rangkaian neural lapisan tersembunyi dalam kedua-dua kes


  1. Model yang lebih kecil yang boleh dilihat sebagai 784 -> 800 -> 800 -> 10 (di mana 784 ialah dimensi terbongkar imej, 800 ialah bilangan unit tersembunyi dengan pengaktifan RELU dan 10 ialah bilangan kelas yang kami ramalkan). Model ini memberikan 146 ralat ujian tanpa penyelarasan.
  2. Model yang lebih besar yang boleh dilihat sebagai 784 -> 1200 -> 1200 -> 10 (di mana 784 ialah dimensi terbongkar imej, 1200 ialah bilangan unit tersembunyi dengan pengaktifan RELU dan 10 ialah bilangan kelas yang kami ramalkan). Model ini dilatih pada MNIST menggunakan keciciran, kekangan berat dan imej input yang menggetar dan jaringan ini mencapai 67 ralat ujian.


Bolehkah kita memindahkan peningkatan ini dalam model yang lebih besar kepada model yang kecil?


Pengarang kini menggunakan kedua-dua sasaran lembut yang diperolehi daripada jaring besar dan sasaran sebenar tanpa keciciran dan tiada gambar yang bergetar iaitu, jaring yang lebih kecil telah ditetapkan semata-mata dengan menambah tugas tambahan memadankan sasaran lembut yang dihasilkan oleh jaring besar pada suhu 20 dan hasilnya adalah.


74 ujian ralat menggunakan 784 -> 800 -> 800 -> 10


Ini menunjukkan bahawa sasaran lembut boleh memindahkan banyak pengetahuan kepada model kecil, termasuk pengetahuan tentang cara membuat generalisasi yang dipelajari daripada data latihan yang diterjemahkan. Dalam erti kata lain, faedah yang kami dapat daripada mengubah pemindahan input ke jaringan kecil walaupun kami tidak mengubah input untuk jaringan kecil.


Fakta yang diketahui umum bahawa mengubah input dengan transformasi yang berbeza menjadikan model digeneralisasikan dengan lebih baik dan dalam kes kami, maklumat tentang cara membuat generalisasi muncul dalam pengetahuan Gelap dan ini bersembunyi dalam sasaran lembut. Tiada maklumat ini berada dalam sasaran Benar. Jadi dengan menggunakan maklumat daripada sasaran lembut, jaring kecil kami menunjukkan prestasi yang lebih baik.


Jaring besar menggunakan sasaran lembut mempelajari metrik persamaan yang mempelajari 'macam mana' dan dengan pemindahan pengetahuan ini, kami memberitahu jaringan kecil 'macam mana'


Semua percubaan di atas tentang MNIST diringkaskan di bawah

5. Eksperimen tambahan pada MNIST

Selain itu, pengarang juga cuba mengenepikan contoh digit 3 apabila melatih model yang lebih kecil menggunakan penyulingan. Jadi dari perspektif model kecil, 3 adalah digit mitos yang tidak pernah dilihatnya. Memandangkan model yang lebih kecil tidak pernah melihat 3 semasa latihan, kami menjangkakan ia akan membuat banyak ralat apabila menghadapi 3 dalam set ujian. Walaupun begitu, model suling hanya membuat 206 ralat ujian di mana 133 adalah pada 1010 tiga dalam set ujian. Ini jelas menunjukkan bahawa keupayaan generalisasi model besar telah dipindahkan kepada model kecil semasa penyulingan dan ini menyebabkan model kecil meramalkan 3 dengan betul dalam kebanyakan kes.


Jadi moral cerita adalah.


Mengubah imej input sangat meningkatkan generalisasi. Mengubah sasaran juga mempunyai kesan yang sama besar dan jika kita boleh mendapatkan sasaran lembut dari suatu tempat ia jauh lebih murah kerana kita boleh mendapatkan prestasi yang sama dengan model yang lebih kecil


Rujukan:

  1. Hinton, Geoffrey, Oriol Vinyals, dan Jeff Dean. "Menyuling pengetahuan dalam rangkaian saraf."
  2. Penyulingan pengetahuan oleh intellabs.


Trending Topics

blockchaincryptocurrencyhackernoon-top-storyprogrammingsoftware-developmenttechnologystartuphackernoon-booksBitcoinbooks