Bagaimana Saya Mengajar Kursus Samsung AI / ML / DL

Halo. Saya akan memberi tahu Anda tentang pandangan saya tentang AI, jadi untuk berbicara, dari dalam proses. Dalam arti proses pendidikan dan ilmiah.



Kebetulan pada tahun 1998 saya masuk sekolah pascasarjana di Akademi Pertanian Negara Rusia dan memilih AI / ML sebagai topik karya ilmiah saya. Ini adalah masa-masa sulit dari zaman es berikutnya dari jaringan saraf. Pada saat inilah Yang Lecun menerbitkan karyanya yang terkenal "Pembelajaran Berbasis Gradien yang Diterapkan pada Pengenalan Dokumen" berdasarkan prinsip-prinsip pengorganisasian jaringan konvolusional, yang menurut saya hanyalah permulaan dari pencairan baru. Lucu sekali saat itu saya sedang mengerjakan beberapa elemen serupa, karena mereka mengatakan bahwa idenya, ketika saatnya tiba, sedang mengudara. Namun, tidak semua orang diberikan untuk menghidupkannya. Sayangnya, saya tidak pernah menyelesaikan pekerjaan saya untuk bertahan, tetapi saya selalu ingin menyelesaikannya suatu hari nanti.





Sumber: Hitecher



Dan sekarang, setelah 20 tahun, ketika saya mulai bekerja sebagai guru di Southern Federal University dan pada saat yang sama mengajar di program pendidikan tambahan "Samsung IT School", saya memiliki kesempatan kedua. Samsung menawarkan SFedU untuk menjadi yang pertama meluncurkan jalur pelatihan "Samsung IT Academy" tentang kecerdasan buatan untuk sarjana dan master. Saya memiliki beberapa kekhawatiran bahwa mungkin saja seluruh kurikulum dapat diimplementasikan secara penuh, tetapi saya dengan antusias menanggapi tawaran untuk membaca kursus tersebut. Saya menyadari bahwa lingkaran itu tertutup, dan saya masih memiliki kesempatan kedua untuk melakukan apa yang pernah saya gagal. Perlu dicatat di sini bahwa kursus AI / ML Samsung adalah salah satu kursus bahasa Rusia terbuka terbaik saat ini yang tersedia secara gratis di platform Stepik ( https://stepik.org/org/srr). Namun, untuk program universitas, selain kursus teori / praktik, bagian proyek ditambahkan. Artinya, kurikulum tahunan "Samsung IT Academy" dianggap menguasai dalam kasus mempelajari dua modul "Jaringan Syaraf dan Visi Komputer", "Jaringan Syaraf dan Pemrosesan Teks" dengan penerimaan sertifikat Stepik yang sesuai, serta implementasi proyek individu. Kursus diakhiri dengan pembelaan proyek siswa, yang mengundang para ahli, termasuk. karyawan Pusat Moskow untuk Kecerdasan Buatan Samsung.



Dan sejak September 2019, kami telah memulai kursus di Institute of High Technologies dan Piezotechnics dari SFedU. Tentu saja, sejumlah besar siswa yang datang ke HYIP dan kemudian terjadi putus sekolah yang serius. Programnya tidak terlalu rumit, tetapi banyak - pengetahuan dibutuhkan:



  • aljabar linier,

  • teori probabilitas,

  • kalkulus diferensial,

  • bahasa pemrograman Python.



Tentu saja, semua pengetahuan dan keterampilan yang dibutuhkan tidak melampaui kurikulum program sarjana tahun ke-3 universitas. Saya akan memberikan beberapa contoh, dari yang lebih rumit:



  • Temukan turunan dari fungsi aktivasi tangen hiperbolik dan nyatakan hasilnya dalam th(x) ... 

  • Tentukan turunan dari fungsi aktivasi sigmoid dan nyatakan hasilnya dalam bentuk sigmoid σ(x) ... 

  • Dalam grafik perhitungan yang ditunjukkan pada Gambar. 1 menunjukkan fungsi kompleks y dengan parameter b1,b2,c1,c2 ... Untuk kenyamanan, tambahkan hasil operasi perantara sebagai z1÷z9 ... Penting untuk menentukan dengan apa turunannya akan sama y menurut parameter b1









Sejujurnya, saya buru-buru mempelajari sesuatu, terutama dari algoritma modern untuk bekerja dengan jaringan saraf, dengan siswa. Awalnya, diasumsikan bahwa siswa sendiri akan mempelajari video ceramah kursus online Samsung di Stepik, dan di kelas kami hanya melakukan lokakarya. Namun, saya membuat keputusan untuk membaca teorinya juga. Keputusan ini karena fakta bahwa bersama guru Anda dapat memilah topik yang tidak dapat dipahami, mendiskusikan ide-ide yang muncul, dll. Siswa mendapat tugas praktik berupa pekerjaan rumah. Pendekatannya ternyata benar - di dalam kelas didapat suasana yang hidup, saya melihat siswa secara umum cukup berhasil dalam penguasaan materi. 



Sebulan kemudian, kami dengan mulus berpindah dari model neuron ke arsitektur terhubung penuh sederhana pertama, dari regresi sederhana ke klasifikasi multikelas, dari komputasi gradien sederhana hingga algoritme pengoptimalan penurunan gradien SGD, ADAM, dll. Kami menyelesaikan paruh pertama kursus dengan jaringan konvolusional dan arsitektur jaringan dalam modern. Tugas akhir modul Computer Vision yang pertama adalah mengikuti kompetisi " Dirty vs Cleaned " di Kaggle dengan mengatasi ambang akurasi sebesar 80%. 



Faktor lain, menurut saya, penting: kami tidak tertutup di dalam universitas. Penyelenggara trek mengadakan webinar dan kelas master untuk kami dengan pakar yang diundang dari laboratorium Samsung. Acara semacam itu meningkatkan motivasi siswa, dan saya, jujur ​​:). Misalnya, ada acara bimbingan karier yang menarik - jembatan online antara ruang kelas SFedU, Universitas Negeri Moskow, dan Samsung, di mana karyawan Pusat AI Moskow Samsung berbicara tentang tren modern dalam pengembangan AI / ML dan menjawab pertanyaan siswa.



Bagian kedua dari kursus, yang membahas tentang pemrosesan teks, dimulai dengan teori umum analisis linguistik. Kemudian siswa diperkenalkan dengan model teks vektor dan TF-IDF, kemudian distribusi semantik dan word2vec. Berdasarkan hasil tersebut, beberapa workshop menarik diadakan: membuat embeddings word2wec, membuat nama dan slogan. Kemudian kami beralih ke teori dan praktik menggunakan jaringan konvolusional dan berulang untuk analisis teks.



Sedangkan intinya ya, saya menerbitkan artikel di jurnal VAK dan mulai menyusun artikel berikutnya, bertahap mengumpulkan bahan untuk disertasi baru. Murid-murid saya juga tidak duduk diam, tetapi mulai mengerjakan proyek pertama mereka. Siswa memilih topik mereka sendiri, dan sebagai hasilnya, mereka mendapat 7 proyek kelulusan di berbagai area penerapan jaringan saraf:



  1. « » , .

  2. « » .

  3. « » .

  4. « » .

  5. « » .

  6. « » .

  7. « » , .







Semua proyek dipertahankan, tetapi tingkat kerumitan dan kecanggihannya berbeda, yang, dengan tepat, tercermin dalam perkiraan untuk proyek tersebut. Berdasarkan hasil pertahanan, empat proyek dipilih untuk kompetisi tahunan Samsung IT Academy . Dan saya dengan bangga dapat mengatakan bahwa juri memberikan penghargaan kepada dua dari proyek kami tempat teratas. Di bawah ini saya akan memberikan gambaran singkat tentang proyek-proyek ini, berdasarkan materi yang diberikan oleh siswa saya Alexander yang Berterima Kasih, Krikunov Stanislav dan Pandov Vyacheslav, yang banyak berterima kasih kepada mereka. Saya percaya bahwa solusi yang telah mereka tunjukkan dapat dinilai sebagai pekerjaan penelitian yang serius.



I « » «IT Samsung».

« », ,



Proyeknya adalah untuk membuat aplikasi seluler yang mengidentifikasi dan mengukur aktivitas fisik dalam pelatihan menggunakan sensor ponsel. Sekarang ada banyak aplikasi mobile yang bisa mengenali aktivitas fisik seseorang: Google Fit, Nike Training Club, MapMyFitness dan lain-lain. Namun, aplikasi ini tidak dapat mengenali jenis latihan tertentu dan menghitung jumlah pengulangan.

Salah satu penulis proyek Grateful Alexander, lulusan saya tahun 2015 dari program Samsung IT School, dan saya, bukannya tidak bangga, bersukacita karena pengetahuan yang diperoleh tentang pengembangan seluler di sekolah diterapkan sedemikian rupa.





Bagaimana aktivitas fisik dikenali? Mari kita mulai dengan cara menentukan waktu latihan. Untuk mendeteksi awal dan akhir latihan, siswa memutuskan untuk menggunakan modul akselerasi, yang dihitung sebagai akar dari jumlah kuadrat percepatan di sepanjang sumbu. Ambang batas tertentu dipilih, yang dengannya nilai percepatan saat ini dibandingkan. Jika ambang batas terlampaui (turunan dari percepatannya positif), maka kami menganggap bahwa latihan telah dimulai. Jika percepatan saat ini berada di bawah ambang batas (turunan percepatannya negatif), maka kami menganggap bahwa latihannya sudah selesai. Sayangnya, pendekatan ini tidak memungkinkan pemrosesan waktu nyata. Perbaikan yang mungkin dilakukan adalah penerapan jendela geser pada data dengan perhitungan hasil pada setiap langkah shift.



Dataset dikumpulkan oleh penulis sendiri. Saat melakukan 7 latihan berbeda, 3 jenis smartphone digunakan (Android versi 4.4, 9.0, 10.0). Ponsel pintar itu dipasang di tangan menggunakan saku khusus. Sebanyak 1800 pengulangan dilakukan oleh tiga relawan. Selama pelaksanaan, kesalahan dalam teknik dapat muncul karena alasan apa pun, oleh karena itu, prosedur pembersihan sampel dilakukan. Untuk ini, distribusi korelasi silang dibangun untuk semua jenis latihan. Kemudian, untuk setiap latihan, ambang korelasi dipilih, di bawahnya latihan tersebut dianggap tidak sesuai dan dikeluarkan dari sampel.   



Latihan yang sama, tergantung pada pengulangannya, memiliki waktu eksekusi yang berbeda. Untuk mengatasi ini, diputuskan untuk menginterpolasi data dengan jumlah sampel yang tetap, terlepas dari berapa banyak yang berasal dari sensor. Diterima 50 - dua kali lipat tingkat pengambilan sampel, menghitung posisi perantara sebagai rata-rata aritmatika dari yang tetangga. Diterima 200 - buang setiap 2 hitungan. Dalam hal ini, jumlah sampel akan tetap. Demikian pula, untuk setiap rasio jumlah masukan sampel dengan nomor keluaran yang diinginkan.



Untuk jaringan syaraf tiruan, diputuskan untuk menerapkan data dalam domain frekuensi. Karena massa tubuh seseorang cukup besar, frekuensi sinyal karakteristik akan terletak pada wilayah spektrum frekuensi rendah di sebagian besar latihan standar. Dalam hal ini, frekuensi tinggi dapat dianggap sebagai jitter selama eksekusi, atau gangguan dari sensor. Apa artinya? Artinya kita dapat menemukan spektrum sinyal menggunakan FFT dan hanya menggunakan 10-20% data untuk analisis. Mengapa sangat sedikit? Karena 1) spektrumnya simetris, Anda dapat segera memotong setengah dari komponen 2) informasi dasar - hanya 20-40% dari bagian informatif spektrum. Asumsi ini menjelaskan latihan kekuatan lambat dengan sangat baik.





Deret waktu yang dinormalkan untuk latihan yang berbeda





Spektrum yang dinormalisasi untuk latihan yang berbeda



Sebelum diproses oleh jaringan saraf, spektrum data dinormalisasi ke nilai maksimum di antara tiga sumbu untuk memasukkan semua sampel latihan ke dalam rentang amplitudo 0-1. Dalam hal ini, proporsi antara sumbu dipertahankan.



Jaringan saraf melakukan tugas mengklasifikasikan latihan. Ini berarti bahwa ini menghasilkan vektor probabilitas untuk semua latihan dari daftar yang digunakan untuk melatihnya. Indeks elemen maksimum dalam vektor ini adalah jumlah latihan yang dilakukan. Selain itu, jika kepercayaan diri terhadap latihan yang dilakukan kurang dari 85%, maka dianggap tidak ada latihan yang dilakukan. Jaringan terdiri dari 3 lapisan: 4 konvolusional, 3 terhubung penuh, jumlah neuron keluaran sama dengan jumlah latihan yang ingin kita kenali. Dalam arsitektur, untuk menghemat sumber daya komputasi, hanya konvolusi dengan ukuran inti 3x3 yang digunakan. Arsitektur jaringan yang relatif sederhana dibenarkan oleh sumber daya komputasi smartphone yang terbatas; dalam tugas kami, diperlukan pengenalan dengan penundaan minimum. 





Deskripsi arsitektur jaringan saraf



Strategi pelatihan jaringan neural adalah pelatihan berdasarkan waktu menggunakan normalisasi batch ke data pelatihan hingga fungsi kerugian pada sampel pelatihan mencapai nilai minimumnya.



Hasil: dengan performa latihan yang kurang lebih berkualitas tinggi, kepercayaan jaringan adalah 95-99%. Pada set validasi, keakuratannya adalah 99,8%.





Kesalahan selama pelatihan pada set validasi





Matriks kesalahan untuk



jaringan saraf Jaringan saraf dibangun ke dalam aplikasi seluler dan menunjukkan hasil yang sama seperti dalam pelatihan.



Studi ini juga menguji model pembelajaran mesin lain yang digunakan saat ini untuk memecahkan masalah klasifikasi: regresi logistik, Random forest, XG Boost. Untuk arsitektur ini, regularisasi Tikhonov (L2), validasi silang, dan pencarian grid digunakan untuk menemukan parameter yang optimal. Hasilnya, indikator akurasi adalah sebagai berikut:



  • Regresi logistik: 99,4%

  • Hutan acak: 99,1%

  • Peningkatan XG: 97,5%



Pengetahuan yang diperoleh selama pelatihan di Samsung IT Academy membantu penulis proyek memperluas cakrawala minat mereka dan memberikan kontribusi yang tak ternilai saat memasuki program master di Skolkovo Institute of Science and Technology. Saat ini, mahasiswa saya sedang melakukan penelitian di sana di bidang pembelajaran mesin untuk sistem komunikasi. 



Kode di GitHub



II « » «IT Samsung».

« »,







Pekerjaan model dijelaskan dengan baik pada slide ini:







Semuanya dimulai dengan sebuah foto. Dalam implementasi yang disajikan, itu berasal dari bot Telegram. Menggunakannya, Dlib frontal_face_detector menemukan semua wajah dalam gambar. Kemudian 68 titik 2D utama dari setiap wajah dideteksi menggunakan Dlib shape_predictor_68_face_landmarks. Setiap set dinormalisasi sebagai berikut: dipusatkan (dikurangi rata-rata X dan Y) dan diskalakan (dibagi dengan maksimum absolut X dan Y). Setiap koordinat dari titik yang dinormalisasi termasuk dalam interval [-1, +1].



Kemudian jaringan saraf ikut bermain, yang memprediksi kedalaman setiap titik kunci wajah - koordinat Z, menggunakan koordinat yang dinormalisasi (X, Y). Model ini dilatih pada set data AFLW2000.



Selanjutnya, titik-titik ini dihubungkan satu sama lain, membentuk topeng jaring. Ini juga bisa disebut biometrik wajah. Panjang segmen topeng semacam itu digunakan sebagai salah satu cara untuk mendefinisikan emosi. Idenya adalah bahwa setiap ruas garis memiliki tempatnya sendiri di vektor ruas garis dan beberapa di antaranya tergantung pada emosi. Dan setiap emosi, dalam teori, memiliki jumlah vektor yang terbatas. Hipotesis ini dikonfirmasi selama eksperimen. Untuk melatih model seperti itu, dataset berikut digunakan: Cohn-Kanade +, JAFFE, RAF-DB.



Secara paralel, jaringan lain sedang belajar untuk mengklasifikasikan emosi dengan gambar itu sendiri. Gambar wajah dipotong dari persegi panjang yang ditemukan dengan Dlib. Dikonversi menjadi hitam putih saluran tunggal dan dikompresi menjadi 48x48. Untuk melatih model ini, set data yang sama digunakan untuk model biometrik. Namun, dataset FER2013 digunakan sebagai tambahan.



Kesimpulannya, jaringan saraf ketiga mulai beroperasi, arsitekturnya menggabungkan dua jaringan yang sebelumnya dibekukan dan yang sudah dilatih sebelumnya dengan lapisan terlatih. Jaringan ini juga menggantikan lapisan terakhir yang terhubung sepenuhnya. Alih-alih "vektor probabilitas" yang diharapkan yang dengannya kelas target dapat ditentukan, lebih banyak "fitur tingkat rendah" sekarang dikembalikan. Dan lapisan pemersatu dilatih untuk menafsirkan informasi ini ke dalam kelas target.



Di antara "solusi serupa" adalah sebagai berikut: EmoPy, DLP-CNN (RAF-DB), FER2013, EmotioNet. Namun, sulit untuk membuat perbandingan seperti mereka dilatih tentang data yang berbeda. 



Kode di GitHub



Kesimpulan



Sebagai penutup, saya ingin mengatakan bahwa kursus percontohan telah menunjukkan nilainya, dan pada tahun akademik 2020/21 ini, program ini sudah diajarkan di 23 universitas yang menjadi mitra Samsung IT Academy di Rusia dan Kazakhstan. Daftar lengkapnya bisa dilihat disini... Tahun ini sekelompok master dan bujangan sudah belajar bersama kami (bahkan ada satu Ph.D. dalam kelompok tersebut!) Dan sejauh ini, secara massal, granit sains berhasil menggerogoti. Ide untuk proyek individu belum ditemukan, tetapi siswa penuh dengan optimisme. Tentu saja, dalam kompetisi proyek individu berikutnya, persaingan akan meningkat sepuluh kali lipat, tetapi kami berharap dapat terus mendapatkan nilai tinggi atas prestasi siswa kami. Dan yang terpenting, saya yakin bahwa ilmu dan pengalaman yang diperoleh akan sangat membantu lulusan kami dalam pengembangan lebih lanjut di bidang IT.



Rostov-on-Don 2020. SFedU, Akademi TI Samsung.





Dmitry Yatsenko

Dosen Senior Departemen Teknologi Informasi dan Pengukuran, Fakultas Teknologi Tinggi, Universitas Federal Selatan,

Dosen di Samsung IT School,

Dosen AI IT Track di Samsung Academy. 



All Articles