Doktoral, menggali metode baru

Yang membedakan perkuliahan doktoral dengan S2 atau S1 adalah filosofi doktoral yang berkontribusi keilmuan. Seandainya ada S3 jurusan gali sumur, maka tidak hanya bisa menggali (S3) atau memilih metode penggalian yang efektif (S2), melainkan harus bisa menemukan metode baru yang lebih baik. Lebih baik di sini sangat beragam, bisa saja lebih murah, lebih aman, lebih cepat, dan hal-hal lain sesuai kebutuhan.

Jadi mahasiswa doktoral harus mampu menggunakan metode + mengetahui karakteristik metode-metode baseline (existing) + melakukan improvement metode. Kembali ke S3 jurusan gali sumur tadi, okelah kita belum pernah gali sumur, tapi setidaknya tahu teori dan metode-metode untuk menggali sumur karena nanti pasti akan diminta mengukur performa antara metode yang ada dengan metode usulan.

Saat ini tools sudah sangat membantu, apalagi adanya AI seperti ChatGPT, Copilot, Gemini, dan lain-lain. Beberapa software seperti Matlab sangat memudahkan bukan hanya untuk mengaplikasikan satu metode melainkan juga untuk belajar memahami metode itu dengan situs resminya [Url]. Berikut jika Anda ingin melihat bagaimana perkuliahan doktoral itu. Siapa tahu Anda tertarik.

Matlab Android – Gratis

Saat ini aplikasi Sains banyak beredar, bahkan sudah gratis, misalnya Google Colab. Namun yang versi seperti kalkulator sepertinya belum banyak. Salah satu aplikasi yang sejak dulu ada adalah Matlab. Sayangnya aplikasi ini berbayar, bahkan puluhan juta rupiah untuk yang versi saat ini. Namun untuk yang versi mobile ternyata ada versi yang gratis. Tentu saja terbatas untuk fungsi-fungsi tertentu, misalnya untuk pengolahan matriks dan matematika.

Tentu saja kita harus mengetahui fungsi-fungsi dasar penggunaannya, yang saat ini lebih mudah karena kita bisa tanya ChatGPT. Sebenarnya ChatGPT juga bisa menjawab dengan input yang teknik nulisnya sama dengan Matlab, tapi untuk kasus tertentu seperti menghitung Invers ternyata ada salah rumusnya di ChatGPT.

Untuk yang ingin mengetahui bagaimana proses instalasinya, silahkan lihat video berikut ini. Oiya untuk yang versi Iphone, nanti saya informasikan lagi, atau kalau ada yang sudah, silahkan ketik di kolom komentar.

Menghitung Jumlah Parameter Pada Model Deep Learning

Ilmu terus berkembang dengan cepat, khususnya bidang computer science, bidang yang dulunya di bawah elektronika dan MIPA matematika. Beberapa organisasi, misalnya IEEE yang merupakan organisasi electrical and electronic engineering masih memasukan ilmu komputer dalam wilayah kerjanya. Istilah-istilah baru yang tidak ada pada bidang induknya membuat computer science terpaksa memisahkan diri dari teknik elektronika maupun MIPA. Pada postingan ini kita akan membahas satu istilah penting dalam Deep Neural Network atau dengan nama lain Deep Learning, yaitu istilah parameter.

Sebenarnya ada istilah lain yaitu fitur (feature) yang kalau dalam matematika bisa disebut variabel. Atau kalau bidang basis data dikenal dengan nama field yang merupakan kolom dalam database terstruktur. Mengapa parameter dalam ilmu komputer unik? Hal ini terjadi karena parameter yang kalau dalam matematika biasanya sudah konstan/fixed, pada ilmu komputer malah justru hal tersebut yang akan dimanipulasi/dikomputasi.

Bayangkan saja sebuah garis pemisah y = m*x + c misalnya, di sini m merupakan gradien dan c merupakan konstanta. Tugas classifier adalah membuat garis pemisah y yang tepat memisahkan sekelompok data, dengan cara mencari nilai m dan c yang optimal agar garis tersebut berada di antara dua kelas, misalnya kelas + dan -. Di sini m dan c merupakan parameter yang harus dicari agar persamaan tersebut optimal memisahkan. Dalam neural network, m dan c adalah bobot dan bias. Nah, bagaimana dengan fitur X? Nah, untuk ilmu komputer, ternyata fitur itu tidak sekedar variabel yang fix. Misalnya sebuah citra 32 x 32 akan memiliki fitur sebanyak 32 x 32 = 1024, yang kemudian diolah oleh neural network dengan beberapa layernya. Namun dengan konvolusi, misalnya pada jaringan Convolutional Neural Network (CNN) dengan filter berukuran 3×3 sebanyak tiga buah akan menghasilkan 3 buah citra baru dengan besar yang tidak jauh berbeda dari sebelumnya tetapi memiliki jumlah fitur yang makin banyak, unik juga bukan.

Seberapa besarkan jumlah fitur yang ada pada jaringan terkini, misalnya U-Net, network deep learning yang biasa digunakan sebagai semantic segmentation model. Oke, di sini kita coba dengan Matlab, model U-Net tersebut kita panggil.

Kemudian dengan memasukan script sederhana berikut ini akan diperoleh jumlah parameternya:

  • lgraph = layerGraph(net);
  • output = lgraph.Layers(end).Name;
  • prob = lgraph.Layers(end-1).Name;
  • lgraph = removeLayers(lgraph,output);
  • lgraph = removeLayers(lgraph,prob);
  • dlnet = dlnetwork(lgraph);
  • numparams = 0;
  • for i = 1:size(dlnet.Learnables,1)
  • numparams = numparams + numel(dlnet.Learnables.Value{i});
  • end
  • numparams

Sungguh di luar dugaan, ternyata parameter yang harus disetel saat proses yang dikenal dengan nama training sebesar 31-an juta parameter.

Dulu mungkin mustahil, sekarang dengan hardware yang kian canggih, khususnya dari sisi Graphic Processing Unit (GPU), sebuah laptop sederhana pun, misal i5 processor, mampu menjalankan dengan cepat proses segmentasi/klasifikasinya. Ok, semoga informasi singkat ini bisa menginspirasi.

Transfer Learning

Salah satu tugas machine learning adalah proses training. Proses ini memerlukan sumber daya yang besar. Selain itu diperlukan pula data yang banyak dari ribuan hingga jutaan. Nah, untuk menghemat biasanya digunakan proses transfer learning.

Di sini transfer yang dimaksud adalah menggunakan model deep learning yang telah dilatih oleh pihak lain untuk kita latih dengan pengetahuan yang baru sesuai dengan bidang khusus tertentu. Model yang dilatih oleh pihak lain dikenal dengan istilah pretrained model. Banyak vendor yang menyediakan pretrained, salah satunya adalah tensorflow.

Prinsip kerjanya adalah model pretrained dengan kemampuan mengklasifikasi 1000 kelas misalnya, jika kita akan menambahkan 10 kelas baru, maka cukup mengganti beberapa layer bagian luar dari 1000 kelas menjadi 10 kelas selanjutnya dilatih dengan data 10 kelas tersebut. Sebelumnya layer yang sudah dilatih oleh pretrained dibekukan (freeze).

Misal ada model pretrained yang bisa membedakan benda-benda tertentu seperti meja, kursi, piring, dan gelas. Jika kita diminta membedakan gelas tertentu seperti cangkir, gelas anggur, gelas antik, dan lain-lain, kita tinggal melatih ulang model pretrained dengan kelas gelas yang baru dan model bisa membedakan meja, kursi, pring, dan gelas-gelas tertentu. Berikut video bagaimana menggunakan transfer learning dengan MATLAB dan Python.

Big Data dengan Matlab

Dulu saya pernah menggunakan Matlab dengan paralel prosesing (pos yang lalu). Caranya dengan menjalankan serempak aplikasi Matlab beberapa kali. Tetapi saat ini, Matlab terbaru menyediakan fasilitas Big Data.

Salah satu fasilitasnya adalah dengan menyediakan ‘workers’, yaitu proses terpisah, istilah lain dari processor. Selain itu disediakan pula sejenis matriks tetapi hanya sebagian yang ditampilkan, dikenal dengan nama ‘Tall Array’. Fasilitas ini memungkinkan pemodel merakit model tanpa khawatir berat akibat menguji dengan seluruh data. Dengan Tall array tidak seluruh data dirunning, hanya beberapa saja, yang penting jalan. Jika model yang dirakit sudah ok dijalankan dengan Tall Array, maka untuk menjalankan total data dengan instruksi ‘gather’. Silahkan baca lagi postingan tersebut untuk detilnya.

Untuk mengeksekusi Big Data dan Deep Learning, ada baiknya anda menggunakan laptop/komputer dengan GPU dengan compute ability di atas 5. Khusus Windows, silahkan diset GPU agar idle time diperpanjang, mengingat Windows ketika melihat GPU ‘nganggur’/idle, akan direset, padahal tidak idle, melainkan sedang mengeksekusi program. Silahkan lihat cara mengeset di sini.

Untuk mengetahui bagaimana menggunakan Matlab untuk aplikasi Big Data, silahkan lihat video berikut ini. Sekian selamat mencoba.

REF: https://www.mathworks.com/matlabcentral/answers/22047-cuda_error_launch_timeout

CNN Menggunakan Matlab

Convolutional Neural Network (CNN) merupakan model awal Deep Learning. Model ini menerapkan prinsip konvolusi dengan proses filtering bertahap sebelum diperkecil dengan teknik pooling. Manfaatnya untuk mengurangi resolusi citra input agar mudah diproses sistem.

2D_Convolution_Animation

Untuk mencoba CNN dengan MATLAB bisa menggunakan MATLAB online (lihat pos yang lalu). Salah satu kendala MATLAB adalah harga lisensi yang mahal. Namun untuk pemula ada baiknya karena MATLAB menyediakan sumber yang lengkap dalam fasilitas helpnya, misal link berikut. Dan sumber tersebut gratis. Jika sudah mengerti silahkan lanjut ke Python, C++ dan lain-lain yang open source.

Berikut video materi kuliah online tentang CNN. Semoga bermanfaat.

Making Standard Journal Plots using Matlab online

Making a plot in the journal needs special attention. If the plots are made badly, it will affect the results of our review. One way to make plots is with Excel, but the results are not good enough. Therefore, this post will try to share how to make a standard plot for publishing in a journal.

The following video shows how to plot with MATLAB either online if you don’t have a license, or with MATLAB desktop. The result is much better than plotting with excel.

Menjalankan MATLAB Gratis via Mathworks.com

MATLAB merupakan bahasa pemrograman yang dibuat oleh Mathworks, inc. Keunggulannya adalah kemampuan dalam mengelola matriks dan array. Sehingga bagi pemula lebih mudah mempelajarinya dibanding bahasa Python, apalagi bahasa C dan sejenisnya.

Salah satu kelemahan terbesarnya adalah lisensi yang cukup mahal. Versi terbaru sekitar 30-an juta rupiah. Jadi untuk industri pembuatan software kurang menguntungkan. Alhasil, bahasa ini untuk akademisi banyak digunakan tetapi di industri kurang diminati, jika dibandingkan dengan bahasa open source lainnya seperti Python atau Java.

Untungnya banyak cara untuk menggunakan aplikasi MATLAB tanpa membeli lisensi, tentu saja dengan cara yang legal, antara lain trial dan online. Karena trial hanya berlaku sebulan, maka cara kedua lebih layak, yaitu via online dengan mengakses www.mathworks.com.

Video berikut ini menjelaskan penggunaan MATLAB online untuk kasus Neural Networks. Di sini sedikit dijelaskan terlebih dahulu apa yang membedakan Artificial Intelligence dengan Computational Intelligence, atau yang dulu sering disebut Soft Computing.

Online Learning Using MATLAB

Today, it is undeniable that most machine learning researchers use Python, especially in industry. However, in research, due to its ease of use, MATLAB is still often used, especially those that are not too focused on coding.

One of the main problems of MATLAB users is, the license price is very expensive. Fortunately, registration to mathworks.com is still free and you can learn machine learning for free in the help and support section.

The data is already available in MATLAB, so it can be used as a reference/benchmarking. From a research perspective, MATLAB can be used as a fair ‘measurement’ and other researchers can also test it. So that the good or bad of a method does not depend on the machine or the quality of coding which may differ from one researcher to another.

The following video shows how to run Matlab online via mathworks.com. That’s all for this post, I hope it’s useful.

Transfer Learning with Matlab

Transfer learning is a term that is often encountered by deep learning practitioners. For those who do not understand, the following explanation may be useful.

In accordance with the ‘word’, transfer learning means using past learning to use new domains or cases. The benefit is that we don’t learn from scratch again. The easiest way is to freeze the pretrained model termed pretrained, and replaces the last layer of the old number of classes with the new model class.

The following video uses Matlab 2021a to demonstrate how transfer learning works, along with techniques for freezing and augmenting data with rotation and translation. The benefit of augmentation is to increase the amount of training data by changing ‘slightly’ from the initial training data.

Calculating the Number of Parameters of the Deep Learning Model

Deep learning (DL) is a development of the Neural Network where the number of layers is much more. In the past, neural networks were not able to handle many layers, now due to the development of methods and hardware, models with a large number of layers (even hundreds) can be done.

To improve DL performance, it is sometimes necessary to analyze the design model. In addition to accuracy, sometimes models with high performance in terms of speed are needed. To find out the performance, it is sometimes necessary to analyze floating point operations, namely the computation of computational complexity in DL. Check out the following video.

Currently, FLOPs are no longer relevant for the current hardware conditions that work in parallel. The calculation of processing time can be an alternative which of course will differ from one machine to another, but for comparison it does not matter (as long as running on the same machine). Another method is to calculate the number of parameters of a model. A large number of parameters certainly affects performance, so a system with a small number of parameters with an accuracy that is not much different is a topic that is now being studied a lot, especially those that can work for small computers or mobile phones. Here’s how to find out the number of parameters in Matlab. For Python the TensorFlow library automatically calculates the number.

Membuat Grafik untuk Jurnal

Grafik merupakan salah satu alat bantu menjelaskan dalam sebuah jurnal. Ada pribahasa “satu gambar lebih baik dari 1000 kata”. Tentu saja jika gambarnya ok dan mudah dimengerti. Oiya, grafik dalam jurnal masuk dalam kategori gambar (Figure). Oleh karena itu perlu membuat grafik sejelas mungkin.

Banyak mahasiswa menggunakan Excel untuk membuat grafik, padahal hasilnya kurang ok untuk jurnal, apalagi jurnal internasional. Salah satu aplikasi yang dapat digunakan untuk membuat grafik yang cukup baik adalah Matlab. Misalnya link berikut menunjukan jurnal Elsevier yang membolehkan submission berupa Matlab viewer.

Selain itu Matlab figure bisa juga terkoneksi ke Visio untuk memberi kustomisasi lebih lanjut, seting warna, ukuran dan jenis garis, dan lain-lain. Untuk lebih jelasnya silahkan lihat video berikut ini. Selamat mencoba.

Install Bluestacks di Windows 11

Bluestacks adalah aplikasi yang menjalankan handphone di laptop/PC. Aplikasi ini sangat membantu mahasiswa yang mengerjakan tugas akhir pemrograman mobile. Selain itu, karena gratis, mahasiswa tidak perlu membayar biaya lisensi. Cara menginstall pun mudah, tinggal klik saja.

Proses Instalasi

Masuk ke situs resminya: https://www.bluestacks.com/id/index.html lalu unduh aplikasi Bluestacks versi 5 atau 10 yang tersedia. Berikut ini versi 10 atau ditulis versi X.

Setelah file exe diunduh, jalankan program tersebut untuk langsung mengunduh file installer sebesar kira-kira ratusan Mb.

Setelah mengecek dan ekstrak file instaler yang telah diunduh, Bluestacks melanjutkan proses instalasi. Tunggu sampai selesai.

Memulai Aplikasi di Handphone

Pastikan Bluestacks X telah selesai diinstal. Silahkan jalankan aplikasi android anda di Laptop. Selamat mencoba. Berikut tampilan aplikasi matlab mobile lewat Bluestacks X atau Bluestacks versi 10. Untuk mulai menggunakan aplikasi tersebut sama dengan memulai HP baru yang tentu saja kita sudah mengerti karena hampir semua orang punya HP. Dimulai dari login gmail dan seterusnya. Berikut ini contoh aplikasi Matlab yang dijalankan di Bluestacks X. Sekian, semoga bermanfaat.

Menginstal Matlab Mobile yang Gratis

Matlab merupakan aplikasi yang banyak dimanfaatkan oleh peneliti. Salah satu bidang yang dapat memanfaatkan aplikasi tersebut adalah matematika. Matlab yang kepanjangannya MATrix LABoratory merupakan software berbayar. Namun untuk aplikasi mobile, ternyata untuk matematika tidak berbayar, tinggal menginstall lewat Playstore android di HP kita.

Jalankan aplikasi yang sudah diinstal. Persiapkan email, karena nanti jika tidak punya akun Anda harus register/create account.

Kalau di web, situs resmi Matlab adalah www.mathworks.com yang berisi informasi mengenai produk Matlab.

 

Silahkan tekan Create one! Jika belum punya account. Selanjutnya jika sudah membuat account baru, Anda bisa login dan memanfaatkan fasilitas Matlab mobile.

 

Jangan khawatir jika Anda diminta Upgrade, tekan saja Continue untuk menggunakan versi mobile. Biasanya untuk fungsi-fungsi dasar matematika tidak memerlukan upgrade. Berikut contoh perhitungan integral.

Simbol @ merupakan simbol fungsi. Contoh di atas jika ingin melihat hasil eksekusi integral dari nol hingga satu. Nah, jika Anda diminta mengintegralkan sebuah persamaan bagaimana?

Contoh di atas kita ingin mengintegralkan sebuah fungsi y = exp(5*x). Oiya, untuk perkalian jangan lupa bintang (*) ya. Pertama-tama Anda harus mendefinisikan x sebagai variabel dengan fungsi syms. Dengan fungsi int diperoleh integral exp(5*x)/5 sementara dengan fungsi diff diperoleh turunannya yakni 5*exp(*5*x). Selamat mencoba.

Big Data dengan Matlab

Tahun 2014 saya masih menjadi mahasiswa doktoral Information Management. Ada satu mata kuliah: Decision Support Technologies yang berisi bagaimana sistem informasi membantu pengambil keputusan, salah satunya dengan pemanfaatan Big Data.

Waktu itu saya satu grup dengan mhs dari Thailand dan Uzbekistan. Tugasnya cukup menarik, yaitu menggunakan data dari Kagel yang berisi jutaan record penulis artikel ilmiah yang masih kasar (raw). Targetnya adalah mengumpulkan penulis yang berserakan menjadi rapih, dimana tidak ada redundansi penulis. Terkadang ada nama penulis yang terbalik susunannya, tanpa nama tengah, dan lain-lain. Selain itu perlu deteksi untuk afiliasi dan bidang ilmunya. Yang tersulit adalah terkadang nama belakang perempuan yang mengikuti nama suami.

Kendala utamanya adalah data yang berukuran besar baik dari sisi kapasitas maupun jumlah record. Ketika dibuka dengan Excel, tidak seluruhnya terambil karena ada batas record Microsoft Excel yakni sebanyak 1,048,576 record dan 16,384 kolom. Terpaksa menggunakan sistem basis data, yang termudah adalah Microsoft Access. Waktu itu fasilitas Big Data pada Matlab masih minim, terpaksa ketika menjalankan pemrosesan paralel, secara bersamaan dibuka 3 Matlab sekaligus (lihat postingan saya tahun 2014 yang lalu).

Tipe Data Tall

Sekitar tahun 2016-an Matlab memperkenalkan tipe data Tall dalam menangani data berukuran besar. Prinsipnya adalah proses upload ke memory yang tidak langsung. Sebab kalau ketika impor data dengan cara langsung maka akibatnya memory akan habis, biasanya muncul pesan ‘out of memory‘. Oleh karena itu Matlab membolehkan mengupload dengan cara ‘mencicil’. Tentu saja untuk memperoleh hasil proses yang lengkap dengan bantuan fungsi gather.

Seperti biasa, cara mudah mempelajari Matlab adalah lewat fasilitas help-nya yang lengkap, maklum software ‘berbayar’. Lisensinya saat ini sekitar 34 jutaan, kalau hanya setahun sekitar 13 juta dan kurang dari 1 juta untuk pelajar. Pertama-tama ketik saja di Command Window: help tall. Pastikan muncul, jika tidak muncul, berarti Matlab Anda belum support fungsi Big Data tersebut. Walau mahal, tetapi Anda bisa mencoba sebulan secara gratis. Ok, jalankan saja help yang muncul.

Dengan fungsi datastore, pertama-tama sampel Big Data disiapkan. Di sini masih menggunakan Comma Separated Value (CSV). Perhatikan hasil proses fungsi tall yang berupa matriks berukuran Mx4. Nah, disini istilah M muncul yang berarti ‘beberapa’, karena yang ditarik belum seluruhnya.

Tampak paralel pool sudah terbentuk, dengan 4 worker. Di sini dibatasi 30 menit, jika idle/tidak digunakan akan di-shutdown. Terakhir, fungsi gather dibutuhkan untuk merekapitulasi hasil olah.

Tampak informasi pooling yang merupakan ciri khas pemrosesan paralel telah selesai dilakukan. Sekian, semoga informasi ini bermanfaat.