Rumah >pembangunan bahagian belakang >Tutorial Python >Keperluan Pembelajaran Mendalam
Ia ialah subset pembelajaran mesin yang memfokuskan pada penggunaan rangkaian saraf dengan banyak lapisan untuk memodelkan dan memahami corak kompleks dalam data.
Rangkaian saraf ialah sejenis algoritma pembelajaran mesin yang direka untuk belajar daripada data dengan melaraskan berat sambungan antara neuron berdasarkan ralat dalam ramalannya.
Unit asas rangkaian saraf ialah neuron buatan, selalunya dipanggil neuron. Neuron tiruan diilhamkan oleh neuron biologi dalam otak manusia dan bertanggungjawab untuk melakukan pengiraan kecil dan khusus dalam rangkaian.
1) Setiap neuron menerima satu atau lebih input, memprosesnya (selalunya dengan menggunakan fungsi matematik), dan kemudian menghasilkan output.
2) Neuron biasanya menggunakan jumlah wajaran inputnya diikuti dengan fungsi pengaktifan untuk memperkenalkan bukan linear. Output fungsi ini kemudiannya diteruskan ke lapisan rangkaian seterusnya atau berfungsi sebagai output akhir jika ia berada dalam lapisan output.
Input: Perceptron menerima beberapa input, setiap satu diwakili oleh nombor titik terapung.
Berat: Setiap input didarab dengan berat yang sepadan, yang juga merupakan nombor titik terapung. Berat menentukan kepentingan input dalam proses membuat keputusan.
Penjumlahan: Input berwajaran kemudiannya dijumlahkan bersama untuk menghasilkan satu nilai.
Ambang (atau Bias): Perceptron membandingkan hasil penjumlahan kepada nilai ambang
Output:
Jika penjumlahan lebih besar daripada 0 (atau ambang), perceptron mengeluarkan 1 (atau 1 dalam sesetengah versi).
Jika penjumlahan kurang daripada atau sama dengan 0, perceptron mengeluarkan -1 (atau 0 dalam sesetengah versi).
(Nota: Perceptron terhad kepada menyelesaikan masalah yang boleh dipisahkan secara linear, bermakna mereka hanya boleh mengelaskan data yang boleh dipisahkan dengan garis lurus)
Masalah yang paling menarik, malah beberapa masalah yang sangat mudah, terbukti di luar kemampuan perceptron untuk diselesaikan. Tempoh ini, yang berlangsung kira-kira antara 1970-an dan 1990-an, dipanggil musim sejuk AI
Tempoh ini ditandai dengan kekecewaan dengan teknologi AI awal seperti sistem pakar, yang bergelut dengan kebolehskalaan dan aplikasi dunia sebenar. Akibatnya, pembiayaan daripada kerajaan dan organisasi menjadi kering, dan penyelidikan dalam AI menjadi perlahan dengan ketara.
1) Tukar 1:
Ia adalah penambahan input tambahan yang dipanggil bias. Tidak seperti input lain, bias tidak terikat dengan mana-mana data luaran atau output daripada neuron sebelumnya.
bias ialah nilai malar yang ditambah terus kepada jumlah input berwajaran. Ia bertindak sebagai parameter berasingan yang ada pada setiap neuron dan ia membantu melaraskan output secara bebas daripada nilai input.
2) Tukar 2:
Daripada hanya membandingkan jumlah kepada ambang dan mengeluarkan -1 atau 1, kita boleh melepasi jumlah (termasuk pincang) melalui fungsi matematik. Fungsi ini akan mengeluarkan nilai titik terapung baharu yang boleh berada di mana-mana sahaja dalam julat tertentu
Fungsi Pengaktifan/Matematik/Pemindahan
Ia menentukan bagaimana "aktif" neuron akan berdasarkan input yang diterimanya. Banyak fungsi pengaktifan memperkenalkan bukan linear, membolehkan rangkaian mempelajari hubungan bukan linear, yang penting untuk menyelesaikan masalah yang lebih kompleks.
Cth.
Fungsi Sigmoid: Mengeluarkan nilai antara 0 dan 1. Berguna untuk masalah pengelasan binari.
Tanh (Hyperbolic Tangent) Fungsi: Output nilai antara -1 dan 1. Ia serupa dengan sigmoid tetapi berpusat pada 0.
ReLU (Unit Linear Diperbetulkan): Mengeluarkan input jika ia positif, jika tidak 0.
ReLU Bocor: Serupa dengan ReLU, tetapi membenarkan kecerunan kecil bukan sifar apabila input negatif, membantu mengelakkan masalah "ReLU yang hampir mati".
Jenis fungsi pengaktifan:
1) Fungsi garis lurus
a. Fungsi Identiti:
Fungsi identiti ialah fungsi garis lurus di mana outputnya betul-betul sama dengan input.
f(x)=x
b. Fungsi Linear:
Fungsi linear ialah sebarang fungsi yang boleh diwakili sebagai garis lurus.
f(x) = mx b
2) Fungsi Langkah
a. Fungsi Tangga:
Fungsi anak tangga terdiri daripada berbilang segmen linear dengan perubahan mendadak pada nilai input tertentu. Ia dicirikan oleh lompatan diskret dan bukannya lengkung licin.
Cth.
Fungsi yang mengeluarkan 0 untuk input antara 0 dan hanya kurang daripada 0.2, 0.2 untuk input daripada 0.2 kepada hanya kurang daripada 0.4, dan seterusnya.
b. Fungsi Langkah Unit:
Output 0 untuk nilai input kurang daripada ambang dan 1 untuk nilai input sama atau lebih besar daripada ambang.
c. Fungsi Heaviside:
3) Fungsi Linear Piecewise
a. ReLU (Unit Linear Diperbetulkan)
Takrifan fungsi:
Untuk x≥0:
f(x)=x
Untuk x<0:
f(x)=0
b. ReLU Bocor
Takrifan fungsi:
Untuk x≥0:
f(x)=x
Untuk x<0:
f(x)=αx (dengan α ialah pemalar kecil, cth., 0.01)
c. ReLU Parametrik (PReLU)
Definisi Fungsi:
Untuk x≥0:
f(x)=x
Untuk x<0:
f(x)=αx (dengan α ialah parameter yang boleh dipelajari)
4) Fungsi Pengaktifan Lancar
a. Fungsi Softplus
Ia adalah anggaran lancar bagi fungsi ReLU. Ia menangani peralihan mendadak pada sifar dengan menyediakan alternatif yang berterusan dan boleh dibezakan.
Softplus(x) = ln(1 ex)
b. Fungsi Sigmoid
Fungsi sigmoid mencantumkan nilai input ke dalam julat antara 0 dan 1
σ(x)= 1 / 1 e−x
c. Fungsi Tangen Hiperbolik (tanh)
Fungsi tanh adalah serupa dengan sigmoid tetapi mencantumkan nilai input ke dalam julat [−1,1]. Ia berpusat di sekitar sifar, menjadikannya berguna untuk menormalkan data.
tanh(x)=ex e−x
/ex−e−x
Fungsi softmax ialah komponen penting dalam tugas pengelasan dalam rangkaian saraf, terutamanya apabila matlamatnya adalah untuk meramalkan kebarangkalian untuk berbilang kelas.
Softmax menukarkan skor output mentah (sering dirujuk sebagai logit) daripada neuron output kepada taburan kebarangkalian ke atas kelas. Setiap nilai output diubah menjadi kebarangkalian yang menjumlahkan sehingga 1 merentas semua kelas.
1) Rangkaian saraf ke hadapan suapan
Rangkaian suapan ke hadapan ialah sejenis rangkaian saraf tiruan di mana sambungan antara neuron tidak membentuk kitaran. Dalam erti kata lain, data mengalir dalam satu arah, dari input ke output, tanpa menggelung ke belakang.
Struktur:
Rangkaian suapan ke hadapan disusun mengikut lapisan: lapisan input, satu atau lebih lapisan tersembunyi dan lapisan output.
Setiap neuron menerima input daripada lapisan sebelumnya, menggunakan pemberat pada input ini, menjumlahkannya, menambah istilah bias dan menghantar hasilnya melalui fungsi pengaktifan untuk menghasilkan output.
Jenis Rangkaian Feed-Forward:
Perceptron Satu Lapisan:
Bentuk termudah bagi rangkaian suapan ke hadapan dengan hanya lapisan input dan lapisan output
Cth. Digunakan untuk masalah klasifikasi binari di mana data boleh dipisahkan secara linear.
Perceptron Berbilang Lapisan (MLP):
Ia mengandungi satu atau lebih lapisan tersembunyi antara lapisan input dan output.
Cth. Ia digunakan dalam tugas seperti klasifikasi, regresi dan anggaran fungsi.
Rangkaian Radial Basis Function (RBF)
Ia menggunakan fungsi asas jejari sebagai fungsi pengaktifan dalam lapisan tersembunyi.
Cth. Ia digunakan untuk penghampiran fungsi dan pengecaman corak.
Aplikasi:
Pengecaman Imej
Pengecaman Pertuturan
Diagnosis Perubatan
Ia ialah bilangan lapisan yang melaluinya data melalui input ke output. Ini ialah lapisan antara lapisan input dan lapisan output (tidak termasuk lapisan input). Kedalaman rangkaian ditentukan oleh bilangan lapisan tersembunyi ini.
Ini adalah set neuron yang masing-masing menerima input daripada setiap neuron pada lapisan sebelumnya. Jika lapisan dibuat
daripada hanya lapisan padat, ia kadangkala dipanggil rangkaian bersambung sepenuhnya.
Susun Sifar Dimensi
Cth.
Jika lapisan rangkaian saraf hanya mempunyai satu neuron, outputnya ialah nilai skalar tunggal. Secara matematik, output ini boleh diwakili sebagai tatasusunan sifar dimensi.
Susun Satu Dimensi (Susun 1D)
Cth.
Apabila lapisan dalam rangkaian saraf mempunyai berbilang neuron, output boleh digambarkan sebagai senarai atau vektor nilai. Sebagai contoh, jika lapisan mengandungi 12 neuron, output ialah tatasusunan 1D dengan 12 elemen.
(Nota: Tidak kira betapa besar atau rumitnya rangkaian saraf kita, jika ia tidak mempunyai fungsi pengaktifan dan ia adalah fungsi linear katakan penambahan,penolakan dll; maka ia akan sentiasa bersamaan dengan neuron tunggal.)
Istilah umum yang digunakan untuk susunan nombor yang disusun dalam bentuk seperti kotak dengan sebarang bilangan dimensi. Ia merangkumi tatasusunan satu dimensi (vektor), dua dimensi (matriks), tiga dimensi (isipadu) dan dimensi lebih tinggi.
Melatih rangkaian saraf melibatkan pelarasan berat rangkaian untuk meminimumkan ralat dalam ramalan. Ini dilakukan melalui proses mengemas kini parameter rangkaian secara berulang untuk mengurangkan fungsi kos atau kerugian
Ia adalah sejenis rangkaian saraf yang digunakan untuk pembelajaran tanpa pengawasan. Idea utama adalah untuk memampatkan input ke dalam kod dimensi lebih rendah dan kemudian membina semula input asal daripada kod ini.
Pengekod:
Bahagian ini memampatkan data input menjadi perwakilan padat.
Contoh: Untuk imej, pengekod mungkin mengurangkan dimensinya daripada, katakan, 128x128 piksel kepada vektor yang lebih kecil, seperti 32 dimensi
Penyahkod:
Bahagian ini membina semula data input asal daripada perwakilan termampat.
Contoh: Penyahkod akan mengambil vektor 32 dimensi dan cuba mencipta semula imej 128x128 piksel.
Mereka dilatih untuk meminimumkan perbezaan antara input dan output yang dibina semula. Ini biasanya dilakukan menggunakan fungsi kehilangan, seperti Mean Squared Error (MSE) untuk data berterusan atau binary cross-entropy untuk data binari. Matlamatnya adalah untuk melaraskan berat rangkaian supaya pembinaan semula sedekat mungkin dengan input asal.
1) Menolak Pengekod Auto
2) Pengekod Auto Variasi
3) Pengekod Auto Jarang
1) Tidak rugi:
Ia adalah sejenis pemampatan data di mana data asal boleh dibina semula dengan sempurna daripada data dimampatkan. Ini bermakna tiada maklumat hilang semasa proses pemampatan dan data yang dinyahmampat adalah sama dengan yang asal.
Algoritma: Gunakan kaedah seperti pengekodan entropi dan teknik berasaskan kamus. Contohnya termasuk:Pengekodan Huffman: Mengekodkan simbol yang kerap berlaku dengan kod yang lebih pendek dan simbol yang kurang kerap dengan kod yang lebih panjang.Lempel-Ziv-Welch (LZW): Membina kamus jujukan daripada data dan menggunakan kod yang lebih pendek untuk jujukan biasa.Pengekodan Jangka Panjang (RLE): Memampatkan urutan aksara berulang dengan menyimpan aksara dan kiraannya.Cth. PNG,FLAC,ZIP
2) Lossy:
Ia mengurangkan saiz fail dengan mengalih keluar beberapa data, selalunya dengan cara yang kurang ketara pada deria manusia tetapi mengakibatkan beberapa kehilangan kesetiaan. Matlamatnya adalah untuk mencapai pengurangan ketara dalam saiz fail sambil mengekalkan kualiti yang boleh diterima untuk kegunaan yang dimaksudkan.
Cth. JPEG,H.264 atau HEVC, Pengekodan MP3Transform: Menukar data kepada domain yang berbeza (seperti domain frekuensi) dan mengkuantumkannya. Contohnya termasuk:Transformasi Kosinus Diskret (DCT): Digunakan dalam pemampatan imej JPEG. Transformasi Gelombang Diskret (DWT): Digunakan dalam JPEG 2000.
1) Pengurangan Dimensi
2) Menolak
Pengoptimum: Melaraskan pemberat untuk meminimumkan fungsi kehilangan.
Fungsi Kehilangan: Mengukur sejauh mana ramalan model sepadan dengan nilai sebenar.
Fungsi Pengaktifan: Menambahkan bukan linear pada model, membolehkan model itu mempelajari corak yang kompleks.
Kekal Berhubung!
Jika anda menikmati siaran ini, jangan lupa ikuti saya di media sosial untuk lebih banyak kemas kini dan pandangan:
Twitter: madhavganesan
Instagram: madhavganesan
LinkedIn: madhavganesan
Atas ialah kandungan terperinci Keperluan Pembelajaran Mendalam. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!