Senin, 08 Agustus 2022

Siamese Neural Network : Solusi untuk dataset terbatas



Mengingat deep learning membutuhkan data yang sangat banyak sekali, kali ini saya diuji dengan jumlah dataset yang sedikit. Jadi apakah bisa menggunakan deep learning? ternyata masih bisa. Hal ini dilakukan oleh salah satu penggagas CNN Le Cun  dengan menghadirkan Siamese Network.

Siamese network adalah dua buah model arsitektur yang sama dengan inputan yang berbedan. jadi ibaranya seperti kembaran, mungkin terlihat seperti U net tapi bedanya di bagian dasar U net adalah outputannya dengan Ujung  Outputan di modif jadi inputan.

Beberapa starting point untuk memuliai mempelajari Siamese net antara lain :

  1. How To Train Your Siamese Neural Network lengkap dengan link github nya
  2. Siamese networks with Keras, TensorFlow, and Deep Learning dengan dataset yang sama MNIST
  3. Building image pairs for siamese networks with Python dengan dataset yang sama MNIST
  4. Siamese Network Line by line explanation for beginners
  5. A friendly introduction to Siamese Networks
  6. Image similarity estimation using a Siamese Network with a triplet loss terdapat sintak dasar yang muda dipahami

Paper siamese sendiri terilami dari paper koch. penjelasan dari sini.

nb : sedikit tips untuk timeout colab

Kamis, 27 Januari 2022

FAQ Metaverse dalam teknologi Blockchain Crypto

 


FAQ metaverse :

1. Dimana kita bisa membeli tanah virtual? 

answer : banyak pihak yang memulai penjualan land virtual dalam bentuk NFT, kita bisa membelinya di opensea.io , kita bisa membelinya dengan ethereum salah satu aset digital yang dikembangkan oleh Vitalik Buterin.(orang sering salah kaprah bahwasanya ini melulu tentang bitcoin, padahal ini merk lain tapi dengan teknologi yang sama blockchain).

2. Dimana saya bisa melihat contoh dari implementasi land virtual ini?

answer : anda bisa mencoba memainkan permainan di situs https://play.decentraland.org/ . hal pertama yang harus anda punya adalah wallet ethereum untuk login di permainan tersebut, anda bisa mendaftarkan diri untuk mendapatkan wallet ethereum dengan mengunjungi situs metamask https://metamask.io/download.html

3. Apakah di permainan ini kita harus mengeluarkan uang?

answer : tidak melulu kita harus mengeluarkan uang. kita bisa saja menyelesaikan beberapa misi dan mendapatkan token reward yang bernama MANA. MANA inilah yang menjadi mata uang dalam permainan tersebut dan bisa juga dibeli dengan harga tertentu di beberapa exchange. Bisa dilihat harga MANA disini .

4. Ngapain sih harus beli tanah virtual? ngapain sih harus beli NFT? terus itu kenapa gojali bisa jual poto selpie?

answer : ini sama halnya bertanya, kenapa sih harus mengejar centang hijau di twitter, instagram? kenapa sih harus mengejar subcriber youtube? kenapa sih harus ngejar view di tiktok? gojali bisa trending karena meme, seperti halnya dulu kita pernah viral tentang sinta dan jojo dan bisa jadi tidak akan terulang kembali yang seperti gojali

5. Pa bitcoin kata MUI haram kumaha ceunah?

answer : MUI punya niatan baik untuk melindungi umat islam bangsa indonesia dari hal-hal yang mudhorot dan merugikan, karena banyak scam tentang crypto yang terjadi karena kurangnya pengetahuan tentang hal tersebut. Haram itu memang ada sejak sebelum bitcoin ada, maksudnya diharamkan disini adalah transaksi yang seperti forex, karena memang dari dulu juga trading forex itu haram dan sama halnya yang terjadi sekarang, trading crypto itu juga haram. jadi yang haram adalah trading nya. kalo teknologinya itu sendiri apakah haram? tentu kita harus berfikir, trading forex uang fiat(USD, Rp, EUR) itu menggunakan teknologi komputer dan internet. apakah penggunaan komputer dan internet menjadi haram?

6. Apakah bisa kita merintis metaverse di kampus?

answer : tentu sangat bisa sekali, tinggal dukungan kerjasama dengan industri dalam hal ini spesifik untuk penelitian pengembangan metaverse. Kolaborasi penelitian untuk pengajuan proposal dikti lebih tepatnya. Saat ini IRC sedang mengembangkan Smart Contrart Token untuk reward token yang bernama Informatics Research Token.  Saat ini sudah melakukan airdrop ke kaprodi D4TI sebanyak 50 token, dan beberapa mahasiswa beberapa Token untuk ujicoba. dan saat ini kita sedang membangun marketplace menggunakan token ini sebelum masuk ke dunia metaverse . marketplace menggunakan teknologi Web3 yang bisa diakses di sini


Minggu, 22 Agustus 2021

Neuroimaging Data dengan Brain Imaging Dataset Specification(BIDS)

Memperkenalkan format NIFTI yang merupakan standard untuk pengolahan. Dikonversi dari dicom dari alatnya sendiri. Perbedaan antara dcom dengan NIFTI terlihat pada gambar diatas.


Rekonstruksi Citra? Generative Model Architectures pilihan utamanya



Memang di dunia per ML an ini tidak ada yang saklek, hanya mendekati, tidak ada rule of thumb, hanya kebanyakan dari kebiasaan penggunaan sebelumnya. Oke back to topik, karena penelitian saya bidang rekonstruksi citra maka dari pengalaman-pengalaman suhu-suhu sebelumnya cocoknya(saya bilang disini cocoknya ya...) menggunakan arsitektur model generatif. Oke jadi menurut situs ini, generatif model itu terdiri dari :

  1. Generative Adverserial Network (Latent space guys)
  2. Boltzmann machines (nah ini yang menginspirasi Deep Believe Network)
  3. Variational autoencoders (ini sebelumnya kita pakai untuk denoising)
  4. Hidden Markov models
  5. Models that predict the next word in a sequence, like GPT-2

Masing masing model diatas tentu berkembang dong sampai sekarang, makanya saya lengkapi di ujungnya biar kebayang perkembangannya. Okeh untuk GAN, kita lakukan terlebih dahulu training terhadap Diskriminator secara supervised learning, dimana inputan berasal dari real data dan sesekali dari generator untuk fake data dengan label tentunya fake(dari generator) or real(dari inputan data). 

Baru setelah itu kita latih generatornya dengan target luaran masuk ke diskriminator dan memastikan output label real dari generator. lanjut terus iterasi selanjutnya sampai nilainya optimal. Untuk contoh kode bisa kita tengok dengan dataset MNIST.

Gambar di generate dari latent space berupa noise random. Ketika generator belum dilakukan di training seperti gambar diatas, dia akan menghasilkan citra random dengan nilai 0-1(gambar biner) seperti gambar berikut:
Model generator sendiri mendapatkan inputan berupa :
Inputs(Menuju Generator): Point in latent space, e.g. a 100 element vector of Gaussian random numbers.
Untuk target outputnya sendiri keluar dari diskriminator berupa : 
Outputs(Dari diskriminator): Binary classification, likelihood, apakah gambar asli atau palsu.


Minggu, 15 Agustus 2021

Principal Component Analysis (PCA) dan Analysis of Variance (ANOVA) dalam Citra

Hasil diskusi dengna pa ibnu, untuk menentukan jumlah layer bisa digunakan PCA, sedangkan untuk melakukan pengecekan linearitas menggunakan ANOVA. Disisi lain PCA digunakan juga untuk rekonstruksi citra.

Kata pa ibnu :

Kalau yg usulan sy, dicari berdasar datasetnya. Buat nentuin jumlah hidden layer dicari menggunakan pca, kemudian jml neuron tiap hidden layer menggunakan pengklasteran k-means dan kriteria elbow. Sblmnya harus diuji linieritasnya dulu untuk tiap2 atribut input dan output.

Kalau di spss pakai anova, sy tinggal pakai sj sih. Semakin byk yg hubungannya linier, diduga kebutuhan varian kumulatif pca berkurang, nantinya akan berpengaruh pada kebutuhan jumlah hidden layer.

kalau klasifikasi biner ambil cutoff sekitar 40%, kalau multi kelas 60-70%.kalau regresi ambil di atas 80%. nah misal kita ambil cutoff 70% itu butuh 4 komponen, berarti jumlah hidden layernya kita ambil 4 dulu. Btw, mengenai data linier bisa dicoba Dendrite Net bisa dikembangkan dari yang sudah published DNR yang mengolah time series atau data sekuensial. 

Sabtu, 14 Agustus 2021

Antara Denoising dan Autoencoder

Memang judul denoising adalah judul yang lama, semakin berkembangnya teknik machine learning maka muncul sebuah konsep dengan istilah Autoencoder. Dimana denoising merupakan salah satu praktek dari pengaplikasian Autoencoder.



Kita lihat, yang dibangun adalah code yang berada di tengah. Bagian tengah tersebut yang akan menggunakan data latih antara gambar orisinil dengan gambar yang sudah memiliki noise. Beberapa refensi bisa dicary dengan kata pencarian : autoencoder denoising. Diantaranya :
Dari tulisan di atas, Autorencoder bisa digunakan untuk rekonstruksi citra dan atau denoising citra dengan tuning code_size atau target_dim(pada gambar dibawah kotak merah tulisan c), arsitektur bisa menggunakan sequential atau tambahan CNN(pada gambar dibawah trapesium E dan D).


Prinsipnya dari ref no.6, untuk auto encoder, training dan label menggunakan data input yang sama(pada gambar diatas persegi panjang x dan x'). 
autoencoder.fit(x=X_train, y=X_train, epochs=20,validation_data=[X_test, X_test])
untuk denoising training menggunakan data noise, labelnya data tanpa noise atau asli.
autoencoder.fit(x=X_train_noise, y=X_train, epochs=1,validation_data=[X_test_noise, X_test])

Rabu, 11 Agustus 2021

Monte Carlo Simulation : Prinsip dasar dan penerapan random dalam penyelesaian masalah noise pada citra

 Memang saat ini penelitian saya banyak mengacu dan lebih banyak membaca hal-hal yang berurusan dengan deep learning. Sampai pada akhirnya ketika membaca paper dari Cheng Du, bahwasanya rekonstruksi citra mereka menggunakan Monte Carlo untuk mereduksi noise, sehingga muncul pertanyaan binatang apa monte carlo ini. Dari sekian hasil pencarian google akhirnya saya menemukan video yang pas untuk penjelasan monte carlo dan bagaimana dia bisa menghilangkan noise atau blur pada gambar.



Di video tersebut diperlihatkan bagaimana bola secara random di jatuhkan di antara wadah linkaran dan kotak, kemudian diperhitungkan berapa peluang bola masuk ke wadah lingkaran dan wadah kotak. misal a merupakan sisi dan radius wadah. maka peluang bola masuk ke wadah lingkaran adalah = luas lingkaran/luas kotak = pi*a^2/a^2 = pi. Sehingga peluangnya ada pi untuk masuk ke wadah lingkaran. Terlihat semakin banyak random jatuhan bola, maka akan semakin mendekati nilai pi. Sehingga kesimpulannya semakin banyak nilai random yang diambil maka akan semakin baik nilainya. Dengan syarat pengambilan sampel random harus unbiased(tidak memihak).

Contoh lainnya pada gambar adalah dengan mengambil random pencahayaan sehingga akan didapatkan hasil citra yang baik. Jika diterapkan di rekonstruksi citra, kita tahu fMRI banyak sekali noise nya sehingga wajar kita akan menggunakan denoising Monte Carlo setelah citra dibangkitkan dari perekaman fMRI. Pertanyaan selanjutnya adalah, nilai random unbias seperti apa yang diambil sebagai parameter denoising nya? apakah diambil dari stimulus langsung? maka sudah ada yang membuatnya di postingan ini. Atau benar-benar random dari berbagai bahan gambar yang benar benar unbias agar denoise benar benar independen dari stimulus? tapi akan memakan banyak resource komputasi, yang jelas solusi paling cepat adalah solusi pertama, dengan menggunakan stimulus, karena denoising ini seperti mencari master anak kunci yang cocok dengan gemboknya, dan yang paling cepat adalah membuat duplikat yang mendekati anak kunci asli. Atau kita gunakan saja threshold seperti ini? Tinggal coba semuanya mana yang lebih baik.
Karena GAN, membangkitkan citra dari noise random, dan berkait erat dengan monte carlo. Maka gambarnya bisa disempurnakan dengan cara denoising monte carlo dengan menggunakan GAN, dimana diskriminator nya bertindak sebagai pemeriksa bentuk.