Bentuk dari fungsi sigmoid adalah sebagai berikut:
Saat kita melakukan proses deep learning (neural networks), maka untuk bisa mengupdate bobot dari setiap neuron (perceptron), kita harus melakukan proses yang disebut dengan backpropagation. Untuk bisa melakukannya maka kita harus menghitung turunan dari sebuah activation function.
Kali ini saya akan bahas cara menurunkan sigmoid activation function.
Bentuk turunan (derivative) dari fungsi sigmoid di atas adalah sebagai berikut:
Untuk bisa menghitung dan menjabarkan fungsi di atas, kita butuh quotient rule seperti di bawah ini:
Dengan quotient rule di atas, sekarang kita bisa tuliskan lagi fungsi turunannya menjadi:
Jika dihitung, maka hasilnya sekarang menjadi seperti ini:
Pada tahap ini sebenarnya kita sudah selesai menurunkan fungsi sigmoid, tapi sekarang fungsi ini belum bisa digunakan untuk backpropagation. Ada tahapan unik yang harus kita lakukan, yaitu dengan menambahkan perhitungan matematis di fungsinya, namun jangan sampai merubah fungsinya, menjadi seperti ini:
Dengan adanya penambahan (1-1), fungsinya sebenarnya tidak berubah, karena nilai (1-1) adalah nol, yang jika ditambahkan dengan angka pembilang (e pangkat -x) tidak merubah pembilangnya.
Sekarang kita bisa membagi fungsi di atas menjadi 2, seperti berikut:
Sekarang sudah kita bagi (split) fungsinya menjadi 2 bagian. Perlu diperhatikan bahwa fungsi ini sama seperti fungsi sebelumnya.
Sekarang, pada bagian kiri, pembilang dan penyebutnya sama. Yang berbeda pembilangnya berpangkat 1, sementara penyebutnya berpangkat 2. Kita bisa sederhanakan lagi menjadi seperti ini:
Sekarang bentuknya lebih sederhana. Belum selesai, kita bisa sederhanakan lagi menjadi seperti berikut:
Perhatikan! Sekarang dua bagian kiri dan kanan sebenarnya adalah bentuk dari fungsi sigmoid itu sendiri. Dengan demikian bisa kita sederhanakan lagi, menjadi fungsi akhir seperti ini:
Sekarang kita sudah memiliki bentuk akhir dari turunan fungsi sigmoid. Fungsi ini sangat magic, karena bentuknya yang sangat ringkas dan sangat berguna dalam melakukan proses backpropagation.
Nilai S(x) sudah kita dapatkan saat melakukan forward propagation, di mana nilai S(x) adalah nilai output dari layer di depannya. Dengan demikian, proses perhitungan (komputasi) backpropagation bisa dilakukan dengan sangat cepat.
Sangat membatu sekali artikel ini! Terimakasih pak 🙂
Thank you.