Pada Habré ada sejumlah besar artikel tentang jaringan saraf, di mana ada gambar neuron dalam bentuk lingkaran dengan panah masuk, gambar dengan garis neuron dan formula wajib untuk jumlah produk bobot dan tanda. Artikel-artikel ini sering memancing kemarahan publik yang dihormati karena kejelasan dan kemiripannya dengan belajar cara menggambar burung hantu. Dalam artikel ini saya akan melangkah lebih jauh - bahkan ini tidak akan ada di sini. Tidak ada matematika, tidak ada perbandingan dengan otak. Anda tidak mungkin mempelajari sesuatu yang praktis dari artikel ini, dan ada kemungkinan besar bahwa semua hal di atas akan tampak terlalu jelas bagi Anda. Tujuan artikel ini adalah pertanyaan: apa yang dapat Anda lakukan dengan bantuan jaringan saraf. Bukan Yandex, bukan Google, bukan Facebook, tetapi Anda - dengan pengalaman lima tahun sebagai pengembang web dan laptop tiga tahun.

Sekitar jaringan saraf (selanjutnya - NS) ada banyak suara sekarang. Jadi saya memutuskan untuk membuat beberapa produk berdasarkan pada mereka. Dan dia bertanya pada dirinya sendiri: apa yang saya butuhkan untuk ini? Dan dia menjawab sendiri (ya, saya suka berbicara dengan orang yang cerdas): tiga hal diperlukan - pengetahuan di bidang jaringan saraf, data untuk pelatihan dan perangkat keras untuk melatih jaringan saraf. Ngomong-ngomong, setelah saya mendengar berapa banyak pembicara di youtube berbicara tentang fakta bahwa hal-hal ini adalah alasan kebangkitan NS: peningkatan algoritma (pengetahuan), ketersediaan sejumlah besar data dan kemampuan komputer modern (perangkat keras). Kebetulan pikiran saya dan kata-kata para ahli ini membesarkan hati, oleh karena itu, lebih lanjut saya akan berbicara tentang tiga hal ini: data, pengetahuan dan perangkat keras.
Data
Sifat dan tipe data tergantung pada area di mana Anda ingin menerapkan NS.
NS modern mulai menyelesaikan tugas-tugas sulit seperti pengenalan objek dalam gambar, wajah, pengenalan suara, mampu memainkan video game sendiri dan memenangkannya.
Penyimpangan lirisTentu saja, dalam banyak hal sensasi dan gelembung di sekitar NS ini adalah pengaruh mode, virality, nama romantis, analog dengan otak dan impian AI yang kuat. Memang, Anda akan setuju bahwa jika teknik ini disebut "Matriks Multiplikasi dan Optimalisasi Parameter dengan Metode Keturunan Gradien", semua ini akan terdengar kurang mengesankan dan, mungkin, tidak akan menarik begitu banyak perhatian. Beberapa akan berpendapat bahwa, persetan dengan dia, dengan nama, tidak hanya karena nama mereka sangat populer, mereka juga menyebabkan efek wow - lihat apa yang dilakukan jaringan ini, mereka menang! Ya, tetapi ketika AI memenangkan catur, beberapa orang mulai mengidolakan pencarian mendalam dan jurnalis tidak menulis bahwa A-star akan mengambil alih dunia, dan programmer tidak mempelajarinya dalam jumlah besar.
Majelis Nasional, antara lain, terselubung dalam lingkaran misteri - tidak ada yang mengerti persis bagaimana mereka melakukan pekerjaan mereka: satu set fungsi non-linear, banyak matriks berat, istilah dan faktor misterius - semua ini terlihat seperti tong penyihir, di mana dia melemparkan semua jenis akar, sayap kelelawar dan darah naga. Tetapi kembali ke pertanyaan artikel.
Untuk melatih NA, banyak data dibutuhkan - ratusan ribu, jutaan contoh. Dapatkah Anda menemukan dan mengunduh tumpukan seperti itu menggunakan Internet grabber buatan sendiri? Saya kira begitu. Tetapi ada beberapa masalah:
- Untuk pelatihan dengan guru, data harus diberi label. Seseorang harus menandai data ini, menugaskannya ke kelas yang berbeda, memberikan perkiraan numerik. Jika ini awalnya bukan karena alasan tertentu (misalnya, Anda hanya memiliki audio, tetapi tidak ada transkrip), maka ini membutuhkan upaya yang sangat besar. Tentu saja, ada pelatihan tanpa guru, dengan bala bantuan dan sebagainya, tetapi mereka memecahkan masalah lain (disederhanakan, bukan klasifikasi dan regresi (pada kenyataannya, menentukan nilai fungsi yang tidak diketahui), tetapi mengelompokkan atau memilih tindakan terbaik). Mengingat volume artikel yang terbatas, saya tidak akan menyentuh masalah ini.
- Data harus didistribusikan secara merata, apa pun artinya. Ini berarti bahwa jika Anda bahkan memiliki jutaan data yang berisi informasi tentang bmw dan dodge, tetapi hampir tidak ada informasi tentang Ford dan Mazda, maka Majelis Nasional tidak akan pernah dapat meringkas data secara memadai, bahkan lebih buruk lagi, itu akan menaikkan harga atau menggambar lampu depan dan terlihat agresif.
- Anda perlu tahu banyak tentang sifat data agar dapat menyoroti fitur penting dan mungkin memberlakukan beberapa pembatasan pada NS. Ya, NS multilayer adalah penduga universal dari fungsi kontinu, tetapi tidak ada yang mengatakan bahwa itu akan cepat. Aneh mungkin, tetapi semakin banyak pembatasan, semakin cepat NS akan dapat belajar. Mengapa NS menjadi sangat baik dalam pemrosesan gambar? Karena orang pintar menaruh informasi pada gambar dalam arsitektur jaringan ini. Mereka menciptakan kelas jaringan yang terpisah - jaringan konvolusional yang mengambil data dari sekelompok piksel, memampatkan gambar dengan cara yang berbeda, melakukan transformasi matematis, yang tujuannya adalah untuk menetralisir efek pergeseran, transformasi, sudut kamera yang berbeda. Apakah ini cocok untuk tipe data lainnya? Hampir tidak. Apakah cocok untuk gambar di mana sudut membawa informasi penting? Siapa tahu
Pengetahuan
Di Majelis Nasional, ada banyak hiperparameter yang sangat memengaruhi kecepatan kerja dan konvergensi secara prinsip. Anda dapat melatih ulang, terjebak pada maksimum lokal, latihan peregangan selama berminggu-minggu dan banyak lagi. Anda akan mendapatkan pengetahuan tentang arsitektur NS, prinsip-prinsip operasi, Anda adalah seorang programmer. Ada banyak kerangka kerja untuk pembelajaran mesin - theano, tensorflow dan lainnya. Tetapi pengaturan parameter seperti kecepatan belajar, memilih momen, memilih regularisasi dan parameternya, memilih fungsi aktivasi dan banyak lagi adalah proses eksperimental yang membutuhkan banyak waktu. Karena kurangnya strategi yang akurat dan kebutuhan untuk secara manual mengkonfigurasi dan memilih parameter untuk setiap tugas, banyak yang menyebut proses belajar NS art.
Sumber daya
Anda perlu memproses jutaan contoh beberapa kali, sejumlah besar kali: Anda memberi contoh, NS menyesuaikan bobot sedikit, Anda memberikan contoh yang sama lagi, NS lagi menyesuaikan bobot - dan ada begitu banyak "era". Jika Anda menggunakan validasi silang, maka Anda juga memberikan data untuk partisi yang berbeda ke dalam sampel pelatihan dan validasi sehingga NS tidak berlatih kembali pada data yang sama.
Apa kira-kira sumber daya yang Anda mampu? Saya ingin membeli komputer kelas atas berbasis Kaby Lake 7700K (atau Razen 1800X) dengan dua kartu grafis NVidia GTX 1080 yang bekerja bersama menggunakan SLI. Dan gagasan bahwa kinerjanya setara dengan kinerja superkomputer berusia sepuluh tahun dari daftar Top500 menghangatkan jiwaku. Berapa lama untuk melatih Majelis Nasional di atasnya? Ini, tentu saja, tergantung pada arsitektur jaringan (jumlah lapisan, jumlah neuron dalam lapisan, koneksi), jumlah contoh untuk pelatihan, dan hiperparameter. Tetapi yang mengejutkan saya adalah bahwa saya menghabiskan beberapa jam di taman bermain situs.tensorflow.org sehingga jaringan kecil dapat dengan benar mengklasifikasikan poin dalam spiral dalam ruang dua dimensi. Hanya dua dimensi, tidak begitu banyak data, tetapi begitu banyak waktu. Pemenang kontes ImageNet menghabiskan satu minggu mempelajari jaringan menggunakan dua kartu video, dan dia tahu banyak tentang hyperparameter. Hampir tidak membeli bahkan selusin server. Apakah Anda memiliki kesabaran untuk belajar NA?
Ringkasan : menurut saya di rumah Anda dapat menyelesaikan
beberapa masalah dengan bantuan Majelis Nasional.
- Ukuran sampel pelatihan bisa sama dengan ratusan ribu contoh.
- Anda dapat mencapai akurasi sekitar 80-90%.
- Pelatihan NS bisa memakan waktu berhari-hari.
Ini adalah pendapat intuitif saya dan perkiraan yang sangat kasar, bisa keliru, saya akan senang jika seseorang di komentar menulis tentang tugas yang dia selesaikan di rumah, berapa jumlah data dan karakteristik setrika.
Terima kasih atas perhatian anda!