Apa itu MobileNetV2? Model AI Deep Learning dengan Arsitetkur CNN untuk Perangkat Mobile

Assalamu‘alaikum wr. wb.

Halo gais! Berjumpa lagi bersama Teknoblog dari Inzaghi's Blog! MobileNetV2 merupakan salah satu Model AI/ML tepatnya Deep Learning untuk Perangkat Mobile dan Ringan yang dirancang oleh Google dengan menggunakan Arsitektur CNN. Kali ini kita akan membahas mengenai Model MobileNetV2.

Apa itu MobileNetV2? Model AI Deep Learning dengan Arsitetkur CNN untuk Perangkat Mobile

Sumber Artikel : Activeloop.ai, Paperswithcode.com (Method)Roboflow.com (Model)Medium.com (@data-science | @sh-tsang), dan Medium.com (@nodeflux | @rizqi.okta)


Saat ini, deep learning telah memberikan dampak signifikan dalam bidang Computer Vision, yaitu kemampuan komputer untuk "melihat" dan memahami gambar atau video secara otomatis. Salah satu penerapan deep learning yang menunjukkan kinerja unggul adalah pada deteksi objek (object detection), yakni proses mengidentifikasi dan melokalisasi berbagai objek dalam citra digital.

Teknologi ini telah banyak diadopsi, baik dalam penelitian ilmiah maupun dalam berbagai produk komersial, seperti Mobil Otonom (Self-driving Car), Kamera Pengawas Pintar (Smart CCTV), dan beragam sistem berbasis visual lainnya. Keunggulan deep learning dalam mengenali pola dan fitur visual menjadikannya pilihan utama dalam pengembangan sistem visual cerdas.

Namun demikian, penggunaan deep learning untuk keperluan deteksi objek masih menghadapi tantangan besar, khususnya dalam hal kebutuhan perangkat keras. Untuk mencapai performa yang optimal, biasanya diperlukan komputer dengan spesifikasi tinggi, termasuk unit pemroses grafis (GPU) yang cukup mahal. Hal ini menjadi kendala tersendiri bagi kalangan pengembang dengan sumber daya terbatas, terutama dalam skala kecil atau pendidikan.

A. Pengertian MobileNetV2

MobileNetV2 adalah arsitektur deep learning ringan yang dirancang untuk meningkatkan kinerja model di perangkat mobile, tanpa memerlukan banyak daya komputasi. Model ini dirancang agar tetap efisien namun tetap memberikan hasil yang kompetitif dalam berbagai tugas kecerdasan buatan.

Salah satu keunggulan MobileNetV2 terletak pada struktur “inverted residual” yang digunakannya. Berbeda dari model residual konvensional, arsitektur ini memakai lapisan bottleneck tipis sebagai input dan output. Di bagian tengahnya, digunakan depthwise convolution yang ringan untuk menyaring fitur, sementara fungsi non-linear di lapisan sempit dihilangkan agar model tetap memiliki kemampuan representasi yang baik.

Desain ini memisahkan antara domain input/output dengan kemampuan ekspresif transformasi jaringan, sehingga model ini fleksibel dan dapat dianalisis serta dimodifikasi lebih lanjut dengan mudah.

Penelitian terbaru menunjukkan bahwa MobileNetV2 sangat efektif digunakan dalam berbagai aplikasi, antara lain :

  • Deteksi Objek
  • Segmentasi Polip pada Gambar Kolonoskopi
  • Deteksi pengendara e-skuter
  • Deteksi wajah palsu (anti-spoofing)
  • Deteksi COVID-19 melalui Citra Rontgen Dada

Dalam banyak kasus, MobileNetV2 mampu menandingi bahkan mengungguli model-model mutakhir lainnya, dengan kelebihan konsumsi sumber daya yang jauh lebih rendah. Oleh karena itu, model ini sangat cocok digunakan pada perangkat mobile maupun sistem tertanam (embedded system).

B. Perbedaan MobileNetV1 dan MobileNetV2 (Convolutional Blocks)

Perbandingan MobileNetV1 dan MobileNetV2 (MobileNetV1 vs MobileNetV2)

Berikut ini adalah Perbedaan antara MobileNetV1 dan MobileNetV2.

1. MobileNetV1

Pada arsitektur MobileNetV1, terdapat dua jenis lapisan utama :

a. Depthwise Convolution

Lapisan pertama disebut depthwise convolution. Fungsinya adalah melakukan penyaringan (filtering) yang ringan dengan menerapkan satu filter konvolusi untuk setiap saluran (channel) input. Pendekatan ini membuat proses komputasi menjadi jauh lebih efisien dibandingkan konvolusi biasa.

b. Pointwise Convolution (1×1 Convolution)

Lapisan kedua adalah konvolusi berukuran 1×1, yang dikenal dengan sebutan pointwise convolution. Lapisan ini berfungsi untuk membangun fitur-fitur baru dengan cara menghitung kombinasi linear dari channel-channel input sebelumnya.

c. Penggunaan ReLU6 (Rectified Linear Unit dengan Batas 6)

Dalam konteks MobileNetV1, terdapat pembahasan mengenai penggunaan fungsi aktivasi ReLU6, yang memiliki bentuk rumus :

ReLU6(x) = min(max(x, 0), 6)

Artinya, nilai output akan dibatasi antara 0 dan 6. Fungsi ini dipilih karena lebih tahan terhadap komputasi presisi rendah, misalnya ketika dijalankan pada perangkat keras dengan kemampuan terbatas seperti Perangkat Mobile atau Embedded System.

Namun, perlu dicatat bahwa dalam dokumen teknis resmi MobileNetV1, tidak ditemukan informasi eksplisit bahwa ReLU6 digunakan. Oleh karena itu, kemungkinan informasi ini diperoleh dari kode sumber (source code) yang tersedia di GitHub. Untuk memastikannya, sebaiknya periksa langsung implementasi MobileNetV1 di repositori resmi.

1. MobileNetV2

Dalam Arsitektur MobileNetV2, terdapat dua jenis blok utama :

a. Residual Block (Stride = 1)

Blok ini digunakan tanpa perubahan ukuran (downsampling), artinya dimensi spasial tetap sama. Cocok untuk mempertahankan informasi.

b. Strided Block (Stride = 2)

Blok ini digunakan untuk mengecilkan ukuran fitur (downsampling), biasanya untuk mengurangi resolusi dan kompleksitas data.


Kedua jenis blok tersebut memiliki tiga lapisan utama :

a. Lapisan Pertama – 1×1 Convolution + ReLU6

Ini adalah lapisan ekspansi. Ia meningkatkan jumlah saluran (channel) dengan menggunakan konvolusi 1×1 dan aktivasi ReLU6 untuk menjaga efisiensi komputasi.

b. Lapisan Kedua – Depthwise Convolution

Lapisan ini bertugas menyaring fitur secara ringan dan efisien, karena setiap filter hanya berlaku untuk satu channel.

c. Lapisan Ketiga – 1×1 Convolution (Tanpa Non-Linearitas)

Lapisan ini menyatukan kembali (projection layer) semua channel menjadi output akhir blok, tanpa fungsi aktivasi. Hal ini penting karena menambahkan ReLU lagi justru akan membatasi kekuatan model: jaringan yang dalam bisa menjadi seperti klasifikator linear jika aktivasi non-linear terlalu sering diterapkan, terutama pada bagian output yang tidak nol (non-zero volume).

Arsitektur ini menggunakan faktor ekspansi t = 6 untuk semua eksperimen utama. Artinya :

  • Jika Jumlah Channel input adalah 64,
  • Maka hasil internal dari lapisan pertama akan menjadi :

64 × t = 64 × 6 = 384 channel

C. Arsitektur MobileNetV2

MobileNet merilis versi keduanya, yaitu MobileNetV2, pada bulan April 2017. Sama seperti pendahulunya (MobileNetV1), arsitektur ini tetap mempertahankan penggunaan depthwise convolution dan pointwise convolution sebagai teknik utama dalam efisiensi komputasinya. Namun, MobileNetV2 membawa dua inovasi penting yang membedakannya dari versi sebelumnya, yaitu :

  • Linear bottleneck, dan
  • Shortcut connections antar struktur bottleneck.

Struktur dasar dari arsitektur ini digambarkan secara visual pada Gambar 4, yang menunjukkan bagaimana elemen-elemen tersebut disusun dalam jaringan.

Arsitektur MobilenetV2 (Kotak Biru menunjukkan Blok Pembentukkan Konvolusi Linear Bottleneck)

Pada bagian bottleneck, terdapat hubungan antara input dan output model. Sementara itu, lapisan-lapisan internal dalam struktur bottleneck dirancang untuk mengubah data input dari representasi rendah (seperti piksel pada gambar) menjadi fitur-fitur tingkat tinggi yang lebih bermakna (misalnya, kategori atau kelas objek pada gambar).

Salah satu fitur penting lainnya adalah kehadiran shortcut connection—mirip dengan residual connection dalam CNN konvensional (seperti pada ResNet)—yang menghubungkan bottleneck satu ke bottleneck lainnya. Fitur ini terbukti mampu mempercepat proses pelatihan (training) serta meningkatkan akurasi model secara keseluruhan.

Arsitektur MobileNetV2 menggunakan struktur residual terbalik (inverted residual structure), di mana lapisan input dan output pada setiap blok residual memiliki jumlah channel yang kecil (disebut bottleneck layers).

Arsitektur Model MobileNetV2

Selain itu, MobileNetV2 menggunakan konvolusi ringan (lightweight convolutions) untuk menyaring fitur di bagian lapisan ekspansi, yaitu bagian tengah dari blok yang memiliki channel lebih besar.

Yang menarik, pada lapisan-lapisan sempit (narrow layers), MobileNetV2 menghilangkan fungsi aktivasi non-linear seperti ReLU, karena keberadaannya justru bisa mengurangi kemampuan model dalam merepresentasikan informasi secara akurat.

Untuk pemahaman teknis yang lebih mendalam mengenai arsitektur dan prinsip kerja MobileNetV2, Anda dapat merujuk pada publikasi aslinya yang berjudul "MobileNetV2: Inverted Residuals and Linear Bottlenecks."

Tabel Arsitektur Keseluruhan MobileNetV2

Di mana :

  • t = faktor ekspansi (expansion factor),
  • c = jumlah channel output,
  • n = jumlah pengulangan (repetition),
  • s = nilai stride.
  • Kernel 3×3 digunakan untuk konvolusi spasial.

Pada umumnya, jaringan utama (dengan width multiplier 1 dan resolusi input 224×224) memiliki biaya komputasi sebesar 300 juta operasi perkalian-penjumlahan (multiply-adds) dan menggunakan 3,4 juta parameter.

(Catatan: Width multiplier pertama kali diperkenalkan dalam MobileNetV1.)

Kompromi antara kinerja dan efisiensi dianalisis lebih lanjut untuk resolusi input mulai dari 96 hingga 224, serta width multiplier antara 0.35 hingga 1.4.

Biaya komputasi jaringan ini dapat mencapai hingga 585 juta operasi (MAdds), sementara ukuran model bervariasi antara 1,7 juta hingga 6,9 juta parameter.

Untuk melatih jaringan ini, digunakan 16 GPU dengan ukuran batch sebanyak 96.

Tabel Ukuran ShuffleNet Memori Maksimum dalam Kb pada MobileNetV1 dan MobileNetV2

A

D. Studi Ablasi MobileNetV2

Berikut ini adalah penjelasan mengenai Studi Ablasi MobileNetV2.

1. Dampak Hambatan Linear

Dengan dihilangkannya ReLU6 pada keluaran setiap modul hambatan, akurasi ditingkatkan.

2. Dampak Jalan Pintas

A

A






































https://www.blogger.com/blog/post/edit/2490536221435885189/3575704549009700272


Itulah Penjelasan mengenai MobileNetV2 dalam Kecerdasan Buatan (AI) dan Deep Learning. Mohon maaf apabila ada kesalahan apapun. Terima Kasih 😄😘👌👍 :)

Wassalamu‘alaikum wr. wb. 

Post a Comment

Previous Post Next Post