Back to IF3270 Pembelajaran Mesin

Feed‑Forward Neural Network Architecture and Multi‑Layer Perceptron Design

Questions/Cues

  • Mengapa jaringan feed‑forward bersifat aciklik?
  • Bagaimana cara menentukan jumlah lapisan tersembunyi?
  • Apa peran unit bias dalam arsitektur MLP?
  • Kapan model eksplisit lebih menguntungkan daripada kompak?
  • Bagaimana menghitung jumlah parameter total jaringan?

Reference Points

  • Lecture_Slides_IF3270 (Pages 8‑10, 11‑13, 14‑20)
  • Goodfellow et al., Deep Learning (Pages 17‑21)
  • Russell & Norvig, Artificial Intelligence: A Modern Approach 4th ed. (Page 11)
  • Raschka, Machine Learning with PyTorch and Scikit‑Learn (Chapter 11, Figures 11.1‑11.2)

Feed‑Forward Neural Network (FFNN) Overview

Feed‑Forward Neural Network (FFNN) adalah jaringan saraf buatan yang hanya memiliki arah aliran informasi satu arah, dari lapisan input menuju lapisan output, tanpa adanya siklus. Struktur ini dapat direpresentasikan sebagai graf terarah asiklik (DAG), di mana setiap node mewakili neuron dan setiap edge mewakili bobot yang menghubungkan neuron‑neuron pada lapisan berurutan. Karena tidak ada umpan balik, jaringan ini cocok untuk memetakan fungsi statis, seperti klasifikasi atau regresi, di mana output hanya bergantung pada input saat itu.

Pada tingkat paling dasar, FFNN memiliki lapisan input, satu atau lebih lapisan tersembunyi (hidden layers), dan lapisan output. Setiap lapisan tersembunyi biasanya terhubung penuh (fully‑connected) ke lapisan berikutnya, artinya setiap neuron pada satu lapisan memiliki bobot ke setiap neuron pada lapisan selanjutnya. Koneksi penuh ini memberikan jaringan kemampuan untuk mempelajari representasi yang sangat fleksibel.

Meskipun alur informasi bersifat satu arah, arsitektur FFNN dapat bervariasi secara signifikan dalam hal kedalaman (jumlah lapisan tersembunyi) dan lebar (jumlah neuron per lapisan). Pilihan desain ini memengaruhi kapasitas model, kompleksitas komputasi, serta kemampuan generalisasi.

Multi‑Layer Perceptron (MLP) Design

Multi‑Layer Perceptron (MLP) adalah implementasi paling umum dari FFNN, di mana semua lapisan (kecuali input) menggunakan fungsi aktivasi non‑linear. Tanpa aktivasi non‑linear, jaringan berlapis tetap dapat direduksi menjadi satu lapisan linear, sehingga tidak dapat memodelkan hubungan kompleks. Fungsi aktivasi seperti sigmoid, tanh, atau ReLU memperkenalkan non‑linearitas yang memungkinkan jaringan memetakan fungsi arbitrer.

Unit bias berperan sebagai offset yang memungkinkan neuron menggeser fungsi aktivasi secara horizontal. Secara visual, bias dapat dianggap sebagai neuron tambahan dengan nilai konstan 1 yang terhubung ke setiap neuron pada lapisan berikutnya. Kehadiran bias meningkatkan fleksibilitas jaringan, terutama ketika data tidak terpusat di sekitar titik asal.

Desain MLP biasanya mengikuti pola input → hidden₁ → hidden₂ → … → hiddenₖ → output. Setiap lapisan tersembunyi dapat memiliki ukuran yang berbeda, tergantung pada kompleksitas masalah. Misalnya, pada contoh XOR klasik, satu lapisan tersembunyi dengan dua neuron sudah cukup untuk memecahkan masalah yang tidak dapat diselesaikan oleh jaringan linear tunggal.

Contoh arsitektur eksplisit menuliskan setiap neuron dan bobot secara terpisah, memudahkan visualisasi struktur jaringan kecil. Sebaliknya, representasi kompak menggunakan notasi matriks, di mana bobot disimpan dalam matriks W dan bias dalam vektor b. Representasi kompak lebih efisien untuk implementasi komputasi karena memungkinkan operasi vektor‑matriks yang dipercepat oleh hardware.

Explicit vs. Compact Notation

Notation eksplisit menuliskan setiap neuron (misalnya, ) dan setiap bobot () secara terpisah. Kelebihannya adalah transparansi visual—pembaca dapat melihat secara langsung berapa banyak neuron dan bagaimana mereka terhubung. Namun, untuk jaringan dengan ratusan atau ribuan neuron, notasi ini menjadi tidak praktis.

Notation kompak menyatukan semua bobot lapisan ke dalam satu matriks W dan bias ke dalam vektor b. Operasi utama menjadi perkalian matriks‑vektor diikuti oleh fungsi aktivasi. Pendekatan ini memanfaatkan linear algebra untuk mempercepat perhitungan, terutama pada GPU. Selain itu, notasi kompak memudahkan analisis teoretis, seperti menghitung rank matriks bobot atau mempelajari sifat singular value decomposition (SVD) untuk memahami kapasitas representasi jaringan.

Sebagai analogi, notasi eksplisit seperti peta jalan kota yang menampilkan setiap persimpangan, sedangkan notasi kompak seperti peta kereta api yang hanya menampilkan stasiun utama dan jalur utama. Keduanya menyampaikan informasi yang sama, tetapi dengan tingkat detail yang berbeda sesuai kebutuhan.

Design Considerations: Depth, Width, and Activation Choice

Kedalaman vs. Lebar: Penelitian teoretis menunjukkan bahwa menambah kedalaman (lebih banyak lapisan tersembunyi) dapat meningkatkan kemampuan jaringan untuk merepresentasikan fungsi dengan parameter yang jauh lebih sedikit dibandingkan menambah lebar saja. Misalnya, fungsi yang memerlukan eksponensial neuron pada jaringan satu‑lapis dapat direpresentasikan dengan logaritma jumlah neuron pada jaringan berlapis‑banyak. Namun, jaringan yang terlalu dalam dapat menimbulkan masalah optimasi (vanishing/exploding gradients) meskipun hal ini berada di luar ruang lingkup pembahasan forward/backpropagation.

Pemilihan fungsi aktivasi: ReLU (Rectified Linear Unit) menjadi pilihan populer karena sifat sparsity (menghasilkan nol untuk setengah input) dan gradien konstan pada daerah positif, yang mempercepat konvergensi dalam pelatihan. Sigmoid dan tanh memberikan output terbatasi, cocok untuk lapisan output yang memerlukan probabilitas, tetapi dapat menyebabkan saturasi pada nilai ekstrim.

Ukuran lapisan tersembunyi: Praktik umum adalah memulai dengan jumlah neuron yang berada di antara ukuran input dan output, kemudian melakukan penyempurnaan (tuning) menggunakan validasi silang. Jika jaringan terlalu kecil, model akan underfit (kurang belajar pola). Jika terlalu besar, risiko overfit (mempelajari noise) meningkat, meskipun teknik regularisasi dapat mengurangi risiko tersebut.

Penggunaan unit bias: Selalu sertakan bias pada setiap lapisan kecuali pada lapisan input. Bias memungkinkan jaringan menyesuaikan hiperpipa keputusan secara fleksibel, terutama ketika data tidak terpusat pada nol.

Parameter Counting and Model Capacity

Menghitung jumlah parameter total dalam MLP penting untuk memperkirakan kapasitas model dan kebutuhan memori. Untuk setiap lapisan penuh, jumlah parameter adalah:

di mana “+1” memperhitungkan bias. Sebagai contoh, jaringan dengan arsitektur (input 8, dua lapisan tersembunyi 12 dan 8, output 1) memiliki:

Jumlah parameter ini memberi gambaran kasar tentang kompleksitas fungsi yang dapat dipelajari jaringan. Model dengan terlalu banyak parameter relatif terhadap ukuran data cenderung overfit, sementara model dengan terlalu sedikit parameter mungkin underfit.

Parameter juga memengaruhi waktu komputasi dan konsumsi energi, terutama pada perangkat edge. Oleh karena itu, perancangan arsitektur harus menyeimbangkan antara kapasitas representasi dan efisiensi sumber daya.

Summary

Feed‑Forward Neural Network adalah struktur aciklik yang mengalirkan informasi dari input ke output melalui satu atau lebih lapisan tersembunyi yang terhubung penuh. Multi‑Layer Perceptron menambahkan fungsi aktivasi non‑linear dan unit bias untuk meningkatkan fleksibilitas representasi, sementara notasi eksplisit dan kompak menawarkan perspektif visual dan komputasional yang berbeda. Desain arsitektur melibatkan keputusan tentang kedalaman, lebar, dan fungsi aktivasi, yang secara langsung memengaruhi kapasitas model dan jumlah parameter yang harus dikelola. Memahami hubungan ini memungkinkan perancangan jaringan yang efisien, efektif, dan sesuai dengan kebutuhan aplikasi spesifik.