Penurunan gradien atau gradient descent adalah algoritme yang digunakan untuk mencari nilai minimum lokal yang dapat dihasilkan dari suatu fungsi parametrik. Teknik ini didasarkan pada fakta bahwa nilai gradien dari suatu fungsi pada titik tertentu menyatakan kemiringan lereng dari nilai tersebut terhadap titik di sekitarnya sehingga nilai minimum dapat diraih dengan mengurangi nilai titik tersebut dengan nilai gradien. Algoritme ini dapat dibalik untuk tujuan mencari nilai maksimum dengan cara menambahkan suatu nilai titik dengan gradien fungsinya pada titik tersebut. Algoritme ini sangat umum digunakan pada teknik Regresi maupun Pemelajaran mesin untuk mencari variabel pada fungsi galat sehingga suatu fungsi dapat memodelkan data dengan galat yang minimum.
Diketahui suatu fungsi yang merupakan fungsi yang dapat diturunkan dengan turunan . Kemudian fungsi dimulai dengan menginisiasi suatu titik dan mencari nilai gradiennya sehingga titik yang lebih minimum dari (sebut saja ) dapat dicari dengan menghitung di mana merupakan nilai skalar yang disebut "laju belajar" (learning rate) yang semakin besar nilainya dapat menyebabkan nilai turun lebih cepat namun rawan terhadap "loncatan". Algoritme ini dijalankan secara terus menerus selama beberapa langkah hingga mencapai titik di mana gradien bernilai 0 atau dalam kata lain titik berada di tengah-tengah lembah.