Rangkaian saraf. Ke mana semua ini pergi?

Artikel terdiri daripada dua bahagian:

  1. Penerangan ringkas tentang beberapa seni bina rangkaian untuk pengesanan objek dalam imej dan pembahagian imej dengan pautan paling mudah difahami kepada sumber untuk saya. Saya cuba memilih penjelasan video dan sebaik-baiknya dalam bahasa Rusia.
  2. Bahagian kedua adalah percubaan untuk memahami hala tuju pembangunan seni bina rangkaian saraf. Dan teknologi berdasarkan mereka.

Rangkaian saraf. Ke mana semua ini pergi?

Rajah 1 – Memahami seni bina rangkaian saraf bukanlah mudah

Semuanya bermula dengan membuat dua aplikasi demo untuk pengelasan dan pengesanan objek pada telefon Android:

  • Demo bahagian belakang, apabila data diproses pada pelayan dan dihantar ke telefon. Klasifikasi imej tiga jenis beruang: coklat, hitam dan teddy.
  • Demo bahagian hadapanapabila data diproses pada telefon itu sendiri. Pengesanan objek (pengesan objek) daripada tiga jenis: hazelnut, buah tin dan kurma.

Terdapat perbezaan antara tugas klasifikasi imej, pengesanan objek dalam imej dan pembahagian imej. Oleh itu, terdapat keperluan untuk mengetahui seni bina rangkaian saraf mana yang mengesan objek dalam imej dan mana yang boleh dibahagikan. Saya menemui contoh seni bina berikut dengan pautan yang paling mudah difahami kepada sumber untuk saya:

  • Satu siri seni bina berdasarkan R-CNN (Rwilayah dengan Convolution Neural Nciri etworks): R-CNN, R-CNN Pantas, R-CNN yang lebih pantas, Topeng R-CNN. Untuk mengesan objek dalam imej, kotak sempadan diperuntukkan menggunakan mekanisme Rangkaian Cadangan Wilayah (RPN). Pada mulanya, mekanisme Carian Selektif yang lebih perlahan digunakan dan bukannya RPN. Kemudian kawasan terhad yang dipilih disalurkan kepada input rangkaian saraf konvensional untuk pengelasan. Seni bina R-CNN mempunyai gelung "untuk" eksplisit ke atas wilayah terhad, berjumlah sehingga 2000 larian melalui rangkaian dalaman AlexNet. Gelung "untuk" eksplisit memperlahankan kelajuan pemprosesan imej. Bilangan gelung eksplisit yang berjalan melalui rangkaian saraf dalaman berkurangan dengan setiap versi baharu seni bina, dan berpuluh-puluh perubahan lain dibuat untuk meningkatkan kelajuan dan menggantikan tugas pengesanan objek dengan pembahagian objek dalam Mask R-CNN.
  • Yolo (You Only Look Once) ialah rangkaian saraf pertama yang mengecam objek dalam masa nyata pada peranti mudah alih. Ciri tersendiri: membezakan objek dalam satu larian (lihat sekali sahaja). Iaitu, dalam seni bina YOLO tidak ada gelung "untuk" yang jelas, itulah sebabnya rangkaian berfungsi dengan cepat. Sebagai contoh, analogi ini: dalam NumPy, apabila menjalankan operasi dengan matriks, tiada juga gelung "untuk" eksplisit, yang dalam NumPy dilaksanakan pada peringkat rendah seni bina melalui bahasa pengaturcaraan C. YOLO menggunakan grid tingkap yang dipratentukan. Untuk mengelakkan objek yang sama daripada ditakrifkan beberapa kali, pekali pertindihan tetingkap (IoU) digunakan. Ipersimpangan over Union). Seni bina ini beroperasi dalam julat yang luas dan mempunyai tinggi keteguhan: Model boleh dilatih mengenai gambar tetapi masih menunjukkan prestasi yang baik pada lukisan yang dilukis dengan tangan.
  • SSD (Single SMultiBox panas Detector) - "godam" yang paling berjaya dalam seni bina YOLO digunakan (contohnya, penindasan bukan maksimum) dan yang baharu ditambah untuk menjadikan rangkaian saraf berfungsi dengan lebih pantas dan tepat. Ciri tersendiri: membezakan objek dalam satu larian menggunakan grid tingkap yang diberikan (kotak lalai) pada piramid imej. Piramid imej dikodkan dalam tensor lilitan melalui operasi lilitan dan penggabungan berturut-turut (dengan operasi penggabungan maksimum, dimensi ruang berkurangan). Dengan cara ini, kedua-dua objek besar dan kecil ditentukan dalam satu rangkaian dijalankan.
  • MobileSSD (Mudah alihNetV2+ SSD) ialah gabungan dua seni bina rangkaian saraf. Rangkaian pertama MobileNetV2 berfungsi dengan cepat dan meningkatkan ketepatan pengecaman. MobileNetV2 digunakan dan bukannya VGG-16, yang pada asalnya digunakan dalam artikel asal. Rangkaian SSD kedua menentukan lokasi objek dalam imej.
  • SqueezeNet – rangkaian saraf yang sangat kecil tetapi tepat. Dengan sendirinya, ia tidak menyelesaikan masalah pengesanan objek. Walau bagaimanapun, ia boleh digunakan dalam gabungan seni bina yang berbeza. Dan digunakan dalam peranti mudah alih. Ciri tersendiri ialah data mula-mula dimampatkan menjadi empat penapis konvolusi 1Γ—1 dan kemudian dikembangkan menjadi empat penapis konvolusi 1Γ—1 dan empat 3Γ—3. Satu lelaran pemampatan-pengembangan data sedemikian dipanggil "Modul Kebakaran".
  • DeepLab (Segmentasi Imej Semantik dengan Jaring Konvolusi Dalam) – pembahagian objek dalam imej. Ciri tersendiri seni bina ialah lilitan diluaskan, yang mengekalkan resolusi spatial. Ini diikuti dengan peringkat pasca pemprosesan hasil menggunakan model kebarangkalian grafik (medan rawak bersyarat), yang membolehkan anda mengeluarkan bunyi kecil dalam pembahagian dan meningkatkan kualiti imej yang tersegmen. Di sebalik nama yang menggerunkan "model probabilistik grafik" menyembunyikan penapis Gaussian konvensional, yang dianggarkan lima mata.
  • Cuba memikirkan peranti itu RefineDet (Pukulan Tunggal PerincikanRangkaian Neural untuk Objek Detection), tetapi saya tidak begitu faham.
  • Saya juga melihat bagaimana teknologi "perhatian" berfungsi: video1, video2, video3. Ciri tersendiri seni bina "perhatian" ialah pemilihan automatik kawasan peningkatan perhatian dalam imej (RoI, Region of Iminat) menggunakan rangkaian neural yang dipanggil Unit Perhatian. Kawasan peningkatan perhatian adalah serupa dengan kotak sempadan, tetapi tidak seperti mereka, kawasan itu tidak ditetapkan dalam imej dan mungkin mempunyai sempadan yang kabur. Kemudian, dari kawasan yang mendapat perhatian yang meningkat, tanda (ciri) diasingkan, yang "disuapkan" kepada rangkaian saraf berulang dengan seni bina LSDM, GRU atau Vanila RNN. Rangkaian saraf berulang dapat menganalisis hubungan ciri dalam urutan. Rangkaian saraf berulang pada mulanya digunakan untuk menterjemah teks ke bahasa lain, dan kini untuk terjemahan imej kepada teks ΠΈ teks kepada imej.

Semasa kami meneroka seni bina ini Saya sedar bahawa saya tidak faham apa-apa. Dan bukannya rangkaian saraf saya mempunyai masalah dengan mekanisme perhatian. Penciptaan semua seni bina ini adalah seperti sejenis hackathon besar, di mana pengarang bersaing dalam hackathon. Hack ialah penyelesaian pantas kepada masalah perisian yang sukar. Iaitu, tidak ada hubungan logik yang boleh dilihat dan difahami antara semua seni bina ini. Semua yang menyatukan mereka ialah satu set penggodaman yang paling berjaya yang mereka pinjam antara satu sama lain, ditambah yang biasa untuk semua operasi lilitan gelung tertutup (ralat backpropagation, backpropagation). Tidak pemikiran sistem! Tidak jelas apa yang perlu diubah dan bagaimana untuk mengoptimumkan pencapaian sedia ada.

Akibat daripada kekurangan sambungan logik antara penggodaman, ia amat sukar untuk diingati dan digunakan dalam amalan. Ini adalah pengetahuan yang berpecah-belah. Paling baik, beberapa detik menarik dan tidak dijangka diingati, tetapi kebanyakan perkara yang difahami dan tidak dapat difahami hilang dari ingatan dalam masa beberapa hari. Ia akan menjadi baik jika dalam seminggu anda ingat sekurang-kurangnya nama seni bina. Tetapi beberapa jam malah berhari-hari masa bekerja dihabiskan untuk membaca artikel dan menonton video ulasan!

Rangkaian saraf. Ke mana semua ini pergi?

Rajah 2 – Zoo Rangkaian Neural

Kebanyakan penulis artikel saintifik, pada pendapat peribadi saya, melakukan segala yang mungkin untuk memastikan bahawa pengetahuan yang berpecah-belah ini tidak difahami oleh pembaca. Tetapi frasa penyertaan dalam ayat sepuluh baris dengan formula yang diambil "dari udara tipis" adalah topik untuk artikel berasingan (masalah menerbitkan atau binasa).

Atas sebab ini, terdapat keperluan untuk mensistemkan maklumat menggunakan rangkaian saraf dan, dengan itu, meningkatkan kualiti pemahaman dan hafalan. Oleh itu, topik utama analisis teknologi individu dan seni bina rangkaian saraf tiruan adalah tugas berikut: cari ke mana semua itu pergi, dan bukan peranti mana-mana rangkaian saraf tertentu secara berasingan.

Ke mana semua ini pergi? Keputusan utama:

  • Bilangan permulaan pembelajaran mesin dalam dua tahun lepas jatuh mendadak. Sebab yang mungkin: "rangkaian saraf bukan lagi sesuatu yang baru."
  • Sesiapa sahaja boleh mencipta rangkaian saraf yang berfungsi untuk menyelesaikan masalah mudah. Untuk melakukan ini, ambil model siap dari "zoo model" dan latih lapisan terakhir rangkaian saraf (pemindahan pembelajaran) pada data siap sedia daripada Carian Set Data Google atau dari 25 ribu set data Kaggle secara percuma awan Jupyter Notebook.
  • Pengeluar besar rangkaian saraf mula mencipta "model zoo" (model zoo). Menggunakannya, anda boleh membuat aplikasi komersial dengan cepat: Hab TF untuk TensorFlow, MMDetection untuk PyTorch, Pengesan untuk Caffe2, chainer-modelzoo untuk Chainer dan lain-lain.
  • Rangkaian saraf berfungsi dalam waktu sebenar (masa nyata) pada peranti mudah alih. Dari 10 hingga 50 bingkai sesaat.
  • Penggunaan rangkaian saraf dalam telefon (TF Lite), dalam pelayar (TF.js) dan dalam barang keperluan rumah (IoT, Internet of Tengsel). Terutamanya dalam telefon yang sudah menyokong rangkaian neural di peringkat perkakasan (neural accelerators).
  • "Setiap peranti, item pakaian, dan mungkin juga makanan akan ada Alamat IP-v6 dan berkomunikasi antara satu sama lain" - Sebastian Thrun.
  • Bilangan penerbitan mengenai pembelajaran mesin telah mula berkembang melebihi hukum Moore (dua kali ganda setiap dua tahun) sejak 2015. Jelas sekali, kami memerlukan rangkaian saraf untuk menganalisis artikel.
  • Teknologi berikut semakin popular:
    • PyTorch – populariti berkembang pesat dan nampaknya mengatasi TensorFlow.
    • Pemilihan hiperparameter automatik AutoML – populariti berkembang dengan lancar.
    • Penurunan secara beransur-ansur dalam ketepatan dan peningkatan dalam kelajuan pengiraan: logik kabur, algoritma meningkatkan, pengiraan tidak tepat (anggaran), pengkuantitian (apabila pemberat rangkaian saraf ditukarkan kepada integer dan dikuantisasi), pemecut saraf.
    • Terjemahan imej kepada teks ΠΈ teks kepada imej.
    • penciptaan Objek 3D daripada video, kini dalam masa nyata.
    • Perkara utama tentang DL ialah terdapat banyak data, tetapi mengumpul dan melabelnya tidak mudah. Oleh itu, automasi penanda sedang dibangunkan (anotasi automatik) untuk rangkaian saraf menggunakan rangkaian saraf.
  • Dengan rangkaian saraf, Sains Komputer tiba-tiba menjadi sains eksperimen dan timbul krisis kebolehulangan.
  • Wang IT dan populariti rangkaian saraf muncul serentak apabila pengkomputeran menjadi nilai pasaran. Ekonomi berubah daripada ekonomi emas dan mata wang kepada emas-mata wang-pengkomputeran. Lihat artikel saya di ekonofizik dan sebab kemunculan wang IT.

Secara beransur-ansur yang baru muncul Metodologi pengaturcaraan ML/DL (Pembelajaran Mesin & Pembelajaran Dalam), yang berdasarkan mewakili program sebagai satu set model rangkaian saraf terlatih.

Rangkaian saraf. Ke mana semua ini pergi?

Rajah 3 – ML/DL sebagai metodologi pengaturcaraan baharu

Namun, ia tidak pernah muncul "teori rangkaian saraf", di mana anda boleh berfikir dan bekerja secara sistematik. Apa yang kini dipanggil "teori" sebenarnya adalah eksperimen, algoritma heuristik.

Pautan ke sumber saya dan lain-lain:

Thank you!

Sumber: www.habr.com

Tambah komen