Ulasan Buku “Graph Machine Learning : Take graph to the next level by applying machine learning techniques and algorithms”, Claudio Stamile dkk, Packt Publishing, 2021

Graph Machine Learning : Take graph to the next level by applying machine learning techniques and algorithms, Claudio Stamile dkk, Packt Publishing, 2021

Pada hari libur senin dan kamis minggu yang lalu saya menyempatkan membaca buku AI yang baru diterbitkan oleh Packt Publishing, dan cukup menarik ini. Ulasan saya terhadap buku ini saya tuliskan berikut ini, semoga bermanfaat. 

Buku ini membahas tentang alat bantu baru untuk mengolah jejaring data dan memanfaatkan kekuatan hubungan/relasi antar entitas—biasanya direpresentasikan sebagai graf— yang dapat digunakan untuk melakukan prediksi, pemodelan dan tugas analitik dengan pembelajaran mesin. Sejauh pengetahuan saya hanya ada beberapa buku yang membahas topik baru machine learning & deep learning yg sdg hangat ini. Diantara dua buku yang lain adalah 

  • Introduction to Graph Neural Networks, Zhiyuan Liu & Jie Zhou, Morgan Claypool Publ, 2020
  • Graph Powered Machine Learning, Alessandro Negro, Manning, 2021  

Buku ini memulai pembahasannya dengan pengantar mengenai teori graf dan pembelajaran mesin untuk graf, dan pemahaman tentang potensinya. Selanjutnya pembaca akan diajak memahami secara lebih mendalam tentang model pembelajaran mesin untuk pembelajaran representasi graf (graph representation learning) yang mencakup maksud/tujuan, bagaimana prinsip bekerjanya dan bagaimana penerapannya pada berbagai macam aplikasi pembelajaran mesin dengan supervisi atau tanpa supervisi. Juga dibahas pipeline pembelajaran mesin pada graf yang lengkap, mecakup pengolahan data, pelatihan model dan prediksi dalam upaya memanfaatkan potensi data graf. Beberapa contoh penerapan pada jejaring sosial, pengolahan bahasa alami dan analisis transaksi keuangan dibahas dalam buku ini. Dengan membaca buku ini pembaca diharapkan memiliki pemahaman tentang teori graf dan algoritma serta metoda untuk membangun pembelajaran mesin pada graf.

Buku ini terbagi kedalam tiga bagian besar. Bagian Pertama—terdiri dari dua bab—membahas pengantar tentang pembelajaran mesin pada graf. Bagian ini dimulai dengan membahas konsep dasar teori graf, jenis-jenis graf, visualiasi graf, sifat (property) dari graf, dan beberapa contoh graf. Yang menarik pembahasan teori graf ini ditunjukkan dengan menggunakan pustaka Python “networkx”, sehingga pembaca dapat langsung hands-on bereksperimen sambil memahami prinsip2 teori graf. Beberapa metrik yang sering digunakan pada graf diperkenalkan seperti metrik segregasi, metrik keterpusatan dan metrik risiliensi. Pembahasan dilanjutkan dengan penjelasan mengenai pembelajaran mesin pada graf, selanjutnya diperkenalkan konsep yang menjadi tema utama buku ini yaitu graph embedding, serta taksonomi pembelajaran mesin pada graf. Task yang dapat diselesaikan dengan pembelajaran mesin pada graf, seperti klasifikasi dan prediksi, dapat diterapkan pada beberapa level graf:   node level, edge level, dan graph level. Beberapa alat bantu analisis graf selain “networkx” juga dibahas pada bagian ini, diantaranya Gephi untuk visualisasi graf berskala lebih besar, juga disajikan beberapa repositori dataset graf. 

Bagian Kedua—terdiri dari 3 bab—membahas pembelajaran mesin pada graf dengan fokus pada penjelasan algoritmanya. Terdapat tiga topik yang dibahas pada bagian ini : pembelajaran mesin pada graf yang tidak menggunakan supervisi, pembelajaran mesin pada graf dengan supervisi, dan beberapa masalah yang dapat dijumpai pada pembelajaran mesin pada graf. Baik pada pembelajaran tanpa supervisi maupun dengan supervisi dibahas penggunaan graph neural networks. Pada pembelajaran mesin graf tanpa supervisi dijelaskan beberapa tipe algoritma seperti shallow embedding, autoencoder, dan graph neural networks. Sementara untuk pembelajaran mesin pada graf dengan supervisi dibahas shallow embedding, metoda regularisasi graf, graph convolutional neural networks (GCNN). GCNN dapat dipandang sebagai generalisasi dari CNN konvensional dengan representasi graf. 

Bagian Ketiga—terdiri dari 5 bab—membahas tentang aplikasi lanjut pembelajaran mesin pada graf. Ada beberapa kasus pada dunia nyata yang dibahas pada bagian ini. Yang pertama adalah aplikasi pada jejaring sosial, yang dilengkapi dengan dataset menggunakan “networkx”, dibahas juga topologi jejaring dan deteksi komunitas pada jejaring sosial, serta pembentukan embedding dengan supervisi dan tanpa supervisi.  Selanjutnya dibahas analisis teks dan pengolahan bahasa alami dengan menggunakan graf, dan secara khusus diperlihatkan cara membangun pengklasifikasi topik dokumen dengan menggunakan ‘shallow learning method’ dan graph neural networks. Contoh kasus yang ketiga adalah analisis transaksi kartu kredit dengan menggunakan pembelajaran mesin pada graf dengan supervisi maupun tanpa supervisi. Pada bagian akhir dibahas beberapa trend dan riset terkini pembelajaran mesin pada graf.

Setelah membaca buku ini, saya rekomendasikannya untuk para periset, mahasiswa pascasarjana atau level senior sarjana yang sedang melakukan studi dan riset tentang bagaimana menerapkan pembelajaran mesin pada graf. Buku ini juga bermanfaat bagi para praktisi sains data dan pengembang pembelajaran mesin, serta para praktisi graf, khususnya karena dilengkapi dengan kode sumber Python (networkx) pada hampir seluruh bagian/bab buku ini yang tersimpan pada Github, dan contoh aplikasinya pada dunia-nyata serta beberapa repositori mengenai dataset untuk pembelajaran mesin pada graf. Pembaca buku ini diharapkan sedikit-banyak memiliki latar belakang (familiar dengan) teori graf, pembelajaran mesin dan Python. Pembaca cukup menggunakan Jupyter atau Google Colab untuk mencoba kode sumber dari semua contoh2 yang diberikan di buku ini. Pada beberapa bab diperlukan juga alat bantu Neo4j dan Gephi. Saya belum sempat membandingkan buku ini dengan kedua buku yg saya sampaikan diawal ulasan ini tentang machine/deep learning pada graf. Namun sekilas buku “Introduction to Graph Neural Networks” diatas, meskipun memakai kata “Introduction” sebagai judul bukunya, lebih advanced topik bahasannya, dan lebih berat aspek teoritis/matematisnya dibandingkan dengan buku ini yang cukup ‘enak’ dibaca. Kalaupun ada kekurangan dari buku ini menurut hemat saya adalah transisi yang kurang ‘smooth’ dari bahasan tentang pembelajaran mesin konvensional menuju pembelajaran mesin pada graf. Edisi berikut dari buku ini diharapkan dapat mengurangi gap ini. 

Bandung, 8 Maret, 2022

Reviewer : Bambang Riyanto Trilaksono (Center for AI, STEI-ITB)

About the author

Riwayat Hidup Ringkas Prof. Bambang Riyanto Trilaksono Bambang Riyanto Trilaksono dilahirkan di Banyuwangi, 15 November 1962. Mendapat gelar sarjana di bidang Teknik Elektro, ITB, pada Tahun 1986, dan gelar Master dan Doktor berturut-turut pada Tahun 1991 dan 1994 dalam bidang Teknik Elektro dari Waseda University, Jepang. Saat ini yang bersangkutan adalah Guru Besar di Sekolah Teknik Elektro dan Informatika, ITB, dan Direktur Advanced Robotics Lab. Yang bersangkutan adalah salah satu founder dari Pusat Artificial Intelligence, ITB. Dari Tahun 2015 sd 2020 yang bersangkutan mendapat tugas sebagai Wakil Rektor bidang Riset, Inovasi dan Kemitraan, ITB. Bambang adalah research fellows dari University of New South Wales, Australia, dari Tahun 2012 sampai sekarang. Yang bersangkutan mempublikasikan lebih dari 50 artikel di jurnal internasional terindeks Scopus. Yang bersangkutan adalah mantan ketua dewan redaksi beberapa jurnal ITB yang terindeks di Scopus, dan anggota dewan redaksi Journal of Intelligent Unmanned Systems (Emerald), International Journal of Electrical Eng. and Informatics, Journal of ICT Research and Applications dan Indonesia Internetworking Journal. Bambang adalah founder dari beberapa start-ups, salah satunya dalam bidang AI yaitu Riset Kecerdasan Buatan (www.riset.ai) yang mengkhususkan produk-produknya dalam computer vision dengan menggunakan Artificial Intelligence, dan sudah digunakan di beberapa industri. Yang bersangkutan adalah anggota Tim Strategi Nasional Artificial Intelligence, dan memimpin Tim Taskforce Nasional Artificial Intelligence untuk Deteksi Covid dibawah koordinasi Ristek/BPPT. Bidang peminatan risetnya Artificial Intelligence, Robotics & Control. Yang bersangkutan mendapat penghargaan Toray Science & Technology Award pada Tahun 2004 untuk risetnya mengenai Artificial Intelligence pada peredaman bising aktif, dan pada Tahun 2019 mendapatkan penghargaan sebagai peneliti berprestasi di ITB. Yang bersangkutan merupakan anggota Akademi Ilmu Pengetahuan Indonesia (AIPI) dan IEEE (Institute of Electrical and Electronics Engineer). Yang bersangkutan adalah anggota pendiri Korika (Kolaborasi riset dan inovasi industri Kecerdasan Artifisial). Bambang juga berpengalaman terlibat di industri, khususnya industri dirgantara. Saat ini yang bersangkutan memimpin tim riset dan inovasi pengembangan autonomous vehicle/tram dengan menggunakan Artificial Intelligence, bekerjasama dengan PT INKA dan riset.ai, dengan pendanaan dari Rispro, LPDP.