Tingkatkan keakuratan model dengan menggunakan kesetaraan mikro universal – Beragampengetahuan
Oleh: Big Lake Consulting
Re -Post dari:
Posting ini ditulis oleh Steven Whitaker.
Dalam hal ini Julia untuk pengembang Posting, kita akan mengeksplorasi dunia yang menarik dalam menggunakan persamaan mikroskopis universal (UDES) untuk mengeksplorasi model. Satu UDE adalah persamaan diferensial ITI (atau semua) yang ditentukan oleh set dekat hampir universal (biasanya jaringan saraf).
UDE memungkinkan integrasi mulus dari model mekanik yang diketahui dengan model berbasis data. Selain itu, mengabaikan atau menebak dalam aspek yang tidak diketahui dari model, jaringan saraf dapat tertanam dalam model, kemudian dapat dilatih menggunakan data yang diamati.
Setelah dilatih, jaringan saraf tertanam kira -kira oleh ekspresi matematika. Ini memungkinkan kami untuk mengganti jaringan saraf dengan formula yang dapat dipahami, meningkatkan transparansi dalam aspek yang hilang dari model asli dengan struktur baru yang dipelajari dari data yang diamati.
Posting ini akan menggambarkan ide -ide dan memutuskan desain sambil membantu salah satu aplikasi tamu kami tidak memiliki motivasi dalam model mereka, sistem kompleks yang mewakili tubuh manusia yang mengobati penyakit langka.
Dengan mengganti aspek model pelanggan kami dengan jaringan saraf, kami telah mencapai tonggak penting: pengurangan 30% prediksi model. Kisah sukses ini adalah bukti kekuatan udes dalam meningkatkan efisiensi model.
Kami tidak akan berbagi kode untuk pelanggan, tetapi akan memberikan tes serupa untuk menggambarkan pendekatan kami.
Berikut adalah beberapa ide utama yang akan kami fokuskan:
- Pastikan tidak membedakan variabel status (bila perlu).
- Awalnya menginisialisasi berat neurologis.
- Normalisasi jaringan saraf.
- Buat dinamika.
- Konsisten dengan simbol simbolik.
Perhatikan bahwa kita akan membahas jaringan saraf yang terhubung, sehingga beberapa pendapat berikut tidak berlaku jika arsitektur lain digunakan.
Dan dengan itu, mari kita pergi jauh!
Ketika bekerja dengan model yang merupakan fenomena nyata, ada kemungkinan bahwa setidaknya beberapa variabel dari model non -negatif alami. Misalnya, energi dari sistem konsentrasi suatu bahan kimia adalah negatif.
Namun, persamaan matematika bukanlah fenomena fisika matematika yang representatif. Karena itu, kita harus mengatakan bahwa menyelesaikan rasa hormat terhadap kendala alami.
Salah satu cara untuk mengeksekusi tidak dibedakan untuk diatasi isoutofdomain Opsional untuk solve,Di mana isoutofdomain adalah fungsi pengembalian trueKetika setidaknya salah satu variabel status disediakan, variabel tidak dibagi. Misalnya, jika semua variabel status harus negatif, fungsi dapat didefinisikan sebagai:
isoutofdomain(u, p, t) = any(<(0), u)
Contoh lain, jika hanya negara pertama dan ketiga tidak boleh negatif:
isoutofdomain(u, p, t) = u[1] < 0 || u[3] < 0
Untuk informasi lebih lanjut dan alat lain untuk menyelesaikan negatif, lihat dokumen SCIML.
Gagasan mengatakan dengan solver di atas kendala tampaknya jelas dibedakan. Oleh karena itu, penting untuk inisialisasi jaringan saraf yang termasuk dalam model.
Untuk mengetahui kurangnya motivasi, jaringan saraf dalam urusan yang terlatih.
Pelatihan jaringan neurologis dapat terjadi jika UDE dapat diselesaikan dalam berat jaringan awal. Atau, kemiringan kehilangan, yang digunakan oleh algoritma mengoptimalkan pelatihan jaringan saraf, tidak dapat dihitung.
Akibatnya, perlu memilih ciptaan yang baik untuk berat mental. Berikut adalah beberapa pendekatan untuk inisialisasi dan seberapa baik mereka bekerja:
- Penciptaan acak:Biasanya, bobot jaringan saraf diinisialisasi secara acak. Namun, ini mengarah pada dinamika UDE acak, jadi apakah variabel status positif (atau memenuhi kendala lain) tertinggal. Dan jika batas dilanggar, tetapi kami mencoba untuk melaksanakannya
isoutofdomainPenjelasan tidak akan dapat menyelesaikan UDE, mencegah perhitungan kemiringan. Oleh karena itu, inisialisasi acak dapat berhasil, tetapi mungkin tidak. - Tidak ada inisialisasi: TidakJangan lakukan ini. Berat jaringan tidak akan pernah diperbarui selama proses pelatihan karena kemiringan terkait dengan bobot itu selalu nol.
- Inisialisasi Berkelanjutan:Jangan lakukan ini.
- Pra -Pelatihan:Jaringan saraf di UDEI digunakan untuk menggantikan ekspresi yang tepat (tetapi jika tidak, ia akan menawarkan model yang dapat digunakan), cara untuk menginisialisasi bobot jaringan untuk melatih UDE untuk menginisialisasi bobot acak. Pelatihan UDE, bobot jaringan telah diatur untuk menghindari masalah dengan kendala.
- Koleksi yang halus:Koleksi yang ditenangkan adalah pendekatan lain untuk pelatihan sebelum jaringan saraf terkait dengan kendala. Lihat dokumen SCIML untuk informasi lebih lanjut.
Untuk pelanggan kami, gravitasi secara acak dibuat untuk melatih gradientforable, jadi kami memutuskan untuk berlatih karena mereka memiliki prediksi yang masuk akal bahwa kami dapat sesuai dengan berat jaringan asli.
Kunci untuk memastikan pelatihan UDE yang unik untuk menormalkan jaringan saraf untuk memastikan semua input hampir sama.
Normalisasi sangat penting, kemiringan fungsi kehilangan pelatihan sebanding dengan input internet. Jika satu entri cenderung lebih besar dari 1.000 kali, kemiringan lainnya juga akan cenderung jauh lebih besar, mendominasi algoritma pembelajaran.

Untuk mengilustrasikan normalisasi, dengan asumsi kami memiliki jaringan saraf berikut (dibuat oleh lux.jl):
nn = Chain( Dense(2, 5, tanh), Dense(5, 5, tanh), Dense(5, 1),)
Kami kemudian dapat menambahkan rahang ChainYang melakukan normalisasi:
nn_normalized = Chain( x -> x ./ normalization, )
Dalam contoh ini,normalization adalah a VectorBerisi skala Valuesto untuk setiap variabel input. Tentu saja, kami tidak terbatas dalam memperluas input; Kami dapat melakukan fungsi apa pun yang ingin kami tangani input (seperti standardisasi titik Z).
Jaringan neurologis di Udedid pelanggan tidak belajar tanpa normalisasi. Setelah menormalkan input, kami menerima jaringan jaringan untuk mengetahui motivasi yang berarti.
Meskipun tidak sepenuhnya diperlukan untuk UDE, membuat dinamika modular menyederhanakan perbandingan antara metode yang berbeda.
Untuk pelanggan kami, kami ingin membandingkan versi dinamis: Dinamika Awal, UDE (di mana bagian dari Dynamics asli digantikan oleh jaringan saraf) dan dinamika yang diperbarui (di mana jaringan saraf dilatih digantikan oleh ekspresi simbolik untuk jaringan saraf).
Alih -alih menyalin fungsi dinamis tiga -waktu dengan setiap varian kecil, kami memungkinkan variasi dinamis ditransmisikan sebagai opsi untuk fungsi dinamis. Untuk mengilustrasikan:
function f!(du, u, p, t; g = original_g) val = g(a, b, p) end
Namun,ODEProblemS tidak mengizinkan transmisi fungsi dinamis. Tapi itu bukan masalah; ODEProblem. Misalnya, jika kita mau g Untuk menggunakan jaringan neuro lux.jl:
nn = Chain(...)(p_nn, st) = Lux.setup(...)g_nn = (a, b, p) -> nn([a, b], p.p_nn, st)[1][1]f_nn! = (du, u, p, t) -> f!(du, u, p, t; g = g_nn)
Siapkan kode pelanggan kami sebagai kode yang dibuat sambil memungkinkan perbandingan mudah dari berbagai versi dinamika.
Salah satu orang stepsto penting bisa dimengerti Motivasi dari udeis agar sesuai dengan ekspresi yang melambangkan jaringan saraf yang terlatih. Oleh karena itu, memungkinkan kami untuk mengganti jaringan saraf kotak hitam dengan ekspresi matematika yang dapat dipahami.
Pihak pertama mengumpulkan data untuk digunakan untuk aksesori. Jika jaringan saraf membutuhkan dua input, kami akan membutuhkan satu Matrix Nilai:
X = [ a1 a2 ... aN; b1 b2 ... bN;]
(aiKemudian bi) Pasangan termasuk kisaran nilai input yang diharapkan. Salah satu cara untuk menentukan rentang ini untuk menyelesaikan udeande menghemat nilai yang berakhir pada jaringan saraf.
Untuk mendapatkan nilai target, evaluasi jaringan saraf X Kami baru saja membuat:
y = nn(X, p_nn, st)[1] |> vec
.
Sekarang kita bisa mengetahui ekspresi matematika outA X TIBA y. Salah satu cara untuk melakukan ini untuk menggunakan ikon IconRegression.jl.
Setelah mendapatkannya Expression knalpot eq(panggilan tree Dalam readme untuk simbolis. JL), kita dapat menggunakannya dalam fungsi dinamis kita yang dijelaskan di bagian sebelumnya:
g_eq = (a, b, p) -> eq([a; b;;])[1]f_eq! = (du, u, p, t) -> f!(du, u, p, t; g = g_eq)
Menggunakan ikon IconRegression.jlto yang cocok untuk jaringan saraf Ude yang terlatih, kami dapat memberi pelanggan kami ekspresi matematika yang akurat yang menunjukkan kurangnya motivasi dari persamaan diferensial awal mereka.
Dalam posting ini, kami membahas aspek -aspek penting ketika melakukan Udesto untuk mempelajari kurangnya motivasi. Kami telah mempelajari sejumlah tips untuk membantu melatih UDE, termasuk awalnya menciptakan bobot jaringan dan menstandarkan input Internet.
Apakah Anda ingin memanfaatkan Udesto untuk meningkatkan prediksi model Anda? Hubungi kami dan kami dapat membantu Anda!
]>>
Terkait
Software Terbaru Saat Ini
Aplikasi yang sedang trend saat ini
object oriented programming, programming language, programming adalah, web programming, belajar programming, tournament software, software, software adalah, contoh software, apa itu software, pengertian software, aplikasi, aplikasi penghasil uang, aplikasi bokep, aplikasi video, programming
#Tingkatkan #keakuratan #model #dengan #menggunakan #kesetaraan #mikro #universal