Lapisan mana yang menghabiskan lebih banyak waktu dalam pelatihan CNN? Lapisan konvolusi vs lapisan FC

11

Dalam Convolutional Neural Network, lapisan mana yang menghabiskan waktu maksimum dalam pelatihan? Lapisan konvolusi atau lapisan Sepenuhnya Terhubung? Kita dapat menggunakan arsitektur AlexNet untuk memahami hal ini. Saya ingin melihat waktu perpecahan proses pelatihan. Saya ingin perbandingan waktu yang relatif sehingga kami dapat mengambil konfigurasi GPU yang konstan.

Ruchit Dalwadi
sumber

Jawaban:

11

CATATAN: Saya melakukan perhitungan ini secara spekulatif, sehingga beberapa kesalahan mungkin telah merayap masuk. Mohon informasikan kesalahan tersebut sehingga saya dapat memperbaikinya.

Secara umum di CNN mana pun, waktu pelatihan maksimum adalah Back-Propagation of errors pada Fully Connected Layer (tergantung pada ukuran gambar). Juga memori maksimum juga ditempati oleh mereka. Berikut ini adalah slide dari Stanford tentang parameter VGG Net:

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

Jelas Anda dapat melihat lapisan yang terhubung penuh berkontribusi sekitar 90% dari parameter. Jadi memori maksimum ditempati oleh mereka.

(333)(333)224224224224(333)6422422464224224(333)87106

56562565656(33256)56562565656(33256)1850106

strsayade=1

chSebuahnnelsHaikamuthalkamut(halsayaxelHAIkamuthalkamuthesayaghthalsayaxelHAIkamuthalkamutwsayadth)(fsayalterhesayaghtfsayalterwsayadthchSebuahnnelssayanhalkamut)

Berkat GPU yang cepat kami dapat dengan mudah menangani perhitungan besar ini. Tetapi dalam lapisan FC seluruh matriks perlu dimuat yang menyebabkan masalah memori yang umumnya bukan lapisan konvolusional, sehingga pelatihan lapisan konvolusional masih mudah. Semua ini harus dimuat dalam memori GPU itu sendiri dan bukan RAM CPU.

Juga di sini adalah bagan parameter AlexNet:

masukkan deskripsi gambar di sini

Dan inilah perbandingan kinerja berbagai arsitektur CNN:

masukkan deskripsi gambar di sini

Saya sarankan Anda memeriksa CS231n Lecture 9 oleh Stanford University untuk lebih memahami sudut dan celah arsitektur CNN.

Duta
sumber
4

Karena CNN berisi operasi konvolusi tetapi DNN menggunakan divergensi Konstruktif untuk pelatihan. CNN lebih kompleks dalam hal notasi O Besar.

Sebagai referensi:

1) Kompleksitas waktu CNN
https://arxiv.org/pdf/1412.1710.pdf

2) Lapisan yang terhubung penuh / Jaringan Saraf Tiruan (DNN) / Multi Layer Perceptron (MLP) https://www.researchgate.net/post/What_is_the_time_complexity_of_Multilayer_Perceptron_MLP_and_other_neural_networks

ketul parikh
sumber