DPL-Pertemuan7-Stochastic Gradient Descent [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

MODUL PERKULIAHAN



Deep Learning Stochastic Gradient Descent Fakultas



Program Studi



Ilmu Komputer



Teknik Informatika



Tatap Muka



7



Kode MK



Disusun Oleh



P151700011



Abstract If our parameters happened to be initialized to the blue dot, then we need a way to move around parameter space to the lowest point. This is where the idea of gradient descent comes in as our method to update our parameters and “search” for where the lowest point is. There are many different methods of applying the idea of gradient descent for this search such as Momentum, Nesterov, Adagrad, AdaDelta, Adam, and more. Each of these has slight nuances to how you take your next “blind” step around this hilly terrain. https://medium.com/38th-street-studios/exploring-stochasticgradient-descent-with-restarts-sgdr-fa206c38a74e



Handrie Noprisson, ST., M.Kom



Kompetensi Mahasiswa dapat memahami secara umum algoritma stochastic gradient descent



Daftar Isi Daftar Isi ............................................................................................................................... 2 Pembelajaran sebagai Permasalahan Optimasi .................................................................... 3 Stochastic Gradient Descent ................................................................................................. 7 Perhitungan Manual Gradient Descent ................................................................................. 9 Gradient Descent .............................................................................................................. 9 Contoh Perhitungan......................................................................................................... 10 Daftar Pustaka .................................................................................................................... 14



2020



2



Deep Learning



Pusat Bahan Ajar dan eLearning http://www.mercubuana.ac.id



Pembelajaran sebagai Permasalahan Optimasi



2020



3



Deep Learning



Pusat Bahan Ajar dan eLearning http://www.mercubuana.ac.id



2020



4



Deep Learning



Pusat Bahan Ajar dan eLearning http://www.mercubuana.ac.id



2020



5



Deep Learning



Pusat Bahan Ajar dan eLearning http://www.mercubuana.ac.id



Sumber: Putra, J.W.G., 2019. Pengenalan Konsep Pembelajaran Mesin dan Deep Learning. Tokyo. Jepang.



2020



6



Deep Learning



Pusat Bahan Ajar dan eLearning http://www.mercubuana.ac.id



Stochastic Gradient Descent



2020



7



Deep Learning



Pusat Bahan Ajar dan eLearning http://www.mercubuana.ac.id



Sumber: Heryadi, Y. and Irwansyah, E., 2020. Deep Learning: Aplikasinya di Bidang Geospasial. AWI Technology Press.



2020



8



Deep Learning



Pusat Bahan Ajar dan eLearning http://www.mercubuana.ac.id



Perhitungan Manual Gradient Descent Optimasi pada Neural Network merupakan algoritma yang dapat mencari nilai optimal, baik itu dengan meminimalkan ataupun memaksimalkan fungsi objektif (fungsi kesalahan). Sederhananya, output dari semua proses perhitungan dalam Neural Network dipelajari dan diperbarui kearah solusi yang optimal, yaitu dengan meminimalkan kerugian dengan proses Training. Pada umumnya, optimasi dibagi menjadi 2 kategori yaitu algoritma optimasi orde pertama yaitu menggunakan nilai Gradient dan algoritma optimasi orde selanjutnya yang menggunakan Hessian. Perbandingan dari kedua jenis tersebut adalah pada teknik optimasi orde pertama mudah untuk dihitung, lebih sedikit memakan waktu dan cukup cepat dalam memproses dataset yang besar. Sedangkan pada teknik optimasi orde kedua lebih cepat hanya jika derifativ parsial kedua diketahui, namun teknik ini selalu lebih lambat dan mahal untuk diproses dalam hal waktu dan memori [1]. Pada tulisan ini, saya hanya akan membahas algoritma optimasi yang menggunakan nilai Gradient.



Gradient Descent Gradient merupakan nilai kemiringan atau kecondongan suatu garis yang membandingkan antara komponen y (ordinat) dengan komponen x (absis) [1]. Gradient disini merupakan nilai kemiringan suatu fungsi, yaitu tingkat perubahan parameter terhadap jumlah parameter lain. Secara matematis, gradient dapat digambarkan sebagai turunan parsial dari serangkaian parameter terhadap inputnya. Semakin banyak gradient maka semakin curam lerengnya [2]. Gradient Descent juga digambarkan sebagai iterasi yang digunakan untuk menemukan nilai optimal dari parameter dengan menggunakan kalkulus untuk menemukan nilai minimum. Gradient Descent digunakan untuk pembaruan bobot dalam Neural Network dengan cara meminimalkan loss function. Proses Gradient Descent ini terjadi pada fase backpropagation. Gradient Descent adalah proses yang terjadi pada fase backpropagation di mana tujuannya adalah untuk secara terus-menerus mengubah gradien parameter model dalam arah yang berlawanan berdasarkan bobot w, memperbarui secara konsisten hingga kami mencapai fungsi global minimum J (w). [4].



2020



9



Deep Learning



Pusat Bahan Ajar dan eLearning http://www.mercubuana.ac.id



Ilustrasi Proses Gradient Descent



Dari ilustrasi di atas, dapat dilihat bahwa terdapat proses pembaruan bobot dalam proses balik dari Gradient pada bobot. Kurva berbentuk U merupakan Gradient. Seperti dalam ilustrasi, jika bobot terlalu besar ataupun terlalu kecil maka model akan memiliki nilai error yang besar. Jadi, untuk mendapatkan kesalahan minimum maka harus terus dihitung update parameter sampai mendapatkan error yang minimum. Berikut merupakan formula dari update parameter menggunakan Gradient Descent:



Update Bobot Menggunakan Gradient



Dimana θ merupakan bobot (weight) yang dibawa dari Neural Network. η merupakan learning rate yang telah diset sebelumnya. ∇� merupakan Gradient Descent terhadap bobot.



Contoh Perhitungan



Agar kita lebih memahami proses update bobot menggunakan Gradient Descent. Saya akan menjelaskannya melalui sebuah contoh. Anggaplah kita mempunyai dataset berupa harga ikan louhan dilihat dari ukuran tonjolan pada dahinya (jenongnya). Tugas dari model yang akan kita buat adalah untuk memprediksi harga berdasarkan ukuran jenong dari ikan louhan.



Dataset



2020



10



Deep Learning



Pusat Bahan Ajar dan eLearning http://www.mercubuana.ac.id



Inisialisasi ukuran sebagai X, dan harga sebagai Y. Selanjutnya, konversi dataset ke dalam min-max standardization dengan rumus:



Min-Max Standardization



Berikut merupakan hasil konversi dari dataset menjadi Min-Max Standardization.



Hasil Konversi ke Nilai Min-Max Standardization



Selanjutnya, untuk memulai proses perhitungan, kita awali dengan bobot random (a, b) dan hitung kesalahan prediksi, pada tulisan ini kita coba menggunakan Sum Of Squared Errors (SSE) dengan rumus:



Persamaan SSE



Adapun hasil perhitungan dapat dilihat pada tabel berikut:



2020



11



Deep Learning



Pusat Bahan Ajar dan eLearning http://www.mercubuana.ac.id



Langkah selanjutnya adalah dengan menghitung error Gradient pada bobot dengan menggunakan persamaan :



Persamaan Gradient



Kedua persamaan diatas adalah Gradient yang memberikan arah pergerakan bobot (a, b) ke kesalahan prediksi (SSE). Adapun hasil dari perhitungannya adalah sebagai berikut:



Tabel Hasil Perhitungan Gradient



Selanjutnya update bobot awal yang sebelumnya kita atur secara random menggunakan rumus yang telah disebutkan di atas. Sehingga persamaanya akan menjadi seperti berikut:



Pada tulisan ini, kita atur learning rate(η) dengan nilai 0,01 sebagai proses penyesuaian bobot. Selanjutnya prediksi kembali dan hitung juga total errornya menggunakan nilai bobot yang baru. Sehingga didapat hasil sebagai berikut:



2020



12



Deep Learning



Pusat Bahan Ajar dan eLearning http://www.mercubuana.ac.id



Hasil Prediksi dan Total Error Menggunakan Bobot Baru



Dari tabel di atas, dapat dilihat penurunan nilai error dari 0,331 pada bobot sebelumnya menjadi 0,295 dengan bobot baru. Dengan demikian akurasi prediksi mengalami peningkatan. Terus ulangi langkah di atas hingga tidak ada penurunan nilai error yang signifikan. Saat tidak ada penurunan error yang signifikan berarti bobot telah mencapai nilai optimalnya dengan akurasi prediksi yang tertinggi. Demikian algoritma Gradient Descent untuk update bobot dengan cara meminimalkan fungsi error. Perlu diketahui bahwa terdapat banyak algoritma lain yang dapat digunakan untuk optimasi Neural Network, Gradient Descent hanyalah salah satunya. Gradient Descent pun mempunyai beberapa tipe seperti Batch Gradient Descent, Stochastic Gradien Descent, Mini Batch Gradient Descent dan lain sebagainya. Mungkin itu semua akan dibahas pada tulisan saya selanjutnya.



Sumber: Salim, A. 2020. Perhitungan Manual Optimasi Menggunakan Gradient Descent. Diakses melalui: https://medium.com/bisa-ai/perhitungan-manual-optimasi-menggunakangradient-descent-a5f2f28db81b



2020



13



Deep Learning



Pusat Bahan Ajar dan eLearning http://www.mercubuana.ac.id



Daftar Pustaka Seluruh konten modul ini secara keseluruhan diambil dari: 1. 2. 3. Buku 1. 2. 3. 4. 5. 6. 7.



Putra, J.W.G., 2019. Pengenalan Konsep Pembelajaran Mesin dan Deep Learning. Tokyo. Jepang. Heryadi, Y. and Irwansyah, E., 2020. Deep Learning: Aplikasinya di Bidang Geospasial. AWI Technology Press. Salim, A. 2020. Perhitungan Manual Optimasi Menggunakan Gradient Descent. Diakses melalui: https://medium.com/bisa-ai/perhitungan-manual-optimasi-menggunakan-gradient-descenta5f2f28db81b Fikri Aldi Nugraha, Nisa Hanum Harani, Roni Habibi. 2020. Analisis Sentimen Terhadap Pembatasan Sosial Menggunakan Deep Learning. Kreatif Industri Nusantara Putra, J.W.G., 2019. Pengenalan Konsep Pembelajaran Mesin dan Deep Learning. Tokyo. Jepang. Ivan Vasilev. 2019. Advanced Deep Learning with Python: Design and implement advanced nextgeneration AI solutions using TensorFlow and PyTorch. Packt Publishing Ltd Goodfellow, I., Bengio, Y., Courville, A. and Bengio, Y., 2016. Deep learning (Vol. 1). Cambridge: MIT press. Ketkar, N. and Santana, E., 2017. Deep Learning with Python (Vol. 1). Berkeley, CA: Apress. Gulli, A. and Pal, S., 2017. Deep learning with Keras. Packt Publishing Ltd. Jason Brownlee. 2016. Deep Learning With Python: Develop Deep Learning Models on Theano and TensorFlow Using Keras. Machine Learning Mastery



Artikel Ilmiah 1.



LeCun, Y., Bengio, Y. and Hinton, G., 2015. Deep learning. nature, 521(7553), pp.436-444. https://www.nature.com/articles/nature14539 2. Esteva, A., Robicquet, A., Ramsundar, B., Kuleshov, V., DePristo, M., Chou, K., Cui, C., Corrado, G., Thrun, S. and Dean, J., 2019. A guide to deep learning in healthcare. Nature medicine, 25(1), pp.24-29. https://www.nature.com/articles/s41591-018-0316-z 3. Nurhaida, I., Ayumi, V., Fitrianah, D., Zen, R.A., Noprisson, H. and Wei, H., 2020. Implementation of deep neural networks (DNN) with batch normalization for batik pattern recognition. International Journal of Electrical & Computer Engineering (2088-8708), 10. http://ijece.iaescore.com/index.php/IJECE/article/view/15467 4. Ayumi, V., Rere, L.R., Fanany, M.I. and Arymurthy, A.M., 2016, October. Optimization of convolutional neural network using microcanonical annealing algorithm. In 2016 International Conference on Advanced Computer Science and Information Systems (ICACSIS) (pp. 506-511). IEEE. https://ieeexplore.ieee.org/document/7872787 5. Min, S., Lee, B. and Yoon, S., 2017. Deep learning in bioinformatics. Briefings in bioinformatics, 18(5), pp.851-869. https://academic.oup.com/bib/article/18/5/851/ 2562808 6. Ravì, D., Wong, C., Deligianni, F., Berthelot, M., Andreu-Perez, J., Lo, B. and Yang, G.Z., 2016. Deep learning for health informatics. IEEE Journal of Biomedical and Health Informatics, 21(1), pp.4-21. https://ieeexplore.ieee.org/abstract/document/ 7801947/ 7. Shen, D., Wu, G. and Suk, H.I., 2017. Deep learning in medical image analysis. Annual review of biomedical engineering, 19, pp.221-248. https://www.annualreviews.org/doi/abs/10.1146/annurev-bioeng-071516-044442 8. Kamilaris, A. and Prenafeta-Boldú, F.X., 2018. Deep learning in agriculture: A survey. Computers and electronics in agriculture, 147, pp.70-90. https://www.sciencedirect.com/science/article/abs/pii/S0168169917308803 9. Young, T., Hazarika, D., Poria, S. and Cambria, E., 2018. Recent trends in deep learning based natural language processing. IEEE Computational Intelligence Magazine, 13(3), pp.55-75. https://ieeexplore.ieee.org/abstract/document/8416973 10. Miotto, R., Wang, F., Wang, S., Jiang, X. and Dudley, J.T., 2018. Deep learning for healthcare: review, opportunities and challenges. Briefings in bioinformatics, 19(6), pp.1236-1246. https://academic.oup.com/bib/article-abstract/19/6/1236/3800524



2020



14



Deep Learning



Pusat Bahan Ajar dan eLearning http://www.mercubuana.ac.id