Apa Itu Deep Learning ??
Banyak acuan yang sanggup kita gunakan mengenai deep learning, terutama dari banyak sekali perusahaan besar dunia sekelas google, facebook, baidu, microsoft, amazon, nvidia dan lain-lain. Apa itu Deep Learning? seberapa penting atau seberapa bernilai deep learning? terutama untuk business, siapa tokoh yang banyak melaksanakan riset atau membangun deep learning? Dan kenapa saya dan teman-teman ingin membangun engine sendiri untuk machine learning? bukankah banyak framework, library dan services (terutama ibarat azure dan aws) untuk machine learning?
Pada hari ini teknologi intelijensi buatan cukup menjadi sorotan beberapa pelaku bisnis dunia, terutama bisnis teknologi, bahkan dunia politik. Seperti di USA Obama yang menentukan Chief Data Scientist pertama untuk Amerika.
Kalau kata wikipedia :
Deep learning (deep machine learning, or deep structured learning, or hierarchical learning, or sometimes DL) is a branch of machine learning based on a set of algorithms that attempt to model high-level abstractions in data by using model architectures, with complex structures or otherwise, composed of multiple non-linear transformations
Deep learning sendiri merupakan tumpukan atau stack dari beberapa algoritma atau metode, sehingga berkembang banyak sekali pendekatan deep learning dengan banyak sekali arsitektur. Beberapa tujuan dari tumpukan metode ini yaitu 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 unsupervised dan supervised learning sehingga sanggup memanfaatkan data yang berlabel maupun tidak berlabel. Dengan pemanfaatan isu yang lebih optimal tentunya akan meningkatkan performa model yang dihasilkan.
Yang menarik yaitu analogi Andrew .Ng, Chief Scientist Baidu mengenai apa yang sanggup dilakukan dengan data yang lebih banyak dan arsitektur yang lebih besar? dengan memakai analogi membangun roket.
Menurut Andrew Ng, 50% pekerjaannya dihabiskan untuk melaksanakan modifikasi arsitektur dari network yang digunakan, dan dia menunjukkan istilah dalam proses pencarian arsitektur yang cocok yaitu Black Magic.
Di atas kita sanggup melihat pendekatan yang sering dipakai untuk mengimplementasikan deep learning yaitu graphical methods atau multilayer representation, atau multilayer graphical model ibarat belief network, neural network, hidden markov, dan lain-lain. Pada dasarnya metode-metode tersebut ibarat halnya machine learning biasa merupakan metode statistik dan stokastik yang sesungguhnya sudah banyak dikenal di dunia matematika terutama statistik.
Otak insan sanggup melaksanakan distributed representation. Ide nya pun dari sistem kerja otak manusia, misalnya ibarat gambar dibawah ini, insan mendapatkan input dari indra pengelihatan mata, kemudian di salurkan ke cortex di otak manusia, kemudian disana akan terdapat beberapa bab otak yang akan melaksanakan pengolahan isu dan estraksi.
Dalam slide Professor Hugo Larochelle, mata mendapatkan input kemudian diteruskan ke beberapa bab otak yang setiap bagiannya melaksanakan estraksi ibarat pada bab LGN dia hanya melihat sebagai banyak sekali susunan bab isu kecil-kecil (seperti biner di komputer), kemudian pada bab V1 isu itu di estrak kembali menjadi beberapa bentuk sederhana, kemudian pada bab selanjutnya V2 isu di estrak menjadi bentuk lebih tinggi lagi beberapa bentuk gres dari group isu sebelumnya, kemudian pada bab AIT di estrak kembali menjadi beberapa bab yang lebih tinggi lagi ibarat bentuk wajah dan lain-lain, sesudah itu gres dilakukan pengambilan keputusan dibagian otak lain ibarat pada bab PFC, kemudian sesudah itu gres otak kita menunjukkan respon tertentu yang mungkin berupa motorik.
Ide pada neuroscience tersebut dicoba diduplikasi pada area machine learning yang mana mempunyai tujuan yang relatif sama atau dengan kata lain melaksanakan reverse engineering pada sistem berfikir manusia, ibarat pada buku AI modern approach Russel, mengenai AI yang bertujuan menciptakan mesin salah satunya think like humans and think rationally.
Metode yang saya pikir sangat sesuai, dan beberapa pakar atau professor dalam area machine learning terutama dalam deep network yaitu multilayer ataupun multilayer graphocal model. Neural network salah satunya, dengan melihat wangsit diatas, maka sanggup dibangun menjadi Deep Neural Network dengan tujuan memalsukan cara kerja dari otak manusia.
Neural Network dalam Deep network dibentuk mempunyai lebih dari satu hidden layer, namun yang jadi permasalahan yaitu ketika kita menciptakan lebih dari satu hidden layer. Kita ketahui fungsi yang berlaku dalam metode neural network backpropagation misalkan ibarat ini :
duduk masalah yang muncul yaitu 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 masalah Deep Network sanggup dengan manambahkan algoritma atau metode yang melaksanakan inisialisasi pada ketika awal pembangunan network sebelum melaksanakan tuning . Salah satu metode yang sanggup dipakai dan berdasarkan saya paling gampang yaitu dengan memakai autoencoder, mungkin akan saya jelaskan di goresan pena berikutnya (kalau lagi gak males) hahaha. Autoencoder ini fungsinya sesungguhnya yaitu mengekstrak isu relatif ibarat mirip PCA yang sanggup mengurangi dimensi dari data pada dataset.
Autoencoder konsepnya hanya meng-encode input yang ada atau dikompres atau meng-estrak fitur mana saja yang memang penting, kemudian balasannya yaitu isu yang ada pada hidden layer, kemudian dicoba kembali di decode, dan dilihat apakah balasannya dengan kondisi network ketika itu sudah sesuai dengan hasil seharunya (kembali ibarat semula sebelum di encode). Sehingga inferencesnya merupakan network beserta weight dari setiap synapsis atau edge yang menghubungkan setiap unit atau perceptron.
Dengan kata lain isu yang nanti ada pada hidden layer atau nilai pada setiap unit pada hidden layer tersebut tersebut sanggup mewakili input layer atau merupakan hasil ekstrak dari isu yang ada pada input layer, dan synapsis weight yang sudah sesuai tersebut dipindahkan ke network pada deep neural network, sebagai inisialisasi awal antara synapsis input layer dan hidden layer pertama. Selanjutnya sanksi kembali autoencoder antara hidden layer 1 dan hidden layar 2, begitu seterusnya sampai hidden layer ke n-1 dan hidden layer ke n.
Sehingga gradient yang nanti didapat ketika akan memulai tuning, tidak akan selalu mengecil mendekati nol.
Mungkin teknis sederhananya ibarat itu untuk Deep Network, dan sesungguhnya ini merupakan algoritma yang cukup sederhana. Ada beberapa algoritma lainnya ibarat deep autoencoder, restricted boltzmann machine (rbm), stacked rbm, deep belief network dan lain-lain.
Deep learning sendiri sering disandingan dengan big data, yaitu menganalisis big data dengan 3V nya dengan memakai deep learning. Sehingga dengan melihat kompleksitas dari metode tersebut dibuthkan teknologi penopang ibarat hardware dan pendekatan implementasi parallel ataupun cluster baik dari sisi implementasi algoritma ataupun data management yang cukup cepat, sehingga sanggup menekan kompleksitas waktu yang muncul dalam deep learning.
Terdapat banyak sekali pendekatan yang dilakukan dari mulai parallel programming dengan memakai multi core biasa, GPU, sampai message passing inteface misalkan memanfaatkan lebih dari satu mesin. Seperti yang dilakukan google, baidu, microsoft, bahkan nvidia yang mengeluarkan Deep Learning GPU Training System (DIGITS) .
Kenapa saya dan teman-teman ingin menciptakan engine untuk deep learning atau mungkin minimal machine leanring biasa. Sebelumnya saya pernah bekerja untuk menciptakan suatu machine learning untuk masalah fraud detection system, tentu dengan tujuan sanggup diimplementasikan di production. Ternyata dalam prosesnya yang paling sulit yaitu memindahkan algoritma yang sudah diimplementasikan ke dalam sistem production, kenapa? alasannya yaitu perbedaan kebutuhan di lingkungan production. Machine learning harus sanggup melaksanakan pembagian terstruktur mengenai cepat, reliable, dan sanggup terpola memperbaiki model yang ada atau scheduling, kalau melihat beberapa library yang sudah ada terutama weka atau scikit learning, saya merasa tidak puas. Weka ketika melaksanakan pemanggilan kembali model yang telah disimpan membutuhkan seluruh isu sebelumnya yang membentuk model tersebut. Scikit learning membutuhkan seluruh load data untuk membentuk model (training), sedangkan banyangkan dimasa yang akan tiba berapa banyak data yang harus diolah? dan weka lebih keren lagi, model yang dihasilkan misalkan sekitar 84 mb, bayangkan kalau kita menciptakan service atau API untuk melaksanakan pembagian terstruktur mengenai dan membutuhkan model tersebut, untuk menciptakan 1 object model membutuhkan 84 mb * ukuran isu (dataset) dalam mb untuk 1 request? bayangkan kalau tiba 1000 request?
Kami berfikiri solusinya kita menciptakan sendiri enginenya atau kita memakai service yang sudah ada untuk tujuan tetentu (machine learning dengan fungsi spesifik, ibarat fraud detectin syste, financial analytics, social network analysis dan lain2).
Referensi :
Prof. Tom Mitchel, Professor di Carniege Mellon University, buku pertama saya mengenai machine learning, banyak jadi acuan di banyak sekali universitas.
Lalu Prof. Andrew Ng, professor stanford yang merupakan CEO Coursera dan Chief Scientist BAIDU, dan merupakan orang dibalik google brain sebelumnya,
Prof. Geoffrey Hinton merupakan Distinguished Researcher google dan juga Distinguished Emeritus Professor di University of Toronto dia merupakan figur penting dalam pergerakan deep learning.
Hugo Larochelle, merupakan professor di Université de Sherbrooke
Jeff Dean, merupakan computer scientist dan Google Senior Fellow pada group Systems and Infrastructure.
https://www.initialboard.com/perbedaan-al-marchine-learning-dan-deep-learning
https://situkangsayur.wordpress.com/2015/07/27/deep-learning/
Apa itu Deep Learning ??
Banyak acuan yang sanggup kita gunakan mengenai deep learning, terutama dari banyak sekali perusahaan besar dunia sekelas google, facebook, baidu, microsoft, amazon, nvidia dan lain-lain. Apa itu Deep Learning? seberapa penting atau seberapa bernilai deep learning? terutama untuk business, siapa tokoh yang banyak melaksanakan riset atau membangun deep learning? Dan kenapa saya dan teman-teman ingin membangun engine sendiri untuk machine learning? bukankah banyak framework, library dan services (terutama ibarat azure dan aws) untuk machine learning?
Pada hari ini teknologi intelijensi buatan cukup menjadi sorotan beberapa pelaku bisnis dunia, terutama bisnis teknologi, bahkan dunia politik. Seperti di USA Obama yang menentukan Chief Data Scientist pertama untuk Amerika.
Kalau kata wikipedia :
Deep learning (deep machine learning, or deep structured learning, or hierarchical learning, or sometimes DL) is a branch of machine learning based on a set of algorithms that attempt to model high-level abstractions in data by using model architectures, with complex structures or otherwise, composed of multiple non-linear transformations
Deep learning sendiri merupakan tumpukan atau stack dari beberapa algoritma atau metode, sehingga berkembang banyak sekali pendekatan deep learning dengan banyak sekali arsitektur. Beberapa tujuan dari tumpukan metode ini yaitu 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 unsupervised dan supervised learning sehingga sanggup memanfaatkan data yang berlabel maupun tidak berlabel. Dengan pemanfaatan isu yang lebih optimal tentunya akan meningkatkan performa model yang dihasilkan.
Yang menarik yaitu analogi Andrew .Ng, Chief Scientist Baidu mengenai apa yang sanggup dilakukan dengan data yang lebih banyak dan arsitektur yang lebih besar? dengan memakai analogi membangun roket.
Menurut Andrew Ng, 50% pekerjaannya dihabiskan untuk melaksanakan modifikasi arsitektur dari network yang digunakan, dan dia menunjukkan istilah dalam proses pencarian arsitektur yang cocok yaitu Black Magic.
Di atas kita sanggup melihat pendekatan yang sering dipakai untuk mengimplementasikan deep learning yaitu graphical methods atau multilayer representation, atau multilayer graphical model ibarat belief network, neural network, hidden markov, dan lain-lain. Pada dasarnya metode-metode tersebut ibarat halnya machine learning biasa merupakan metode statistik dan stokastik yang sesungguhnya sudah banyak dikenal di dunia matematika terutama statistik.
Otak insan sanggup melaksanakan distributed representation. Ide nya pun dari sistem kerja otak manusia, misalnya ibarat gambar dibawah ini, insan mendapatkan input dari indra pengelihatan mata, kemudian di salurkan ke cortex di otak manusia, kemudian disana akan terdapat beberapa bab otak yang akan melaksanakan pengolahan isu dan estraksi.
Dalam slide Professor Hugo Larochelle, mata mendapatkan input kemudian diteruskan ke beberapa bab otak yang setiap bagiannya melaksanakan estraksi ibarat pada bab LGN dia hanya melihat sebagai banyak sekali susunan bab isu kecil-kecil (seperti biner di komputer), kemudian pada bab V1 isu itu di estrak kembali menjadi beberapa bentuk sederhana, kemudian pada bab selanjutnya V2 isu di estrak menjadi bentuk lebih tinggi lagi beberapa bentuk gres dari group isu sebelumnya, kemudian pada bab AIT di estrak kembali menjadi beberapa bab yang lebih tinggi lagi ibarat bentuk wajah dan lain-lain, sesudah itu gres dilakukan pengambilan keputusan dibagian otak lain ibarat pada bab PFC, kemudian sesudah itu gres otak kita menunjukkan respon tertentu yang mungkin berupa motorik.
Ide pada neuroscience tersebut dicoba diduplikasi pada area machine learning yang mana mempunyai tujuan yang relatif sama atau dengan kata lain melaksanakan reverse engineering pada sistem berfikir manusia, ibarat pada buku AI modern approach Russel, mengenai AI yang bertujuan menciptakan mesin salah satunya think like humans and think rationally.
Metode yang saya pikir sangat sesuai, dan beberapa pakar atau professor dalam area machine learning terutama dalam deep network yaitu multilayer ataupun multilayer graphocal model. Neural network salah satunya, dengan melihat wangsit diatas, maka sanggup dibangun menjadi Deep Neural Network dengan tujuan memalsukan cara kerja dari otak manusia.
Neural Network dalam Deep network dibentuk mempunyai lebih dari satu hidden layer, namun yang jadi permasalahan yaitu ketika kita menciptakan lebih dari satu hidden layer. Kita ketahui fungsi yang berlaku dalam metode neural network backpropagation misalkan ibarat ini :
duduk masalah yang muncul yaitu 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 masalah Deep Network sanggup dengan manambahkan algoritma atau metode yang melaksanakan inisialisasi pada ketika awal pembangunan network sebelum melaksanakan tuning . Salah satu metode yang sanggup dipakai dan berdasarkan saya paling gampang yaitu dengan memakai autoencoder, mungkin akan saya jelaskan di goresan pena berikutnya (kalau lagi gak males) hahaha. Autoencoder ini fungsinya sesungguhnya yaitu mengekstrak isu relatif ibarat mirip PCA yang sanggup mengurangi dimensi dari data pada dataset.
Autoencoder konsepnya hanya meng-encode input yang ada atau dikompres atau meng-estrak fitur mana saja yang memang penting, kemudian balasannya yaitu isu yang ada pada hidden layer, kemudian dicoba kembali di decode, dan dilihat apakah balasannya dengan kondisi network ketika itu sudah sesuai dengan hasil seharunya (kembali ibarat semula sebelum di encode). Sehingga inferencesnya merupakan network beserta weight dari setiap synapsis atau edge yang menghubungkan setiap unit atau perceptron.
Dengan kata lain isu yang nanti ada pada hidden layer atau nilai pada setiap unit pada hidden layer tersebut tersebut sanggup mewakili input layer atau merupakan hasil ekstrak dari isu yang ada pada input layer, dan synapsis weight yang sudah sesuai tersebut dipindahkan ke network pada deep neural network, sebagai inisialisasi awal antara synapsis input layer dan hidden layer pertama. Selanjutnya sanksi kembali autoencoder antara hidden layer 1 dan hidden layar 2, begitu seterusnya sampai hidden layer ke n-1 dan hidden layer ke n.
Sehingga gradient yang nanti didapat ketika akan memulai tuning, tidak akan selalu mengecil mendekati nol.
Mungkin teknis sederhananya ibarat itu untuk Deep Network, dan sesungguhnya ini merupakan algoritma yang cukup sederhana. Ada beberapa algoritma lainnya ibarat deep autoencoder, restricted boltzmann machine (rbm), stacked rbm, deep belief network dan lain-lain.
Deep learning sendiri sering disandingan dengan big data, yaitu menganalisis big data dengan 3V nya dengan memakai deep learning. Sehingga dengan melihat kompleksitas dari metode tersebut dibuthkan teknologi penopang ibarat hardware dan pendekatan implementasi parallel ataupun cluster baik dari sisi implementasi algoritma ataupun data management yang cukup cepat, sehingga sanggup menekan kompleksitas waktu yang muncul dalam deep learning.
Terdapat banyak sekali pendekatan yang dilakukan dari mulai parallel programming dengan memakai multi core biasa, GPU, sampai message passing inteface misalkan memanfaatkan lebih dari satu mesin. Seperti yang dilakukan google, baidu, microsoft, bahkan nvidia yang mengeluarkan Deep Learning GPU Training System (DIGITS) .
Kenapa saya dan teman-teman ingin menciptakan engine untuk deep learning atau mungkin minimal machine leanring biasa. Sebelumnya saya pernah bekerja untuk menciptakan suatu machine learning untuk masalah fraud detection system, tentu dengan tujuan sanggup diimplementasikan di production. Ternyata dalam prosesnya yang paling sulit yaitu memindahkan algoritma yang sudah diimplementasikan ke dalam sistem production, kenapa? alasannya yaitu perbedaan kebutuhan di lingkungan production. Machine learning harus sanggup melaksanakan pembagian terstruktur mengenai cepat, reliable, dan sanggup terpola memperbaiki model yang ada atau scheduling, kalau melihat beberapa library yang sudah ada terutama weka atau scikit learning, saya merasa tidak puas. Weka ketika melaksanakan pemanggilan kembali model yang telah disimpan membutuhkan seluruh isu sebelumnya yang membentuk model tersebut. Scikit learning membutuhkan seluruh load data untuk membentuk model (training), sedangkan banyangkan dimasa yang akan tiba berapa banyak data yang harus diolah? dan weka lebih keren lagi, model yang dihasilkan misalkan sekitar 84 mb, bayangkan kalau kita menciptakan service atau API untuk melaksanakan pembagian terstruktur mengenai dan membutuhkan model tersebut, untuk menciptakan 1 object model membutuhkan 84 mb * ukuran isu (dataset) dalam mb untuk 1 request? bayangkan kalau tiba 1000 request?
Kami berfikiri solusinya kita menciptakan sendiri enginenya atau kita memakai service yang sudah ada untuk tujuan tetentu (machine learning dengan fungsi spesifik, ibarat fraud detectin syste, financial analytics, social network analysis dan lain2).
Referensi :
Prof. Tom Mitchel, Professor di Carniege Mellon University, buku pertama saya mengenai machine learning, banyak jadi acuan di banyak sekali universitas.
Lalu Prof. Andrew Ng, professor stanford yang merupakan CEO Coursera dan Chief Scientist BAIDU, dan merupakan orang dibalik google brain sebelumnya,
Prof. Geoffrey Hinton merupakan Distinguished Researcher google dan juga Distinguished Emeritus Professor di University of Toronto dia merupakan figur penting dalam pergerakan deep learning.
Hugo Larochelle, merupakan professor di Université de Sherbrooke
Jeff Dean, merupakan computer scientist dan Google Senior Fellow pada group Systems and Infrastructure.
https://www.initialboard.com/perbedaan-al-marchine-learning-dan-deep-learning
https://situkangsayur.wordpress.com/2015/07/27/deep-learning/
0 Response to "Apa Itu Deep Learning ??"
Posting Komentar