7.4 KiB
📊 Presentasi Praktikum Deep Learning
Kelompok 3
1. INTRODUKSI
📌 Latar Belakang
Praktikum ini bertujuan untuk mengeksplorasi berbagai arsitektur jaringan saraf tiruan (Neural Network) dan teknik pelatihan, mulai dari Multi-Layer Perceptron (MLP), mitigasi overfitting melalui regularisasi, analisis pemilihan model (Model Selection), hingga Convolutional Neural Network (CNN) pada dataset MNIST dan domain data lainnya.
📦 Dataset Utama: MNIST Handwritten Digits
- Ukuran Dataset: 60.000 citra training & 10.000 citra testing.
- Format Data: Citra grayscale berukuran
28 \times 28piksel. - Jumlah Kelas: 10 kelas target (digit angka 0 sampai 9).
- Preprocessing:
- Normalisasi nilai piksel dari
[0, 255]menjadi rentang[0.0, 1.0]. - Penyesuaian bentuk data (vektor 784 untuk MLP, tensor
28 \times 28 \times 1untuk CNN).
- Normalisasi nilai piksel dari
2. PENJELASAN TUGAS 1: Eksperimen Arsitektur & Kedalaman MLP
🎯 Tujuan
Menguji pengaruh kedalaman layer dan jumlah neuron terhadap akurasi model serta waktu pelatihan pada dataset MNIST.
🏗️ Konfigurasi 3 Model MLP
- Model A (1 Hidden Layer): Input (784)
\rightarrowDense(64, ReLU)\rightarrowDense(10, Softmax) - Model B (2 Hidden Layer): Input (784)
\rightarrowDense(128, ReLU)\rightarrowDense(64, ReLU)\rightarrowDense(10, Softmax) - Model C (3 Hidden Layer): Input (784)
\rightarrowDense(256, ReLU)\rightarrowDense(128, ReLU)\rightarrowDense(64, ReLU)\rightarrowDense(10, Softmax)
📈 Hasil Eksperimen
| Model | Arsitektur Hidden Layer | Jumlah Parameter | Test Accuracy | Waktu Training / Epoch |
|---|---|---|---|---|
| Model A | [64] |
50.890 | 97,06% | 1,22 detik |
| Model B | [128, 64] |
109.386 | 97,24% | 1,29 detik |
| Model C (Terbaik) | [256, 128, 64] |
242.762 | 97,64% | 2,50 detik |
💡 Kesimpulan Tugas 1
- Model C menghasilkan akurasi tertinggi (97,64%) karena mampu mempelajari representasi fitur yang lebih kompleks.
- Semakin dalam layer, jumlah parameter dan waktu komputasi per epoch meningkat secara signifikan.
3. PENJELASAN TUGAS 2: Eksperimen Regularisasi pada Deep MLP
🎯 Tujuan
Mengatasi permasalahan overfitting yang muncul pada Model C saat dilatih dalam durasi yang lebih panjang (20 epoch).
🔍 Permasalahan pada Baseline (Tanpa Regularisasi)
- Training loss terus menurun mendekati 0, namun validation loss mulai naik dan berfluktuasi setelah epoch ke-7.
- Terjadi pelebaran generalization gap (model menghafal data training, bukan mempelajari pola umum).
🛡️ Solusi: Penerapan Batch Normalization & Dropout
- Batch Normalization: Menormalkan input di setiap layer, menstabilkan distribusi gradien, dan mempercepat konvergensi.
- Dropout (rate = 0.3): Mematikan 30% koneksi neuron secara acak selama training untuk mencegah co-adaptation.
Arsitektur Regularized:
Input (784) ──> Dense(256) ──> BatchNorm ──> ReLU ──> Dropout(0.3)
──> Dense(128) ──> BatchNorm ──> ReLU ──> Dropout(0.3)
──> Dense(64) ──> BatchNorm ──> ReLU ──> Dropout(0.3)
──> Dense(10, Softmax)
💡 Kesimpulan Tugas 2
- Penambahan BatchNorm dan Dropout berhasil menjaga kurva validation loss tetap stabil dan sejajar dengan training loss.
- Daya generalisasi model meningkat dan risiko overfitting berhasil ditekan secara efektif.
4. PENJELASAN TUGAS 3: Analisis & Justifikasi Pemilihan Model (Model Selection)
🎯 Tujuan
Menentukan dan menjustifikasi arsitektur model yang paling optimal berdasarkan karakteristik data input dan kebutuhan komputasi.
📋 Hasil Pemilihan Model untuk 4 Skenario:
(a) Prediksi Stok Barang dari 12 Bulan Historis Penjualan
- Tipe Data: Deret Waktu (Time-Series).
- Arsitektur Terpilih: LSTM (Long Short-Term Memory) (Alternatif: XGBoost / SARIMA).
- Justifikasi: Data memiliki dependensi urutan waktu dan tren musiman. LSTM mampu mempertahankan memori jangka panjang melalui cell state dan mekanisme gates tanpa terkena vanishing gradient.
(b) Klasifikasi Foto Produk Rusak vs Normal di Lini Produksi
- Tipe Data: Citra 2D (Computer Vision).
- Arsitektur Terpilih: CNN (Convolutional Neural Network).
- Justifikasi: Pola kerusakan (goresan/retakan) terikat pada korelasi spasial piksel. CNN mengekstrak hierarki fitur visual secara bertingkat dan memiliki sifat translation invariance (tahan pergeseran).
(c) Analisis Sentimen Review Google Play Store
- Tipe Data: Teks Bebas Bahasa Alami (NLP / Sequential Text).
- Arsitektur Terpilih: LSTM dengan Word Embedding (Alternatif: Transformer / IndoBERT).
- Justifikasi: Ulasan teks adalah sekuens kata di mana arti kalimat sangat bergantung pada urutan. Embedding memetakan makna semantik kata, dan LSTM memahami konteks kalimat dari awal hingga akhir.
(d) Prediksi Churn Pelanggan dari 15 Kolom Tabular
- Tipe Data: Tabular Terstruktur (Structured Tabular Data).
- Arsitektur Terpilih: ML Klasik (XGBoost / LightGBM).
- Justifikasi: Pada data tabular dimensi kecil (15 fitur), model gradient boosted trees secara konsisten mengungguli deep learning dalam performa generalisasi, kecepatan latih, dan interpretasi fitur (feature importance).
5. PENJELASAN TUGAS 4: Implementasi CNN pada MNIST vs MLP
🎯 Tujuan
Membangun model CNN 2D sederhana dan membandingkan performanya secara kuantitatif dengan model MLP terbaik dari Tugas 1 (Model C).
🏗️ Arsitektur Model CNN
Input (28, 28, 1)
↓
Conv2D (32 filter, 3×3, ReLU) ──> Output: (26, 26, 32)
MaxPooling2D (2×2) ──> Output: (13, 13, 32)
↓
Conv2D (64 filter, 3×3, ReLU) ──> Output: (11, 11, 64)
MaxPooling2D (2×2) ──> Output: (5, 5, 64)
↓
Flatten ──> Output: 1600
Dense (64, ReLU) + Dropout (0.3)
↓
Dense (10, Softmax) ──> Output: Probabilitas 10 Kelas
📊 Tabel Perbandingan Kuantitatif: CNN vs MLP Terbaik
| Metrik Evaluasi | MLP Terbaik (Model C) | Model CNN Sederhana | Analisis / Improvement |
|---|---|---|---|
| Test Accuracy | 97,64% | 99,03% | +1,39 poin persentase |
| Test Loss | 0,0933 | 0,0297 | Turun signifikan (-68,2%) |
| Error Rate | 2,36% | 0,97% | Pengurangan error 58,9% (relatif) |
| Salah Klasifikasi | 236 dari 10.000 | 97 dari 10.000 | 139 gambar lebih sedikit salah |
| Jumlah Parameter | 242.762 | 121.930 | Hemat 49,8% parameter (separuh bobot) |
| Waktu / Epoch (CPU) | 2,50 detik | 16,56 detik | Konvolusi membutuhkan komputasi lebih di CPU |
💡 Mengapa CNN Lebih Unggul untuk Data Citra?
- Preservasi Struktur Spasial: Memproses citra dalam format 2D asli sehingga korelasi antarpiksel tetangga tetap terjaga (tidak hilang seperti pada flattening MLP).
- Parameter Sharing: Filter konvolusi yang sama digeser ke seluruh permukaan citra untuk mendeteksi pola yang sama di berbagai posisi.
- Hierarki Fitur Otomatis: Layer awal mengekstrak garis tepi/sudut, sedangkan layer lanjutan menggabungkannya menjadi bentuk kurva dan pola angka utuh.
- Translation Invariance: Fitur
MaxPooling2Dmembuat prediksi model tetap konsisten meskipun posisi tulisan tangan sedikit bergeser.