Main tebak gambar sama artificial intelligence yuk!
.
.
.
A thread
Halooo semuaaa, mimin mau nanya nihh, di sini ada yang pernah main Skribbl atau Gartic gaa? Itu lohh game tebak gambar yang hits beberapa waktu laluu
Well, kalo kalian pernah main game tebak gambar gitu, kalian harus cobain ini nih. Game dari Google namanya “Quick, Draw!” quickdraw.withgoogle.com jadi kyk main Skribbl tapi AI yang nebak. monggo dicoba duluu
Mimin waktu nyoba ketagihan banget sampe lupa waktu hahaha. Kalian gimana, gambar kalian bisa ditebak berapa kalii?
Keren banget yaa Quick, Draw inii. Kasus pengenalan sketsa ini susah susah unik guys. Pastinya karena representasi suatu objek dari satu orang dengan lainnya bisa berbeda. Contoh nyata-nya ini.
Coba deh, kalian kalo disuruh gambar kucing tim fokus ke kepalanya doang apa full body?
Kalo dari pengalaman mimin main Gartic/Skribbl sama temen2 sih gitu. Ada yang gambar kepala doang, ada yang sampe badannya. Bahkan ketika disuruh gambar soto ayam, temen mimin malah gambar ayamnya dulu. Ga ngerti lagi.
Tapi gimana sih caranya AI di Quick, Draw! nebak gambar kita? Well, AI nya mengadopsi cara kita nebak juga.
Kalian kalo nebak pasti berdasarkan garis-garis yang digambar, terus liat gambarnya secara keseluruhan kannn
Kurang lebih gitu, AI juga ngeliat berdasarkan garis2 yang digambar sama user. Untuk pengenalan pola nya sendiri, model yang dipakai biasanya menggunakan Neural Network, seperti yang terpampang di halaman awal Quick, Draw!
Sebelum masuk lebih lanjut ke modelnya, kita bahas datanya dulu yuk! Karena di kasus ML manapun, data itu yang paling penting ya gakk
Salah satu data sketsa yang populer itu dari Quick, Draw! sendiri. Data nya tersedia di GitHub nya Google Creative Lab ( github.com/googlecreative… ) atau kalau mau versi interaktifnya atau sekedar liat2 bisa cek di web nya ( quickdraw.withgoogle.com/data )
Oke. Ayo kita telaah datanya. Nah, ternyata data yang disimpen itu bukan gambar biasa, melainkan urutan poin2 yang digambar user dan waktunya
Jadi untuk setiap garis (stroke) yang digambar (sebelum putus garisnya), disimpen koordinat x, y dan waktu t dalam milidetik pada sebuah array.
Penyimpanan dalam bentuk koordinat ini penting, karena selain dari segi penyimpanan lebih mudah dan tidak memakan storage, informasi tentang urutan garis yang digambar juga berguna buat prediksi nantinya
Nah, sejauh yang mimin tau, sampai saat ini ada 3 jenis NN yang pernah dipake buat eksperimen pengenalan sketsa ini: CNN, RNN, dan GNN. Ada yang pernah denger tentang 3 model ini?
Kita coba bahas satu2 ya. mimin ga bakal bahas terlalu detail di sini, tapi kalo kalian mau tau lebih lanjut, bakal mimin cantumin link YouTube yang bersangkutan.
Oke, yang pertama CNN atau Convolutional Neural Network. CNN ini emang udah terkenal pentolan buat kasus klasifikasi gambar guys, tapi tentunya ngga terbatas buat itu aja.
CNN ini tujuannya untuk mengambil informasi penting dari gambar/input yang diproses. Sehingga dapat digunakan untuk proses klasifikasi
Contoh di bawah ini untuk kasus pengenalan gambar berupa angka. Informasi2 penting diambil dari proses feature extraction menggunakan filter konvolusi, lalu hasilnya dipake buat klasifikasi dengan 10 kelas: 0-9
Pada setiap proses konvolusi, filter dengan ukuran NxM ini bakal iterasi ke setiap bagian gambar. Sehingga menghasilkan matrix baru berukuran lebih kecil atau sama dengan sebelumnya.
Jadi setiap filter ini bergerak, bakal dihitung dot product dari filter dan bagian gambar/input yang terkena filter.
Tapi kenapa sih harus dikecilin kaya gitu? Well, salah satu alasannya karena dimensi gambar biasanya cenderung besar.
Bayangkan kalo ga di konvolusi, untuk gambar berukuran 1000 x 1000, maka layer input atau jumlah fitur yang dimasukkan ke dalam model klasifikasi berjumlah 1,000,000 (jumlah piksel)
Padahal belum tentu masing2 piksel ini representatif terhadap informasi yang ada di gambar kalo piksel ini berdiri sendiri
Kalo kalian masih bingung, kalian bisa tonton penjelasan tentang CNN di sini
Nah CNN ini ada yang pernah dipake buat pengenalan sketsa, namanya Sketch-a-Net. Bisa kalian cek di sini papernya arxiv.org/pdf/1501.07873…
Jadi disini, penulis ngebagi sketsa jadi 3 bagian. Lalu bagian satu dengan yang lainnya dikombinasikan secara berpasangan. Dari 5 gambar yang diambil ini, lalu digabungkan dengan gambar fullnya jadi satu input
Input gabungan ini lalu di resize jadi 5 ukuran: 64*64, 128*128, 192*192, 224*224, dan 256*256. Ke-5 ukuran ini lalu menjadi input untuk CNN nya. Masing2 CNN punya arsitektur seperti ini
Hasil dari ke-5 CNN lalu dijadikan input untuk klasifikasi menggunakan fungsi Bayes. Hasil akhir, model ini mencapai miminrasi 74.9%. Kalo kalian mau liat source code implementasinya, bisa cek di sini yaa github.com/dasayan05/sket…
Selanjutnya kita bahas RNN atau Recurrent Neural Network. NN yang satu ini cocok banget buat data sequential karena informasi dari input sebelumnya dipakai lagi untuk input setelahnya.
Gampangnya gini, misal mimin kasih gini: A B C D E. terus mimin tanya, “yang muncul setelah ini apa?” pasti kalian jawab F
Terus mimin tanya lagi. “Oke, abis F itu, yang muncul apa?” kalian pasti jawab G. Karena kalian melihat dari input sebelumnya, dan langsung mengenali itu urutan alfabet.
RNN juga seperti itu, dia memprediksi berdasarkan input yang sekarang dan informasi dari input sebelumnya. Kalo kalian mau tau detailnya, bisa nonton ini
Sebagai data yang sequential, informasi poin2 stroke ini cocok digunakan dengan RNN. contohnya di paper ini arxiv.org/pdf/1704.03477…
Di sini, penulis pake input berupa garis yang diberikan user, lalu memprediksi garis selanjutnya yang bakal digambar. Kalau mau cobain demonya, bisa cek di sini magenta.tensorflow.org/assets/sketch_…
Oke terakhir! GNN atau Graph Neural Network. NN yang satu ini sebenernya udah lama ditemuin, tapi baru akhir2 ini orang2 mulai ngelirik model ini lagi
Well, kaya namanya, GNN ini berguna buat mempelajari suatu graph. Output dari GNN ini adalah Graph Knowledge yang berisi informasi tentang node2 dan relasi yang ada di dalam graph itu.
Untuk dapetin knowledgenya ini, dilakukan message passing dari node yang bertetanggaan. Karena saling memberi informasi ini, eventually semua node akan memiliki informasi dari semua node yang ada di graph.
Kalau diilustrasikan kurang lebih kaya gini. Di hop pertama, node B cuma punya informasi dari node C dan D. Tetapi, di hop kedua, node B jadi punya informasi tentang node A dan G yang di dapetin dari tetangganya, B.
Kaya gosip komplek ya guys nyebar dari satu tetangga ke tetangga lain gitu deh guyss
Dalam penyimpanan informasinya, tentunya ga secara gamblang ditulis seperti ini, tetapi direpresentasikan ke dalam sebuah vector. Kalo mau tau lebih lanjut, mimin saranin tonton ini
Lalu, informasi akhir tentang graph ini yang akan dipakai untuk task tertentu. Misalnya kalo yang dari tadi kita bahas, untuk memprediksi sketsa yang di gambar.
Keren ya ternyata NN bisa dipake ngga cuma untuk hal hal serius kaya bisnis dan finance, tapi bisa juga diajak main
Oiya FYI NN itu termasuk bagian deep learning yang merupakan bagian dari machine learning. Nyomot dari artikelnya IBM (ibm.com/cloud/blog/ai-…), antara AI, ML, DL, NN bisa diilustrasiin kyk boneka matryoshka gini
Jadi kalo mau paham tentang NN, ada baiknya paham tentang ML dulu dong. Nah ilmu tentang ML ini bisa banget kalian dapetin dari kelas Data Science nya Pacmann, yuk langsung daftarin diri kamu ke non degree program DS sebelum penutupan batch di tgl 16 maret nantii.
Don’t miss it guys, langsung aja daftar di bit.ly/PendaftaranNon… Mumpung masih ada potongan 700k untuk program DS hingga tanggal 10 Maret nantii. Sampai ketemu di kelass!
• • •
Missing some Tweet in this thread? You can try to
force a refresh
Improve your focus with effortless activity.
.
.
.
A thread
Coba buka setting HP kamu, cek bagian screen time. Berapa lama kamu ngabisin waktu di HP rata-rata tiap harinya?
Kalau jawabannya kurang dari 6 jam, selamat! Kamu menjadi salah satu orang dengan penggunaan HP harian di bawah rata-rata orang Indonesia pada umumnya, congrats!!
Machine learning, solusi penipuan deepfake (manipulasi muka seseorang menjadi mirip dengan orang lain).
.
.
.
A Thread
Hai guyss udah tau belom kali ini mimin mau bahas apa? Coba absen dong siapa nih yang pernah pake FaceApp?
Nah FaceApp itu salah satu aplikasi yang menggunakan metode deepfake. Dia bisa memanipulasi gambar muka seseorang menjadi mirip seseorang yang lain, coba kalian lihat dibawah ini
Pernah ngebayangin gimana rasanya bisa ngelukis kayak Picasso atau Vincent van Gogh?
.
.
.
A Thread
Art and Machine Learning.
Yes! you read that correctly. Dua topik bahasan yang jelas sangat berbeda dan nggak ada hubungannya.
.
.
Or are they?
Machine learning pada prinsipnya adalah proses pengenalan pola pada data. Pengenalan pola ini yang membuat mesin bisa ‘belajar’ apa yang harus dia lakukan kalau kita beri suatu input tertentu.
Siapa sih tokoh terpenting di seri Game of Thrones?
.
.
.
A thread
Dari sekian banyak orang terkenal di negara ini, kira-kira siapa sih the most influential person di Indonesia? Terus cara ngukurnya gimana sampe dia bisa dinobatkan sebagai orang paling berpengaruh?
Atau mungkin kalian pernah liat fenomena si A kenal si B karena si A temennya si C yang mana juga temennya si B? Pasti pernah kan? Eeehh, apa malah bingung sama yang mimin maksud?
So you think you’re a good listener?
.
.
.
.
A thread
Coba ngaku dehh, siapa aja nih yang merasa dirinya good listener?
Emang sihh agak susah juga ya buat bener bener tau apakah kita seorang pendengar yang baik atau bukann. Nah, di thread kali ini, mimin mau bantuiin kalian nih buat mastiin kalau kalian pendengar yang baik atau bukan. Yuk, simak!