Tugas 1 Machine learning

 

Model Prediksi Jenis Hewan dengan Metode Convolution Neural Network


Referensi :

H. Dhika, N. R. Kurnianda, P. Irfansyah, and W. Ananta, “Model Prediksi Jenis Hewan dengan Metode Convolution Neural Network,” J. fORMAT, vol. 9, no. 1, pp. 31–40, 2020.






1. Judul [Kembali]

    Judul dari artikel yang akan dibahas yaitu Model Prediksi Jenis Hewan dengan Metode Convolution Neural Network

2. Abstrak [Kembali]

    Proses komputasi pada komputer untuk melaksanakan suatu tugas tertentu tentunya tidak lepas dari metode pembelajaran. Dalam proses pembelajaran, berbagai metode dapat dilakukan untuk dapat memenuhi periode training tersebut untuk memberikan komputer suatu keahlian tertentu. Salah satu cara menunjang periode tersebut adalah dengan menggunakan algoritma deep learning convolution neural network (CNN). CNN mampu memuat keseluruhan skala informasi klasifikasi objek tanpa kehilangan keakuratannya. Tujuan dari penelitian ini adalah memberikan komputer kemampuan untuk mengenali jenis binatang dan memprediksi jenis binatang berdasarkan gambar yang dimasukan. Penelitian ini juga bertujuan untuk menilai keakuratan hasil training metode pembelajaran dibangkan dengan hasil keluaran dari pembelajaran. Metode yang digunakan dalam penelitian ini adalah mentraining secara komputasi, sejumlah gambar kucing dan anjing. Kemudian test akan dilakukan dengan cara yang sama setelah melalui tahapan konvulasi training. Hasil dari penelitian ini keakuratan hasil training mencapai ±80%

3. Pendahuluan [Kembali] 

    Pada era teknologi maju saat ini, teknologi pengenalan citra menjadi salah satu inputan yang banyak diterapkan pada berbagai bidang. Hal ini dikarenakan pengenalan citra memiliki manfaat yang luas. Salah satu potret fungsi dari fitur pengenalan citra adalah untuk mengenali dan memprediksi jenis obyek dalam citra. Untuk memprediksi jenis obyek pada citra, beberapa cara digunakan. Salah satunya menggunakan ANN dan CNN. Dalam penggunaan ANN tingkat akurasi hasil prediksi yang benar dalam mengenali jenis beras melalui citra beras sebesar 82%. Sementara pada pengunaan CNN untuk memprediksi jenis citra notasi musik sebesar 95,56%. Selain kedua metode tersebut, penelitian terdahulu membandingkan beberapa metode untuk fitur pengenalan citra dimana PCA sebesar 79%, SVM 87%, LDA 83%, LBPH 87% dan CNN 97%.

    Berdasarkan hasil penelitian terdahulu yang telah disebutkan diatas, maka kami prediksi jenis hewan dapat dilakukan dengan menggunakan pengenalan citra diterapkan untuk melatih perangkat komputer untuk mengenali berbagai jenis binatang di muka bumi dan kami akan menerapkan metode deep learning yang memiliki rate yang tertinggi yaitu CNN.

    Fitur prediksi jenis gambar tersebut nantinya akan menjadi salah satu alat penting yang sangat dibutuhkan bagi dunia penelitian karena permasalahan yang ditemukan oleh penelitian terdahulu adalah jumlah binatang yang ada di dunia ini sangat banyak, sebut saja sekitar 8,7 Juta spesies, dimana satu spesies ada lebih dari beberapa ribu hingga beberapa juta jenis.

    Berdasarkan permasalahan diatas, kami menemukan permasalahan lanjutan yaitu jika kita bermaksud mengenali salah satu dari spesies tersebut, kita membutuhkan banyak waktu yang jika dilakukan secara manual. Berdasarkan permasalahan tersebut, maka fitur prediksi jenis hewan yang dikembangkan ini diharapkan dapat digunakan untuk membantu peneliti dalam mengenali makhluk-mahkluk yang mereka jumpai. Fitur tersebut juga diharapkan memberikan kemudahan bagi peneliti untuk mengklasifikasikan apakah hewan yang mereka temui telah menjadi spesies yang dikenali ataupun yang tidak dikenali. Pendekatan metode yang akan digunakan untuk mengolah citra dari hewan tersebut adalah dengan menggunakan Convolution Neural Network dimana telah terbukti dalam penelitian terdahulu dapat dengan baik mengenali obyek yang ada pada gambar.


4. Metode Penelitian [Kembali]

4.1 Neural Network

    Neural networks/Jaringan syaraf tiruan merupakan salah satu representasi buatan dari otak manusia yang selalu mencoba untuk mensimulasikan proses pembelajaran pada otak manusia tersebut, di implementasikan dengan program computer.



Arsitektur Sebuah Neural Network

sebuah neural network (NN) terbagi menjadi tiga bagian, yaitu input, neuron (hidden layer) dan output.

4.2. Convolutional Neural Network

    Convolutional Neural Network (CNN) yang  adalah salah satu jenis neural network yang biasa digunakan pada data image atau video. CNN bisa digunakan untuk mendeteksi dan mengenali object pada sebuah image atau video. CNN adalah sebuah teknik yang terinspirasi dari cara manusia, menghasilkan persepsi visual.

4.3. Tahapan pada Convolutional Neural Network



A. Convolution

    Convolusi merupakan proses pengalian matriks input dengan feature detector yang akan menghasilkan feature map, konvolusi layer adalah gabungan dari beberaoa feature map



B. Max Polling

    Teknik ini melakukan proses pencarian fitur yang sudah didapat di tahap sebelumnya, yaitu convolution. Dari hasil convolutional layer ini, teknik max pooling mencari fitur dengan tetap mempertahankan fleksibilitas yang tinggi. Ia tidak peduli apakah gambarnya miring ke kiri, kanan, diputar, dikecilkan, dibesarkan, berbeda teksturnya, warnanya dan lain sebagainya. Ia hanya peduli dengan fitur yang ia cari.



C. Flattening

    Tahapan flattening adalah merubah dari matriks yang ada di pooling layer menjadi satu kolom saja (sebuah vektor tunggal). 



Full Connection

    Full Conection adalah tahap dimana semua nodes harus terhubung dengan nodes di depan dan belakangnya




4.4. Recurrent Neural Network

    Merupakan sebuah teknik tipe supervised learning yang lebih advance dari teknik sebelumnya, hal ini dikarenakan teknik RNN adalah teknik deep learning yang memiliki sebuah ingatan(memory).
Ibarat manusia yang memiliki 2 jenis ingatan, yaitu  ingatan jangka pendek (short-term memory, disingkat STM) dan jangka panjang (long-term memory, disingkat LTM). Kita mampu mengingat perkataan teman kita saat sedang berdiskusi beberapa detik yang lalu misalnya, yang merupakan contoh dari STM. Kita juga mampu mengingat kenangan beberapa tahun bahkan puluhan tahun yang lalu, yang merupakan contoh nyata dari LTM. Sehingga dari hal tersebut terciptalah sebuah cara agar mesin dapat melakukan hal tersebut yaitu dengan teknik RNN dimana pada desain (arsitektur) dari RNN, ia memiliki looping (diagram balik) yang berada di hidden layer-nya, yang menarik disini arsitektur pada RNN memiliki desain yang berbeda dengan arsitektur umum Neural Network tapi pada dasarnya memiliki prinsip yang sama.

berikut merupakan arsitektur pada RNN, dimana memiliki loop di tengahnya


    Terlihat bahwa di lingkaran berwarna biru (yang merepresentasikan hidden layer) terlihat ada garis looping yang kembali ke lingkaran itu sendiri. Pola looping ini memungkinkan RNN untuk menyimpan ingatan sementara (mengakses informasi yang melewati NN), yang tidak mampu dilakukan oleh ANN maupun CNN.

    Walaupun teknik ini handal, teknik RNN memiliki masalah yang krusial, Masalah ini dikenal dengan istilah vanishing gradient problem, atau jika diterjemahkan artinya ‘permasalahan luruhnya/hilangnya efektivitas gradien’.


    Pada gambar di atas bisa dilihat ada beberapa simbol. Simbol W merepresentasikan bobot yang dimiliki oleh setiap neuron (perceptron) nya. Wout artinya bobot yang dimiliki oleh output layer, sementara Win adalah bobot yang dimiliki oleh input layer. Tentunya Wout satu dengan lainnya berbeda angkanya. Kita tuliskan sama hanya untuk memudahkan saja. Begitu pula dengan Win satu dengan Win lainnya yang juga berbeda.

    Wrec (weight of reccurent) merupakan bobot yang dimiliki oleh jalur looping ke perceptron lain yang ada di sampingnya. Wrec satu dengan Wrec yang lain juga berbeda nilainnya. Penulisan dibuat sama hanya untuk memudahkan ilustrasi saja.

    Simbol yang paling atas merupkan epsilon (Et) yang mewakili nilai error sebuah perceptron di output layer pada waktu t. Nilai error ini adalah selisih (perbedaan) antara nilai di prediksi (yt) dengan nilai sesungguhnya (y).

    Dalam proses meminimasi nilai error ini, maka sebuah neural networks harus melakukan proses backpropagation, di mana ia akan mundur ke belakang untuk mengupdate nilai w yang dimiliki setiap perceptron dengan cara menghitung nilai turunannya (derivative). Berbeda dengan neural networks versi standar, di RNN maka ia juga akan mundur ke belakang termasuk ke cabang-cabang recurrent-nya. Ilustrasinya sebagai berikut.



    Sekarang mulailah muncul masalah, dan ini terjadi ketika kita menggunakan fungsi aktivasi sigmoid (sigmoid activation function). Karena nilai fungsi sigmoid berkisar antara 0 hingga 1, artinya nilai w semakin lama akan semakin kecil. Semakin panjang layer nya maka semakin cepat penurunan nilai W, apalagi jika proses epoch nya dilakukan berulang-ulang (sampai ratusan bahkan ribuan kali).



    Dengan demikian, lama kelamaan nilai gradiennya (delta W) akan mendekati nol, dan penyesuaian nilai W tidak akan signifikan lagi. Jika penyesuaian nilai W sudah tidak signifikan, maka penurunan nilai epsilon (error) akan stagnan, padahal sebenarnya solusinya belum converge.

Solusi masalah Vanishing Gradient

Ada beberapa hal yang bisa dilakukan, antara lain:

  1. Menggunakan fungsi aktivasi rectifier (ReLu). Walau demikian, perlu diperhatikan, penggunaan ReLu dalam RNN bisa menyebabkan masalah lain yang disebut dengan exploding gradient problem, di mana nilai gradiennya semakin lama semakin membesar. Tapi ini bisa disiasati dengan menggunakan ukuran batch yang kecil. Ini juga yang menjadi alasan mengapa penggunaan ReLu menjadi populer.
  2. Solusi lain adalah dengan menggunakan gradient clipping. Artinya kita mengunci agar nilai gradiennya tetap di rentang tertentu. Caranya adalah dengan me-rescale gradiennya sehingga nilainya berada di rentang tertentu.
  3. Menggunakan arsitektur ResNet (Residual Network), di mana sebuah neuron melewati (skip) beberapa neuron di depannya. Berikut adalah tampilan dari arsitektur ResNet.



    Pada RNN terdapat desain tambahan yang membuat RNN istimewa yaitu LSTM Dengan adanya penambahan LSTM, maka RNN terbukti dapat diaplikasikan ke dalam berbagai aspek, antara lain speech recognition (mengenali suara manusia), image captioning (menamai gambar dan memberinya judul hanya dengan melihatnya saja), translation (menerjemahkan kalimat dari bahas satu ke bahasa lainnya, seperti google translate), dan masih banyak lagi. Ringkasnya, LSTM menambakan sebuah proses seleksi di dalam cell (kotak kontrol) nya sehingga bisa menyeleksi informasi mana yang layak untuk diteruskan, sekaligus menjadi solusi bagi permasalahan vanishing gradient.


5. Hasil dan Pembahasan [Kembali]


    Dataset terbagi menjadi data latih dan data uji. Masing-masing terbagi menjadi kategori data gambar kucing dan anjing, yang memiliki ukuran berbeda-beda yang akan diubah resolusinya menjadi 64x64. Dataset yang kita miliki semuanya adalah gambar dengan format jpg. Kita memiliki 4000 gambar kucing dan 4000 gambar anjing untuk training set, dan 1000 gambar kucing dan 1000 gambar anjing untuk test set. Jadi secara ringkas kita memiiki 8000 data untuk training set dan 2000 data untuk test set Berikut merupakan beberapa gambar dataset kucing dan anjing




6. Kesimpulan [Kembali]

    Berdasarkan hasil implementasi dan ujicoba pada model diatas, maka kami mendapatkan kesimpulan bahwa model tersebut dapat digunakan untuk mentraining sejumlah besar data berupa gambar dan mampu mengenali dengan akurasi sebesar  ±80% dengan hasil akurasi yang tinggi, maka tingkat kerumitan model dapat ditambahkan dengan mengenali berbagai macam jenis binatang yang sudah terdata di dunia. Sehingga dapat membantu peneliti untuk discover jenis binatang lain yang ditemui



7. Video [Kembali]


Video CNN




8. Download File [Kembali]


Dataset download
Coding download  


9. Referensi  [Kembali]

[1] D. Indarti, “KARAKTERISTIK KURVA SEDERHANA OBJECT RECOGNITION IN IMAGE BASED ON SIMILARITY,” vol. 20, no. 100. 

[2] D. Ricardo and G. Gasim, “Perbandingan Akurasi Pengenalan Jenis Beras dengan Algoritma Propagasi Balik pada Beberapa Resolusi Kamera,” J. RESTI (Rekayasa Sist. dan Teknol. Informasi), vol. 3, no. 2, pp. 131–140, 2019, doi: 10.29207/resti.v3i2.894. 

[3] D. M. Hakim and E. Rainarli, “Convolutional Neural Network untuk Pengenalan Citra Notasi Musik,” Techno.Com, vol. 18, no. 3, pp. 214–226, 2019, doi: 10.33633/tc.v18i3.2387. 

Tidak ada komentar:

Posting Komentar