Lompat ke konten utama
←

Jaringan Saraf Tiruan Dasar dengan Python

Pelajaran 19 dari 22

CNN, RNN, dan embedding dengan numpy

CNN dan embedding secara konsep

Setelah pelajaran ini kamu bisa menghitung ukuran keluaran dan jumlah parameter lapisan konvolusi, serta kemiripan kosinus antarvektor embedding.

±14 menitDiperiksa 28 Sep 2026

Materi

Jaringan saraf konvolusi (CNN) dipakai untuk gambar. Alih-alih menyambungkan setiap piksel ke setiap neuron, lapisan konvolusi menggeser kernel kecil, misalnya 3 × 3, melintasi gambar dan menghitung jumlah berbobot di setiap posisi. Bobot kernel yang sama dipakai di semua posisi, jadi banyak parameternya tidak bergantung pada ukuran gambar.

Ukuran keluaran mengikuti rumus Dive into Deep Learning §7.3. Untuk masukan selebar n, kernel k, padding p di setiap sisi (total 2p), dan stride s: lebar keluaran = ⌊(n + 2p − k) / s⌋ + 1. Tanpa padding dan dengan stride 1, keluarannya n − k + 1, lebih kecil dari masukan; padding p = (k − 1)/2 untuk k ganjil mempertahankan ukurannya, dan stride 2 memotongnya kira-kira setengah.

Menurut d2l §7.4, kernel lapisan dengan cᵢ kanal masukan dan cₒ kanal keluaran berbentuk cₒ × cᵢ × k × k. Ditambah satu bias per kanal keluaran, jumlah parameternya cₒ·cᵢ·k² + cₒ.

Embedding memetakan setiap kata (atau kategori) ke vektor angka berpanjang tetap, disimpan sebagai tabel berukuran (banyak kata × dimensi); tabel itu sendiri adalah parameternya. d2l §15.1 menjelaskan kenapa vektor one-hot tidak cukup: kemiripan kosinus dua one-hot yang berbeda selalu 0. Kemiripan kosinus x·y / (‖x‖‖y‖) bernilai −1 sampai 1.

# gambar 28 × 28, kernel 5, tanpa padding, stride 1
print((28 + 2 * 0 - 5) // 1 + 1)     # 24
# 1 kanal masuk, 6 kanal keluar, kernel 5 × 5
print(6 * 1 * 5 * 5 + 6)              # 156 parameter

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 1 dari 3

Gambar berukuran 32 × 32 piksel melewati lapisan konvolusi dengan kernel 5 × 5, padding 2 di setiap sisi, dan stride 2. Berapa lebar keluarannya?

Latihan 2 dari 3

Lapisan konvolusi menerima gambar berwarna (3 kanal) dan menghasilkan 16 kanal dengan kernel 3 × 3. Berapa jumlah parameternya, termasuk bias?

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke