Jaringan saraf. Kemana perginya semua ini?

Artikel ini terdiri dari dua bagian:

  1. Deskripsi singkat tentang beberapa arsitektur jaringan untuk mendeteksi objek dalam gambar dan segmentasi gambar dengan tautan ke sumber daya yang paling mudah dipahami bagi saya. Saya mencoba memilih penjelasan video dan sebaiknya dalam bahasa Rusia.
  2. Bagian kedua adalah upaya untuk memahami arah perkembangan arsitektur jaringan saraf. Dan teknologi berdasarkan pada mereka.

Jaringan saraf. Kemana perginya semua ini?

Gambar 1 – Memahami arsitektur jaringan saraf tidaklah mudah

Semuanya dimulai dengan membuat dua aplikasi demo untuk klasifikasi dan deteksi objek di ponsel Android:

  • Demo bagian belakang, ketika data diproses di server dan dikirim ke telepon. Klasifikasi gambar tiga jenis beruang: coklat, hitam dan teddy.
  • Demo bagian depanketika data diproses di ponsel itu sendiri. Deteksi objek (objek deteksi) dari tiga jenis: hazelnut, buah ara dan kurma.

Terdapat perbedaan antara tugas klasifikasi citra, pendeteksian objek pada suatu citra dan segmentasi gambar. Oleh karena itu, ada kebutuhan untuk mengetahui arsitektur jaringan saraf mana yang mendeteksi objek dalam gambar dan mana yang dapat melakukan segmentasi. Saya menemukan contoh arsitektur berikut dengan tautan ke sumber daya yang paling mudah saya pahami:

  • Serangkaian arsitektur berdasarkan R-CNN (Rwilayah dengan Convolusi Nural Nfitur jaringan): R-CNN, R-CNN Cepat, Lebih cepat R-CNN, Topeng R-CNN. Untuk mendeteksi suatu objek pada suatu gambar, kotak pembatas dialokasikan menggunakan mekanisme Region Proposal Network (RPN). Awalnya, mekanisme Pencarian Selektif yang lebih lambat digunakan sebagai pengganti RPN. Kemudian wilayah terbatas yang dipilih dimasukkan ke masukan jaringan saraf konvensional untuk klasifikasi. Arsitektur R-CNN memiliki loop “untuk” yang eksplisit pada wilayah terbatas, dengan total hingga 2000 yang dijalankan melalui jaringan internal AlexNet. Loop “untuk” yang eksplisit memperlambat kecepatan pemrosesan gambar. Jumlah loop eksplisit yang berjalan melalui jaringan saraf internal berkurang dengan setiap versi arsitektur baru, dan lusinan perubahan lainnya dilakukan untuk meningkatkan kecepatan dan menggantikan tugas deteksi objek dengan segmentasi objek di Mask R-CNN.
  • YOLO (You Only Look Once) adalah jaringan saraf pertama yang mengenali objek secara real time di perangkat seluler. Ciri khas: membedakan objek dalam sekali jalan (lihat sekali saja). Artinya, dalam arsitektur YOLO tidak ada loop “for” yang eksplisit, itulah sebabnya jaringan bekerja dengan cepat. Misalnya, analogi ini: di NumPy, saat melakukan operasi dengan matriks, juga tidak ada loop “for” yang eksplisit, yang di NumPy diimplementasikan pada arsitektur tingkat bawah melalui bahasa pemrograman C. YOLO menggunakan kisi-kisi jendela yang telah ditentukan sebelumnya. Untuk mencegah objek yang sama didefinisikan beberapa kali, koefisien tumpang tindih jendela (IoU) digunakan. Ipersimpangan over Union). Arsitektur ini beroperasi pada jangkauan yang luas dan memiliki jangkauan yang tinggi ketahanan: Seorang model dapat dilatih menggunakan foto namun tetap dapat bekerja dengan baik pada lukisan yang digambar tangan.
  • SSD (Sperapian di tungku SMultiKotak panas Detector) – “peretasan” paling sukses dari arsitektur YOLO digunakan (misalnya, penekanan non-maksimum) dan yang baru ditambahkan untuk membuat jaringan saraf bekerja lebih cepat dan akurat. Ciri khas: membedakan objek dalam sekali proses menggunakan kisi-kisi jendela tertentu (kotak default) pada piramida gambar. Piramida gambar dikodekan dalam tensor konvolusi melalui operasi konvolusi dan pengumpulan yang berurutan (dengan operasi pengumpulan maksimal, dimensi spasial berkurang). Dengan cara ini, objek besar dan kecil ditentukan dalam satu jaringan yang dijalankan.
  • PonselSSD (mobilNetV2+ SSD) adalah kombinasi dari dua arsitektur jaringan saraf. Jaringan pertama MobileNetV2 bekerja dengan cepat dan meningkatkan akurasi pengenalan. MobileNetV2 digunakan sebagai pengganti VGG-16, yang awalnya digunakan di artikel asli. Jaringan SSD kedua menentukan lokasi objek pada gambar.
  • pemerasannet – jaringan saraf yang sangat kecil namun akurat. Dengan sendirinya, ini tidak menyelesaikan masalah pendeteksian objek. Namun, ini dapat digunakan dalam kombinasi arsitektur yang berbeda. Dan digunakan di perangkat seluler. Ciri khasnya adalah data pertama-tama dikompresi menjadi empat filter konvolusional 1×1 dan kemudian diperluas menjadi empat filter konvolusional 1×1 dan empat filter konvolusional 3×3. Salah satu iterasi kompresi-ekspansi data disebut “Fire Module”.
  • Lab Dalam (Segmentasi Gambar Semantik dengan Deep Convolutional Nets) – segmentasi objek dalam gambar. Ciri khas arsitekturnya adalah konvolusi yang melebar, yang mempertahankan resolusi spasial. Ini diikuti dengan tahap pasca-pemrosesan hasil menggunakan model probabilistik grafis (bidang acak bersyarat), yang memungkinkan Anda menghilangkan noise kecil dalam segmentasi dan meningkatkan kualitas gambar tersegmentasi. Di balik nama hebat “model probabilistik grafis” terdapat filter Gaussian konvensional, yang didekati dengan lima poin.
  • Mencoba mencari tahu perangkatnya PerbaikiDet (Tembakan Tunggal MemperhalusJaringan Syaraf Tiruan untuk Objek Detbagian), tapi saya tidak mengerti banyak.
  • Saya juga melihat cara kerja teknologi “perhatian”: video1, video2, video3. Ciri khas arsitektur “perhatian” adalah pemilihan otomatis wilayah yang mendapat perhatian lebih pada gambar (RoI, Regions of Interest) menggunakan jaringan saraf yang disebut Attention Unit. Daerah dengan perhatian yang meningkat mirip dengan kotak pembatas, tetapi tidak seperti kotak pembatas, daerah tersebut tidak tetap dalam gambar dan mungkin memiliki batas yang kabur. Kemudian, dari wilayah dengan perhatian yang meningkat, tanda (fitur) diisolasi, yang “diumpankan” ke jaringan saraf berulang dengan arsitektur LSDM, GRU atau Vanila RNN. Jaringan saraf berulang mampu menganalisis hubungan fitur secara berurutan. Jaringan saraf berulang awalnya digunakan untuk menerjemahkan teks ke bahasa lain, dan sekarang untuk terjemahan gambar ke teks и teks ke gambar.

Saat kita menjelajahi arsitektur ini Saya menyadari bahwa saya tidak mengerti apa-apa. Dan bukan karena jaringan saraf saya memiliki masalah dengan mekanisme perhatian. Penciptaan semua arsitektur ini seperti semacam hackathon besar, di mana penulis berkompetisi dalam peretasan. Peretasan adalah solusi cepat untuk masalah perangkat lunak yang sulit. Artinya, tidak ada hubungan logis yang terlihat dan dapat dimengerti antara semua arsitektur ini. Yang menyatukan mereka hanyalah serangkaian peretasan paling sukses yang mereka pinjam satu sama lain, ditambah peretasan yang umum untuk semua operasi konvolusi loop tertutup (kesalahan propagasi mundur, propagasi mundur). TIDAK sistem berpikir! Belum jelas apa yang harus diubah dan bagaimana mengoptimalkan pencapaian yang sudah ada.

Akibat kurangnya hubungan logis antar peretasan, peretasan tersebut sangat sulit diingat dan diterapkan dalam praktik. Ini adalah pengetahuan yang terfragmentasi. Paling-paling, beberapa momen menarik dan tak terduga diingat, tetapi sebagian besar dari apa yang dipahami dan tidak dapat dipahami hilang dari ingatan dalam beberapa hari. Alangkah baiknya jika dalam seminggu Anda setidaknya mengingat nama arsitekturnya. Namun beberapa jam bahkan berhari-hari waktu kerja dihabiskan untuk membaca artikel dan menonton video ulasan!

Jaringan saraf. Kemana perginya semua ini?

Gambar 2 - Kebun Binatang Jaringan Neural

Sebagian besar penulis artikel ilmiah, menurut pendapat pribadi saya, melakukan segala kemungkinan untuk memastikan bahwa pengetahuan yang terfragmentasi ini tidak dipahami oleh pembaca. Tetapi frase partisipatif dalam kalimat sepuluh baris dengan rumus yang diambil “keluar dari udara” adalah topik untuk artikel tersendiri (masalah menerbitkan atau binasa).

Oleh karena itu, perlu adanya sistematisasi informasi dengan menggunakan jaringan saraf sehingga meningkatkan kualitas pemahaman dan hafalan. Oleh karena itu, topik utama analisis teknologi individu dan arsitektur jaringan saraf tiruan adalah tugas berikut: mencari tahu kemana arah semua ini, dan bukan perangkat jaringan saraf tertentu secara terpisah.

Kemana perginya semua ini? Hasil utama:

  • Jumlah startup pembelajaran mesin dalam dua tahun terakhir turun tajam. Kemungkinan alasannya: “jaringan saraf bukan lagi sesuatu yang baru.”
  • Siapa pun dapat membuat jaringan saraf yang berfungsi untuk memecahkan masalah sederhana. Untuk melakukan ini, ambil model yang sudah jadi dari "kebun binatang model" dan latih lapisan terakhir jaringan saraf (belajar transfer) pada data siap pakai dari Pencarian Kumpulan Data Google atau dari 25 ribu kumpulan data Kaggle secara gratis buku catatan awan Jupyter.
  • Produsen besar jaringan saraf mulai berkreasi "kebun binatang model" (kebun binatang model). Dengan menggunakannya, Anda dapat dengan cepat membuat aplikasi komersial: Pusat TF untuk TensorFlow, Deteksi MMD untuk PyTorch, Detektor untuk Caffe2, chainer-modelzoo.dll untuk Chainer dan lain.
  • Jaringan saraf bekerja di waktu nyata (waktu nyata) di perangkat seluler. Dari 10 hingga 50 frame per detik.
  • Penggunaan jaringan saraf di ponsel (TF Lite), di browser (TF.js) dan di peralatan Rumah tangga (IoT, Internet of Tengsel). Apalagi pada ponsel yang sudah mendukung jaringan saraf di tingkat perangkat keras (neural accelerator).
  • “Setiap perangkat, pakaian, dan bahkan mungkin makanan akan memilikinya Alamat IP-v6 dan berkomunikasi satu sama lain" - Sebastian Thrun.
  • Jumlah publikasi tentang pembelajaran mesin mulai bertambah melampaui hukum Moore (dua kali lipat setiap dua tahun) sejak 2015. Jelasnya, kita membutuhkan jaringan saraf untuk menganalisis artikel.
  • Teknologi berikut ini semakin populer:
    • PyTorch – popularitas berkembang pesat dan tampaknya melampaui TensorFlow.
    • Pemilihan hyperparameter secara otomatis ML Otomatis – popularitas tumbuh dengan lancar.
    • Penurunan akurasi secara bertahap dan peningkatan kecepatan penghitungan: logika kabur, algoritma meningkatkan, perhitungan yang tidak tepat (perkiraan), kuantisasi (ketika bobot jaringan saraf diubah menjadi bilangan bulat dan dikuantisasi), akselerator saraf.
    • Terjemahan gambar ke teks и teks ke gambar.
    • penciptaan Objek XNUMXD dari video, sekarang dalam waktu nyata.
    • Hal utama tentang DL adalah datanya banyak, tetapi mengumpulkan dan memberi label tidaklah mudah. Oleh karena itu, otomatisasi markup sedang berkembang (anotasi otomatis) untuk jaringan saraf yang menggunakan jaringan saraf.
  • Dengan jaringan saraf, Ilmu Komputer tiba-tiba menjadi ilmu eksperimental dan bangkit krisis reproduksibilitas.
  • Uang TI dan popularitas jaringan saraf muncul secara bersamaan ketika komputasi menjadi nilai pasar. Perekonomian sedang berubah dari ekonomi emas dan mata uang menjadi komputasi mata uang emas. Lihat artikel saya di ekonofisika dan alasan munculnya uang IT.

Lambat laun muncul yang baru Metodologi pemrograman ML/DL (Machine Learning & Deep Learning), yang didasarkan pada representasi program sebagai sekumpulan model jaringan saraf terlatih.

Jaringan saraf. Kemana perginya semua ini?

Gambar 3 – ML/DL sebagai metodologi pemrograman baru

Namun, hal itu tidak pernah muncul "teori jaringan saraf", di mana Anda dapat berpikir dan bekerja secara sistematis. Apa yang sekarang disebut “teori” sebenarnya adalah algoritma heuristik eksperimental.

Tautan ke sumber saya dan lainnya:

Terima kasih!

Sumber: www.habr.com

Tambah komentar