Rangkaian sisa ialah model pembelajaran mendalam yang popular yang menyelesaikan masalah kecerunan yang hilang dengan memperkenalkan blok sisa. Artikel ini bermula daripada punca penting masalah kecerunan yang hilang dan menerangkan secara terperinci penyelesaian kepada rangkaian sisa.
Dalam rangkaian neural dalam, output setiap lapisan dikira dengan mendarabkan input lapisan sebelumnya dengan matriks berat dan mengiranya melalui fungsi pengaktifan . Apabila bilangan lapisan rangkaian bertambah, output setiap lapisan akan dipengaruhi oleh output lapisan sebelumnya. Ini bermakna walaupun perubahan kecil dalam matriks berat dan fungsi pengaktifan akan memberi kesan kepada output keseluruhan rangkaian. Dalam algoritma perambatan belakang, kecerunan digunakan untuk mengemas kini berat rangkaian. Pengiraan kecerunan memerlukan melepasi kecerunan lapisan seterusnya ke lapisan sebelumnya melalui peraturan rantai. Oleh itu, kecerunan lapisan sebelumnya juga akan mempengaruhi pengiraan kecerunan. Kesan ini terkumpul apabila pemberat dikemas kini dan disebarkan ke seluruh rangkaian semasa latihan. Oleh itu, setiap lapisan dalam rangkaian saraf yang mendalam saling berkaitan, dan output dan kecerunannya mempengaruhi satu sama lain. Ini memerlukan kami untuk mempertimbangkan dengan teliti pemilihan pemberat dan fungsi pengaktifan setiap lapisan, serta kaedah pengiraan dan penghantaran kecerunan semasa mereka bentuk dan melatih rangkaian, untuk memastikan rangkaian dapat belajar dan menyesuaikan diri dengan tugas dan data yang berbeza dengan berkesan.
Dalam rangkaian neural dalam, apabila terdapat banyak lapisan rangkaian, kecerunan sering "hilang" atau "meletup". Sebab mengapa kecerunan hilang ialah apabila derivatif fungsi pengaktifan kurang daripada 1, kecerunan akan mengecut secara beransur-ansur, menyebabkan kecerunan lapisan seterusnya menjadi lebih kecil dan akhirnya tidak dapat dikemas kini, menyebabkan rangkaian tidak dapat untuk belajar. Sebab letupan kecerunan adalah apabila derivatif fungsi pengaktifan lebih besar daripada 1, kecerunan akan meningkat secara beransur-ansur, menyebabkan kecerunan lapisan selanjutnya menjadi lebih besar, akhirnya menyebabkan berat rangkaian melimpah, dan juga menyebabkan rangkaian menjadi tidak dapat belajar.
Rangkaian sisa menyelesaikan masalah kecerunan lenyap dengan memperkenalkan blok sisa. Di antara setiap lapisan rangkaian, blok baki menambah input terus ke output, menjadikannya lebih mudah bagi rangkaian untuk mempelajari pemetaan identiti. Reka bentuk sambungan rentas lapisan ini membolehkan kecerunan merambat dengan lebih baik dan berkesan mengurangkan fenomena kehilangan kecerunan. Penyelesaian sedemikian boleh meningkatkan kecekapan latihan dan prestasi rangkaian.
Secara khusus, struktur x blok baki mewakili input, F(x) mewakili pemetaan yang diperoleh melalui pembelajaran rangkaian, dan H(x) mewakili pemetaan identiti. Keluaran blok baki ialah H(x)+F(x), iaitu input ditambah pemetaan yang dipelajari.
Kelebihan ini ialah apabila rangkaian mempelajari pemetaan identiti, F(x) ialah 0, dan output blok baki adalah sama dengan input, iaitu, H(x)+0=H( x ). Ini mengelakkan masalah kecerunan lenyap kerana walaupun kecerunan F(x) ialah 0, kecerunan H(x) masih boleh dihantar ke lapisan sebelumnya melalui sambungan rentas lapisan, sekali gus mencapai aliran kecerunan yang lebih baik.
Selain itu, rangkaian sisa juga menggunakan teknologi seperti "penormalan batch" dan "pre-activation" untuk meningkatkan lagi prestasi dan kestabilan rangkaian. Antaranya, penormalan kelompok digunakan untuk menyelesaikan masalah kehilangan kecerunan dan letupan kecerunan, manakala pra-pengaktifan boleh memperkenalkan ketaklinearan dengan lebih baik dan meningkatkan keupayaan ekspresif rangkaian.
Atas ialah kandungan terperinci Bagaimanakah rangkaian sisa dalam mengatasi masalah kecerunan yang hilang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!