Regresi linear: Hyperparameter

Hyperparameter adalah variabel yang mengontrol berbagai aspek pelatihan. Tiga hyperparameter umum adalah:

Sebaliknya, parameter adalah variabel, seperti bobot dan bias, yang merupakan bagian dari model itu sendiri. Di beberapa dengan kata lain, hyperparameter adalah nilai yang Anda kontrol; parameter adalah nilai yang dihitung model selama pelatihan.

Kecepatan pembelajaran

Kecepatan pembelajaran adalah angka floating point yang ditetapkan yang memengaruhi seberapa cepat konvergen. Jika kecepatan pembelajaran terlalu rendah, model dapat memerlukan waktu lama menjadi konvergensi. Namun, jika kecepatan pembelajaran terlalu tinggi, model tidak akan pernah menyatu, tetapi justru memantul di sekitar bobot dan bias yang meminimalkan kerugian. Tujuannya adalah untuk memilih kecepatan pemelajaran yang tidak terlalu tinggi atau terlalu rendah sehingga sehingga model konvergensi dengan cepat.

Kecepatan pembelajaran menentukan besarnya perubahan yang dilakukan pada bobot dan bias pada setiap langkah proses penurunan gradien. Model ini mengalikan gradien dengan kecepatan pembelajaran untuk menentukan parameter model (bobot dan nilai bias) untuk iterasi berikutnya. Pada langkah ketiga gradien turunan, “kecil” untuk bergerak ke arah kemiringan negatif mengacu pada kecepatan pemelajaran.

Perbedaan antara parameter model lama dan parameter model baru adalah sebanding dengan kemiringan fungsi kerugian. Misalnya, jika kemiringan besar, maka model akan mengambil langkah besar. Jika kecil, diperlukan langkah kecil. Sebagai misalnya, jika besarnya gradien 2,5 dan kecepatan pemelajaran adalah 0,01, maka model akan mengubah parameternya sebesar 0,025.

Kecepatan pembelajaran yang ideal membantu model untuk konvergensi dalam jumlah yang wajar jumlah iterasi. Pada Gambar 21, kurva kerugian menunjukkan model secara signifikan meningkat selama 20 iterasi pertama sebelum memulai konvergensi:

Gambar 21. Kurva turun yang menunjukkan kemiringan curam sebelum merata.

Gambar 21. Grafik kerugian yang menampilkan model yang dilatih dengan kecepatan pembelajaran yang menyatu dengan cepat.

Sebaliknya, kecepatan pemelajaran yang terlalu kecil dapat membutuhkan terlalu banyak iterasi untuk konvergensi. Pada Gambar 22, kurva kerugian menunjukkan model yang hanya membuat minor perbaikan setelah setiap iterasi:

Gambar 22. Kurva kerugian yang menunjukkan kemiringan hampir 45 derajat.

Gambar 22. Grafik kerugian yang menampilkan model yang dilatih dengan kecepatan pembelajaran kecil.

Kecepatan pembelajaran yang terlalu besar tidak akan pernah menyatu karena setiap iterasi menyebabkan kerugian memantul atau terus meningkat. Pada Gambar 23, kerugian menunjukkan bahwa model akan menurun lalu kerugiannya meningkat setelah setiap iterasi, dan pada Gambar 24, kerugian akan meningkat pada iterasi berikutnya:

Gambar 23. Kurva turun yang menunjukkan garis naik-turun yang bergerigi.

Gambar 23. Grafik kerugian yang menampilkan model yang dilatih dengan kecepatan pembelajaran yang terlalu besar, di mana kurva kerugian mengalir dengan liar, naik dan turun seiring iterasi meningkat.

Gambar 24. Kurva penurunan yang menunjukkan penurunan yang meningkat pada iterasi berikutnya

Gambar 24. Grafik kerugian yang menampilkan model yang dilatih dengan kecepatan pembelajaran yang terlalu besar, di mana kurva kerugian meningkat secara drastis pada iterasi selanjutnya.

Latihan: Memeriksa pemahaman Anda

Berapa kecepatan pembelajaran yang ideal?
Kecepatan pembelajaran yang ideal bergantung pada masalah.
Setiap model dan set data akan memiliki kecepatan pembelajarannya sendiri yang ideal.
0,01
1.0

Ukuran batch

Ukuran batch adalah hyperparameter yang mengacu pada jumlah contoh yang diproses model sebelum memperbarui bobotnya dan bias. Anda mungkin berpikir bahwa model ini harus menghitung kerugian untuk setiap dalam set data sebelum memperbarui bobot dan bias. Namun, ketika sebuah berisi ratusan ribu atau bahkan jutaan contoh, menggunakan {i>full batch<i} tidaklah praktis.

Dua teknik umum untuk mendapatkan gradien yang tepat rata-rata tanpa perlu melihat setiap contoh dalam {i>dataset<i} sebelum memperbarui bobot dan bias penurunan gradien stokastik dan gradien stokastik tumpukan mini turunan:

  • Penurunan gradien stokastik (SGD): Penurunan gradien stokastik hanya menggunakan satu contoh (satu ukuran tumpukan) per iterasi. Cukup diberikan berulang, SGD berfungsi tetapi sangat berisik. "Derau" mengacu pada variasi selama pelatihan yang menyebabkan kerugian meningkat, bukan penurunan selama iterasi sebelumnya. Istilah "stokastik" menunjukkan bahwa satu contoh yang terdiri setiap batch dipilih secara acak.

    Perhatikan pada gambar berikut bahwa kerugian sedikit berfluktuasi seiring model memperbarui bobot dan biasnya menggunakan SGD, yang dapat menyebabkan derau {i>graphic<i}:

    Gambar 25. Kurva kerugian curam yang mendatar, tetapi dengan banyak fluktuasi kecil.

    Gambar 25. Model yang dilatih dengan penurunan gradien stokastik (SGD) yang menunjukkan noise di kurva kerugian.

    Perhatikan bahwa penggunaan penurunan gradien stokastik dapat menghasilkan derau di seluruh seluruh kurva kerugian, tidak hanya mendekati konvergensi.

  • Penurunan gradien stokastik mini-batch (kelompok mini PGS): Tumpukan mini penurunan gradien stokastik adalah kompromi antara batch penuh dan PGS. Sebagai $ N $ jumlah titik data, ukuran tumpukan dapat berupa angka apa pun yang lebih besar dari 1 dan kurang dari $ N $. Model memilih contoh yang disertakan dalam setiap batch secara acak, menghitung rata-rata gradiennya, dan kemudian memperbarui bobot dan bias sekali per iterasi.

    Menentukan jumlah contoh untuk setiap batch bergantung pada {i>dataset<i} dan resource komputasi yang tersedia. Secara umum, ukuran tumpukan kecil berperilaku seperti PGS, dan ukuran tumpukan yang lebih besar berperilaku seperti penurunan gradien tumpukan penuh.

    Gambar 26. Kurva kerugian yang tajam yang mulai mendatar, dengan fluktuasi yang jauh lebih kecil di dekat konvergensi.

    Gambar 26. Model dilatih dengan batch mini PGS.

Saat melatih model, Anda mungkin berpikir bahwa noise adalah hal yang tidak diinginkan karakteristik yang harus dihilangkan. Namun, sejumlah derau dapat hal yang baik. Pada modul selanjutnya, Anda akan mempelajari bagaimana derau dapat membantu model melakukan generalisasi dengan lebih baik dan menemukan bobot dan bias optimal dalam sistem neural jaringan.

Epoch

Selama pelatihan, epoch berarti bahwa telah memproses setiap contoh dalam set pelatihan satu kali. Misalnya, mengingat set pelatihan yang berisi 1.000 contoh dan ukuran tumpukan mini berisi 100 contoh, akan mengambil 10 iterasi model menyelesaikan satu epoch.

Pelatihan biasanya membutuhkan banyak epoch. Artinya, sistem perlu memproses setiap contoh dalam set pelatihan beberapa kali.

Jumlah epoch adalah hyperparameter yang Anda tetapkan sebelum model dimulai pelatihan. Di banyak kasus, Anda harus bereksperimen dengan berapa banyak epoch agar model dikonvergensi. Secara umum, lebih banyak epoch menghasilkan model yang lebih baik, tetapi juga membutuhkan lebih banyak waktu untuk berlatih.

Gambar 27. Batch penuh adalah seluruh set data, batch mini adalah subset dari set data, dan epoch adalah penerusan penuh melalui sepuluh batch mini.

Gambar 27. Batch penuh versus batch mini.

Tabel berikut menjelaskan bagaimana ukuran batch dan epoch berhubungan dengan jumlah frekuensi model memperbarui parameternya.

Jenis batch Kapan pembaruan bobot dan bias terjadi
Batch penuh Setelah model melihat semua contoh dalam set data. Contohnya, jika set data berisi 1.000 contoh dan model dilatih selama 20 epoch, model memperbarui bobot dan bias sebanyak 20 kali, sekali per epoch.
Penurunan gradien stokastik Setelah model melihat satu contoh dari set data. Misalnya, jika {i>dataset<i} berisi 1.000 contoh dan dilatih untuk Setelah 20 epoch, model akan memperbarui bobot dan bias sebanyak 20.000 kali.
Penurunan gradien stokastik mini-batch Setelah model melihat contoh di setiap batch. Contohnya, jika sebuah {i>dataset<i} berisi 1.000 contoh, dan ukuran tumpukannya adalah 100, dan model akan dilatih selama 20 epoch, model memperbarui bobot dan bias 200 kali.

Latihan: Memeriksa pemahaman Anda

1. Berapa ukuran tumpukan terbaik saat menggunakan batch mini PGS?
Tergantung
Ukuran tumpukan yang ideal bergantung pada set data dan ketersediaan resource komputasi
10 contoh per batch
100 contoh per batch
2. Manakah dari pernyataan berikut ini yang tepat?
Batch yang lebih besar tidak cocok untuk data dengan banyak pencilan.
Pernyataan ini salah. Dengan merata-ratakan lebih banyak gradien, semakin besar ukuran tumpukan dapat membantu mengurangi efek negatif dari pencilan (outliers) dalam data.
Meningkatkan kecepatan pembelajaran dapat memperlambat pelatihan.
Pernyataan ini benar. Penggandaan kecepatan pembelajaran dapat menghasilkan learning rate yang terlalu besar, dan karena itu menyebabkan bobot untuk "memantul", meningkatkan jumlah waktu yang dibutuhkan untuk konvergensi. Seperti biasa, hyperparameter terbaik bergantung pada set data Anda dan resource komputasi yang tersedia.