ARSITEKTUR CNN

Alur Lengkap Convolutional Neural Network

Klik setiap tahap untuk melihat detail proses, tujuan, dan rumus matematikanya

01
Konvolusi
Convolution
02
Aktivasi
ReLU
03
Pooling
Subsampling
04
Flatten
2D → 1D
05
FC Layer
Dense Layer
06
Softmax
Output
Tahap 01

Konvolusi (Convolution)

Proses: Sebuah Filter (Kernel) berukuran kecil (misalnya 3×3) bergeser di atas gambar input. Di setiap posisi, dilakukan perkalian elemen demi elemen antara filter dan area input, lalu hasilnya dijumlahkan menjadi satu nilai pada Feature Map.

Tujuan: Mengekstrak fitur lokal dari gambar seperti sudut, garis horizontal, garis vertikal, dan pola tekstur. Setiap filter belajar mendeteksi satu jenis pola.

Rumus Ukuran Output
Output = ((W − F + 2P) / S) + 1
W = Ukuran Input F = Ukuran Filter P = Padding S = Stride
Input
Filter 3×3
=
Feature Map
Coba Kalkulator Konvolusi →
Tahap 02

Aktivasi ReLU (Rectified Linear Unit)

Proses: Setelah konvolusi menghasilkan Feature Map, setiap nilai pada Feature Map dilewatkan melalui fungsi ReLU. Semua nilai negatif diubah menjadi nol, sedangkan nilai positif tetap tidak berubah.

Tujuan: Menambahkan sifat non-linear pada jaringan agar bisa mempelajari pola yang lebih kompleks. Tanpa fungsi aktivasi, seluruh jaringan hanya akan bertindak seperti transformasi linear sederhana.

Fungsi ReLU
f(x) = max(0, x)
x < 0 → output = 0 x ≥ 0 → output = x
x f(x) negatif → 0 positif → x
Sebelum ReLU
-3-12 -541 3-26
Setelah ReLU
002 041 306
Tahap 03

Pooling (Subsampling)

Proses: Sebuah jendela (misalnya 2×2) bergeser di atas Feature Map. Di setiap posisi, diambil nilai representatif dari area tersebut. Pada Max Pooling, diambil nilai terbesar. Pada Average Pooling, diambil nilai rata-rata.

Tujuan: Mengurangi dimensi spasial Feature Map sehingga beban komputasi berkurang drastis, mempercepat proses pelatihan, dan membuat model lebih tahan terhadap pergeseran posisi objek (translational invariance).

Max Pooling 2×2
out[i,j] = max(region 2×2)
Input 4×4 → Output 2×2 Ukuran berkurang 75%
Input Feature Map (4×4)
1324 5981 2473 6152
Output Max Pool (2×2)
98 67
Tahap 04

Flattening (Reshape 2D → 1D)

Proses: Seluruh nilai pada matriks 2D hasil pooling "diluruskan" menjadi satu vektor panjang satu dimensi (1D). Ini dilakukan dengan membaca nilai baris demi baris dari matriks tersebut.

Tujuan: Menyiapkan data agar bisa masuk ke Fully Connected Layer (Dense Layer). FC Layer hanya menerima input berupa vektor 1D, sehingga representasi spasial 2D harus diubah terlebih dahulu.

Reshaping
flatten(H×W×C) → [H·W·C]
Matriks 2×2 → Vektor [4] Semua dimensi digabung jadi 1D
Matriks 2D (2×2)
98 67
flatten()
Vektor 1D
9 8 6 7
Tahap 05

Fully Connected Layer (Dense Layer)

Proses: Vektor 1D hasil flattening dihubungkan ke setiap neuron pada lapisan berikutnya. Setiap koneksi memiliki bobot (weight) yang dapat dipelajari. Neuron menghitung jumlah berbobot dari semua input, lalu menerapkan fungsi aktivasi.

Tujuan: Melakukan klasifikasi akhir dengan menggabungkan semua fitur yang telah diekstrak oleh lapisan konvolusi dan pooling sebelumnya. Di sinilah jaringan "memutuskan" kategori dari input (misalnya: "ini adalah angka 7" atau "ini adalah kucing").

Persamaan Dense Layer
y = f(W·x + b)
W = Matriks bobot x = Vektor input b = Bias f = Fungsi aktivasi (ReLU)
Input
Hidden
Output
Tahap 06

Softmax / Output Layer (Probabilitas)

Proses: Nilai-nilai mentah (logits) dari lapisan terakhir dimasukkan ke fungsi Softmax. Fungsi ini mengubah logits menjadi distribusi probabilitas: semua nilai menjadi positif dan jumlah totalnya selalu sama dengan 1 (100%).

Tujuan: Memberikan jawaban akhir model dalam bentuk probabilitas yang dapat diinterpretasikan. Model memilih kelas dengan probabilitas tertinggi sebagai prediksi akhir (misalnya: 92% yakin ini adalah kucing).

Fungsi Softmax
σ(zᵢ) = eᶻⁱ / Σⱼ eᶻʲ
Output selalu dalam [0, 1] Jumlah semua output = 1.0
Logits (raw)
Kucing 3.2
Anjing 1.1
Burung 0.5
↓ softmax()
Probabilitas
Kucing 72%
Anjing 20%
Burung 8%
✓ Prediksi: Kucing (72%)
Klik salah satu tahap untuk melihat detail

Dasar Neural Network

Neuron (Perceptron)

Unit komputasi dasar yang menerima input, mengalikan dengan bobot (weight), menjumlahkan, menambahkan bias, lalu menerapkan fungsi aktivasi.

y = f(Σ(wᵢxᵢ) + b)
Fondasi

Bobot & Bias (Weight & Bias)

Parameter yang dipelajari jaringan. Bobot mengatur kepentingan setiap input, bias menggeser fungsi aktivasi. Diperbarui selama pelatihan.

output = W·x + b
Parameter

Layer (Lapisan)

Kumpulan neuron yang beroperasi bersama. Terdiri dari: Input Layer (menerima data), Hidden Layer (transformasi), Output Layer (prediksi).

Arsitektur

Forward Propagation

Proses data mengalir dari input ke output melalui semua lapisan. Setiap layer menghitung aktivasi berdasarkan input dari layer sebelumnya.

Proses

Backpropagation

Algoritma utama pelatihan. Menghitung gradien loss terhadap setiap parameter menggunakan aturan rantai (chain rule), lalu memperbarui bobot.

∂L/∂w = ∂L/∂a · ∂a/∂z · ∂z/∂w
Pelatihan

Fungsi Aktivasi

Menambahkan non-linearitas agar jaringan dapat mempelajari pola kompleks. Tanpa aktivasi, jaringan hanya linier.

ReLU · Sigmoid · Tanh · Softmax · GELU · Swish
Non-linearitas

Fungsi Aktivasi Detail

NamaFormulaRangeKelebihanKekurangan
ReLU f(x) = max(0, x) [0, +∞) Cepat, tidak vanishing gradient Dying ReLU problem
Leaky ReLU f(x) = x > 0 ? x : αx (-∞, +∞) Mengatasi dying ReLU α harus dipilih manual
Sigmoid 1/(1+e⁻ˣ) (0, 1) Output probabilitas Vanishing gradient
Tanh (eˣ−e⁻ˣ)/(eˣ+e⁻ˣ) (-1, 1) Zero-centered Vanishing gradient
Softmax eˣⁱ / Σeˣʲ (0, 1) sum=1 Multi-class prob. Hanya untuk output
GELU x · Φ(x) (-∞, +∞) Dipakai Transformer/BERT Lebih lambat dihitung

Convolutional Neural Network (CNN)

Convolution Layer

Inti CNN. Filter (kernel) bergeser di atas input, melakukan perkalian elemen dan penjumlahan untuk mengekstrak fitur lokal seperti tepi, tekstur, dan pola.

Out = ⌊(W + 2P − F)/S⌋ + 1
W=width, P=padding, F=filter, S=stride
Inti CNN

Pooling Layer

Mengurangi dimensi spasial. Max Pooling mengambil nilai maksimum dalam region. Average Pooling mengambil rata-rata. Menambah translational invariance.

Downsampling

Padding

Menambahkan piksel nol di sekitar input. Valid = tanpa padding. Same = output sama besar dengan input. Mempertahankan informasi tepi.

Preprocessing
→→

Stride

Langkah geser filter. Stride=1: geser satu piksel. Stride=2: geser dua piksel (output lebih kecil). Mengontrol resolusi output.

Hyperparameter

Feature Map

Output dari convolution layer. Setiap filter menghasilkan satu feature map yang mendeteksi pola tertentu di seluruh input.

Output Conv

Flatten & FC Layer

Feature map di-flatten menjadi vektor 1D, lalu diteruskan ke Fully Connected Layer untuk klasifikasi akhir.

Klasifikasi

Batch Normalization

Menormalisasi aktivasi pada setiap mini-batch. Mempercepat pelatihan, mengurangi sensitivitas terhadap inisialisasi bobot, berfungsi sebagai regularizer.

x̂ = (x−μ)/√(σ²+ε), y = γx̂+β
Normalisasi

Depthwise Separable Conv

Memisahkan konvolusi spasial per channel (depthwise) dan antar channel (pointwise). Lebih efisien secara komputasi. Dipakai di MobileNet.

Efisiensi

Loss Function & Optimizer

Loss Function

Mengukur seberapa jauh prediksi dari target. Jaringan belajar dengan meminimalkan loss ini.

MSE · Cross-Entropy · Hinge Loss · Huber Loss
Objektif

Gradient Descent

Algoritma optimasi paling dasar. Memperbarui bobot berlawanan arah gradien loss.

w = w − η · ∂L/∂w
Optimizer

Adam Optimizer

Menggabungkan Momentum dan RMSProp. Menggunakan estimasi momen pertama dan kedua dari gradien. Sangat populer di praktik.

Optimizer Modern
η

Learning Rate

Seberapa besar langkah pembaruan bobot. Terlalu besar → tidak konvergen. Terlalu kecil → lambat. Dikelola dengan LR Scheduler.

Hyperparameter

Regularisasi

Mencegah overfitting. L1 mendorong sparsity. L2 (Weight Decay) menghukum bobot besar. Dropout mematikan neuron secara acak.

Generalisasi

Dropout

Selama pelatihan, secara acak mematikan neuron dengan probabilitas p. Memaksa jaringan tidak bergantung pada neuron tertentu. Efek ensemble learning.

p_drop biasanya 0.2 – 0.5
Regularisasi

RNN, LSTM & GRU

Recurrent Neural Network (RNN)

Jaringan dengan loop internal. Memproses data sekuensial dengan meneruskan hidden state ke langkah berikutnya. Cocok untuk teks, audio, time series.

hₜ = tanh(Wₕhₜ₋₁ + Wₓxₜ + b)
Sekuensial

LSTM (Long Short-Term Memory)

Mengatasi vanishing gradient RNN dengan menggunakan cell state dan tiga gate: Forget Gate, Input Gate, Output Gate.

Forget Gate · Input Gate · Output Gate
Memori Jangka Panjang

GRU (Gated Recurrent Unit)

Versi LSTM yang lebih sederhana. Hanya dua gate: Reset Gate dan Update Gate. Lebih efisien, performa serupa LSTM di banyak tugas.

Efisiensi

Bidirectional RNN

Memproses sekuens dari dua arah (kiri-kanan dan kanan-kiri), menggabungkan konteks masa lalu dan masa depan. Dipakai di NLP.

Konteks Dua Arah

Transformer & Arsitektur Modern

Attention Mechanism

Memungkinkan model fokus pada bagian input yang relevan. Menghitung skor relevansi antara query, key, dan value.

Attention(Q,K,V) = softmax(QKᵀ/√d)·V
Fondasi Transformer

Multi-Head Attention

Menjalankan attention beberapa kali secara paralel (head) dengan dimensi berbeda, menangkap berbagai aspek relasi dalam data.

Transformer

Transformer

Arsitektur revolusioner (2017) berbasis sepenuhnya pada attention. Tidak ada recurrence. Encoder-Decoder architecture. Dasar GPT, BERT, T5, dll.

State of the Art

Vision Transformer (ViT)

Menerapkan Transformer pada gambar. Gambar dibagi menjadi patch kecil, di-flatten, dan diperlakukan seperti token teks.

Computer Vision

Residual Network (ResNet)

Menggunakan skip connection untuk meneruskan input langsung melewati beberapa layer. Memungkinkan pelatihan jaringan sangat dalam (100+ layer).

y = F(x, W) + x
Jaringan Dalam

Generative Adversarial Network (GAN)

Dua jaringan bersaing: Generator membuat data palsu, Discriminator membedakan asli vs palsu. Menghasilkan gambar/data realistis.

Generatif

Transfer Learning & Teknik Praktis

Transfer Learning

Menggunakan model yang sudah dilatih di dataset besar (misal ImageNet) sebagai titik awal. Menghemat waktu dan data pelatihan drastis.

Fine-tuning · Feature Extraction
Efisiensi

Data Augmentation

Memperbesar dataset dengan transformasi: rotasi, flip, crop, perubahan brightness, dll. Meningkatkan generalisasi dan mengurangi overfitting.

Pelatihan

Hyperparameter Tuning

Proses mencari nilai optimal untuk learning rate, batch size, jumlah layer, ukuran filter, dll. Metode: Grid Search, Random Search, Bayesian Optimization.

Optimasi

Early Stopping

Menghentikan pelatihan ketika performa di validation set tidak meningkat lagi. Mencegah overfitting tanpa perlu menentukan jumlah epoch secara manual.

Pelatihan

Ensemble Learning

Menggabungkan prediksi beberapa model. Bagging (data berbeda), Boosting (fokus error), Stacking (meta-learner). Meningkatkan akurasi.

Advanced

Embedding

Representasi data dalam ruang vektor berdimensi rendah yang bermakna. Word Embedding (Word2Vec), Image Embedding, Graph Embedding. Menangkap relasi semantik.

Representasi

Fitur Interaktif Segera Hadir

Kalkulator interaktif untuk RNN, LSTM, Backpropagation visual, dan Perceptron sedang dalam pengembangan.

RNN Calculator Backprop Visual Loss Plotter Perceptron Trainer Activation Visualizer