Deep Learning adalah Bagian dari Machine Learning. Pada kesempatan kali ini saya akan membahas apa yang sedang popular beberapa tahun ke belakang ini dan mungkin akan menjadi lebih booming lagi untuk tahun-tahun ke depan, yaitu mengenai Deep Learning. Banyak yang bertanya – tanya apa sih itu deep learning? Apakah deep learning sama dengan machine learning? Deep learning itu buat apa? Contohnya? Dari banyaknya pertanyaan yang muncul diatas saya menjadi berpikir dan juga ingin tahu apa yang menjadi perbincangan banyak orang tersebut. Deep Learning atau bisa disebut juga dengan struktur deep learning yang mana merupakan sub kelas dari machine learning. Pada deep learning ini mempelajari atau meniru fungsi dari cara kerja otak manusia seperti menafsirkan data lalu bisa menggunakan multi layer neural network (jaringan syaraf yang berlapis – lapis). Nah, struktur deep learning yang merupakan bagian dari metode machine learning ini bisa disebut dengan Artificial Neural Networks (ANN) dengan representation learning. Untuk Artificial Neural Network (ANN) yang sering disebut Neural Network (NNs), ini merupakan system komputasi yang terinspirasi oleh biological neural networks (jaringan syaraf biologis) yang membentuk otak hewan. Dan di machine learning ada representastion learning yang merupakan seperangkat Teknik yang memungkinkan suatu system itu untuk melakukan secara otomatis dalam menemukan representasi yang dibutuhkan seperti halnya dalam deteksi fitur, klasifikasi dari data yang masih mentah (belum diolah). Bisa menggantikan fitur manual dengan mengajarkan suatu mesin untuk bisa mempelajari fitur atau pola sehingga bisa digunakan untuk melakukan atau menyelesaikan tugas tertentu. Pada representasi learning (pembelajaran fitur) ini bisa dibedakan menjadi 2 yaitu : a. Supervised artinya fitur ini diajarkan menggunakan data dengan input yang berlabel. Contoh : supervised neural network, multi layer perceptron dan supervised dictionary learning. b. Unsupervised artinya fitur yang diajarkan dengan tidak menggunakan data input yang berlabel. Contoh : dictionary learning, independent component analisis, autoencoders, faktorisasi matrik dan beberapa bentuk dari clustering. Sejarah Deep Learning Sejak tahun 2006 deep learning atau struktur deep learning telah muncul sebagai suatu bidang yang baru untuk penelitian machine learning. Dampak yang telah dihasilkan dari teknik yang dikembangkan dan penelitian deep learning ini yaitu terhadap berbagai pekerjaan dalam pemrosesan sinyal dan informasi yang berada dilingkup tradisional dan bisa lebih menjangkau aspek – aspek utama dari machine learning dan kecerdasan buatan (AI). Secara historis, konsep deep learning ini berasal dari penelitian Artificial Neural Network (ANN). Yang mana kita sering mendengar mengenai neural network generasi baru : Feed Forward Neural Network atau Multi Layer Perceptron (MPLs) memiliki banyak hidden layer (lapisan tersembunyi) yang sering juga disebut Deep Neural Network (DNNs) sebagai contoh untuk model dengan arsitektur yang mendalam. Back Propagation (BP), algoritma terkenal yang popular dari tahun 1980, algoritma ini mempelajari parameter jarigan ini. Namun sayang sekali, algoritma Back Propagation ini tidak bekerja dengan baik. Back Propagation sendiri didasarkan dari informasi gradien local, yang biasanya dimulai pada beberapa titik awal secara acak. Algoritma Deep Learning Pada deep learning ini terdapat beberapa jaringan syaraf tiruan (ANNs) yang saling memiliki hubungan, yaitu : a. Recurrent Neural Network (RNN) Merupakan pengembangan dari Multi Layer Perceptron alasannya karena di Multi Layer Perceptron ini dirasa tidak terlalu kompatibel jika digunakan untuk memodelkan data sequence, sehingga Recurrent Neural Network ini diusulkan untuk merancang yang berguna untuk menganalisis sebuah aliran data yang mana melalui unit tersembunyi. Untuk pengaplikasian salah satu algoritma deep learning, Recurrent Neural Network ini bisa digunakan untuk speech recognition (pengenalan suara), DNA sequence, time series, pengolahan text, mesin terjemahan, pengklasifikasian gambar, prediksi saham, financial engineering (rekayasa keuangan). Contohnya untuk meramalkan mengenai prediksi apakah akan terjadi hujan hari ini atau tidak berdasarkan hari sebelumnya. Karena ini lah konsep dari Recurrent Neural Network itu tidak membuang data dari informasi sebelumnya sehingga bisa menjadi pembeda antara Artificial Neural Network dengan Recurrent Neural Network. RNN ini sangat bisa dalam hal menyimpan memori (feedback loop) yang mungkin digunakan untuk mengenali suatu pola data dengan lebih baik, lalu akan menggunakannya untuk memprediksi secara akurat. Dan untuk informasi yang sebelumnya disimpan RNN ini memiliki cara yang dilakukan yaitu dengan melakukan perulangan (looping) pada arsitekturnya yang mana akan secara otomatis bisa membuat informasi yang sebelumnya tetap tersimpan alias tidak dibuang. Jadi kesimpulannya, RNN ini merupakan suatu operasi yang dilakukan secara berulang – ulang sesuai dengan namanya dengan memodelkan struktur yang sequence. Pada RNN ini hasil outputnya selalu bergantung dengan input dan perintah sebelumnya. Bisa dikatakan RNN ini memiliki focus pada data sebelumnya dan sekarang, sehingga saling mempengaruhi instans waktu berikutnya. Beberapa hal yang perlu diketahui mengenail RNN, RNN ini sangat tidak cocok jika digunakan untuk model feed forward seperti Multi Layer Perceptron, Convolutionan Neural Network, Model Linear. Berikut alasannya : – Model diatas tidak memiliki yang namanya memori, sehingga ketika setiap semple diproses dengan tidak memiliki ketergantungan oleh sample sebelumnya. – Model diatas dalam memproses suatu inputan dengan ukuran yang tetap (tidak berubah), bedanya pada sequence data memiliki ukuran yang berubah – ubah. – Contoh mudahnya seperti pada sentiment analis, yaitu : Tidak ada kegiatan yang bisa membuat saya merasa senang dan santai akhir – akhir ini. Maka akan disimpulkan secara otomatis oleh model ini yaitu ulasan tersebut termasuk kedalam kalimat yang positif karena terdapat kata senang dan santai. Padahal kita tahu bahwa diawal ada kata ‘tidak’. Karena itulah dibutuhkan RNN karena RNN melakukannya secara sequence untuk pemrosesan data inputan (masukan) seperti dari sample ke sample.