Profile

Arya's Portfolio

Back to Projects
Investigating Shortcut Learning in ASL Classification with Grad-CAM

Investigating Shortcut Learning in ASL Classification with Grad-CAM

Membedah fenomena Clever Hans Effect pada model CNN kustom, mengevaluasi limitasi arsitektur MLP, dan menganalisis kerapuhan model terhadap Data Distribution Shift di lingkungan inferensi dunia nyata.

TensorFlowKerasOpenCVGrad-CAMtf.data APIScikit-LearnMatplotlibSeaborn
Live Interactive Demo
ASL Project Hero Banner

Overview

Proyek ini bertujuan untuk membangun sistem klasifikasi citra American Sign Language (ASL) yang efisien sekaligus melakukan audit kritis terhadap validitas keputusan model (Explainable AI). Menggunakan dataset ASL Alphabet Kaggle (29 kelas seimbang), tantangan utama berasal dari karakteristik dataset yang menggunakan latar belakang sangat seragam.
Sebagian besar gambar dalam dataset ini diambil dengan bingkai latar belakang biru yang statis. Akurasi tinggi dalam skenario ini rawan memicu Clever Hans Effect, di mana model mendapatkan nilai sempurna murni karena menghafal noise latar belakang. Proyek ini membandingkan arsitektur MLP dan CNN, menerapkan mitigasi bias data, dan sekaligus mengevaluasi keterbatasan arsitektur berkapasitas rendah ketika diuji pada data dunia nyata (Out-of-Distribution).

My Role

Sebagai pengembang utama, fokus eksekusi saya mencakup seluruh siklus MLOps dari rekayasa data hingga diagnostik model:
  • Membangun pipeline data berbasis tf.data API dengan pemrosesan asinkron untuk memuat dataset puluhan gigabyte pada memori terbatas (Google Colab T4) tanpa mengalami Out of Memory (OOM).
  • Melakukan ablation study pada enam variasi arsitektur MLP untuk menguji keterbatasan jaringan fully-connected dalam menangani informasi spasial.
  • Merancang CNN ringan beresolusi 64x64 piksel, mengeliminasi lapisan Flatten dengan GlobalAveragePooling2D untuk menyusutkan komputasi menjadi ~135 ribu parameter.
  • Mendesain strategi augmentasi agresif untuk mengurangi ketergantungan model terhadap bingkai biru bawaan dataset.
  • Mengimplementasikan diagnostik Grad-CAM via tf.GradientTape untuk memvisualisasikan area citra yang menjadi dasar prediksi model. di lingkungan pengujian internal maupun inferensi dunia nyata.

Engineering the Image Pipeline & Augmentation

Untuk memotong bias latar belakang dari tingkat hulu, modifikasi dilakukan langsung pada pipeline preprocessing:

1. Optimized Ingestion Pipeline

Data dialirkan secara asinkron menggunakan tf.data.Dataset. Dengan konfigurasi num_parallel_calls=tf.data.AUTOTUNE dan resizing dinamis menjadi 64x64 pada saat runtime, dataset diproses bertahap tanpa harus memuat seluruh dataset ke dalam RAM.

2. Targeted Spatial Augmentation (Mitigasi Bias)

Model baseline menunjukkan ketergantungan absolut pada bingkai latar belakang. Untuk merusak konsistensi ini, saya merapkan spatial augmentation dengan parameter pengisian ekstrem:
terminal
data_augmentation = tf.keras.Sequential([
    layers.RandomZoom(height_factor=(-0.1, -0.05), width_factor=(-0.1, -0.05), fill_mode="constant", fill_value=0.0),
    layers.RandomRotation(factor=0.02, fill_mode="constant", fill_value=0.0),
    layers.RandomTranslation(height_factor=0.05, width_factor=0.05, fill_mode="constant", fill_value=0.0),
    layers.RandomBrightness(factor=0.15),
    layers.RandomContrast(factor=0.1)
])
Original Batch Images with Blue Background
Dataset Asli: Konsistensi latar belakang biru yang memicu bias.
Augmented Batch Images with Constant Black Padding
Setelah Augmentasi: Parameter fill_value=0.0 memotong gambar secara acak dan mengganti area luar dengan ruang hampa hitam.
Penggunaan fill_mode="constant" melatih feature detector CNN untuk mengabaikan ruang kosong di sekitarnya dan memfokuskan ekstraksi kontur pada objek di tengah matriks.

Custom CNN Architecture & MLP Ablation Study

Evaluasi performa membandingkan dua pendekatan arsitektur secara langsung:

1. Batasan Baseline MLP

Eksperimen lapisan MLP mengonfirmasi ketidakmampuan algoritma linier murni dalam mengekstrak hierarki spasial. Meratakan matriks 2D menjadi vektor 1D menghancurkan relasi ketetanggaan piksel. Model mengalami osilasi gradien parah, dengan akurasi pengujian maksimal terhenti di angka 57.63%.

2. Efisiensi Custom CNN

Model utama dibangun menggunakan 3 blok konvolusi (Conv2DBatchNormalizationMaxPooling2D). Penggunaan metrik ruang global sukses menekan ukuran model secara signifikan.
Accuracy and Loss Training Curve CNN
Kurva Pelatihan CNN: Stabilitas konvergensi tercapai pada Epoch ke-15 berkat intervensi ReduceLROnPlateau.
Spesifikasi ArsitekturKeterangan / Hasil
Dimensi Input64x64x3
Total Parameter135,261 (Ultralight CNN)
Akurasi Uji (Dataset Internal)100% (Pada skenario model ber-augmentasi)

Explainable AI (Grad-CAM Diagnostic Deep Dive)

Akurasi 100% pada dataset uji adalah metrik yang menipu. Untuk membedah kecerdasan model secara objektif, Grad-CAM dilakukan ke lapisan konvolusi terakhir (last_conv_layer) pada tiga skenario berbeda.

Skenario 1: Model Tanpa Augmentasi (Shortcut Learning)

Pada pengujian data internal, heatmap Grad-CAM pada model baseline membuktikan terjadinya manipulasi prediksi. Area aktivasi (titik panas) terpusat pada pinggiran dinding dan bingkai biru, membuktikan model menebak kelas berdasarkan noise latar belakang, bukan struktur anatomi tangan.

Skenario 2: Model Dengan Augmentasi (Robust Internal Activation)

Setelah augmentasi fill_mode diterapkan, orientasi atensi jaringan bergeser secara radikal. Grad-CAM secara konsisten mengunci kerangka geometris tangan (tekukan buku jari, spasi antar-jari). Metrik 100% di tahap ini terbukti valid secara representasi fitur.

Skenario 3: Uji Dunia Nyata & Kerapuhan Model (Data Distribution Shift)

Keberhasilan model di dataset internal runtuh saat diuji coba pada lingkungan deployment menggunakan gambar custom dari kamera eksternal. Grad-CAM mengungkap kelemahan fatal arsitektur ringan ini:
  1. Sensitivitas Kontras Ekstrem: Karena model disusutkan menjadi 64x64, CNN kehilangan kemampuan membaca tekstur detail dan sepenuhnya beroperasi sebagai edge detector (pendeteksi siluet).
  2. Softmax Collapse & Noise Hijacking: Saat diuji pada gambar dengan latar belakang yang memiliki objek tajam (misal: stopkontak di dinding), filter konvolusi "dibajak" oleh kontras objek luar tersebut. Hal ini memicu overconfidence palsu (hingga 99.96%) pada tebakan kelas yang sepenuhnya salah.
  3. Inter-Class Variance: Sudut pandang (angle) kamera yang meleset sedikit saja membuat jari bertumpuk secara visual, menyebabkan model kebingungan membedakan kelas dengan geometri serupa (seperti 'G' dan 'H').

Strategic Engineering Takeaways

  1. Akurasi Internal adalah Ilusi: Jaringan saraf adalah fungsi optimasi yang malas. Akurasi 100% sering kali merupakan indikasi bahwa model menemukan celah (shortcut) pada dataset, bukan bukti penyelesaian masalah.
  2. Kapasitas vs. Robustness: Arsitektur ultralight (135k parameter, 64x64) sangat efisien secara komputasi, namun harus dibayar mahal dengan kerapuhan ekstrem terhadap Data Distribution Shift saat masuk ke tahap produksi.
  3. Kegagalan adalah Temuan Terpenting dalam XAI: Menggunakan Grad-CAM untuk memvalidasi keberhasilan model adalah hal standar. Memanfaatkan Grad-CAM untuk menjelaskan kegagalan prediksi out-of-distribution di dunia nyata adalah implementasi XAI yang sesungguhnya.