DEEP LEARNING Teknologi AI saat ini
JURUSAN TEKNIK INFORMATIKA FAKULTAS ILMU KOMPUTER UNIVERSITAS DIAN NUSWANTORO
PENGENALAN DEEP LEARNING
GOOGLE TRENDS
PROYEK GOOGLE
VIDEO ON YOUTUBE NVIDIA SURVEY COLDFUSION TV - Google's Deep Mind Explained! - Self Learning A.I.
PERUSAHAAN BESAR
STARTUP (HTTPS://VENTURESCANNERINSIGHTS.FILES.WORDPRESS.COM/2015/01/ARTIFICIAL-INTELLIGENCE-MAP.JPG)
INVESTASI MULTI-BILLION DOLLAR LINK DEEPMIND DAN WAVENET 2013 Facebook – AI Lab, Deep Face 2013 Yahoo – LookFlowe 2013 Ebay - AI lab 2013 Allen Institute for AI 2013 Google – DNNresearch 2014 IBM - $1 billion in Watson 2014 Google – DeepMind $500 million https://deepmind.com/ https://deepmind.com/blog/wavenet-generative-model-raw-audio/ http://icml.cc/2016/?page_id=2009 2014 Vicarios - $70 million 2014 Microsoft – Project Adam, Cortana 2015 Fanuc – Machine Learning for Robotics 2015 Toyota - $1 billion AI and Robotics Lab, Silicon Valley
ORANG – ORANG DIBALIK LAYAR
DEFINISI DEEP LEARNING Sejak tahun 2006, Deep Structured Learning atau yang lebih dikenal dengan Deep learning atau Hierarchical Learning telah muncul sebagai area baru dalam penelitian Machine Learning yang berdasarkan pada suatu set algoritma yang mencoba untuk memodelkan abstraksi tingkat tinggi pada data dengan menggunakan graf yang mendalam dengan beberapa lapisan pengolahan, yang terdiri dari beberapa transformasi linier dan non-linier. (Bengio, 2009). Referensi lengkap tentang definisi : https://en.wikipedia.org/wiki/Deep_learning Deep Learning pada dasarnya merupakan istilah baru untuk ANN yang memiliki lapisan tersembunyi yang banyak (lebih dari 1). Deep Learning mengacu pada Deep Architechture.
DEEP ARCHITECHTURE (BENGIO, 2009) Kemampuan untuk mempelajari sesuatu yang kompleks dan fungsi yang sangat bervariasi dari sampel data pelatihan. Untuk dapat belajar dengan sedikit masukan dari manusia pada level abstraksi rendah, sedang, dan tinggi pada data.
Waktu komputasi seharusnya memakan waktu yang terskala dengan baik pada sampel data dan mendekati linier. Untuk dapat belajar dari sampel data tanpa label dan bekerja dengan pengaturan semi-supervised, dimana sampel mungkin memiliki label yang salah.
Mempunyai pembelajaran tak terawasi (unsupervised learning) yang kuat yang dapat menangkap sebagian besar struktur statistik pada data yang diobservasi.
TERINSPIRASI DARI OTAK HTTP://WWW.AGING-VISION-ACTION.FR/AVA_TEACHING/UE_5BN04/SLIDES/THORPE.PDF
Terbukti Otak manusia melakukan sesuatu hal yang sama persis seperti, hirarki pertama pada neuron menerima informasi pada visual cortex yang sensitif terhadap gambaran tepi dan gumpalan khusus, sedangkan daerah otak bagian bawah merupakan elemen pemrosesan (pipeline) visual yang sensitif terhadap struktur yang lebih kompleks seperti wajah. Otak kita memiliki banyak sekali neuron yang saling terhubung dan memiliki kekuatan koneksi (bobot sinaptik) antar neuron tersebut.
GAMBARAN UMUM DEEP LEARNING
SEJARAH SINGKAT (1) HTTP://WWW.SLIDESHARE.NET/DEVIEW/251-IMPLEMENTING-DEEP-LEARNING-USING-CU-DNN
SEJARAH SINGKAT (2) HTTP://WWW.SLIDESHARE.NET/LUMA921/DEEP-LEARNING-A-VISUAL-INTRODUCTION
PARADIGMA/STRUKTUR/ARSITEKTUR/ TOPOLOGI JST Paradigma
Arsitektur/Topologi
Algoritma Training
Supervised/Diskriminatif
Perceptron MLP Reccurent NN LSTM Convolution NN
Backpropagation Bolztmann Learning Vector Quantization
Unsupervised/Generatif
RBM BM RNN LSTM Kohonen SOM
Backpropagation Contrastive Divergence Kohonen
Hybrid
RBF DBN
RBF Pretraining+Training
ALGORITMA DEEP LEARNING
DEEP LEARNING PADA SPEECH RECOGNITION DAN IMAGE CLASSIFICATION (HINTON 2012) HTTP://STATIC.GOOGLEUSERCONTENT.COM/MEDIA/RESEARCH.GOOGLE.COM/EN//PUBS/ARCHIVE/38131.PDF (CIRESAN 2012) HTTP://PEOPLE.IDSIA.CH/~JUERGEN/CVPR2012.PDF
ANN BIASA VS ANN DEEP LEARNING (BENGIO, 2009) HTTPS://WWW.IRO.UMONTREAL.CA/~LISA/POINTEURS/TR1312.PDF
Banyak peneliti berhasil melakukan training pada jaringan syaraf tiruan dengan 1 atau 2 lapisan tersembunyi, tetapi melakukan training pada lebih dari 1 lapisan selalu memberikan hasil yang semakin memburuk.
Jadi pada Deep Learning terdapat algoritma baru untuk training (dengan cara yang berbeda) pada banyak lapisan jaringan.
ALGORITMA-ALGORITMA DEEP LEARNING (TOPOLOGI) HTTPS://WHATSTHEBIGDATA.COM/2016/10/10/NEURAL-NETWORKS-TYPOLOGY/
Link here
SEBELUM KE SALAH SATU ALGORITMA MARI MELIHAT CARA KERJA UNIT/NEURON TERSEMBUNYI MEMPELAJARI FITUR TINGKATYANG LEBIH TINGGI (HIGHER-LEVEL FEATURES)
dll …
Mendeteksi garis2 posisi yang spesifik
Higher level detetors ( garis horisontal, “vertika” “melingkar”, etc…
v
What does this unit detect?
dll …
BANYAK HIDDEN LAYER AKAN BERGUNA
Tetapi hasilnya seperti ini (buruknya)
TRAINING DENGAN CARA BARU Latih 1 lapisan pada suatu waktu
DEEP BELIEF NETWORK Setiap lapisan non output dianggap sebagai RBM dan dilatih dengan algoritma Contrastive Divergence/CD-1/PCD Setelah setiap lapisan non-output dilatih pada setiap waktu, lakukan fine-tuning pada keseluruhan jaringan dengan menambahkan lapisan output dengan Backpropagation atau Rprop*
AUTOENCODER / DEEP AUTOENCODER Setiap lapisan non output dianggap sebagai Auto Encoder Setelah setiap lapisan non-output dilatih pada setiap waktu, lakukan fine-tuning pada keseluruhan jaringan dengan menambahkan lapisan output dengan Backpropagation
CONVOLUTION NN (CNN) Konsep sejak 1969 oleh Hubel (Neocognitron), Dilanjutkan oleh Yann LeCun. Terdapat layer convolution sebagai detector fitur yang secara automagically mempelajarinya untuk menyaring informasi yang tidak diperlukan dari input dengan menggunakan kernel konvolusi. Layer Pooling menghitung nilai maksimal atau rata2 dari fitur atas daerah tertentu dari input. Yang juga dapat membantu mendeteksi objek pada beberapa tempat yang tidak biasa dan mengurangi ukuran memori
LONG SHORT-TERM MEMORY RNN (LSTM) LSTM merupakan jenis tertentu dari RNN yang bekerja sedikit lebih baik dalam prakteknya, karena memiliki persamaan pembaharuan bobot yang lebih kuat dan beberapa diterapkan
juga backpropagation yang dinamis Unit-unit LSTM memberikan sel-sel memory pada jaringan dengan operasi membaca, menulis, dan me-reset. Selama
pelatihan, jaringan dapat belajar saat jaringan seharusnya mengingat data dan ketika sedang melupakan data.
FUNGSI AKTIVASI DALAM DEEP LEARNING Banyak Deep Networks menggunakan RELU RELU = max(0,x) Biasanya pada lapisan tersembunyi
Dapat belajar lebih cepat lebih ekspresif daripada sigmoid Dapat mencegah permasalahan kelenyapan
Gradien (gradient vanishing problem)
GPU PROGRAMMING Banyaknya layer pada arsitektur jaringan syaraf mendalam akan membuat jumlah bobot yang terbentuk pada jaringan juga menjadi banyak. Hal tersebut akan mengakibatkan waktu training yang menjadi lama. Dengan parallel GPU setiap pemrosesan untuk beberapa data training dapat dibagi kedalam core-core pada GPU, sehingga dengan komputasi parallel tersebut dapat mempersingkat waktu training. Parallel CPU juga dapat dilakukan namun lebih sangat cepat jika menggunakan GPU.
Lalu GPU seperti apa? Silahkan liat Nvidia Deep Learning Library atau CuDNN atau CUDA.
NVIDIA PASCAL Dapat mempercepat sampai 10x dibandingkan dengan Maxwell processor
OVERFITTING DAN REGULARISASI Overfitting is a big problem! Overfitting adalah jika kita mempunyai banyak fitur dan dilakukan training dan pada data training memiliki performa yang bagus, tetapi gagal untuk mengeneralisir data baru (atau pada data testing).
Kurangi jumlah fitur Secara maual pilih fitur yang diinginkan Algoritma seleksi model.
Regularisasi (tambahkan weight decay atau dropout atau dropconnect)
CROSS VALIDATION
SEKIAN