Rabu, 28 Februari 2018

From Perceptor to Deep Neural Network

From Perceptron to Deep Neural Network pada Machine Learning

Sebelum masuk kita akan bahas terlebaih dahulu apa itu Machine Learning, Istilah machine learning pada dasarnya adalah proses komputer untuk belajar dari data (learn from data). Tanpa adanya data, komputer tidak akan bisa belajar apa-apa. Oleh karena itu jika kita ingin belajar machine learning, pasti akan terus berinteraksi dengan data. Semua pengetahuan machine learning pasti akan melibatkan data. Data bisa saja sama, akan tetapi algoritma dan pendekatan nya berbeda-beda ununtukmendapatkan hasil yang optimal.

 Deep learning  
Deep learning adalah , merupakan tumpukan atau stack dari beberapa algoritma atau metode, sehingga berkembang berbagai pendekatan deep learning dengan berbagai arsitektur. Beberapa tujuan dari tumpukan metode ini adalah feature extraction, juga memanfaatkan seluruh resource seoptimal mungkin.  Resource apa? data, sebagian besar data di dunia ini tidak berlabel (terkategorisasi), deep learning biasanya merupakan tumpukan stack algoritma unsur pervised dan supervised learning sehingga dapat memanfaatkan data yang berlabel maupun tidak berlabelDengan pemanfaatan informasi yang lebih optimal tentunya akan meningkatkan performa model yang dihasilkan.

Dalam melakukan modifikasi arsitektur dari network yang digunakan pendekatan yang sering digunakan untuk mengimplementasikan deep learning adalah graphical methods atau multilayer representation, atau multilayer graphical model seperti belief network, neural network, hidden markov, dan lain-lain.  Pada dasarnya metode-metode tersebut seperti halnya machine learning biasa merupakan metode statistik dan stokastik yang sebenarnya sudah banyak dikenal di dunia matematika terutama statistik.

Deep Neural Network
Neural Network merupakan kategori ilmu Soft Computing. Neural Network sebenarnya mengadopsi dari kemampuan otak manusia yang mampu memberikan stimulasi/rangsangan, melakukan proses, dan memberikan output. Output diperoleh dari variasi stimulasi dan proses yang terjadi di dalam otak manusia. Kemampuan manusia dalam memproses informasi merupakan hasil kompleksitas proses di dalam otak. metode dari beberapa pakar atau professor dalam area machine learning terutama dalam deep network adalah multilayer ataupun multilayer graphocal model. Neural network salah satunya, dengan melihat ide diatas, maka dapat dibangun menjadi Deep Neural Network dengan tujuan meniru cara kerja dari otak manusia. 
 
                                  

Neural Network dalam Deep network dibuat memiliki lebih dari satu hidden layer, namun yang jadi permasalahan adalah ketika kita membuat lebih dari satu hidden layer. Kita ketahui fungsi yang berlaku dalam metode neural network backpropagation misalkan seperti ini :

                                                          
Masalah yang muncul adalah nilai setiap gradient yang akan muncul akan semakin kecil (mendekati nol) untuk setiap hidden layer yang mendekati output layer, sehingga akurasi bukannya semakin baik, malah semakin buruk. Lalu bagaimana penyelesaiannya? untuk kasus Deep Network dapat dengan manambahkan algoritma atau metode yang melakukan inisialisasi pada saat awal pembangunan network sebelum melakukan tuning . Salah satu metode yang dapat digunakan dan menurut saya paling mudah adalah dengan menggunakan autoencoder, Autoencoder ini fungsinya sebenarnya adalah mengekstrak informasi relatif mirip seperti PCA yang dapat mengurangi dimensi dari data pada dataset.

Fungsi dari Neural Network diantaranya adalah:
  1. Pengklasifikasian pola
  2. Memetakan pola yang didapat dari input ke dalam pola baru pada output
  3. Penyimpan pola yang akan dipanggil kembali
  4. Memetakan pola-pola yang sejenis
  5. Pengoptimasi permasalahan
  6. Prediksi
perceptron
Perceptron adalah salah satu algoritma paling elegan yang pernah ada dalam pembelajaran mesin. Dibuat kembali pada tahun 1950an, algoritma sederhana ini dapat dikatakan sebagai fondasi untuk titik awal perkembangan teknologi algoritma pembelajaran yang banyak, seperti regresi logistik, dukungan mesin vektor dan bahkan jaringan syaraf dalam. Jadi bagaimana cara kerja perceptron? 
                          
Gambar di atas menunjukkan algoritma perceptron dengan tiga input, x1, x2 dan x3 dan unit neuron yang dapat menghasilkan nilai output. Untuk menghasilkan output, Rosenblatt memperkenalkan aturan sederhana dengan memperkenalkan konsep bobot. Bobot pada dasarnya adalah bilangan real yang mengungkapkan pentingnya masing-masing input terhadap output [1]. Neuron yang digambarkan di atas akan menghasilkan dua nilai yang mungkin, 0 atau 1, dan ditentukan oleh apakah jumlah tertimbang setiap masukan, Σ wjxj, kurang dari atau lebih besar dari nilai ambang batas tertentu. Oleh karena itu, gagasan utama algoritma perceptron adalah mempelajari nilai bobot w yang kemudian dikalikan dengan fitur input untuk membuat keputusan apakah neuron menyala atau tidak. Kita bisa menulis ini dalam ekspresi matematis seperti yang digambarkan di bawah ini:

                                    

Sekarang, kita dapat memodifikasi rumus di atas dengan melakukan dua hal: Pertama, kita dapat mengubah formulasi jumlah tertimbang menjadi produk titik dua vektor, w (bobot) dan x (input), di mana w⋅x ≡ Σwjxj. Kemudian, kita bisa memindahkan ambang batas ke sisi lain dari ketidaksetaraan dan menggantinya dengan variabel baru, yang disebut bias b, di mana b ≡ -threshold. Sekarang, dengan modifikasi tersebut, aturan perceptron kita bisa ditulis ulang

                      
     Sekarang, ketika kita menggabungkan kembali ke arsitektur perceptron kita, kita akan memiliki arsitektur yang lengkap seperti pesetron dibawah ini : 


                                       
    Perseptron lapisan tunggal yang khas menggunakan fungsi langkah Heaviside sebagai fungsi aktivasi untuk mengubah nilai yang dihasilkan menjadi 0 atau 1, sehingga mengklasifikasikan nilai masukan sebagai 0 atau 1.

    Fungsi aktivasi
    Fungsi aktivasi merupakan salah satu komponen terpenting dalam jaringan syaraf tiruan. Secara khusus, fungsi aktivasi nonlinier sangat penting setidaknya karena tiga alasan:
    • Ini membantu neuron untuk belajar dan memahami sesuatu yang sangat rumit.
    • Mereka memperkenalkan sifat nonlinier ke Jaringan kami.
    • kami ingin perubahan kecil dalam berat hanya menyebabkan perubahan kecil yang sesuai pada keluaran dari jaringan.    



    Tidak ada komentar:

    Posting Komentar

    MANFAAT TEKNOLOGI INFORMASI DAN KOMUNIKASI DI DALAM PENDIDIKAN

     TEKNOLOGI INFORMASI  DAN KOMUNIKASI DALAM DUNIA PENDIDIKAN Pemanfaatan IT dalam bidang pendidikan sudah merupakan  saluran atau sara...