Rumah  >  Artikel  >  Peranti teknologi  >  Konsep dan langkah penyebaran balik ralat

Konsep dan langkah penyebaran balik ralat

PHPz
PHPzke hadapan
2024-01-22 21:39:151231semak imbas

Konsep dan langkah penyebaran balik ralat

Apakah rambatan belakang ralat

Kaedah rambatan balik ralat, juga dikenali sebagai algoritma Rambatan Balik, ialah kaedah biasa untuk melatih rangkaian saraf. Ia menggunakan peraturan rantai untuk mengira ralat antara output rangkaian saraf dan label, dan merambat belakang ralat itu ke setiap lapisan nod demi lapisan untuk mengira kecerunan setiap nod. Kecerunan ini boleh digunakan untuk mengemas kini berat dan berat sebelah rangkaian saraf, membawa rangkaian secara beransur-ansur lebih dekat kepada penyelesaian optimum. Melalui perambatan belakang, rangkaian saraf secara automatik boleh mempelajari dan melaraskan parameter untuk meningkatkan prestasi dan ketepatan model.

Dalam ralat belakang, kami menggunakan peraturan rantai untuk mengira kecerunan.

Kami mempunyai rangkaian saraf yang mempunyai input x, output y dan lapisan tersembunyi. Kami mengira kecerunan setiap nod dalam lapisan tersembunyi melalui perambatan belakang.

Pertama, kita perlu mengira ralat setiap nod. Untuk lapisan keluaran, ralat ialah perbezaan antara nilai sebenar dan nilai ramalan untuk lapisan tersembunyi, ralat ialah ralat lapisan seterusnya didarab dengan berat lapisan semasa. Ralat ini akan digunakan untuk melaraskan pemberat untuk meminimumkan perbezaan antara ramalan dan nilai sebenar.

Kemudian, kita menggunakan peraturan rantai untuk mengira kecerunan. Untuk setiap pemberat, kami mengira sumbangannya kepada ralat dan kemudian menyebarkan kembali sumbangan ini ke lapisan sebelumnya.

Secara khusus, katakan rangkaian saraf kita mempunyai berat w yang menghubungkan dua nod. Kemudian, sumbangan berat ini kepada ralat adalah hasil darab berat dan ralat. Kami menyebarkan kembali sumbangan ini kepada lapisan sebelumnya dengan mendarabkan sumbangan ini dengan hasil keluaran lapisan sebelumnya dan input lapisan semasa.

Dengan cara ini, kita boleh mengira kecerunan setiap nod dan kemudian menggunakan kecerunan ini untuk mengemas kini berat dan berat sebelah rangkaian.

Langkah terperinci perambatan balik ralat

Andaikan kita mempunyai rangkaian neural yang mempunyai lapisan input, lapisan tersembunyi dan lapisan output. Fungsi pengaktifan lapisan input ialah fungsi linear, fungsi pengaktifan lapisan tersembunyi ialah fungsi sigmoid, dan fungsi pengaktifan lapisan output juga merupakan fungsi sigmoid.

Propagasi ke hadapan

1. Masukkan data set latihan ke dalam lapisan input rangkaian saraf dan dapatkan nilai pengaktifan lapisan input.

2. Hantarkan nilai pengaktifan lapisan input ke lapisan tersembunyi, dan dapatkan nilai pengaktifan lapisan tersembunyi melalui transformasi tak linear bagi fungsi sigmoid.

3. Hantarkan nilai pengaktifan lapisan tersembunyi ke lapisan keluaran, dan dapatkan nilai pengaktifan lapisan keluaran melalui transformasi tak linear bagi fungsi sigmoid.

Ralat Kira

Ralat dikira menggunakan kehilangan entropi silang antara pengaktifan lapisan keluaran dan label sebenar. Khususnya, bagi setiap sampel, entropi silang antara label yang diramalkan dan label sebenar dikira, dan kemudian entropi silang ini didarab dengan berat sampel yang sepadan (berat sampel biasanya ditentukan berdasarkan kepentingan dan pengedaran sampel ).

Backpropagation

1. Kira kecerunan setiap nod lapisan keluaran

Mengikut peraturan rantai, untuk setiap nod, kami mengira sumbangannya kepada ralat ini, dan kemudian Kembali ke pro lantai sebelumnya. Khususnya, untuk setiap nod, kami mengira sumbangannya kepada ralat (iaitu, hasil darab berat nod dan ralat), dan kemudian darabkan sumbangan ini dengan hasil darab keluaran lapisan sebelumnya dan input lapisan semasa. Dengan cara ini, kita mendapat kecerunan setiap nod lapisan keluaran. . Khususnya, untuk setiap nod, kami mengira sumbangannya kepada ralat (iaitu, berat nod dikalikan ralat), dan kemudian darabkan sumbangan ini dengan hasil keluaran lapisan sebelumnya dan input lapisan semasa. Dengan cara ini, kita mendapat kecerunan setiap nod dalam lapisan tersembunyi. . boleh mengawal parameter kelajuan kemas kini) untuk mendapatkan jumlah kemas kini berat. Untuk setiap berat sebelah, kami juga perlu mengira kecerunannya pada ralat, dan kemudian darabkan kecerunan ini dengan kadar pembelajaran untuk mendapatkan jumlah kemas kini untuk berat sebelah itu.

Latihan berulang

Ulang proses di atas (perambatan ke hadapan, ralat pengiraan, perambatan belakang, kemas kini parameter) sehingga kriteria berhenti dipenuhi (contohnya, bilangan lelaran maksimum pratetap dicapai atau ralat mencapai pratetap nilai minimum).

Ini adalah proses terperinci penyebaran balik ralat. Perlu diingatkan bahawa dalam aplikasi praktikal, kami biasanya menggunakan struktur rangkaian saraf dan fungsi pengaktifan yang lebih kompleks, serta fungsi kehilangan dan algoritma pembelajaran yang lebih kompleks untuk meningkatkan prestasi dan keupayaan generalisasi model.

Atas ialah kandungan terperinci Konsep dan langkah penyebaran balik ralat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:163.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam