Berbagi teknologi

Algoritma Penurunan Gradien Pembelajaran Mendalam-NLP (5)

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Pengantar algoritma penurunan gradien dalam pembelajaran mendalam

Masalah penemuan minimum

Perkenalan: Saat kami melatih model kecerdasan buatan, sederhananya, kami menyesuaikan parameter model berdasarkan data sehinggaModel tersebut memprediksi nilai yang sama dengan data kami .Tapi itu pasti berbeda pada awalnya, jadi kamiPerkenalkan fungsi kerugian, gunakan untuk menghitung berapa banyak perbedaan yang ada, kita dapat mengetahui berapa banyak perbedaan yang ada, dan bagaimana kita menyesuaikan parameter pada model aslinya?

Mengapa! Tujuan penyesuaian parameter model asli adalah agar nilai prediksi sama dengan nilai yang dibutuhkan. Apakah mungkin menemukan parameter model yang meminimalkan kesenjangan antara nilai prediksi yang dihitung dan nilai yang diperlukan? ===》Ini adalah soal mencari nilai minimum

Jadi intinya adalah mencari nilai minimum dari fungsi kerugian.

Temukan nilai minimum secara matematis

Masukkan deskripsi gambar di sini
Instruksi pembongkaran:
Target: Temukan nilai x yang sesuai yang meminimalkan f(x).
logika

1. Pilih titik mana pun x0 dan hitung nilai turunan f(x0) pada titik tersebut
2. Berdasarkan tanda turunannya, putuskan apakah x0 harus ditambah atau dikurangi;Jika turunannya positif, maka turunkan x karena semakin besar, y juga akan bertambah; jika turunannya negatif, naikkan x
3.迭代进行1,2步直到导数为0;或者导数变号了。
Dalam keadaan apa tanda turunannya berubah?
那就函数的值,之前在减小,现在在增大了,所以导数就会编号,那么最小值就在其中(救赎之道,就在其中)

gradien

gradien: Bisa langsung dipahami sebagai turunan, namun dalam pembelajaran mendalam biasanya bukan turunan, yaitu turunan dari suatu fungsi multivariat.
Masukkan deskripsi gambar di sini
Misalnya:
Fungsi unary:

Fungsi asli: y=5x^2
Fungsi turunan: y= 10x
Artinya, ketika x=1, nilai turunannya adalah 10

Multi Fungsi

Fungsi terner: y=2x^2 + 6z^2 + 7m^3
Fungsi turunan (yaitu, penyelesaian turunan parsial untuk tiga bilangan yang tidak diketahui): y={4x,12z,21m^2}
Gradien di [1,1,1] adalah [4,12,21]; dan gradiennya adalah vektor

Semuanya memperoleh fungsi, dan Anda dapat menggunakan turunannya untuk memahami gradien.

algoritma penurunan gradien

Definisi: Algoritme penurunan gradien adalah logika yang menghitung gradien model pada data masukan, dan kemudian memperbarui parameter bobot asli model melalui kecepatan pembelajaran.
Masukkan deskripsi gambar di sini

Menemukan masalah nilai minimum dalam proses deep learning

Bagan alur keseluruhan pembelajaran mendalam

Diagram skema berikut adalah diagram alir pembelajaran mendalam, yang sesuai dengan nilai pencarian nilai minimumFungsi kerugian–>Pengoptimal–>Model
Masukkan deskripsi gambar di sini

Tujuan menyelesaikan fungsi kerugian

1. Semakin kecil fungsi kerugian, semakin baik modelnya
2. Tujuan pembelajaran adalah meminimalkan fungsi kerugian
3. Bobot model mempengaruhi fungsi kerugian
4. Temukan bobot optimal melalui penurunan gradien

pembaruan berat badan

logika yang diperbarui

1. Hitung nilai prediksi y1 berdasarkan masukan x dan bobot model saat ini
2. Gunakan fungsi kerugian untuk menghitung kerugian berdasarkan y1 dan y
3. Hitung gradien bobot model berdasarkan kerugian
4. Gunakan gradien dan kecepatan pembelajaran untuk menyesuaikan bobot model sesuai dengan pengoptimal

Metode pembaruan:

1. Hitung gradien (akumulasi) semua sampel secara bersamaan
2. Gunakan sampel satu per satu untuk menghitung gradien penurunan gradien Stochastic
3. Gunakan n sampel setiap kali untuk menghitung gradien (akumulasi) Penurunan gradien mini-batch