Artificial Intelligence, Deep Learning dan Biometrics (part 1)

Beberapa tahun belakangan ini, teknologi Artificial Intelligence banyak mendapatkan perhatian dari komunitas IT. Salah satu terminologi baru yang digandrungi oleh banyak peneliti adalah Deep Learning. Deep Learning berangkat dari model klasik Jaringan Syaraf Tiruan Multilayer Perceptron dilatih dengan backpropagation. Pada pertengahan tahun 80-an, Rumelhart mengenalkan algoritma backpropagation yang mampu dipakai untuk melatih model Jaringan Syaraf Tiruan (Artificial Neural Network) Multilayer Perceptron yang terdiri dari 3 layer : input, hidden dan output layer. Dengan algoritma tersebut, JST dapat diimplementasikan untuk menyelesaikan berbagai kasus non linear seperti misalnya prediksi cuaca, speech recognition, diagnosis penyakit, prediksi struktur protein, klasifikasi kanker dari data microarray dan berbagai aplikasi lainnya. Tetapi ketika data yang diolah menjadi berskala besar, terutama di era masa kini yang sering disebut dengan “big data”, model sederhana di atas mengalami kendala yang disebut gradient vanishing. Ketika jumlah layer pada neural network ditingkatkan, koreksi error dalam proses pelatihan akan menurun seiring dengan banyaknya jumlah layer. Akibatnya proses pembelajaran yang berbasis koreksi error ini tidak berhasil.  Hal inilah yang menjadi latar belakang, mengapa Deep Learning mendapatkan banyak perhatian. Karena Deep Learning mampu menyelesaikan masalah yang melibatkan data berskala besar, yang selama ini sulit untuk diselesaikan oleh pendekatan konvensional.
Tahun yang lalu, Deep Learning mendapatkan momentumnya ketika salah satu varian-nya diadu dengan otak manusia dalam game yang kompleksitasnya sangat tinggi. Model tersebut dikembangkan oleh  perusahaan DeepMind, yang pada tahun 2014 diakuisisi Google. AlphaGo  dalam pertarungan yang ketat, mampu mengalahkan manusia dalam permainan Go. Go adalah “catur Cina” yang komputasinya jauh lebih kompleks dibandingkan catur yang sering kita mainkan sehari-hari.  AlphaGo bertanding dengan Lee Sedol, yang saat itu menempati peringkat kedua dunia dalam bidang permainan Go. Kemenangan ini mengingatkan peristiwa bersejarah, ketika komputer AI “Deep Blue” yang dikembangkan oleh IBM mengalahkan Garry Kasparov pada tahun 1997. Apa beda catur dan Go ? Kalau dalam catur, dalam tiap langkah ada 35 kemungkinan yang bisa dilakukan maka dalam permainan Go ada sekitar 250[1]. Dengan memperhitungkan segala kemungkinan yang bisa terjadi, banyaknya game yang mungkin terjadi dalam permainan Go adalah 10 pangkat 761, sedangkan catur 10 pangkat 120. Angka ini sangat besar jika dibandingkan dengan banyaknya atom di alam semesta yang diperkirakan 10 pangkat 80. Kompleksitas Go jauh lebih tinggi dibandingkan catur. Google mengembangkan AlphaGo yang terdiri dari 2 komponen : prosedur pencarian memakai struktur pohon, dan neural network yang menuntun prosedur pencarian tersebut. Tiga buah convolutional neural network dilatih. Dua di antaranya adalah berperan sebagai policy network, dan satu sebagai value network. Papan permainan menjadi input, dan value network akan menginformasikan peluang untuk menang. Policy network memberikan tuntunan, langkah apa yang harus diambil. Agar mampu memberikan tuntunan itu, neural nework dilatih untuk mengenali pola yang diambil oleh pemain Go, sebanyak 30 juta posisi yang dilakukan oleh expert. Setelah proses pelatihan itu selesai, policy network akan mampu bertindak layaknya expert, memberikan petunjuk langkah apa yang harus diambil. Untuk meningkatkan kemampuannya, policy network diadu satu dengan yang lain, sehingga mampu melakukan eksplorasi langkah-langkah yang lebih baik. Strategi ini disebut dengan “Deep Reinforcement Learning”. Value network dilatih dengan 30 juta posisi permainan, sehingga mampu memberikan prediksi berapa peluang untuk menang dalam suatu situasi. Kedua network : policy network dan value network kemudian digabungkan. Output dari value network memberikan peluang yang sifatnya intuitif, sedangkan hasil simulasi pertandingan policy network menyampaikan refleksi. AlphaGo diimplementasikan dengan memakai 48 CPU dan 8 GPU, sedangkan versi terdistribusi dari AlphaGo berjalan pada 1202 CPU dan 176 GPU. Dalam pertandingan yang diadakan pada tahun 2016 tersebut, sistem cerdas yang dikembangkan oleh DeepMind tersebut mampu memperlihatkan superioritasnya terhadap otak manusia, dengan score 4-1 untuk kemenangan AlphaGo.
Iklan
Dipublikasi di research | Meninggalkan komentar

Mengatur kartu nama

21272554_10155600110084477_4095785644370168087_n

Waktu saya masih SD, kami sering bertukar-tukaran label nama. Kadang dicetak dengan warna warni. Itu trend di antara kami yang di SD, tahun 80-an. Setelah kuliah dan ikut organisasi, kami membuat kartu nama. Ketika berkenalan dengan teman, dsb. di Jepang lazim kalau bertukar kartu nama. Dulu kartu nama tsb. saya atur dengan menempatkannya di kotak dan disorting berdasarkan alfabet. Tetapi ternyata tidak mudah untuk akses ke kartu nama yang diperlukan, karena searching masih dilakukan secara manual. Kartu harus diambil satu persatu dan dibaca, sampai ketemu yang dicari. Karena repot, kemudian saya mengganti metode penyimpanan kartu nama dengan memakai album seperti pada foto. Total sekitar 5 album. Masih dengan urutan alfabet juga. Cara ini akan memudahkan kalau saya harus mencari nama seseorang, karena begitu membuka album langsung terlihat informasi detailnya. Kesulitannya adalah proses insertion. Saya harus menggeser satu demi satu ke belakang, baru kemudian kartu nama dimasukkan ke posisi yang terbuka. Kalau di struktur data, proses insertion pada array akan makan computational complexity sebesar O(n). Persis seperti yang saya alami. Sangat merepotkan. Akhirnya setelah pulang ke Indonesia saya menyerah. Setiap ada kartu nama baru saya tumpuk saja. Belakangan saya coba digitalkan, misalnya seperti folder di kanan atas. Sekali digitalkan jadi nyaman. Sorting, searching mudah dilakukan. Memang ada sih software untuk mengorganisasi kartu nama dengan memakai OCR. Pernah saya install di iphone, tapi gagal. Akhirnya saya buat manual spt ini. Agar mudah dalam proses searching, tiap kartu nama diberikan nama file : nama, afiliasi, tanggal ketemu.
Kadang berangan, alangkah indahnya jika kartu nama saya yang sudah saya kumpulkan selama ini bisa diubah ke digital. Proses searching dan maintainance akan jauh lebih mudah, karena berkah “being digital”

PS: kendala spt ini dialami juga ketika medical record akan dibuat versi elektronik. Perlu waktu, biaya dan effort besar untuk mengkonversikan informasi yg disimpan dalam bentuk analog (kertas).

Dipublikasi di coffee morning | Meninggalkan komentar

Merapikan email sejak 20 tahun yang lalu

21318989_10155597382649477_5240019189923295044_oAlhamdulillah. Pagi ini selesai juga akhirnya pekerjaan besar, merapikan email dari 1997 sampai sekarang. Arsip yang merekam komunikasi saya, sejak masih bujang, mahasiswa, menikah, dosen di Jepun, kembali ke Indonesia, beranak pinak sampai sekarang. Total ukuran file sekitar 32 GB. Kalau dihitung rata-rata, per bulan makan space 110 MB. Tetapi saya kira ke depan komunikasi email akan makin berkurang, karena pola komunikasi sudah bergeser ke instant messenger seperti telegram, wa dsb. Sayang saya sudah tidak menyimpan lagi email waktu masih S1. Pertama kali memakai email sekitar tahun 92, ketika masih semester 3 atau 4. Saya berganti-ganti mail client, mulai dari emacs+mh, mule+mew, Outlook Express, Al-Mail, dan akhirnya 10 tahun terakhir konsisten dengan Thunderbird. Untungnya email-email lama sudah saya konversikan semua ke mbox format, sehingga bisa diimport oleh Thunderbird. Setidaknya bisa jadi warisan buat anak-anak kelak, kalau ingin melihat bagaimana bapak dan ibuk dulu berkenalan dan email-emailan

Dipublikasi di internet | Meninggalkan komentar