Algoritma untuk melatih rangkaian saraf. Kaedah untuk melatih rangkaian saraf

parameter dalaman untuk tugas tertentu.

Algoritma rangkaian saraf adalah berulang; langkahnya dipanggil zaman atau kitaran.

era- satu lelaran dalam proses pembelajaran, termasuk pembentangan semua contoh daripada set latihan dan, mungkin, menyemak kualiti latihan pada set kawalan.

Proses pembelajaran dijalankan pada sampel latihan.

Set latihan termasuk nilai input dan nilai output yang sepadan bagi set data. Semasa latihan, rangkaian saraf menemui kebergantungan tertentu antara medan output dan medan input.

Oleh itu, kita berhadapan dengan persoalan apakah medan input (ciri) yang perlu kita gunakan. Pada mulanya, pemilihan dibuat secara heuristik, kemudian bilangan input boleh diubah.

Masalah yang mungkin timbul ialah bilangan pemerhatian dalam set data. Dan walaupun terdapat peraturan tertentu yang menerangkan hubungan antara bilangan pemerhatian yang diperlukan dan saiz rangkaian, ketepatannya belum terbukti.

Bilangan pemerhatian yang diperlukan bergantung kepada kerumitan masalah yang diselesaikan. Apabila bilangan ciri bertambah, bilangan pemerhatian meningkat secara tidak linear; masalah ini dipanggil "kutukan dimensi." Sekiranya data tidak mencukupi, adalah disyorkan untuk menggunakan model linear.

Penganalisis mesti menentukan bilangan lapisan dalam rangkaian dan bilangan neuron dalam setiap lapisan.

Seterusnya, anda perlu menetapkan nilai berat dan berat sebelah yang boleh meminimumkan ralat penyelesaian. Berat dan berat sebelah dilaraskan secara automatik untuk meminimumkan perbezaan antara isyarat keluaran yang dikehendaki dan diterima, dipanggil kesilapan pembelajaran.

Ralat latihan untuk rangkaian saraf yang dibina dikira dengan membandingkan nilai output dan sasaran (diingini). Fungsi ralat terbentuk daripada perbezaan yang terhasil.

Fungsi ralat- ini adalah fungsi objektif yang memerlukan pengurangan dalam proses latihan terkawal rangkaian saraf.

Menggunakan fungsi ralat, anda boleh menilai kualiti rangkaian saraf semasa latihan. Sebagai contoh, jumlah ralat kuasa dua sering digunakan.

Kualiti latihan rangkaian saraf menentukan keupayaannya untuk menyelesaikan tugas yang diberikan kepadanya.

Melatih semula rangkaian saraf

Apabila melatih rangkaian saraf, kesukaran yang serius sering timbul dipanggil masalah overfitting.

Latihan semula, atau overfitting - padanan rangkaian saraf yang terlalu tepat dengan set contoh latihan tertentu, di mana rangkaian kehilangan keupayaannya untuk membuat generalisasi.

Overfitting berlaku apabila latihan mengambil masa terlalu lama, contoh latihan tidak mencukupi, atau struktur rangkaian saraf terlalu rumit.

Overfitting adalah disebabkan oleh fakta bahawa pilihan set latihan adalah rawak. Dari langkah pertama pembelajaran, ralat berkurangan. Dalam langkah seterusnya, untuk mengurangkan ralat (fungsi objektif), parameter diselaraskan dengan ciri set latihan. Walau bagaimanapun, dalam kes ini, "penyesuaian" berlaku bukan pada corak umum siri, tetapi pada ciri bahagiannya - subset latihan. Di mana ketepatan ramalan berkurangan.

Salah satu pilihan untuk memerangi overtraining rangkaian ialah membahagikan sampel latihan kepada dua set (latihan dan ujian).

Rangkaian saraf dilatih pada set latihan. Model yang dibina disemak pada set ujian. Ini

Sekarang setelah menjadi jelas apa sebenarnya yang ingin kita bina, kita boleh beralih kepada soalan "bagaimana untuk membina rangkaian saraf sedemikian." Isu ini diselesaikan dalam dua peringkat: 1. Memilih jenis (seni bina) rangkaian saraf. 2. Pemilihan pemberat (latihan) rangkaian saraf. Pada peringkat pertama, kita harus memilih yang berikut: * neuron mana yang ingin kita gunakan (bilangan input, fungsi pemindahan); * bagaimana untuk menghubungkan mereka bersama-sama; * apa yang perlu diambil sebagai input dan output rangkaian saraf. Tugas ini pada pandangan pertama nampaknya sangat besar, tetapi, mujurlah, kita tidak perlu mencipta rangkaian saraf dari awal - terdapat beberapa dozen seni bina rangkaian saraf yang berbeza, dan keberkesanan kebanyakannya telah terbukti secara matematik. Seni bina yang paling popular dan dikaji ialah perceptron multilayer, rangkaian neural regresi umum, rangkaian neural Kohonen dan lain-lain. Anda tidak lama lagi boleh membaca tentang semua seni bina ini dalam bahagian khas buku teks ini.

Pada peringkat kedua, kita harus "melatih" rangkaian saraf yang dipilih, iaitu, pilih nilai beratnya supaya ia berfungsi seperti yang dikehendaki. Rangkaian saraf yang tidak terlatih adalah seperti kanak-kanak - ia boleh diajar apa sahaja. Dalam rangkaian saraf yang digunakan dalam amalan, bilangan pemberat boleh menjadi beberapa puluh ribu, jadi latihan adalah proses yang benar-benar kompleks. Bagi kebanyakan seni bina, algoritma pembelajaran khas telah dibangunkan yang membolehkan anda mengkonfigurasi pemberat rangkaian saraf dengan cara tertentu. Algoritma yang paling popular ialah kaedah Ralat Kembali Propagation, digunakan, sebagai contoh, untuk melatih perceptron.

Melatih rangkaian saraf

Untuk melatih rangkaian saraf bermakna memberitahunya apa yang kita mahu daripadanya. Proses ini hampir sama dengan mengajar kanak-kanak abjad. Selepas menunjukkan kepada kanak-kanak gambar huruf "A", kami bertanya kepadanya: "Huruf apakah ini?" Jika jawapannya salah, kami memberitahu kanak-kanak jawapan yang kami ingin dia berikan: "Ini adalah huruf A." Kanak-kanak mengingati contoh ini bersama-sama dengan jawapan yang betul, iaitu, beberapa perubahan berlaku dalam ingatannya ke arah yang betul. Kami akan mengulangi proses penyampaian surat berulang kali sehingga kesemua 33 huruf dihafal dengan baik. Proses ini dipanggil "pembelajaran diselia."

Apabila melatih rangkaian saraf, kami bertindak dengan cara yang sama. Kami mempunyai beberapa pangkalan data yang mengandungi contoh (satu set imej tulisan tangan huruf). Dengan membentangkan imej huruf "A" kepada input rangkaian saraf, kami menerima daripadanya beberapa jawapan, tidak semestinya betul. Kami juga mengetahui jawapan yang betul (yang dikehendaki) - dalam kes ini, kami ingin tahap isyarat pada output rangkaian saraf berlabel "A" adalah maksimum. Biasanya, output yang dikehendaki dalam masalah klasifikasi ialah set (1, 0, 0, ...), di mana 1 berada pada output berlabel "A", dan 0 adalah pada semua output lain. Dengan mengira perbezaan antara tindak balas yang dikehendaki dan tindak balas sebenar rangkaian, kami mendapat 33 nombor - vektor ralat. Algoritma perambatan belakang ialah satu set formula yang membolehkan seseorang mengira pembetulan yang diperlukan untuk pemberat rangkaian saraf menggunakan vektor ralat. Kita boleh membentangkan huruf yang sama (serta imej yang berbeza dari huruf yang sama) ke rangkaian saraf berkali-kali. Dalam pengertian ini, pembelajaran lebih seperti mengulang latihan dalam sukan - latihan.

Ternyata selepas pembentangan contoh berulang, berat rangkaian saraf menjadi stabil, dan rangkaian saraf memberikan jawapan yang betul kepada semua (atau hampir semua) contoh dari pangkalan data. Dalam kes ini, mereka mengatakan bahawa "rangkaian saraf telah mempelajari semua contoh," "rangkaian saraf dilatih," atau "rangkaian saraf dilatih." Dalam pelaksanaan perisian, anda dapat melihat bahawa semasa proses pembelajaran, magnitud ralat (jumlah ralat kuasa dua ke atas semua output) berkurangan secara beransur-ansur. Apabila ralat mencapai sifar atau tahap kecil yang boleh diterima, latihan dihentikan, dan rangkaian saraf yang terhasil dianggap terlatih dan sedia untuk digunakan pada data baharu. Adalah penting untuk ambil perhatian bahawa semua maklumat yang dimiliki oleh rangkaian saraf tentang masalah terkandung dalam satu set contoh. Oleh itu, kualiti latihan rangkaian saraf secara langsung bergantung pada bilangan contoh dalam set latihan, serta bagaimana contoh ini menggambarkan tugas yang diberikan sepenuhnya.

Sebagai contoh, tidak ada gunanya menggunakan rangkaian saraf untuk meramalkan krisis kewangan jika krisis tidak diwakili dalam set latihan. Adalah dipercayai bahawa untuk melatih rangkaian saraf sepenuhnya, sekurang-kurangnya beberapa dozen (atau lebih baik lagi ratusan) contoh diperlukan. Mari kita ulangi sekali lagi bahawa latihan rangkaian saraf adalah proses yang kompleks dan berintensif pengetahuan. Algoritma latihan rangkaian saraf mempunyai pelbagai parameter dan tetapan, pengurusan yang memerlukan pemahaman tentang pengaruhnya.


Setelah rangkaian saraf dilatih, kita boleh menggunakannya untuk menyelesaikan masalah yang berguna. Ciri terpenting otak manusia ialah, apabila ia telah mempelajari proses tertentu, ia boleh bertindak dengan betul dalam situasi di mana ia tidak terdedah semasa proses pembelajaran. Sebagai contoh, kita boleh membaca hampir semua tulisan tangan, walaupun kita melihatnya buat kali pertama dalam hidup kita. Begitu juga, rangkaian saraf yang telah dilatih dengan betul boleh, dengan kebarangkalian yang tinggi, bertindak balas dengan betul kepada data baharu yang belum dibentangkan kepadanya sebelum ini. Sebagai contoh, kita boleh melukis huruf "A" dalam tulisan tangan yang berbeza dan kemudian meminta rangkaian saraf kita untuk mengklasifikasikan imej baharu. Berat rangkaian saraf terlatih menyimpan banyak maklumat tentang persamaan dan perbezaan huruf, jadi anda boleh mengharapkan jawapan yang betul untuk versi baharu imej. Contoh rangkaian saraf siap sedia

Proses pembelajaran dan penggunaan rangkaian saraf yang diterangkan di atas boleh dilihat dalam tindakan sekarang. Kumpulan Sistem Ward telah menyediakan beberapa program mudah yang ditulis berdasarkan perpustakaan NeuroWindows. Setiap program membolehkan pengguna menentukan secara bebas satu set contoh dan melatih rangkaian saraf tertentu pada set ini. Kemudian anda boleh menawarkan contoh baharu kepada rangkaian saraf ini dan memerhatikan kerjanya.

Jadi hari ini kita akan terus membincangkan topik tersebut rangkaian saraf di laman web kami, dan, seperti yang saya janjikan dalam artikel pertama (), kita akan bercakap tentang latihan rangkaian. Topik ini sangat penting, kerana salah satu sifat utama rangkaian saraf adalah tepat bahawa ia bukan sahaja bertindak mengikut beberapa algoritma yang jelas, tetapi juga menambah baik (belajar) berdasarkan pengalaman lalu. Dan dalam artikel ini kita akan melihat beberapa bentuk latihan, serta contoh praktikal kecil.

Mari kita fikirkan dahulu apa tujuan belajar. Dan semuanya mudah - dalam melaraskan pekali pemberat sambungan rangkaian. Salah satu cara yang paling tipikal ialah pembelajaran terbimbing. Untuk melaksanakannya, kita perlu mempunyai satu set data input, serta data output yang sepadan. Kami menetapkan pekali pemberat sama dengan beberapa nilai kecil. Dan kemudian prosesnya berjalan seperti berikut...

Kami menyuap data ke input rangkaian, selepas itu rangkaian mengira nilai output. Kami membandingkan nilai ini dengan nilai yang kami ada (saya mengingatkan anda bahawa untuk latihan kami menggunakan set data input siap pakai yang mana isyarat keluaran diketahui) dan, mengikut perbezaan antara nilai ini, kami melaraskan pekali pemberat daripada rangkaian saraf. Dan operasi ini diulang dalam bulatan berkali-kali. Hasilnya, kami mendapat rangkaian terlatih dengan nilai baharu pekali pemberat.

Nampaknya semuanya jelas, kecuali bagaimana tepatnya dan oleh algoritma apa yang diperlukan untuk mengubah nilai setiap pekali berat tertentu. Dan dalam artikel hari ini untuk membetulkan berat, sebagai contoh yang jelas, kita akan melihat Peraturan Widrow-Hoff, yang juga dipanggil peraturan delta.

Peraturan Delta (Peraturan Widrow-Hoff).

Mari kita tentukan ralat:

Di sini kita ada - ini adalah output yang dijangkakan (sebenar) rangkaian, dan - ini adalah output sebenar (aktiviti) elemen output. Sebagai tambahan kepada elemen output, ralat boleh ditentukan untuk semua elemen lapisan tersembunyi rangkaian saraf, kita akan membincangkannya sedikit kemudian.

Peraturan delta adalah seperti berikut - perubahan dalam nilai pekali pemberat harus sama dengan:

Di mana norma pembelajaran. Kami menetapkan sendiri nombor ini sebelum memulakan latihan. – ini adalah isyarat yang datang kepada elemen k daripada unsur j. A – ralat unsur k.

Oleh itu, semasa proses latihan, kami menyuap sampel demi sampel ke input rangkaian, dan sebagai hasilnya kami memperoleh nilai baharu pekali pemberat. Lazimnya, latihan tamat apabila nilai ralat untuk semua sampel input menjadi kurang daripada nilai tertentu. Selepas ini, rangkaian diuji menggunakan data baru yang tidak menyertai latihan. Dan berdasarkan keputusan ujian ini, sudah mungkin untuk membuat kesimpulan sama ada rangkaian mengatasi tugasnya dengan baik atau tidak.

Segala-galanya jelas dengan melaraskan pemberat; ia kekal untuk menentukan dengan tepat bagaimana dan dengan algoritma apa pengiraan akan berlaku apabila melatih rangkaian. Mari kita lihat pembelajaran menggunakan algoritma perambatan balik.

Algoritma perambatan balik.

Algoritma ini mentakrifkan dua "aliran" dalam rangkaian. Isyarat input bergerak ke arah hadapan menghasilkan isyarat keluaran dari mana kita mendapat nilai ralat. Magnitud ralat bergerak ke arah yang bertentangan, menghasilkan pelarasan pekali pemberat sambungan rangkaian. Pada akhir artikel kita akan melihat contoh yang jelas menunjukkan proses ini.

Jadi, untuk melaraskan pemberat, kita akan menggunakan peraturan delta yang telah kita bincangkan. Ia hanya perlu untuk mentakrifkan peraturan sejagat untuk mengira ralat setiap elemen rangkaian selepas, sebenarnya, melalui elemen (semasa perambatan belakang ralat).

Saya mungkin tidak akan memberikan kesimpulan dan pengiraan matematik (walaupun saya suka matematik 🙂), supaya tidak membebankan artikel, kami akan mengehadkan diri kami hanya kepada keputusan akhir:

Fungsi ialah fungsi aktiviti unsur. Mari gunakan fungsi logistik untuk ini:

Kami menggantikannya ke dalam formula sebelumnya dan mendapatkan nilai ralat:

Dalam formula ini:

Pastinya sekarang semua ini nampaknya masih belum jelas sepenuhnya, tetapi jangan risau, apabila mempertimbangkan contoh praktikal, semuanya akan jatuh ke tempatnya 😉

Sebenarnya, mari kita teruskan.

Sebelum melatih rangkaian, adalah perlu untuk menetapkan nilai awal pemberat - biasanya ia dimulakan dengan nilai rawak kecil, contohnya dari selang (-0.5, 0.5). Tetapi untuk contoh kita, mari kita ambil integer untuk kemudahan.

Mari kita pertimbangkan rangkaian saraf dan melakukan pengiraan secara manual untuk "aliran" hadapan dan belakang dalam rangkaian.

Di pintu masuk kita mesti menyediakan sampel, biarlah (0.2, 0.5) . Output rangkaian yang dijangkakan - 0.4 . Biarkan kadar pembelajaran sama 0.85 . Mari kita laksanakan semua pengiraan langkah demi langkah. By the way, saya benar-benar terlupa, kita akan menggunakan fungsi logistik sebagai fungsi aktiviti:

Jadi mari kita mulakan...

Mari kita mengira gabungan input unsur 2 , 3 Dan 4 :

Aktiviti unsur-unsur ini ialah:

Input gabungan elemen kelima:

Aktiviti elemen kelima dan pada masa yang sama output rangkaian saraf adalah sama dengan:

Kami telah menangani "aliran" ke hadapan, sekarang mari kita beralih kepada "aliran" terbalik. Kami akan membuat semua pengiraan mengikut formula yang telah kami bincangkan. Jadi, mari kita hitung ralat elemen output:

Kemudian ralat untuk elemen 2 , 3 Dan 4 adalah sama masing-masing:

Inilah nilai-nilainya -0.014, -0.028 Dan -0.056 diperoleh hasil daripada menghantar ralat elemen keluaran - 0.014 sepanjang sambungan berwajaran ke arah unsur-unsur 2 , 3 Dan 4 masing-masing.

Dan akhirnya, kami mengira jumlah yang mana nilai pekali pemberat perlu diubah. Sebagai contoh, jumlah pelarasan untuk hubungan antara elemen 0 Dan 2 sama dengan hasil darab magnitud isyarat yang tiba di unsur 2 daripada unsur 0 , ralat unsur 2 dan norma pembelajaran (semuanya mengikut peraturan delta, yang kami bincangkan pada permulaan artikel):

Kami menjalankan pengiraan dengan cara yang sama untuk elemen yang tinggal:

Kini pekali pemberat baharu akan sama dengan jumlah nilai sebelumnya dan nilai pembetulan.

Pada ketika ini, laluan terbalik melalui rangkaian selesai, matlamat telah dicapai 😉 Beginilah cara proses pembelajaran berjalan menggunakan algoritma perambatan balik. Kami melihat proses ini untuk satu set data, dan untuk mendapatkan rangkaian terlatih sepenuhnya, sudah tentu, terdapat lebih banyak set sedemikian, tetapi algoritma tetap tidak berubah, ia hanya diulang dalam bulatan berkali-kali untuk data yang berbeza)

Atas permintaan pembaca blog, saya memutuskan untuk menambah contoh ringkas melatih rangkaian dengan dua lapisan tersembunyi:

Jadi, kami menambah dua elemen baharu (X dan Y) pada rangkaian kami, yang kini akan bertindak sebagai input. Kami juga menyediakan sampel di pintu masuk. (0.2, 0.5) . Mari kita pertimbangkan algoritma dalam kes ini:

1. Pas rangkaian terus. Di sini semuanya betul-betul sama seperti untuk rangkaian dengan satu lapisan tersembunyi. Hasilnya akan menjadi nilai.

2. Kira ralat elemen keluaran:

3. Sekarang kita perlu mengira ralat unsur 2, 3 dan 4.

TEKNOLOGI MAKLUMAT MODEN/2. Sains Komputer dan Pengaturcaraan

Zolotukhina Irina Andreevna, pelajar sarjana

Universiti Negeri Kostanay dinamakan sempena A. Baitursynov, Kazakhstan.

Kaedah dan algoritma untuk melatih rangkaian saraf.

Anotasi:Artikel ini menganalisis rangkaian saraf, mengapa ia sangat relevan, pertimbangkan jenis algoritma rangkaian saraf, dan kawasan penggunaan rangkaian.

Kata kunci:neuron, perceptron, kaedah Rosenblatt, kaedah Hebb, ralat generalisasi, ralat pembelajaran, algoritma pembelajaran.

Rangkaian saraf(atau rangkaian saraf tiruan) adalah salah satu bidang penyelidikan yang paling menarik dalam bidang kecerdasan buatan, berdasarkan pemodelan dan penghasilan semula sistem saraf manusia. Para saintis amat berminat dalam proses seperti: keupayaan sistem saraf untuk belajar, membetulkan kesilapan, dan membuat keputusan, yang sepatutnya membolehkan kita mensimulasikan fungsi otak manusia.

Rangkaian saraf tiruan belajar dengan menganalisis pengaruh positif dan negatif. Mereka terdiri daripada neuron, yang dinamakan dengan analogi dengan prototaip biologi mereka.

Model neuron buatan pertama kali dicadangkan oleh saintis Amerika Warren McCulloch dan pelajarnya Walter Pitts pada tahun 1943.

Bergantung pada fungsi yang dilakukan oleh neuron dalam rangkaian, tiga jenis boleh dibezakan:

· neuron input yang mana vektor pengekodan kesan input atau imej persekitaran luaran dibekalkan; mereka biasanya tidak menjalankan prosedur pengiraan;

· neuron perantaraan yang membentuk asas rangkaian saraf, transformasi yang dilakukan mengikut ungkapan (1) dan (1.1);

· neuron output, yang nilai outputnya mewakili output rangkaian saraf; transformasi di dalamnya juga dijalankan mengikut ungkapan (1) dan (1.1).

Rajah 1. Struktur rangkaian neural formal

(1)

y = f(s)(1.1)

di mana

· w i, – berat sinaps, i = 1...n;

· b– nilai mengimbangi;

· s– hasil penjumlahan;

· x, – komponen vektor input (isyarat input),

· x i = 1...n;

· di– isyarat keluaran neuron;

· n– bilangan input neuron;

· f– penjelmaan tak linear (fungsi pengaktifan).

Untuk memasukkan isyarat (s) penukar tak linear bertindak balas dengan isyarat keluaran f(s), yang mewakili output neuron.

Kelebihan pendekatan rangkaian saraf apabila menyelesaikan masalah teknologi maklumat berbeza dengan yang lain (contohnya, seni bina von Neumann):

· selari pemprosesan maklumat;

· prinsip pengajaran yang seragam dan berkesan;

· kebolehpercayaan operasi;

· kebolehan menyelesaikan masalah tidak formal.

Aplikasi dan masalah diselesaikan oleh rangkaian saraf tiruan

Rangkaian saraf tiruan telah menemui aplikasinya dalam pelbagai bidang teknologi. Peningkatan selanjutnya dalam prestasi komputer semakin dikaitkan dengan pembangunan rangkaian ini, khususnya, dengan neurokomputer, yang berasaskan rangkaian saraf tiruan.

Pelbagai masalah yang diselesaikan oleh rangkaian saraf:

· pengecaman corak;

· pengecaman dan sintesis pertuturan;

· pengecaman imej aeroangkasa;

· pemprosesan isyarat dengan kehadiran bunyi yang tinggi;

· ramalan;

· pengoptimuman;

· meramalkan sebut harga dan kadar pertukaran sekuriti;

· pencegahan penipuan kad kredit;

· permainan di bursa saham;

· penapisan spam;

· penilaian hartanah;

· menilai keadaan kewangan perusahaan dan risiko tidak membayar balik pinjaman;

· pemprosesan isyarat radar;

· sistem keselamatan dan pengawasan video;

· kawalan lalu lintas di lebuh raya dan kereta api;

· diagnostik dalam perubatan;

· pengurusan objek kompleks;

· mengekstrak pengetahuan daripada sejumlah besar data dalam perniagaan, kewangan dan penyelidikan saintifik;

· kawalan masa nyata dan bukan itu sahaja.

Pendidikan

Latihan merujuk kepada meningkatkan prestasi sistem dengan menganalisis data input. Selain itu, latihan berlaku mengikut peraturan tertentu.

Terdapat dua pendekatan utama untuk pembelajaran: "dengan guru" dan "tanpa guru" (pembelajaran kendiri). Pada latihan bersama guru rangkaian saraf mempunyai jawapan yang betul (output rangkaian) untuk setiap contoh input. Bersama-sama mereka dipanggil pasangan latihan. Pemberat dilaraskan supaya rangkaian menghasilkan jawapan sedekat mungkin dengan jawapan betul yang diketahui, meminimumkan ralat. Vektor set latihan dibentangkan secara berurutan, ralat dikira dan pemberat diselaraskan untuk setiap vektor sehingga ralat merentas keseluruhan set latihan mencapai tahap yang boleh diterima. Pembelajaran tanpa pengawasan tidak memerlukan pengetahuan tentang jawapan yang betul untuk setiap contoh sampel latihan. Ini mendedahkan struktur data dalaman atau kebergantungan antara corak dalam sistem data, membolehkan corak dikategorikan.

Latihan tunjuk ajar

Banyak neuron input dibekalkan kepada input rangkaian saraf tiruanX- vektor input untuk rangkaian saraf terlatih.

Mari kita tentukan fungsi ralat E. Biasanya ini ialah ralat min kuasa dua,

,

di mana

· P- bilangan contoh yang diproses oleh rangkaian saraf;

· y i-keluar;

· d i- keluaran (ideal) rangkaian saraf yang dikehendaki.

Prosedur untuk melatih rangkaian saraf dikurangkan kepada prosedur untuk membetulkan berat sambungan. Tujuan prosedur pembetulan berat adalah untuk meminimumkan fungsi ralat E.

Skim umum latihan dengan guru:

1 Sebelum permulaan latihan, pekali pemberat ditetapkan dalam beberapa cara, contohnya - secara rawak.

2 Pada peringkat pertama, contoh latihan diserahkan kepada input dalam susunan tertentu. Pada setiap lelaran, ralat dikira untuk contoh latihan E L(ralat pembelajaran) dan pemberat diperbetulkan menggunakan algoritma tertentu. Tujuan prosedur pembetulan berat adalah untuk meminimumkan ralat E L.

3 Pada peringkat kedua latihan, operasi yang betul diperiksa. Kes ujian diserahkan kepada input dalam susunan tertentu. Pada setiap lelaran, ralat untuk kes ujian dikira E G(ralat generalisasi ialah ralat yang ditunjukkan oleh model terlatih pada contoh yang tidak mengambil bahagian dalam proses latihan). Jika hasilnya tidak memuaskan, maka banyak contoh latihan diubah suai dan kitaran latihan diulang.

Jika selepas beberapa lelaran algoritma pembelajaran ralat pembelajaran E L jatuh hampir kepada sifar, manakala ralat generalisasi E G berkurangan pada permulaan dan kemudian mula meningkat, maka ini adalah tanda kesan latihan semula. Dalam kes ini, latihan mesti dihentikan.

Rajah 2. Kesan overfitting

Berdasarkan algoritma ini, latihan rangkaian saraf adalah berdasarkan kaedah Rosenblatt.

Kaedah Rosenblatt

Kaedah ini telah dicadangkan oleh F. Rosenblatt pada tahun 60-an XX abad Untuk rangkaian saraf yang dipanggil perceptron. Perceptron mempunyai fungsi pengaktifan ambang, rajahnya ditunjukkan dalam Rajah 1.

Rajah 3. Perceptron satu lapisan

Prosedur latihan Rosenblatt untuk perceptron satu lapisan boleh diwakili seperti berikut:

,

di mana

· x i- i-input ke rangkaian saraf;

· d j- dikehendaki (ideal) j-keluaran rangkaian saraf;

· a - pekali (kelajuan pembelajaran) 0< a≤1

Pekali pemberat ditukar hanya jika nilai keluaran sebenar tidak sepadan dengan nilai keluaran ideal. Di bawah ialah penerangan tentang algoritma latihan perceptron.

1. Kami menetapkan semua pemberat sama dengan sifar.

2. Kami menjalankan kitaran pembentangan contoh. Untuk setiap contoh, prosedur berikut dilakukan.

2.1. Jika rangkaian memberikan jawapan yang betul, kemudian pergi ke langkah 2.4.

2.2. Jika satu unit dijangka pada output perceptron, tetapi sifar telah diterima, maka berat sambungan yang melaluinya isyarat unit dikurangkan sebanyak satu.

2.3. Jika sifar dijangka pada output perceptron, tetapi satu unit telah diterima, maka berat sambungan yang melaluinya isyarat tunggal meningkat satu.

2.4. Mari kita beralih kepada contoh seterusnya. Jika tamat set latihan dicapai, kemudian pergi ke langkah 3, jika tidak, kita kembali ke langkah 2.1.

3. Jika semasa pelaksanaan langkah kedua algoritma, langkah 2.2 atau 2.3 dilakukan sekurang-kurangnya sekali dan tiada gelung berlaku, kemudian pergi ke langkah 2. Jika tidak, latihan selesai.

Algoritma ini tidak mempunyai mekanisme penjejakan gelung pembelajaran. Mekanisme ini boleh dilaksanakan dengan cara yang berbeza. Yang paling menjimatkan dari segi penggunaan memori tambahan adalah seperti berikut.

4. k=1; m=0. Kami ingat berat sambungan.

5. Selepas kitaran persembahan imej, kami membandingkan berat sambungan dengan yang diingati. Jika pemberat semasa bertepatan dengan yang diingati, maka gelung berlaku. Jika tidak, pergi ke langkah 3.

6. m=m+1. Jika m<k, kemudian teruskan ke langkah kedua.

7. k=2k; m=0. Kami mengingati berat sambungan dan teruskan ke langkah 2.

Oleh kerana panjang kitaran adalah terhingga, maka untuk yang cukup besar k gelung akan dikesan.

Belajar tanpa guru.

Ciri utama yang menjadikan pembelajaran tanpa guru menarik ialah "kemerdekaannya". Proses pembelajaran, seperti dalam kes pembelajaran yang diselia, terdiri daripada melaraskan pemberat sinaps. Sesetengah algoritma, bagaimanapun, mengubah struktur rangkaian, iaitu bilangan neuron dan hubungannya, tetapi transformasi sedemikian akan lebih tepat dipanggil istilah yang lebih luas - organisasi diri, dan mereka tidak akan dipertimbangkan dalam skop ini. artikel. Jelas sekali, pelarasan sinaps hanya boleh dilakukan berdasarkan maklumat yang terdapat dalam neuron, iaitu, keadaannya dan pekali berat sedia ada. Berdasarkan pertimbangan ini dan, yang lebih penting, dengan analogi dengan prinsip-prinsip penyusunan diri sel saraf yang diketahui, algoritma pembelajaran Hebbian telah dibina.

Pada asasnya, Hebb mencadangkan bahawa sambungan sinaptik antara dua neuron diperkukuh jika kedua-dua neuron teruja. Ini boleh dianggap sebagai pengukuhan sinaps mengikut korelasi tahap neuron pengujaan yang disambungkan oleh sinaps tertentu. Atas sebab ini, algoritma pembelajaran Hebb kadangkala dipanggil algoritma korelasi.

Idea algoritma dinyatakan oleh persamaan berikut:

,

di mana

· yi(n-1)– nilai keluaran neuron i lapisan (n-1),

· yj(n)– nilai keluaran neuron j lapisan n;

· wij(t)dan w ij(t-1) ialah pekali pemberat sinaps yang menghubungkan neuron ini pada lelaran t Dan t-1 masing-masing;

· a– pekali kadar pembelajaran.

Terdapat juga kaedah pembelajaran Hebbian yang berbeza, diwakili oleh formula

,(2)

Di sini y i (n-1) (t) Dan y i (n-1) (t-1)– nilai keluaran neuron i lapisan n-1, masing-masing, pada lelaran t dan t-1;

y j (n) (t)Dan y j (n) (t-1)- sama untuk neuron j lapisan n.

Seperti yang dapat dilihat daripada formula (2), sinaps yang menghubungkan neuron-neuron yang outputnya telah berubah secara dinamik ke arah peningkatan belajar dengan paling kuat.

Algoritma pembelajaran lengkap menggunakan formula di atas akan kelihatan seperti ini:

1. Pada peringkat permulaan, semua pekali pemberat diberikan nilai rawak kecil.

2. Imej input dibekalkan kepada input rangkaian, dan isyarat pengujaan diedarkan merentasi semua lapisan mengikut prinsip rangkaian suapan hadapan klasik, iaitu, untuk setiap neuron, jumlah wajaran inputnya dikira, yang mana pengaktifan ( pemindahan) fungsi neuron kemudiannya digunakan, menyebabkan nilai outputnya diperolehi yi(n), i=0...M i-1, di mana M i– bilangan neuron dalam satu lapisan i; n=0...N-1, a N– bilangan lapisan dalam rangkaian.

3. Berdasarkan nilai keluaran neuron yang diperoleh, mengikut formula (1) atau (2), pekali berat diubah.

4. Gelung dari langkah 2 sehingga nilai keluaran rangkaian menjadi stabil dengan ketepatan yang ditentukan. Penggunaan kaedah baharu ini untuk menentukan penyiapan latihan, yang berbeza daripada yang digunakan untuk rangkaian perambatan belakang, adalah disebabkan oleh fakta bahawa nilai sinaps yang boleh diselaraskan pada dasarnya tidak terhad.

Pada langkah kedua kitaran, semua imej daripada set input dibentangkan secara bergilir-gilir.

Perlu diingatkan bahawa jenis tindak balas kepada setiap kelas imej input tidak diketahui terlebih dahulu dan akan menjadi gabungan sewenang-wenangnya keadaan neuron dalam lapisan keluaran, disebabkan oleh pengagihan berat secara rawak pada peringkat permulaan. Pada masa yang sama, rangkaian dapat menyamaratakan imej yang serupa, mengklasifikasikannya ke dalam kelas yang sama. Menguji rangkaian terlatih membolehkan anda menentukan topologi kelas dalam lapisan output. Untuk membawa respons rangkaian terlatih kepada perwakilan yang mudah, anda boleh menambah rangkaian dengan satu lapisan, yang, sebagai contoh, mengikut algoritma latihan perceptron satu lapisan, mesti dipaksa untuk memetakan tindak balas keluaran rangkaian. ke dalam imej yang diperlukan.

Perlu diingatkan bahawa pembelajaran tanpa pengawasan adalah lebih sensitif terhadap pilihan parameter optimum daripada pembelajaran diselia. Pertama, kualitinya sangat bergantung pada nilai awal sinaps. Kedua, pembelajaran adalah penting kepada pilihan jejari pembelajaran dan kadar perubahannya. Dan akhirnya, sudah tentu, sifat perubahan dalam pekali pembelajaran itu sendiri adalah sangat penting. Dalam hal ini, pengguna berkemungkinan besar perlu menjalankan kerja awal untuk memilih parameter latihan rangkaian yang optimum.

Walaupun terdapat beberapa kesukaran pelaksanaan, algoritma pembelajaran tanpa pengawasan telah menemui aplikasi yang meluas dan berjaya. Malah, rangkaian saraf tiruan paling kompleks yang diketahui hari ini - kognitron dan neocognitron - juga beroperasi mengikut algoritma pembelajaran tanpa pengawasan. Mereka mengatasi tugas dengan baik untuk mengenal pasti imej tertakluk kepada anjakan dalam kedudukan, bunyi dan herotan bentuk. Walau bagaimanapun, neocognitron tidak dapat menampung tugas apabila imej diputar oleh sudut tertentu.

Sebagai kesimpulan, kita boleh mengatakan bahawa saintis sedang meneliti rangkaian saraf tiruan dan kestabilan konfigurasi tertentu, tetapi tidak semua masalah boleh diselesaikan oleh rangkaian saraf. Walaupun fakta bahawa neuron buatan adalah model neuron biologi, ia jauh dari sempurna dan memerlukan kerja penting dan penemuan baru dalam bidang kecerdasan buatan. Rangkaian saraf tidak dapat belajar seperti manusia.Walau bagaimanapun, berdasarkan bahan di atas, adalah mungkin untuk mencipta sistem kehidupan sebenar untuk pengecaman corak, pemampatan maklumat, kawalan automatik, penilaian pakar dan banyak lagi.

kesusasteraan:

1. V.V. Kruglov, V.V. Borisov "Rangkaian saraf tiruan", 2002.

2. Rumelhart D. E., Hinton G. E., Williams R. D. Mempelajari reprentasi dalaman melalui penyebaran ralat dalam pemprosesan teragih selari. – Cambrige: MA: MIT Press, 1986. – 91 p.

Melatih rangkaian saraf

Rangkaian saraf digunakan untuk mewakili pengetahuan. Tidak seperti pengiraan konvensional, perwakilan pengetahuan dalam rangkaian saraf mencari mengikut kandungan dan bukannya dengan alamat data yang disimpan. Di samping itu, perwakilan pengetahuan dalam rangkaian saraf dilakukan melalui anggaran dan bukannya surat-menyurat yang tepat. Perwakilan pengetahuan dalam rangkaian saraf terdiri daripada rangkaian, berat sambungan dan tafsiran semantik yang dilampirkan pada pengaktifan nod. Contohnya, dalam konteks klasifikasi pengurusan, menggunakan rangkaian saraf terlatih, adalah mungkin untuk meramalkan sama ada pelanggan akan memilih produk baharu berdasarkan data berangka tentang pelanggan, seperti jenama terakhir yang dibeli, minat terhadap pra-pendedahan, peluang untuk pendedahan tambahan, dan minat terhadapnya. Pengkuantiti atribut ini adalah input kepada rangkaian saraf terlatih. Pengaktifan "+1" yang diterima daripada rangkaian saraf mungkin menunjukkan bahawa pelanggan akan memilih produk baharu, dan "-1" - sebaliknya.

Generalisasi pengetahuan dalam rangkaian saraf dicapai melalui latihan. Proses pembelajaran dalam rangkaian saraf merangsang corak pengaktifan yang diingini dan menyekat yang tidak diingini berdasarkan data yang tersedia. Untuk mencapai generalisasi pengetahuan tertentu dalam rangkaian saraf, algoritma pembelajaran dibangunkan. Fungsi ralat yang ditentukan pada output rangkaian saraf, atau fungsi tenaga yang ditentukan apabila mengaktifkan elemen rangkaian, mencirikan kualiti rangkaian saraf dalam generalisasi pengetahuan. Set data latihan dalam kes ini harus terdiri daripada sampel perwakilan pengetahuan yang sepatutnya dilatih pada rangkaian saraf. Algoritma pembelajaran beroperasi dengan menukar sama ada pemberat (iaitu, kekuatan sambungan antara nod), output rangkaian saraf, atau struktur rangkaian saraf, bertujuan untuk ralat atau tenaga yang minimum berdasarkan data latihan.

Terdapat sejumlah besar paradigma pembelajaran dalam sistem rangkaian saraf. Pembelajaran diselia (pembelajaran diselia) dan pembelajaran tidak diselia (pembelajaran tanpa pengawasan atau pembelajaran kendiri) adalah dua paradigma utama yang biasa digunakan dalam reka bentuk algoritma pembelajaran. Terdapat juga paradigma yang bercampur-campur.

Dalam paradigma pembelajaran bersama guru rangkaian saraf mempunyai jawapan yang betul (output rangkaian) untuk setiap contoh input. Proses latihan cuba untuk meminimumkan "jarak" antara output sebenar dan yang dikehendaki rangkaian saraf. Pemberat dilaraskan supaya rangkaian menghasilkan jawapan sedekat mungkin dengan jawapan betul yang diketahui. Versi pembelajaran diselia yang dipertingkatkan mengandaikan bahawa hanya anggaran kritikal tentang ketepatan output rangkaian saraf diketahui, tetapi bukan nilai output yang betul itu sendiri.

Lawan daripada pembelajaran yang diselia ialah pengajaran tanpa guru. Tidak seperti pembelajaran diselia, tidak ada set priori nilai output yang diingini dan pengetahuan tentang jawapan yang betul untuk setiap contoh sampel latihan tidak diperlukan. Apabila paradigma sedemikian digunakan, berbilang corak input tersirat. Diandaikan bahawa semasa proses latihan, rangkaian saraf mengesan ciri penting input (struktur dalaman data atau korelasi antara sampel dalam sistem data didedahkan, yang memungkinkan untuk mengedarkan sampel ke dalam kategori). Rangkaian saraf mesti membangunkan perwakilan rangsangan inputnya sendiri tanpa bantuan guru.

Pada bercampur-campur Dalam latihan, sebahagian daripada pemberat ditentukan melalui pembelajaran yang diselia, manakala selebihnya diperoleh melalui pembelajaran kendiri.

Teori pembelajaran mempertimbangkan tiga sifat asas yang dikaitkan dengan pembelajaran melalui contoh: kapasiti, kerumitan sampel dan kerumitan pengiraan.

Kapasiti merujuk kepada bilangan sampel yang boleh diingati oleh rangkaian, dan apakah fungsi dan sempadan keputusan yang boleh dibentuk padanya.

Kerumitan sampel menentukan bilangan contoh latihan yang diperlukan untuk mencapai keupayaan generalisasi rangkaian. Terlalu sedikit contoh boleh menyebabkan rangkaian menjadi "terlalu terlatih", di mana ia menunjukkan prestasi yang baik pada contoh daripada set latihan, tetapi lemah pada contoh ujian tertakluk kepada pengedaran statistik yang sama.

Terdapat 4 jenis peraturan pembelajaran utama: pembetulan ralat, mesin Boltzmann, peraturan Hebb dan pembelajaran kompetitif.

Peraturan pembetulan ralat. Dalam pembelajaran yang diselia, setiap contoh input diberikan output yang dikehendaki d. Output rangkaian sebenar y mungkin tidak bertepatan dengan yang dikehendaki. Prinsip pembetulan ralat semasa latihan adalah menggunakan isyarat (d-y) untuk mengubah suai pemberat, memastikan pengurangan ralat secara beransur-ansur. Pembelajaran hanya berlaku apabila perceptron membuat kesilapan. Pelbagai pengubahsuaian algoritma pembelajaran ini diketahui.

Latihan Boltzmann. Mewakili peraturan pembelajaran stokastik yang mengikuti daripada prinsip teori dan termodinamik maklumat. Matlamat latihan Boltzmann adalah untuk melaraskan pemberat supaya keadaan neuron yang kelihatan memenuhi taburan kebarangkalian yang dikehendaki. Pembelajaran Boltzmann boleh dianggap sebagai kes khas pembetulan ralat, di mana ralat difahami sebagai perbezaan korelasi keadaan dalam kedua-dua mod.

Peraturan Hebb. Peraturan pembelajaran tertua ialah postulat pembelajaran Hebbian. Hebb bergantung pada pemerhatian neurofisiologi berikut: jika neuron pada kedua-dua belah sinaps menyala secara serentak dan kerap, kekuatan sambungan sinaptik meningkat. Ciri penting peraturan ini ialah perubahan berat sinaptik hanya bergantung pada aktiviti neuron yang disambungkan oleh sinaps tertentu. Ini sangat memudahkan rantaian pembelajaran dalam pelaksanaan VLSI.

Latihan melalui pertandingan. Tidak seperti pembelajaran Hebbian, di mana banyak neuron output boleh menyala secara serentak, dalam pembelajaran kompetitif neuron output bersaing antara satu sama lain untuk menembak. Fenomena ini dikenali sebagai peraturan pemenang-ambil-semua. Pembelajaran serupa berlaku dalam rangkaian saraf biologi. Pembelajaran melalui persaingan membolehkan pengelompokan data input: contoh yang serupa dikumpulkan oleh rangkaian mengikut korelasi dan diwakili sebagai satu elemen.

Semasa latihan, hanya berat neuron "menang" diubah suai. Kesan peraturan ini dicapai dengan menukar sampel yang disimpan dalam rangkaian (vektor berat sambungan neuron yang menang), di mana ia menjadi lebih dekat dengan contoh input. Dalam Rajah. Rajah 3 memberikan ilustrasi geometri latihan menggunakan kaedah pertandingan. Vektor input dinormalisasi dan diwakili oleh titik pada permukaan sfera. Vektor berat untuk tiga neuron dimulakan dengan nilai rawak. Nilai awal dan akhir mereka selepas latihan ditandakan dengan X dalam Rajah. 3a dan 3b masing-masing. Setiap daripada tiga kumpulan contoh dikesan oleh salah satu neuron keluaran, yang vektor beratnya ditala ke pusat graviti kumpulan yang dikesan.


nasi. N.
Contoh latihan menggunakan kaedah kompetitif: (a) sebelum latihan; (b) selepas latihan

Dapat diperhatikan bahawa rangkaian tidak pernah berhenti belajar melainkan parameter kadar pembelajaran ialah 0. Sesetengah sampel input boleh mengaktifkan neuron keluaran lain dalam lelaran berikutnya dalam proses pembelajaran. Ini menimbulkan persoalan tentang kemampanan sistem latihan. Sistem ini dianggap stabil jika tiada satu pun contoh dalam sampel latihan mengubah keahlian kategorinya selepas bilangan lelaran terhingga proses latihan. Satu cara untuk mencapai kestabilan adalah dengan menurunkan parameter kadar pembelajaran secara beransur-ansur kepada 0. Walau bagaimanapun, perencatan pembelajaran buatan ini menyebabkan satu lagi masalah yang dipanggil keplastikan, yang berkaitan dengan keupayaan untuk menyesuaikan diri dengan data baharu. Ciri-ciri pembelajaran kompetitif ini dikenali sebagai dilema kestabilan-keplastikan Grossberg.

Jadual 2 membentangkan pelbagai algoritma pembelajaran dan seni bina rangkaian yang berkaitan (senarainya tidak lengkap). Lajur terakhir menyenaraikan tugas yang setiap algoritma boleh digunakan. Setiap algoritma pembelajaran tertumpu pada rangkaian seni bina tertentu dan bertujuan untuk kelas tugasan yang terhad. Sebagai tambahan kepada yang dibincangkan, beberapa algoritma lain harus disebutkan:

Adaline dan Madaline,

analisis diskriminasi linear], unjuran Sammon,

kaedah/analisis komponen utama .

Jadual 2. Algoritma pembelajaran yang diketahui.

Paradigma Peraturan Pembelajaran Seni bina Algoritma pembelajaran Tugasan
Bersama cikgu Pembetulan kesilapan Perceptron satu lapisan dan berbilang lapisan Algoritma Latihan Perceptron Penyebaran Balik Adaline dan Madaline
Boltzmann Berulang Algoritma pembelajaran Boltzmann Klasifikasi imej
Hebb Analisis diskriminasi linear Klasifikasi Corak Analisis Data
pertandingan pertandingan Pengkuantitian vektor Pengkategorian dalam kelas Pemampatan data
Rangkaian ART ARTMap Klasifikasi imej
Tanpa guru Pembetulan kesilapan Penyebaran langsung berbilang lapisan Unjuran Sammon Pengkategorian dalam kelas Analisis data
Hebb Pengedaran langsung atau persaingan Analisis Komponen Utama Analisis Data Pemampatan Data
Rangkaian Hopfield Latihan ingatan bersekutu Ingatan bersekutu
pertandingan pertandingan Pengkuantitian vektor Pengkategorian Pemampatan data
SOM Kohonen SOM Kohonen Analisis Data Pengkategorian
rangkaian ART ART1, ART2 Pengkategorian
bercampur Pembetulan ralat dan persaingan rangkaian RBF Algoritma pembelajaran RBF Pengelasan imej Penghampiran fungsi Ramalan, kawalan