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.