APA ITU DEEP LEARNING?

Deep learning (DL) dipopulerkan oleh Geoffrey Hinton. Di dikenal sebagai bapaknya deep learning. Ia adalah seorang professor di University of Toronto. Selain itu ia juga bekerja di Google.
Hinton sudah melakukan riset tentang DL sejak tahun 80an, dan publikasinya telah banyak disitasi. Beberapa publikasinya terbit di jurnal sekelas Science dan Nature. Pada tahun 2006 ia memperkenalkan neural networks (jaringan saraf tiruan) dan mempopulerkannya dengan istilah deep learning. Teknik barunya ini mampu mengalahkan teknik AI konvensional sebelumnya seperti speech recognition, image recognition, readable sentences, dan masih banyak lagi. Sejak saat itulah ketiga perusahaan raksasa seperti Google, Facebook, dan Microsoft berlomba-lomba mengembangkan teknik DL dan berusaha menjadi yang terdepan di bidang ini.
DL sangat berkaitan dengan otak manusia. Pada tahap awal, ia didesain untuk bisa memodelkan bagaimana otak manusia bekerja. DL tidak hanya meniru bagaimana otak manusia bekerja, namun juga berusaha menciptakan jaringan saraf tiruan itu sendiri. Tentunya tidak akan mirip 100% seperti otak manusia, namun cara kerjanya sangatlah identik. Jadi jangan salah, jika keilmuan AI sangat berkaitan dengan keilmuan neuroscience.
Untuk memahaminya, mari kita lihat seperti apa neuron (saraf) otak manusia itu.

Bisa dilihat pada ilustrasi di atas, sebuah neuron tampak seperti benang-benang yang saling terhubung. Di bagian intinya (nucleus) ia terlihat besar, dan saling terhubung dengan inti saraf lainnya melalui dendrit dan akson. Dalam otak kita jumlah saraf neuron tidak hanya satu melainkan jutaan bahkan sampai milyaran saraf neuron. Kita tidak akan membahas jauh lebih dalam, karena sudah mengarah ke keilmuan biologi maupun neuroscience. Namun yang ingin saya sampaikan adalah bentuk dari DL mirip sekali dengan ilustrasi di atas.

Melalui ilustrasi di atas kita bisa melihat struktur sederhana dari DL. Struktur ini adalah sistem saraf tiruan yang dimodelkan dari saraf otak manusia. Ada 3 bagian, yaitu input layer, hidden layer dan output layer.
Input layer adalah neuron yang menerima masukan (input) dari kita. Dalam ilustrasi di atas ada 3 neuron yang menerima input. Satu neuron di dalam arsitektur neural networks sering disebut dengan istilah node. Misal kita ingin memprediksi harga rumah, maka nilai input di input layer ini adalah luas tanah, lokasi dan luas bangunan misalnya.
Output layer adalah nilai akhir (keputusan akhir/ kondisi akhir) yang ingin dihasilkan dari nilai-nilai awal yang dimasukkan di input layer. Jika kita ingin memprediksi harga rumah, maka output layer adalah nilai harga rumah yang dihasilkan berdasarkan beberapa nilai input yang sudah dimasukkan.
Hidden layer merupakan neuron yang menjadi perantara antara input layer dengan output layer. Layaknya mata yang melihat sebuah objek, maka bisa dianalogikan bahwa mata adalah input layer, otak adalah output layer (tujuan akhir untuk memproses input objek oleh mata), dan hidden layer adalah sebuah neuron yang dilewati dari mata sampai ke otak.
Ilustrasi di atas masih sangat sederhana sekali. Kita hanya melihat ada 1 hidden layer. Di dalam DL, jumlah hidden layer ini tidak hanya satu, bisa dua, tiga, bahkan lebih, selama hardware nya kuat untuk mengakomodir komputasi yang ada.
Jumlah neuron di dalam sebuah hidden layer sangat memperngaruhi performa DL. Jika neuron (nodes) nya terlalu sedikit maka outputnya bisa underfitting (jika diterjemahkan maka menjadi kurang fit). Jika neuronnya terlalu banyak maka bisa menjadi overfitting.
Sebuah arsitektur DL yang terdiri dari beberapa hidden layer tampak sebagai berikut.

Untuk merangkum pembahasan deep learning (DL), bisa dikatakan bahwa DL adalah sebuah teknik machine learning di mana proses pengambilan keputusan dilakukan melalui beberapa sistem saraf tiruan manusia. Dengan teknik DL, performa sebuah program AI sangatlah baik, cepat dan lebih akurat, jika dibandingkan dengan teknik AI atau machine learning konvensional.
Dalam pembagiannya, DL juga dibagi menjadi 2 yaitu supervised dan unsupervised learning. Secara ringkas, pembagian keduanya dapat dilihat pada tabel di bawah ini:

Sampai di sini saya harap pembaca bisa memahami konsep umum dari deep learning. Di kesempatan selanjutnya, saya akan jabarkan materi DL yang lebih bersifat teknis, dan tentunya menggunakannya untuk memecahkan kasus nyata. Ada beberapa teknik DL yang akan kita bahas nantinya, antara lain:
- Artificial neural networks (teori, aplikasi)
- Convolutional neural networks (teori, aplikasi)
- Recurrent neural networks (teori, aplikasi)
- Self-organizing maps (teori, aplikasi)
- Boltzmann machines (teori, aplikasi)
- Auto-encoders (teori, aplikasi)
Terus ikuti website saya, dan jangan lupa subscribe website saya sehingga pembaca akan selalu mendapatkan email notifikasi setiap ada materi baru.
Terima kasih, dan tetap semangat untuk belajar AI!
Pembaca juga bisa belajar secara visual melalui Youtube. Silakan tonton pembelajaran deep learning di bawah ini:
PART 1
PART 2
PART 3
Pages: 1 2

Pak Herlambang, mau tanya, bagaimana cara menentukan jumlah hidden layer di dalam DL? dan masing-masing hidden layer (misal lebih dari 1 hidden layer) digunakan untuk apa?
Terimakasih banyak
Halo,
Tidak ada aturan baku dalam deep learning, karena teknik ini selalu berkembang.
Silakan bereksperimen menentukan layernya, mulai dari 1 layer kemudian ditambah sedikit demi sedikit.
Semakin banyak layer umumnya akan semakin akurat, namun memerlukan kemampuan komputasi yang tinggi.
Terlalu banyak layer bisa saja justru memperburuk hasil, karena overfitting.
Secara umum 2 layer itu sudah cukup untuk mendapatkan akurasi tinggi.
Semoga menjawab.
terimakasih banyak penjelasannya pak Herlambang. Jadi intinya jumlah hidden layer untuk pemroses input ke ouput supaya tidak terjadi vanishing gradient dan hasilnya lebih akurat ya pak?
Terimakasih banyak
Vanishing gradient justru akan terjadi di deep learning secara umum, namun bisa disiasati dengan teknik yang benar.
Silakan baca artikel saya tentang RNN (recurrent neural networks) untuk penjelasan lebih lanjut.
Semoga membantu.
Mhon izin pak mw bertanya apakah untuk klasifikasi teks bisa menggunakan CNN
Jawabannya bisa.