Back to Pembelajaran Mesin

CNN Architectural Design Patterns

Questions/Cues

  • Mengapa LeNet-5 menggunakan urutan konvolusi-pooling-berulang?
  • Bagaimana evolusi arsitektur CNN meningkatkan akurasi model?
  • Apa fungsi lapisan FC dalam arsitektur CNN modern?
  • Bagaimana perbedaan pola desain LeNet-5 vs CNN-XGBoost?
  • Mengapa arsitektur CNN cenderung semakin dalam?

Reference Points

  • IF3270_Pembelajaran_Mesin.pptx (Halaman 12, 37-40, 52-58)
  • Deep Learning (Goodfellow et al.) (Halaman 326-330)
  • LeCun (1998) Gradient-based learning applied to document recognition

Sejarah Perkembangan Arsitektur CNN

Arsitektur Convolutional Neural Network (CNN) telah mengalami lima era perkembangan utama sejak kemunculannya pada 1980-an. Awalnya terinspirasi dari sistem visual biologis, CNN pertama seperti LeNet-5 dirancang untuk tugas sederhana seperti pengenalan digit tulisan tangan. Pada era stagnasi (1990-2000), keterbatasan komputasi menghambat pengembangan model yang lebih dalam. Kebangkitan terjadi pada 2012 dengan keberhasilan AlexNet dalam ImageNet, diikuti ledakan inovasi arsitektur seperti VGG, ResNet, dan Transformer-based models. Perkembangan ini ditandai dengan peningkatan kedalaman jaringan (dari 5 lapisan di LeNet-5 hingga >100 lapisan di ResNet), teknik koneksi residual, serta integrasi mekanisme perhatian (attention). Pola desain modern sering mengadopsi blok modular yang dapat diulang, berbeda dengan pendekatan sekuensial linier di arsitektur awal.

Pola Desain Dasar CNN

Arsitektur CNN umumnya mengikuti pola berulang: Konvolusi → Aktivasi → Pooling yang diulang beberapa kali sebelum lapisan Fully Connected (FC). Contoh pada LeNet-5:

  1. InputConv1 (6 filter 5x5) → AvgPool1 (2x2)
  2. Conv2 (16 filter 5x5) → AvgPool2 (2x2)
  3. FlattenFC1 (120 neuron) → FC2 (84 neuron) → Output Pola ini memungkinkan ekstraksi fitur hierarkis: lapisan awal menangkap pola lokal (tepi, tekstur), lapisan tengah mengombinasikannya menjadi bagian objek (mata, telinga), lapisan akhir mengenali objek utuh. Implementasi modern menggantikan average pooling dengan max pooling dan menambahkan normalisasi batch setelah konvolusi.

Variasi Arsitektur Modern

Hybrid CNN-XGBoost: Mengganti lapisan FC dengan Extreme Gradient Boosting untuk klasifikasi multi-label. Contoh implementasi:

base_model = VGG16(weights='imagenet', include_top=False)
x = base_model.output
x = GlobalAveragePooling2D()(x)
predictions = XGBClassifier().fit(x_train, y_train).predict(x)
model = Model(inputs=base_model.input, outputs=predictions)

Arsitektur Multi-Input: Memproses teks dan gambar secara paralel:

  1. Branch Gambar: Seri konvolusi-pooling
  2. Branch Teks: Embedding → Conv1D → Pooling
  3. Gabungan: Concatenate → FC → Output Desain Modular (contoh: Inception Module): Menggunakan beberapa ukuran filter secara paralel (1x1, 3x3, 5x5) lalu menggabungkan hasilnya, memungkinkan jaringan memilih kombinasi filter optimal secara otomatis.

Summary

Pola desain arsitektur CNN berevolusi dari struktur sekuensial sederhana (LeNet-5) menjadi jaringan modular dalam-dalam dengan koneksi residual dan mekanisme perhatian. LeNet-5 memperkenalkan pola dasar konvolusi-pooling-berulang yang masih menjadi fondasi desain modern, sementara arsitektur hybrid seperti CNN-XGBoost menunjukkan fleksibilitas integrasi dengan metode lain. Tren utama meliputi peningkatan kedalaman jaringan, penggunaan blok bangun berulang, dan optimasi untuk komputasi efisien. Implementasi praktis memanfaatkan framework seperti Keras/TensorFlow dengan pola layer yang terstandarisasi.