Sejak pertama kali komputer diciptakan manusia sudah memikirkan bagaimana caranya agar komputer dapat belajar dari pengalaman. Hal tersebut terbukti pada tahun 1952, Arthur Samuel menciptakan sebuah program, game of checkers, pada sebuah komputer IBM. Program tersebut dapat mempelajari gerakan untuk memenangkan permainan checkers dan menyimpan gerakan tersebut kedalam memorinya.
Manusia telah lama memimpikan mesin yang dapat “berfikir”, bahkan sejak zaman Yunani kuno, seperti Talos dalam mitos Yunani kuno. Talos digambarkan sebagai automaton ( semacam robot) yang terbuat dari perunggu yang diciptakan untuk melindungi Eropa. Keingintahuan manusia terus berlanjut sampai komputer pertama kali ditemukan, para insinyur dan ilmuan bertanya-tanya apakah komputer suatu hari mampu “berfikir”. Rasa ingin tahu tersebut telah melahirkan salah satu bidang ilmu komputer yang disebut kecerdasan buatan ( Artificial Intelligence ). Kecerdasan buatan adalah studi tentang teori dan pengembangan sistem komputer agar mampu melakukan tugas-tugas yang dahulu hanya dapat dilakukan oleh manusia.
Dengan berkembangnya teknologi kecerdasan buatan, muncul salah satu cabang kecerdasan buatan yang memperoleh banyak perhatian dari para peneliti yang disebut machine learning. Machine Learning mempelajari teori agar komputer mampu “belajar” dari data, machine learning melibatkan berbagai disiplin ilmu seperti statistika, ilmu komputer, matematika dan bahkan neurologi. Salah satu algoritma machine learning yang menarik adalah jaringan saraf tiruan, seperti namanya jaringan saraf tiruan terinspirasi dari cara kerja otak manusia ( yang disederhanakan ). Secara intuisi mencari inspirasi untuk membuat mesin mampu “berfikir” dari cara kerja otak adalah langkah yang bagus sama halnya seperti ingin membuat alat yang mampu terbang dengan melihat cara kerja burung terbang.
Istilah machine learning pada dasarnya adalah proses komputer untuk belajar dari data (learn from data). Tanpa adanya data, komputer tidak akan bisa belajar apa-apa. Oleh karena itu jika kita ingin belajar machine learning, pasti akan terus berinteraksi dengan data. Semua pengetahuan machine learning pasti akan melibatkan data. Data bisa saja sama, akan tetapi algoritma dan pendekatan nya berbeda-beda untuk mendapatkan hasil yang optimal.
Dalam salah satu model jaringan saraf tiruan yang disebut MLP ( multi layer perceptron ) dikenal istilah layer, beberapa neuron tiruan dikelompokan menjadi satu layer kemudian layer satu menjadi input bagi layer yang lain, MLP sebenarnya adalah model ( matematika ) yang terdiri dari komposisi-komposisi fungsi dari vektor ke vektor, model ini biasanya di-train menggunakan algortima optimisasi berbasis gradien seperti gradient descent, berbagai masalah muncul ketika model jaringan saraf tiruan memiliki banyak layer, salah satu masalah yang terkenal disebut the vanishing gradient, masalah ini muncul karena jaringan saraf tiruan dengan banyak layer sebenarnya adalah fungsi yang terdiri dari banyak komposisi fungsi sehingga ketika menghitung gradien terhadap parameter dari fungsi tersebut, kita harus menggukan aturan rantai yang menyebabkan gradien parameternya bernilai kecil sehingga algoritma gradient descent berjalan lambat.