Inception (arsitektur pemelajaran mendalam)

**Inception** (har: permulaan) adalah keluarga arsitektur jaringan saraf konvolusional (CNN) dalam bidang visi komputer. Inception diperkenalkan oleh para peneliti Google pada tahun 2014 dengan nama **GoogLeNet** (yang kemudian berganti nama menjadi **Inception v1**). Arsitektur ini memiliki peran penting dalam sejarah CNN karena menjadi salah satu model awal yang memisahkan tiga bagian utama: bagian *stem* (penerimaan atau *ingestion* data), bagian *body* (pemrosesan data), dan bagian *head* (prediksi) yang desain ini masih diterapkan di semua CNN modern.

## Riwayat versi

### Inception v1

Pada tahun 2014, sebuah tim dari Google mengembangkan arsitektur GoogLeNet, yang salah satu variannya memenangkan ImageNet Large-Scale Visual Recognition Challenge 2014 (ILSVRC14).

Nama “GoogleNet” terinspirasi dari LeNet (1998), karena baik LeNet maupun GoogLeNet sama-sama merupakan arsitektur CNN. Selain itu, arsitektur ini juga diberi nama "Inception", mengacu pada meme internet “Kita perlu masuk lebih dalam” atau “*we need to go deeper”,* yang berasal dari film ''Inception'' (2010). Seiring dengan munculnya versi-versi terbaru, arsitektur Inception yang pertama diberi nama ulang menjadi "Inception v1".

Model dan kode dirilis di bawah lisensi Apache 2.0 di GitHub.

Arsitektur Inception v1 adalah CNN dalam yang terdiri dari 22 lapisan (*layer*). Sebagian besar lapisan ini terdiri dari "modul Inception" (*inception modules*). Makalah asli menyatakan bahwa modul Inception merupakan "puncak logis" atau *logical culmination* dari konsep *Jaringan dalam Jaringan*  dan (Arora et al, 2014).

Karena Inception v1 memiliki arsitektur yang dalam, ia mengalami masalah gradien yang lenyap. Tim peneliti memecahkan masalah ini dengan menggunakan dua *auxiliary classifiers*, yaitu *linear-softmax classifiers* yang disisipkan pada kedalaman 1/3 dan 2/3 dari jaringan. Fungsi kerugian yang digunakan merupakan jumlah berbobot dari ketiganya klasifiernya: L = 0.3 L_{aux, 1} + 0.3 L_{aux, 2} + L_{real}

Setelah pelatihan selesai, *auxiliary classifiers* ini dihapus. Masalah *vanishing gradient* kemudian diselesaikan lebih efektif oleh arsitektur ResNet.

Arsitektur inception terdiri dari tiga bagian yang ditumpuk satu sama lain:

* *Stem* (*data ingestion*): Beberapa lapisan konvolusi pertama berfungsi untuk memproses data awal dengan mengecilkan ukuran gambar.
* *Body* (*data processing*): Sebagian besar proses dilakukan di sini melalui beberapa *Inception modules* yang mengekstrak fitur dari data.
* *Head* (*prediction*): Lapisan *fully-connected* terakhir dan fungsi *softmax* menghasilkan distribusi probabilitas untuk klasifikasi gambar.

Struktur ini digunakan di sebagian besar arsitektur CNN modern.

### Inception v2
Inception v2 dirilis pada tahun 2015 dalam sebuah makalah yang lebih dikenal karena memperkenalkan normalisasi batch. Inception versi ini memiliki 13,6 juta parameter.

Inception v2 merupakan penyempurnaan dari Inception v1 dengan menambahkan *batch normalization* serta menghilangkan *dropout* dan *local response normalization*, yang dianggap tidak lagi diperlukan setelah penggunaan *batch normalization.*

### Inception v3
Inception v3 dirilis pada tahun 2016. Ia menyempurnakan Inception v2 dengan menggunakan konvolusi terfaktor.

Sebagai contoh, sebuah konvolusi 5×5 dapat dipecah menjadi dua konvolusi 3×3 yang ditumpuk. Keduanya tetap memiliki bidang reseptif sebesar 5×5. Secara teori, konvolusi 5×5 lebih kuat karena memiliki 25 parameter, dibandingkan hanya 18 parameter pada versi *factorized*. Namun, kekuatan tambahan ini tidak selalu dibutuhkan. Secara empiris, tim peneliti menemukan bahwa *factorized convolutions* lebih efektif.

Inception v3 juga menggunakan teknik reduksi dimensi dengan menggabungkan keluaran dari lapisan konvolusional dan lapisan pengumpulan. Sebagai contoh, tensor berukuran 35\times 35 \times 320 dapat diperkecil dengan konvolusi dengan *stride* 2 hingga 17 \times 17 \times 320, dan dengan maxpooling dengan ukuran pool 2 \times 2 ke 17 \times 17 \times 320. Keduanya kemudian digabungkan menjadi 17 \times 17 \times 640.

Selain itu, inception v3 juga menghapus *auxiliary classifier* terbawah selama pelatihan. Tim peneliti menemukan bahwa *auxiliary head* berfungsi sebagai bentuk regularisasi, sehingga tidak semua *auxiliary classifiers* diperlukan.

Mereka juga mengusulkan teknik *label-smoothing regularization* dalam klasifikasi. Untuk gambar berlabel c, alih-alih membuat model untuk memprediksi distribusi probabilitas \delta_c = (0, 0, \dots, 0, \underbrace{1}_{c\text{-th entry}}, 0, \dots, 0), mereka membuat model tersebut memprediksi distribusi yang telah dihaluskan (1- \epsilon)\delta_c + \epsilon/K Di mana K adalah jumlah total kelas.

### Awal mula v4
Pada tahun 2017, tim peneliti merilis Inception v4, Inception ResNet v1, dan Inception ResNet v2.

Inception v4 adalah pembaruan tambahan dengan konvolusi yang lebih terfaktorisasi, dan komplikasi lain yang secara empiris ditemukan dapat meningkatkan tolok ukur.

Inception ResNet v1 dan v2 keduanya merupakan modifikasi dari Inception v4, di mana koneksi residual ditambahkan ke setiap modul Inception, terinspirasi oleh arsitektur ResNet.

### Xception
Xception ("Extreme Inception") diterbitkan pada tahun 2017. Arsitektur ini adalah tumpukan linier lapisan konvolusi yang dapat dipisahkan berdasarkan kedalamannya dengan koneksi residual. Desain ini diusulkan berdasarkan hipotesis bahwa dalam CNN, korelasi lintas saluran dan korelasi spasial dalam peta fitur dapat *dipisahkan sepenuhnya.*

## Referensi

* Daftar semua model Inception yang dirilis oleh Google: Sumber : *GitHub* Diperoleh 2024-10-19 .