11 / 24 · Konsep
Menghubungkan ReLU dan max pooling
Dengan titik nol keluaran uint8 100, terapkan ReLU dan max pooling 2×2 pada [98,103;101,97].
Pelajaran dapat dibaca gratis. Daftar untuk menyimpan progres.
Sertakan tahap pascapemrosesan
Inferensi dapat berlanjut setelah konvolusi. ReLU memilih yang lebih besar antara setiap nilai riil dan nol. Max pooling memilih nilai terbesar dalam jendela spasial. Yang pertama bekerja per elemen; yang kedua mengubah ukuran spasial dan membutuhkan syarat penyelesaian berbeda. Jalur kita menguantisasi ulang, menerapkan ReLU, lalu melakukan max pooling 2×2 tanpa padding dengan stride dua. Konvensi pembulatan ke bawah membuang baris atau kolom terakhir yang tidak lengkap.
Untuk keluaran mentah terkuantisasi, nol riil adalah titik nol keluaran zy. Skala positif mempertahankan urutan, sehingga ReLU menggunakan max(q,zy). Membandingkan kode uint8 dengan nol literal saat zy=128 akan secara keliru mempertahankan nilai riil negatif.
Contoh rangkaian
Akumulator [−2,4;6,−8] dengan pengali 0.5 dan titik nol nol menjadi [−1,2;3,−4]. ReLU menghasilkan [0,2;3,0], dan pooling memilih tiga. Pengurangan resolusi spasial dan penskalaan ulang numerik merupakan gagasan terpisah. Max pooling memilih kode yang sudah ada dan karena itu mempertahankan skalanya dalam latihan ini.
Dengan titik nol 128, kode [126,132;134,120] menjadi [128,132;134,128] setelah ReLU dan dipooling menjadi kode 134. Acuannya tetap nol riil meskipun representasi penyimpanan berubah. Average pooling memperkenalkan pembagian dan pembulatan, sehingga tidak dapat dipertukarkan dengan implementasi ini.
Jendela negatif sebelum ReLU [−8,−5;−3,−6] memiliki maksimum −3. Menyisipkan nol secara keliru pada batas padding membuat sampel yang tidak ada menang. Implementasi dengan padding harus mengecualikan lokasi itu atau menggunakan nilai minimum yang ditentukan. Fungsi pooling yang dapat dijalankan tidak mendukung padding.
Penggabungan tahap dapat mengurangi lalu lintas memori antara, tetapi pertahankan nilai yang dapat diamati untuk verifikasi. Bandingkan akumulator, kode terkuantisasi ulang, nilai teraktivasi, dan keluaran pooling secara terpisah. Masukan 4×4 menghasilkan empat nilai pooling; masukan 3×3 menghasilkan satu menurut aturan pembulatan ke bawah yang dinyatakan. Dokumentasikan kebijakan jendela tidak lengkap dalam pengujian. Lihat definisi primer dalam ONNX Relu dan ONNX MaxPool.
Coba sendiri
Dengan titik nol keluaran uint8 100, terapkan ReLU dan max pooling 2×2 pada [98,103;101,97].
Baca penjelasan
ReLU membatasi ke kode 100, menghasilkan [100,103;101,100]. Max pooling memilih 103 dan mempertahankan skala keluaran.