Apa itu * Jaringan Syaraf Tiruan?

15

Ketika kita mempelajari literatur Neural Networks , kita dapat mengidentifikasi metode lain dengan topologi neuromorfik (arsitektur seperti Neural-Network). Dan saya tidak berbicara tentang Teorema Perkiraan Universal . Contoh diberikan di bawah ini.

Lalu, itu membuat saya bertanya-tanya: apa definisi Jaringan Syaraf Tiruan buatan? Topologinya tampaknya mencakup segalanya.


Contoh:

Salah satu identifikasi pertama yang kami buat adalah antara PCA dan Autoencoder linier dengan ikatan-bobot dalam encoder dan dekoder serta aktivasi yang di-threshold di lapisan bottleneck.

Juga, identifikasi umum dilakukan antara model linier (regresi logistik khusus) dan Jaringan Saraf Tiruan tanpa lapisan tersembunyi dan lapisan keluaran tunggal. Identifikasi ini membuka beberapa pintu.

Seri Fourier dan Taylor? JST . SVM ? JST. Proses Gaussian? JST (dengan lapisan tersembunyi tunggal dengan unit tersembunyi tak terbatas).

Jadi, sama mudahnya, kita dapat menggabungkan versi yang diatur secara sewenang-wenang dengan fungsi kerugian khusus dari algoritma ini ke dalam kerangka kerja Jaringan Saraf Tiruan.

Tetapi semakin kita menggali, semakin banyak kesamaan yang muncul. Saya baru saja tersandung ke Deep Neural Decision Trees , yang membuat identifikasi arsitektur JST spesifik dengan pohon keputusan, yang memungkinkan ini dipelajari dengan metode JST (seperti backpropagation Descent Gradient Descent). Dari sini kita dapat membangun Random Forests dan Gradient Boosted Decision Trees hanya dari topologi Neural Network.

Jika semuanya dapat dinyatakan sebagai Jaringan Syaraf Tiruan, apa yang mendefinisikan Jaringan Syaraf Tiruan?

Pembakar
sumber
Makalah tentang Deep Neural Decision Trees cukup jauh di luar sana. Biasanya fungsi aktivasi adalah fungsi bernilai nyata, bukan produk luar. Jadi mereka tidak benar-benar membahas JST seperti yang biasa kita pikirkan, tetapi generalisasi matematika yang tidak banyak digunakan atau diterima. Untuk menunjukkan JST berbeda dari pohon keputusan, saya hanya akan menunjukkan bahwa semua JST adalah parametrik (memiliki ruang parameter terbatas) sementara pohon non-parametrik (memiliki ruang parameter yang berpotensi tak terbatas.)
olooney
@olooney produk Kronecker bukan fungsi aktivasi, itu hanya operasi pada output dari lapisan sebelumnya (seperti konvolusi, atau operasi lain yang kami tentukan di atas aktivasi). DNDT dapat mewakili setiap pohon keputusan, DAN setiap DNDT dapat diwakili oleh pohon keputusan.
Firebug
1
@olooney menggunakan definisi fungsi aktivasi Anda, Softmax bukanlah fungsi aktivasi.
Firebug
2
Saya tidak sepenuhnya yakin saya memahami motivasi untuk pertanyaan ini. Definisi JST yang longgar dan mungkin adalah bahwa itu adalah model grafis terarah, yang menggunakan neuron (yaitu, fungsi aktivasi) untuk memproses input / output, dan sebagian besar waktu Anda menggunakan gradient descent untuk melatihnya. Ketika Anda mengatakan bahwa "semuanya dapat dinyatakan sebagai JST", apakah Anda secara khusus bertanya apakah ada pemetaan yang tepat antara model lain yang disebutkan dan JST? Masalahnya adalah Anda harus membuat rutinitas pelatihan yang sangat dimodifikasi agar sesuai dengan optimisasi.
Alex R.
1
@ Scorax saya juga melakukannya, baik dia dan Hinton mengisyaratkan hal itu. Saya ingin memberikan kesempatan kepada penjawab di kamp lain untuk memberikan sumber yang kredibel :)
Firebug

Jawaban:

6

Jürgen Schmidhuber, " Pembelajaran Jauh dalam Jaringan Saraf Tiruan: Suatu Tinjauan " menelusuri sejarah konsep-konsep kunci dalam jaringan saraf dan pembelajaran mendalam. Dalam pandangannya, jaringan saraf akan muncul untuk mencakup dasarnya setiap model yang dapat dikarakterisasikan sebagai grafik terarah di mana setiap node mewakili beberapa unit komputasi. Schmidhuber adalah peneliti jaringan saraf terkemuka, dan menulis makalah asli pada jaringan LSTM dengan Sepp Hochreiter.

Komponen yang dapat dimodifikasi dari sistem pembelajaran yang bertanggung jawab atas keberhasilan atau kegagalannya? Perubahan apa yang mereka lakukan untuk meningkatkan kinerja? Ini telah disebut masalah penugasan kredit mendasar (Minsky, 1963). Ada metode penetapan kredit umum untuk pemecah masalah universal yang optimal waktu dalam berbagai pengertian teoretis (Bagian 6.8). Namun, survei ini akan fokus pada sub-bidang Deep Learning (DL) yang lebih sempit, tetapi sekarang penting secara komersial dalam Jaringan Syaraf Tiruan (NNs).

Standar jaringan saraf (NN) terdiri dari banyak prosesor sederhana yang terhubung yang disebut neuron, masing-masing menghasilkan urutan aktivasi bernilai nyata. Neuron input diaktifkan melalui sensor yang memahami lingkungan, neuron lain diaktifkan melalui koneksi tertimbang dari neuron yang sebelumnya aktif (rincian dalam Bagian 2). Beberapa neuron dapat memengaruhi lingkungan dengan memicu tindakan. Tugas belajar atau kredit adalah tentang menemukan bobot yang membuat NN menunjukkan perilaku yang diinginkan, seperti mengendarai mobil. Tergantung pada masalah dan bagaimana neuron terhubung, perilaku tersebut mungkin memerlukan rantai sebab akibat yang panjang dari tahap komputasi (Bagian 3), di mana setiap tahap mengubah (sering dengan cara non-linear) aktivasi agregat jaringan. Deep Learning adalah tentang memberikan kredit secara akurat di berbagai tahapan tersebut.

Model seperti NN dangkal dengan beberapa tahapan seperti telah ada selama beberapa dekade jika tidak berabad-abad (Bagian 5.1). Model dengan beberapa lapisan neuron nonlinier berurutan telah ada sejak tahun 1960an (Bagian 5.3) dan 1970an (Bagian 5.5). Metode gradient descent yang efisien untuk Supervisi Pembelajaran (SL) berbasis guru di jaringan terpisah yang terdiferensiasi dan berbeda yang disebut backpropagation (BP) dikembangkan secara terpisah pada 1960-an dan 1970-an, dan diterapkan pada NNs pada 1981 (Bagian 5.5). Namun, pelatihan berbasis NNs berbasis BP dengan banyak lapisan, ternyata sulit dilakukan pada akhir 1980-an (Bagian 5.6), dan telah menjadi subjek penelitian eksplisit pada awal 1990-an (Bagian 5.9). DL menjadi praktis layak sampai batas tertentu melalui bantuan Unsupervised Learning (UL), misalnya, Sec. 5.10 (1991), Sec. 5.15 (2006). 1990-an dan 2000-an juga melihat banyak perbaikan DL murni diawasi (Bagian 5). Dalam milenium baru, NN dalam akhirnya menarik perhatian luas, terutama dengan mengungguli metode pembelajaran mesin alternatif seperti mesin kernel (Vapnik, 1995; Scholkopf et al., 1998) dalam berbagai aplikasi penting. Bahkan, sejak 2009, NN dalam yang diawasi telah memenangkan banyak kompetisi pengenalan pola internasional resmi (misalnya, Bagian 5.17, 5.19, 5.21, 5.22), mencapai hasil pengenalan pola visual manusia super pertama dalam domain terbatas (Bagian 5.19, 2011). Deep NNs juga menjadi relevan untuk bidang yang lebih umum dari Reinforcement Learning (RL) di mana tidak ada guru pembimbing (Bagian 6). terutama dengan mengungguli metode pembelajaran mesin alternatif seperti mesin kernel (Vapnik, 1995; Scholkopf et al., 1998) dalam berbagai aplikasi penting. Bahkan, sejak 2009, NN dalam yang diawasi telah memenangkan banyak kompetisi pengenalan pola internasional resmi (misalnya, Bagian 5.17, 5.19, 5.21, 5.22), mencapai hasil pengenalan pola visual manusia super pertama dalam domain terbatas (Bagian 5.19, 2011). Deep NNs juga menjadi relevan untuk bidang yang lebih umum dari Reinforcement Learning (RL) di mana tidak ada guru pembimbing (Bagian 6). terutama dengan mengungguli metode pembelajaran mesin alternatif seperti mesin kernel (Vapnik, 1995; Scholkopf et al., 1998) dalam berbagai aplikasi penting. Bahkan, sejak 2009, NN dalam yang diawasi telah memenangkan banyak kompetisi pengenalan pola internasional resmi (misalnya, Bagian 5.17, 5.19, 5.21, 5.22), mencapai hasil pengenalan pola visual manusia super pertama dalam domain terbatas (Bagian 5.19, 2011). Deep NNs juga menjadi relevan untuk bidang yang lebih umum dari Reinforcement Learning (RL) di mana tidak ada guru pembimbing (Bagian 6). mencapai hasil pengenalan pola visual manusia super pertama dalam domain terbatas (Bagian 5.19, 2011). Deep NNs juga menjadi relevan untuk bidang yang lebih umum dari Reinforcement Learning (RL) di mana tidak ada guru pembimbing (Bagian 6). mencapai hasil pengenalan pola visual manusia super pertama dalam domain terbatas (Bagian 5.19, 2011). Deep NNs juga menjadi relevan untuk bidang yang lebih umum dari Reinforcement Learning (RL) di mana tidak ada guru pembimbing (Bagian 6).

Di sisi lain, saya tidak yakin bahwa itu selalu menguntungkan untuk mencoba dan membangun taksonomi ember yang saling eksklusif untuk strategi pembelajaran mesin. Saya pikir kita dapat mengatakan bahwa ada perspektif dari mana model dapat dilihat sebagai jaringan saraf. Saya tidak berpikir bahwa perspektif adalah yang terbaik atau berguna dalam semua konteks. Sebagai contoh, saya masih berencana untuk merujuk pada hutan acak dan gradien meningkatkan pohon sebagai "ansambel pohon" daripada mengabstraksi perbedaan mereka dan memanggil mereka "pohon jaringan saraf". Selain itu, Schmidhuber membedakan NN dari mesin kernel - meskipun mesin kernel memiliki beberapa koneksi ke NN - ketika ia menulis "Di milenium baru, NN dalam akhirnya menarik perhatian luas," terutama dengan mengungguli metode pembelajaran mesin alternatif seperti mesin kernel ... dalam berbagai aplikasi penting. "

Sycorax berkata Reinstate Monica
sumber
Jadi pada dasarnya setiap model dan heuristik yang dikenal dalam Pembelajaran Mesin dan Statistik hari ini akan dianggap sebagai JST oleh Schmidhuber, dengan nomenklatur khusus hanya diberikan oleh strategi optimasi (termasuk model tanpa optimasi di sini)?
Firebug
1
Saya mendapatkan itu, dari sudut pandang praktis, tetapi itu tidak mengubah fakta bahwa hampir setiap model, pada dasarnya, adalah JST (Saya tidak bisa memikirkan model tunggal yang tidak).
Firebug
2
@ Firebug Bagaimana Anda memformat ulang regresi atau (k-means sederhana dan lain-lain) masalah pengelompokan, yang dilatih atau ditempatkan di 'lingkungan belajar', sehingga mereka sama dengan definisi JST ini?
Sextus Empiricus
1
@ Firebug Saya tidak melihat bagaimana fakta bahwa PCA dapat ditunjukkan setara dengan autoencoder tertentu membuat PCA "jaringan saraf". Dalam PCA standar kita bahkan tidak menggunakan gradient descent.
Amuba mengatakan Reinstate Monica
1
@ Firebug Jika Anda mendefinisikan "NN" sebagai "node komputasi yang terhubung" maka saya kira perhitungan apa pun adalah NN. Tidak yakin itu ada gunanya tapi oke.
Amuba kata Reinstate Monica
7

Jika Anda menginginkan definisi dasar dari JST, Anda mungkin mengatakan bahwa itu adalah model-diarahkan-grafis, di mana input dan output diproses pada setiap node melalui fungsi aktivasi, dan sebagian besar waktu gradient descent digunakan untuk melatihnya. Jadi pertanyaannya benar-benar menjadi: model apa di luar sana yang dapat dinyatakan sebagai model grafis?

Saya bukan ahli tetapi, saya percaya secara teoritis beberapa JST dapat ditampilkan sebagai Turing lengkap, yang berarti bahwa mereka harus dapat melakukan serangkaian perhitungan yang mungkin (dengan kemungkinan sumber daya yang tak terbatas , ingatlah).

Saya juga akan menafsirkan pertanyaan Anda dengan cara berikut:

Untuk model apa pun, dapatkah saya menampar bersama model JST untuk meniru model itu, sedekat mungkin, dan dalam jumlah waktu yang wajar?

Jaringan saraf vanila dapat meniru pohon keputusan, dengan menggunakan aktivasi langkah heaviside. Masalahnya adalah bahwa aktivasi unit tersebut memiliki gradien nol, sehingga keturunan gradien normal tidak akan berfungsi. Anda mungkin berkata, "tidak masalah, cukup gunakan bentuk gradient descent yang dimodifikasi." Namun, itu masih belum cukup. Untuk contoh yang lebih baik, ambil sesuatu seperti XGBOOST, yang bukan hanya hutan yang didorong oleh gradien. Ada banyak pekerjaan ekstra yang harus dilakukan dalam memilih titik split, pemangkasan, mengoptimalkan kecepatan, dll. Mungkin setelah modifikasi yang cukup Anda dapat membuat JST yang mirip, tetapi sama sekali tidak jelas bahwa JST seperti itu akan melakukan setidaknya sebagai baik, atau jika itu dioptimalkan untuk melakukan pekerjaan itu.

f(x)=ex

Alex R.
sumber
2
Terima kasih atas jawabannya! Mengenai pertanyaan - "For any given model, can I slap together an ANN model to emulate that model, as close as possible, and in a reasonable amount of time?"- Saya takut untuk mengatakan itu bukan itu intinya. Intinya adalah, topologi JST sangat umum sehingga tampaknya mencakup segalanya, dan strategi optimasi tampaknya tidak dapat menentukan apa yang ada dan apa yang bukan JST. Karena itu pertanyaannya, apa yang mendefinisikan JST? Karena kalau tidak semuanya adalah, dengan cara, JST dinyatakan dalam istilah lain.
Firebug
1
"A vanilla neural network can emulate a decision tree, by using heaviside step-activations. The problem is that such unit activations have zero gradient, so normal gradient descent won't work. You might say, "no problem, just use a modified form of gradient descent." However, that's still not enough. [...]"- Seperti yang bisa kami tegaskan, optimasi bukanlah faktor penentu untuk definisi apa yang merupakan JST. Jika Anda dapat menulis setiap pohon keputusan sebagai jaringan saraf (dan kami dapat melakukan itu), maka kami dapat mengatakan bahwa DT adalah (jenis) NN, sementara yang sebaliknya tidak benar.
Firebug
"If you want a basic definition of an ANN, you might say that it's a directed-graphical-model, where inputs and outputs are processed at each node via an activation function, and most of the time gradient descent is used to train it. So the question really becomes: what models out there can be expressed as graphical models?"- Saya setuju dengan ini. Kemudian, "Jaringan Saraf Tiruan" dapat diartikan sebagai kelas model yang paling umum, mungkin hanya kurang umum daripada "model Grafik", yang merupakan superset dari Model Grafik Tidak Langsung dan Diarahkan. Mungkin Anda bisa menguraikan lebih lanjut tentang ini;)
Firebug
2

Mungkin, nama yang lebih akurat untuk JST adalah "jaringan terdiferensiasi", yaitu fungsi parametrized kompleks yang dapat dioptimalkan menggunakan gradient descent atau variannya. Ini adalah definisi yang sangat umum yang menekankan diferensiasi, tetapi tidak memberi tahu apa-apa tentang ide-ide pokok, tugas-tugas yang cocok untuknya, kerangka matematika yang mendasarinya, dll.

Perhatikan bahwa diferensiabilitas adalah suatu sifat, bukan yang utama. Sebagai contoh, SVM dapat dilatih menggunakan gradient descent dan dengan demikian menunjukkan sifat-sifat jaringan neural / terdiferensiasi, tetapi ide utamanya adalah dalam pemisahan data menggunakan hyperplanes. Autoencoder variasi menggunakan MLP untuk encoder dan decoder, tetapi fungsi yang Anda optimalkan berasal dari statistik Bayesian, dan sebagainya.

Ada juga beberapa model yang sering disebut sebagai jaringan saraf tetapi tidak menggunakan GD untuk belajar. Contoh yang baik adalah RBM. Dugaan saya adalah bahwa label "jaringan saraf" dilekatkan padanya sebagian besar karena alasan historis - akhirnya, pencipta RBM adalah Geoffrey Hinton, dan Hinton adalah seorang pria jaringan saraf, bukan? Namun, jika Anda menganalisis model, Anda akan melihat bahwa struktur RBM adalah jaring Markov, fungsi biaya berbasis energi berasal dari fisika statistik awal abad ke-20 dan pengambilan sampel MCMC / Gibbs telah berkembang secara paralel dan sepenuhnya independen dari jaringan saraf .

teman
sumber
2
Pembelajaran berbasis gradien tentu saja memainkan peran dalam keberhasilan JST. Tetapi saya tidak melihat pembedaan sebagai hal yang esensial untuk definisi tersebut, karena beberapa JST tidak dapat dibedakan. Sebagai contoh, JST pertama (model McCulloch-Pitts) menggunakan satuan ambang biner. Topik penelitian saat ini adalah bagaimana melakukan pembelajaran dalam JST yang tidak dapat dibedakan seperti spiking nets. Atau, misalkan kita mulai dengan JST yang khas dan dapat dibedakan, tetapi kemudian menyatakan bahwa kami ingin meminimalkan fungsi kerugian yang tidak dapat dibedakan. Apakah ini bukan lagi ANN?
user20160
Itulah mengapa saya mengusulkan definisi alternatif yang mencakup feed-foward, rekursi, rekursif, jaringan konvolusional, autoencoder, VAE, GAN, perhatian, dan banyak model lain yang biasa kita sebut "jaringan saraf", tetapi mengecualikan misalnya pendekatan yang didasarkan pada simulasi otak manusia atau pengambilan sampel ekstensif atas PGM. Pada 2018, pendekatan ini sangat berbeda, mereka menggunakan metode optimasi yang berbeda, perpustakaan yang berbeda, dll. (Meskipun saya tidak dapat memikirkan nama yang lebih baik daripada "jaringan saraf" untuk sparing jaring karena, tidak seperti CNN atau RNN, sebenarnya mensimulasikan manusia otak).
berteman
1

Saya mungkin mencoba untuk mendalilkan beberapa hal yang membantu mendefinisikan Jaringan Saraf Tiruan.

  • Grafik perhitungan dengan parameter yang bisa disesuaikan.
  • Parameter tersebut dapat disesuaikan agar sesuai dengan data (nyata atau disimulasikan).
  • Fungsi obyektif yang akan dioptimalkan terlibat secara implisit atau eksplisit. Ini bisa bersifat global atau lokal pada parameter.

Saya cukup yakin ini mencakup semua jaringan saraf yang umum digunakan saat ini dan juga beberapa yang esoteris.

Agnostik terhadap optimasi (jika kami memberlakukan optimasi berbasis gradien, maka jaringan yang berkembang tidak akan menjadi jaringan saraf).

Itu tidak menyebutkan neuron / node atau layer (beberapa jaringan saraf saat ini sulit dijelaskan oleh istilah-istilah ini), tapi saya kira kita bisa memasukkan itu dan menjadi sedikit lebih ketat.

Pembakar
sumber