Jaringan saraf konvolusional

Revisi sejak 5 Juni 2024 14.07 oleh KhalilullahAlFaath (bicara | kontrib) (Menambah konten: Arsitektur (diterjemahkan dari wikipedia english)


Jaringan saraf konvolusional (bahasa Inggris: Convolutional neural network atau disingkat CNN) adalah salah satu kelas jaringan saraf umpan-maju teregulasi yang secara mandiri mampu mempelajari rekayasa fitur melalui optimasi filter (atau kernel). Keunggulan CNN dibandingkan jaringan saraf sebelumnya terletak pada kemampuannya untuk mengatasi permasalahan gradien menghilang dan gradien meledak yang kerap muncul saat propagasi balik. Hal ini dimungkinkan karena CNN menggunakan bobot terregularisasi pada koneksi yang lebih sedikit. [1] [2] Misalnya, untuk setiap neuron di lapisan yang sepenuhnya terhubung (fully connected layers), diperlukan 10.000 bobot untuk memproses gambar berukuran 100 × 100 piksel. Namun, dengan menerapkan kernel konvolusi berjenjang (atau korelasi silang),[3][4] hanya diperlukan 25 neuron untuk memproses petak berukuran 5x5.[5][6] Arsitektur CNN ini memungkinkan ekstraksi fitur tingkat tinggi dari jendela konteks yang lebih luas pada lapisan yang lebih tinggi dibanding lapisan sebelumnya.

CNN memiliki aplikasi di:

CNN juga dikenal sebagai Shift Invariant atau Space Invariant Artificial Neural Networks (SIANN) atau Jaringan Saraf Tiruan Invarian Penggeseran atau Invarian Ruang. Penamaan ini berdasarkan arsitektur bobot-berbagi yang digunakan kernel atau filter konvolusi. Kernel ini bergerak melintasi fitur masukan (input) dan menghasilkan respons translasi-ekuivarian yang dikenal sebagai peta fitur.[12][13] Respons translasi-equivarian berarti bahwa keluaran jaringan tidak berubah secara signifikan oleh pergeseran spasial kecil pada masukan. Namun, sebagian besar CNN tidak invarian terhadap translasi karena operasi downsampling yang diterapkan pada masukan.[14]

Jaringan saraf umpan-maju yang umum digunakan dalam CNN memiliki karakteristik "konektivitas penuh" (fully connected), yaitu setiap neuron di satu lapisan terhubung dengan semua neuron di lapisan berikutnya. "Konektivitas penuh" dari jaringan ini membuatnya rentan terhadap overfitting data. Untuk mengatasi overfitting pada CNN, berbagai teknik regularisasi  telah dikembangkan, seperti memberikan penalti pada parameter selama pelatihan (seperti weight decay) atau memangkas konektivitas (skip connections atau koneksi lompat, dropout, dll.) Selain teknik regularisasi, penggunaan kumpulan data yang besar dan representatif juga sangat penting. Kumpulan data yang memadai  memungkinkan CNN untuk  mempelajari prinsip-prinsip umum yang mendasari data tersebut,  alih-alih hanya menghafal bias yang mungkin ada pada kumpulan data yang terbatas.  Dengan demikian, CNN dapat  menghasilkan generalisasi yang lebih baik pada data baru yang belum pernah dilihat sebelumnya. [15]

CNN terinspirasi dari proses-proses biologis[16][17][18][19] pada pola konektivitas antar-neuron yang menyerupai organisasi korteks visual pada binatang. Tiap neuron kortikal hanya merespons rangsangan dalam satu area terbatas pada bidang visual atau bidang reseptif. Bidang-bidang reseptif neuron tumpang tindih secara parsial (partial overlap) sedemikian sehingga mencakup seluruh bidang reseptif.

CNN secara relatif menggunakan pra-pemrosesan yang lebih sedikit dibandingkan dengan algoritma klasifikasi citra lainnya. Artinya, jaringan pada CNN mempelajari optimasi filter (atau kernel) melalui pemelajaran otomatis. Berbeda dengan algoritma tradisional yang mengandalkan rekayasa filter inisecara manual. Kemampuan ini menjadikan penggunaan CNN memberikan keuntungan yang besar karena independensinya terhadap pra-pengetahuan manusia dalam tahap ekstraksi fitur.

Architecture

 
Perbandingan lapisan konvolusi, penggabungan, dan lapisan sepenuhnya terhubung pada LeNet dan AlexNet
(Perlu dicatat bahwa ukuran citra yang digunakan pada AlexNet dalam artikel ini adalah 227x227x3, bukan 224x224x3 seperti yang disebutkan pada penelitian awal. Koreksi ini berdasarkan saran Andrej Karpathy, kepala divisi visi komputer di Tesla. Alasan pemilihan ukuran gambar 224x224x3 dalam penelitian awal AlexNet tidak dijelaskan secara rinci oleh Alex. Lapisan konvolusi selanjutnya berukuran 11x11 dengan langkah (stride) 4: 55×55×96 (bukan 54×54×96). Akan dihitung dengan contoh sebagai berikut: [(lebar masukan 227 - lebar kernel 11) / langkah 4] + 1 = [(227 - 11) / 4] + 1 = 55. Karena keluaran kernel memiliki panjang dan lebar yang sama, maka luasnya adalah 55x55.)

CNN terdiri dari satu lapisan masukan (input layer), beberapa lapisan tersembunyi (hidden layers), dan satu lapisan keluaran (output layer). Lapisan tersembunyi tersebut terdiri dari minimal satu lapisan yang melakukan operasi konvolusi. Konvolusi ini biasanya melibatkan lapisan yang melakukan perkalian titik (dot product) antara kernel konvolusi dengan matriks masukan lapisan tersebut. Hasil perkalian ini umumnya berupa perkalian dalam Frobenius, dan ReLU sebagai fungsi aktivasinya. Saat kernel konvolusi bergerak di sepanjang matriks masukan lapisan, operasi konvolusi ini menghasilkan peta fitur (feature map), yang selanjutnya menjadi masukan lapisan berikutnya. Lapisan konvolusi ini kemudian dilanjutkan dengan lapisan lain, seperti lapisan penggabungan (pooling), lapisan sepenuhnya terhubung (fully connected), dan lapisan normalisasi. Perlu dicatat di sini terkait kemiripan antara jaringan saraf konvolusi dengan matched filter. [20]

Lapisan konvolusi

Dalam CNN, masukan berupa tensor dengan ukuran:

(jumlah masukan) × (tinggi masukan) × (lebar masukan) × (masukan kanal)

Setelah melewati lapisan konvolusi, gambar menjadi terabstraksi menjadi peta fitur, disebut juga peta aktivasi, dengan ukuran:

(jumlah masukan) × (tinggi peta fitur) × (lebar peta fitur) × (peta fitur kanal).

Lapisan konvolusi melakukan konvolusi pada masukan dan meneruskan hasilnya ke lapisan berikutnya. Operasi ini mirip dengan respon neuron di korteks visual terhadap stimulus tertentu.[21] Setiap neuron konvolusi hanya memproses data untuk bidang reseptif-nya sendiri.

 
Contoh jaringan saraf konvolusi umpan-balik 1 dimensi

Meskipun jaringan saraf lapisan umpan-balik yang sepenuhnya terhubung dapat digunakan untuk mempelajari fitur dan mengklasifikasikan data, arsitektur ini umumnya tidak praktis untuk masukan yang lebih besar (misalnya, citra beresolusi tinggi), yang membutuhkan neuron dalam jumlah besar karena setiap piksel adalah fitur masukan yang relevan. Lapisan yang sepenuhnya terhubung untuk citra berukuran 100 × 100 memiliki 10.000 bobot untuk setiap neuron di lapisan kedua. Konvolusi mengurangi jumlah parameter bebas, memungkinkan jaringan menjadi lebih dalam.[5] Misalnya, menggunakan area petak 5 x 5, masing-masing dengan bobot yang sama, hanya membutuhkan 25 neuron. Penggunaan bobot teregulasi pada parameter yang lebih sedikit untuk menghindari masalah gradien melenyap dan gradien yang meledak yang terjadi selama propagasi balik pada jaringan saraf sebelumnya.[1][2]

Untuk mempercepat pemrosesan, lapisan konvolusi standar dapat diganti dengan lapisan konvolusi yang dapat dipisahkan kedalaman (depthwise separable convolutional layers),[22], yang didasarkan pada konvolusi kedalaman yang diikuti oleh konvolusi pointwise. Pointwise convolution adalah konvolusi spasial yang diterapkan secara independen pada setiap channel dari tensor input, sedangkan konvolusi pointwise adalah konvolusi standar yang dibatasi untuk menggunakan kernel berukuran  .

Lapisan penggabungan

Jaringan konvolusi dapat mencakup lapisan penggabungan lokal dan/atau global bersama dengan lapisan konvolusi tradisional. Lapisan penggabungan (pooling layer) mengurangi dimensi data dengan menggabungkan keluaran dari kelompok neuron pada satu lapisan menjadi satu neuron di lapisan berikutnya. Penggabungan lokal menggabungkan kelompok kecil, ukuran petak seperti 2 × 2 biasanya digunakan. Penggabungan global bekerja pada semua neuron pada peta fitur.[23][24] Ada dua jenis penggabungan yang umum digunakan: maksimum dan rata-rata. Penggabungan maksimum atau max pooling menggunakan nilai maksimum dari setiap kelompok neuron lokal di peta fitur,[25][26] sedangkan penggabungan rata-rata mengambil nilai rata-rata.

Lapisan sepenuhnya terhubung

Lapisan sepenuhnya terhubung (fully connected layer) menghubungkan setiap neuron di satu lapisan ke setiap neuron di lapisan lain. Proses ini sama dengan yang digunakan di jaringan saraf multilapis (MLP). Matriks yang diratakan (flattened) melewati lapisan sepenuhnya terhubung untuk mengklasifikasikan citra.

Bidang reseptif

Dalam jaringan saraf, setiap neuron menerima masukan dari sejumlah lokasi di lapisan sebelumnya. Dalam lapisan konvolusi, setiap neuron hanya menerima masukan dari area terbatas dari lapisan sebelumnya yang disebut bidang reseptif saraf. Biasanya areanya berbentuk persegi (misalnya 5 x 5 neuron). Sedangkan pada lapisan yang terhubung penuh, medan reseptif adalah "seluruh lapisan sebelumnya". Jadi, di setiap lapisan konvolusi, setiap neuron mengambil masukan dari area yang lebih luas pada masukan daripada lapisan sebelumnya. Hal ini disebabkan oleh penerapan konvolusi berulang kali, yang memperhitungkan nilai piksel, serta piksel di sekitarnya. Saat menggunakan lapisan yang melebar, (dilated) jumlah piksel di bidang reseptif tetap konstan, tetapi medan tersebut lebih jarang diisi karena dimensinya bertambah ketika menggabungkan efek dari beberapa lapisan.

Untuk memanipulasi ukuran bidang reseptif sesuai keinginan, ada beberapa alternatif dari lapisan konvolusi standar. Misalnya, konvolusi atrofi (atrous) atau dilatasi[27][28]yang memperluas ukuran bidang reseptif tanpa meningkatkan jumlah parameter dengan menyisipkan wilayah yang terlihat dan buta. Selain itu, lapisan konvolusi tunggal yang melebar dapat terdiri dari filter dengan beberapa rasio pelebaran,[29] sehingga memiliki ukuran bidang reseptif yang bervariasi.

Bobot

Dalam jaringan saraf tiruan, setiap neuron menghitung nilai keluaran dengan menerapkan fungsi tertentu pada nilai masukan yang diterima dari bidang reseptif di lapisan sebelumnya. Fungsi yang diterapkan pada nilai input ditentukan oleh vektor bobot dan bias (biasanya berupa bilangan riil). Pemelajaran terdiri dari penyesuaian bias dan bobot ini secara berulang.

Vektor bobot dan bias disebut filter dan mewakili fitur tertentu dari masukan (misalnya, bentuk tertentu). Ciri khas CNN adalah banyak neuron dapat berbagi filter yang sama. Cara ini dapat mengurangi penggunaan memori karena bias tunggal dan vektor bobot tunggal digunakan di semua bidang reseptif yang berbagi filter itu, dibandingkan dengan setiap bidang reseptif yang memiliki bias dan bobot sendiri.[30]


Lihat juga

Referensi

  1. ^ a b Venkatesan, Ragav; Li, Baoxin (2017-10-23). Convolutional Neural Networks in Visual Computing: A Concise Guide (dalam bahasa Inggris). CRC Press. ISBN 978-1-351-65032-8. Diarsipkan dari versi asli tanggal 2023-10-16. Diakses tanggal 2020-12-13. 
  2. ^ a b Balas, Valentina E.; Kumar, Raghvendra; Srivastava, Rajshree (2019-11-19). Recent Trends and Advances in Artificial Intelligence and Internet of Things (dalam bahasa Inggris). Springer Nature. ISBN 978-3-030-32644-9. Diarsipkan dari versi asli tanggal 2023-10-16. Diakses tanggal 2020-12-13. 
  3. ^ Zhang, Yingjie; Soon, Hong Geok; Ye, Dongsen; Fuh, Jerry Ying Hsi; Zhu, Kunpeng (September 2020). "Powder-Bed Fusion Process Monitoring by Machine Vision With Hybrid Convolutional Neural Networks". IEEE Transactions on Industrial Informatics. 16 (9): 5769–5779. doi:10.1109/TII.2019.2956078. ISSN 1941-0050. Diarsipkan dari versi asli tanggal 2023-07-31. Diakses tanggal 2023-08-12. 
  4. ^ Chervyakov, N.I.; Lyakhov, P.A.; Deryabin, M.A.; Nagornov, N.N.; Valueva, M.V.; Valuev, G.V. (September 2020). "Residue Number System-Based Solution for Reducing the Hardware Cost of a Convolutional Neural Network". Neurocomputing (dalam bahasa Inggris). 407: 439–453. doi:10.1016/j.neucom.2020.04.018. Diarsipkan dari versi asli tanggal 2023-06-29. Diakses tanggal 2023-08-12. Convolutional neural networks represent deep learning architectures that are currently used in a wide range of applications, including computer vision, speech recognition, malware dedection, time series analysis in finance, and many others. 
  5. ^ a b Habibi, Aghdam, Hamed (2017-05-30). Guide to convolutional neural networks : a practical application to traffic-sign detection and classification. Heravi, Elnaz Jahani. Cham, Switzerland. ISBN 9783319575490. OCLC 987790957. 
  6. ^ Atlas, Homma, and Marks. "An Artificial Neural Network for Spatio-Temporal Bipolar Patterns: Application to Phoneme Classification" (PDF). Neural Information Processing Systems (NIPS 1987). 1. Diarsipkan dari versi asli (PDF) tanggal 2021-04-14. 
  7. ^ Valueva, M.V.; Nagornov, N.N.; Lyakhov, P.A.; Valuev, G.V.; Chervyakov, N.I. (2020). "Application of the residue number system to reduce hardware costs of the convolutional neural network implementation". Mathematics and Computers in Simulation. Elsevier BV. 177: 232–243. doi:10.1016/j.matcom.2020.04.031. ISSN 0378-4754. Convolutional neural networks are a promising tool for solving the problem of pattern recognition. 
  8. ^ van den Oord, Aaron; Dieleman, Sander; Schrauwen, Benjamin (2013-01-01). Burges, C. J. C.; Bottou, L.; Welling, M.; Ghahramani, Z.; Weinberger, K. Q., ed. Deep content-based music recommendation (PDF). Curran Associates, Inc. hlm. 2643–2651. Diarsipkan dari versi asli (PDF) tanggal 2022-03-07. Diakses tanggal 2022-03-31. 
  9. ^ Collobert, Ronan; Weston, Jason (2008-01-01). "A unified architecture for natural language processing". Proceedings of the 25th international conference on Machine learning - ICML '08. New York, NY, US: ACM. hlm. 160–167. doi:10.1145/1390156.1390177. ISBN 978-1-60558-205-4. 
  10. ^ Avilov, Oleksii; Rimbert, Sebastien; Popov, Anton; Bougrain, Laurent (July 2020). "Deep Learning Techniques to Improve Intraoperative Awareness Detection from Electroencephalographic Signals" (PDF). 2020 42nd Annual International Conference of the IEEE Engineering in Medicine & Biology Society (EMBC) (PDF). 2020. Montreal, QC, Canada: IEEE. hlm. 142–145. doi:10.1109/EMBC44109.2020.9176228. ISBN 978-1-7281-1990-8. PMID 33017950 Periksa nilai |pmid= (bantuan). Diarsipkan dari versi asli tanggal 2022-05-19. Diakses tanggal 2023-07-21. 
  11. ^ Tsantekidis, Avraam; Passalis, Nikolaos; Tefas, Anastasios; Kanniainen, Juho; Gabbouj, Moncef; Iosifidis, Alexandros (July 2017). "Forecasting Stock Prices from the Limit Order Book Using Convolutional Neural Networks". 2017 IEEE 19th Conference on Business Informatics (CBI). Thessaloniki, Greece: IEEE. hlm. 7–12. doi:10.1109/CBI.2017.23. ISBN 978-1-5386-3035-8. 
  12. ^ Zhang, Wei (1988). "Shift-invariant pattern recognition neural network and its optical architecture". Proceedings of Annual Conference of the Japan Society of Applied Physics. Diarsipkan dari versi asli tanggal 2020-06-23. Diakses tanggal 2020-06-22. 
  13. ^ Zhang, Wei (1990). "Parallel distributed processing model with local space-invariant interconnections and its optical architecture". Applied Optics. 29 (32): 4790–7. Bibcode:1990ApOpt..29.4790Z. doi:10.1364/AO.29.004790. PMID 20577468. Diarsipkan dari versi asli tanggal 2017-02-06. Diakses tanggal 2016-09-22. 
  14. ^ Mouton, Coenraad; Myburgh, Johannes C.; Davel, Marelie H. (2020). "Stride and Translation Invariance in CNNs". Dalam Gerber, Aurona. Artificial Intelligence Research. Communications in Computer and Information Science (dalam bahasa Inggris). 1342. Cham: Springer International Publishing. hlm. 267–281. arXiv:2103.10097 . doi:10.1007/978-3-030-66151-9_17. ISBN 978-3-030-66151-9. Diarsipkan dari versi asli tanggal 2021-06-27. Diakses tanggal 2021-03-26. 
  15. ^ Kurtzman, Thomas (August 20, 2019). "Hidden bias in the DUD-E dataset leads to misleading performance of deep learning in structure-based virtual screening". PLOS ONE. 14 (8): e0220113. Bibcode:2019PLoSO..1420113C. doi:10.1371/journal.pone.0220113. PMC 6701836 . PMID 31430292. 
  16. ^ Fukushima, K. (2007). "Neocognitron". Scholarpedia. 2 (1): 1717. Bibcode:2007SchpJ...2.1717F. doi:10.4249/scholarpedia.1717. 
  17. ^ Hubel, D. H.; Wiesel, T. N. (1968-03-01). "Receptive fields and functional architecture of monkey striate cortex". The Journal of Physiology. 195 (1): 215–243. doi:10.1113/jphysiol.1968.sp008455. ISSN 0022-3751. PMC 1557912 . PMID 4966457. 
  18. ^ Fukushima, Kunihiko (1980). "Neocognitron: A Self-organizing Neural Network Model for a Mechanism of Pattern Recognition Unaffected by Shift in Position" (PDF). Biological Cybernetics. 36 (4): 193–202. doi:10.1007/BF00344251. PMID 7370364. Diarsipkan dari versi asli (PDF) tanggal 3 June 2014. Diakses tanggal 16 November 2013. 
  19. ^ Matusugu, Masakazu; Katsuhiko Mori; Yusuke Mitari; Yuji Kaneda (2003). "Subject independent facial expression recognition with robust face detection using a convolutional neural network" (PDF). Neural Networks. 16 (5): 555–559. doi:10.1016/S0893-6080(03)00115-1. PMID 12850007. Diarsipkan dari versi asli (PDF) tanggal 13 December 2013. Diakses tanggal 17 November 2013. 
  20. ^ Convolutional Neural Networks Demystified: A Matched Filtering Perspective Based Tutorial https://arxiv.org/abs/2108.11663v3
  21. ^ "Convolutional Neural Networks (LeNet) – DeepLearning 0.1 documentation". DeepLearning 0.1. LISA Lab. Diarsipkan dari versi asli tanggal 28 December 2017. Diakses tanggal 31 August 2013. 
  22. ^ Chollet, François (2017-04-04). "Xception: Deep Learning with Depthwise Separable Convolutions". arΧiv:1610.02357 [cs.CV]. 
  23. ^ Kesalahan pengutipan: Tag <ref> tidak sah; tidak ditemukan teks untuk ref bernama flexible
  24. ^ Krizhevsky, Alex. "ImageNet Classification with Deep Convolutional Neural Networks" (PDF). Diarsipkan dari versi asli (PDF) tanggal 25 April 2021. Diakses tanggal 17 November 2013. 
  25. ^ Yamaguchi, Kouichi; Sakamoto, Kenji; Akabane, Toshio; Fujimoto, Yoshiji (November 1990). A Neural Network for Speaker-Independent Isolated Word Recognition. First International Conference on Spoken Language Processing (ICSLP 90). Kobe, Japan. Diarsipkan dari versi asli tanggal 2021-03-07. Diakses tanggal 2019-09-04. 
  26. ^ Ciresan, Dan; Meier, Ueli; Schmidhuber, Jürgen (June 2012). "Multi-column deep neural networks for image classification". 2012 IEEE Conference on Computer Vision and Pattern Recognition. New York, NY: Institute of Electrical and Electronics Engineers (IEEE). hlm. 3642–3649. arXiv:1202.2745 . CiteSeerX 10.1.1.300.3283 . doi:10.1109/CVPR.2012.6248110. ISBN 978-1-4673-1226-4. OCLC 812295155. 
  27. ^ Yu, Fisher; Koltun, Vladlen (2016-04-30). "Multi-Scale Context Aggregation by Dilated Convolutions". arΧiv:1511.07122 [cs.CV]. 
  28. ^ Chen, Liang-Chieh; Papandreou, George; Schroff, Florian; Adam, Hartwig (2017-12-05). "Rethinking Atrous Convolution for Semantic Image Segmentation". arΧiv:1706.05587 [cs.CV]. 
  29. ^ Duta, Ionut Cosmin; Georgescu, Mariana Iuliana; Ionescu, Radu Tudor (2021-08-16). "Contextual Convolutional Neural Networks". arΧiv:2108.07387 [cs.CV]. 
  30. ^ LeCun, Yann. "LeNet-5, convolutional neural networks". Diarsipkan dari versi asli tanggal 24 February 2021. Diakses tanggal 16 November 2013. 

Tautan eksternal

Templat:Differentiable computing