Konsep Deep Learning (DL)

History

Istilah ini pertama kali diperkenalkan ke komunitas pembelajaran mesin oleh Rina Dechter pada tahun 1986. Perkembangan terus terjadi. Pada tahun 2009, Nvidia, perusahaan teknologi asal Amerika terlibat dalam “big bang” dari deep learning, Nvidia graphics processing units (GPUs) terus melatih deep learning dengan neural training. Masih di tahun yang sama, Google Brain juga menggunakan Nvidia GPU untuk membuat deep neuron network (DNN).

Seiring berjalannya waktu, deep learning telah dikembangkan melalui beberapa pelatihan yang terus dilakukan oleh masing-masing ahli. Setelah melewati proses yang panjang, barulah optimalisasi perangkat keras dan algoritma khusus dapat digunakan untuk pemrosesan yang efisien.

Deep learning bisa menjadi kepingan puzzle utama yang dapat membawa manusia pada penciptaan AI yang lebih cerdas dan manusiawi. Ia dapat meningkatkan semua bagian AI, mulai dari pemrosesan bahasa alami hingga machine vision.

Definisi

Deep Learning atau sering disebut juga dengan Pemelajaran Dalam atau sering dikenal dengan istilah Pemelajaran Struktural Mendalam (Deep Structured Learning) atau Pemelajaran Hierarki (Hierarchical Learning) adalah salah satu cabang dari ilmu pemelajaran mesin (Machine Learning) yang terdiri algoritme pemodelan abstraksi tingkat tinggi pada data menggunakan sekumpulan fungsi transformasi non-linear yang ditata berlapis-lapis dan mendalam.

Teknik dan algoritme dalam Deep Learning dapat digunakan baik untuk kebutuhan pemelajaran terarah (supervised learning), pemelajaran tak terarah (unsupervised learning) dan semi-terarah (semi-supervised learning) dalam berbagai aplikasi seperti pengenalan citra, pengenalan suara, klasifikasi teks, dan sebagainya. Model pada Deep Learning pada dasarnya dibangun berdasarkan Jaringan saraf tiruan, yang risetnya sudah berlangsung sejak era 80-an namun baru-baru ini kembali bangkit dengan adanya komputer yang semakin cepat apalagi ditambah dengan kemampuan kartu grafis modern yang mampu melakukan kalkulasi berbasis matriks secara simultan.

Berdasarkan riset yang baru-baru ini dilakukan, Deep Learning mampu melakukan pengenalan grafis, pola tulis tangan dan beberapa pola lainnya lebih akurat dibandingkan dengan algoritme machine learning lainnya.

Deep learning adalah metode pembelajaran yang dilakukan oleh mesin dengan cara meniru bagaimana sistem dasar otak manusia bekerja. Sistem dasar otak manusia bekerja ini disebut neural networks  Untuk dapat mencapai kemampuan itu, deep learning menggunakan struktur algoritma berlapis. Itulah kenapa deep learning disebut menggunakan artificial neural networks (ANN) yang dengan kata lain menggunakan ‘neural networks buatan’ .

Deep learning merupakan teknologi yang dipakai pada image recognition dan computer vision.

Artificial Neural Network

Artificial Neural Network Artificial (ANN) atau Jaringan Syaraf Tiruan merupakan sebuah teknik atau pendekatan pengolahan informasi yang terinspirasi oleh cara kerja sistem saraf biologis, khususnya pada sel otak manusia dalam memproses informasi. Elemen kunci dari teknik ini adalah struktur sistem pengolahan informasi yang bersifat unik dan beragam untuk tiap aplikasi. Neural Network terdiri dari sejumlah besar elemen pemrosesan informasi (neuron) yang saling terhubung dan bekerja bersama-sama untuk menyelesaikan sebuah masalah tertentu, yang pada umumnya dalah masalah klasifikasi ataupun prediksi.

Cara kerja Neural Network dapat dianalogikan sebagaimana halnya manusia belajar dengan mengunakan contoh atau yang disebut sebagai supervised learning. Sebuah Neural Network dikonfigurasi untuk aplikasi tertentu, seperti pengenalan pola atau klasifikasi data, dan kemudian disempurnakan melalui proses pembelajaran. Proses belajar yang terjadi dalam sistem biologis melibatkan penyesuaian koneksi sinaptik yang ada antara neuron, dalam halnya pada Neural Network penyesuaian koneksi sinaptik antar neuron dilakukan dengan menyesuaikan nilai bobot yang ada pada tiap konektivitas baik dari input, neuron maupun output.

Neural Network memproses informasi berdasarkan cara kerja otak manusia. Dalam hal ini Neural Network terdiri dari sejumlah besar elemen pemrosesan yang saling terhubung dan bekerja secara paralel untuk memecahkan suatu masalah tertentu. Di sisi lain, komputer konvensional menggunakan pendekatan kognitif untuk memecahkan masalah; dimana cara pemecahan masalah haruslah sudah diketahui sebelumnya untuk kemudian dibuat menjadi beberapa instruksi kecil yang terstruktur. Instruksi ini kemudian dikonversi menjadi program komputer dan kemudian ke dalam kode mesin yang dapat dijalankan oleh komputer.

Neural Network, dengan kemampuannya dapat digunakan untuk memperoleh pengetahuan dari data yang rumit atau tidak tepat, serta juga dapat digunakan untuk mengekstrak pola dan mendeteksi tren yang terlalu kompleks untuk diperhatikan baik oleh manusia atau teknik komputer lainnya. Sebuah Neural Network yang telah terlatih dapat dianggap sebagai “ahli” dalam kategori pemrosesan informasi yang telah diberikan untuk dianalisa. Ahli ini kemudian dapat digunakan untuk menyediakan proyeksi terkait kemungkinan kondisi di masa mendatang serta menjawab pertanyaan “bagaimana jika?”

Keuntungan lainnya dari penggunaan Neural Network termasuk:

  1. Pembelajaran adaptif: Kemampuan untuk belajar dalam melakukan tugas-tugas berdasarkan data yang diberikan
  2. Self-Organization: Sebuah Neural Network dapat membangun representasi dari informasi yang diterimanya selama proses pembelajaran secara mandiri
  3. Operasi Real-Time: Penghitungan Neural Network dapat dilakukan secara paralel, sehingga proses komputasi menjadi lebih cepat.

Neural Network dan algoritma komputer konvensional tidaklah saling bersaing tetapi saling melengkapi. Beberapa tugas atau masalah lebih cocok diselesaikan dengan pendekatan algoritmik seperti halnya operasi aritmatika, di sisi lain ada tugas-tugas yang lebih cocok untuk jaringan saraf, misalnya prediksi pergerakan data time-series. Bahkan, sejumlah besar tugas lainnya memerlukan sistem yang menggunakan kombinasi dari keddua pendekatan tersebut, dimana biasanya komputer konvensional digunakan untuk mengawasi Neural Network agar dapat memberikan kinerja maksimum.

Convolutional Neural Networks (CNN)

Metode yang digunakan sudah lebih canggih lagi dari ANN yang disebut Convolutional Neural Networks (CNN). Secara komputasi, metode CNN ini lebih irit daya, bayangkan jika sebuah gambar berukuran 1920×1080 pixel. Ini berarti ada 2.073.600‬ nodes yang harus dibuat pada layer input. Belum lagi jika gambar tersebut berwarna di mana setiap pixel terdiri dari 3 warna RGB. Berarti jumlah nodes yang sudah banyak tadi harus dikalikan 3. Bisa dibayangkan berapa jumlah nodes pada layer pertama.  Berbeda dari ANN tradisional yang setiap node-nya terpisah, node dari convolutional neural networks sendiri terhubung satu sama lain.

CNN memindai bagian per bagian area kecil di dalam gambar tersebut untuk dijadikan node. Setiap angka dalam nodes merupakan hasil penghitungan matriks dari filter/kernel. Dalam CNN, terdapat bagian yang sama antara node satu dengan node yang ada di sebelahnya. Itulah mengapa tadi dikatakan bahwa node dalam CNN selalu terhubung. Hal ini tentu saja dilakukan untuk menghemat daya komputasi terutama deteksi objek secara live.

Ref : [1][2][3][4]

"reads more (a life hack) and all your dreams will come true"

Silahkan berdiskusi bersama

Silahkan berdiskusi bersama