diff --git a/id/cheatsheet-deep-learning.md b/id/cheatsheet-deep-learning.md
new file mode 100644
index 000000000..5423e6d1c
--- /dev/null
+++ b/id/cheatsheet-deep-learning.md
@@ -0,0 +1,321 @@
+**1. Deep Learning cheatsheet**
+
+⟶Deep Learning cheatsheet
+
+
+
+**2. Neural Networks**
+
+⟶Jaringan Saraf
+
+
+
+**3. Neural networks are a class of models that are built with layers. Commonly used types of neural networks include convolutional and recurrent neural networks.**
+
+⟶*Neural networks* adalah sebuah kelas model yang dibentuk dari beberapa lapisan. Tipe-tipe jaringan ini meliputi jaringan konvolusi dan *recurrent neural networks*.
+
+
+
+**4. Architecture ― The vocabulary around neural networks architectures is described in the figure below:**
+
+⟶Arsitektur ― Kosa kata seputar arsitektur jaringan saraf dijelaskan pada gambar di bawah ini:
+
+
+
+**5. [Input layer, hidden layer, output layer]**
+
+⟶[Layer masukan, layer hidden (layer antara layer masukan dan keluaran), layer keluaran]
+
+
+
+**6. By noting i the ith layer of the network and j the jth hidden unit of the layer, we have:**
+
+⟶Dengan menuliskan i sebagai lapisan ke-i dari network dan j sebagai hidden unit ke-j dari lapisan, kita mendapatkan:
+
+
+
+**7. where we note w, b, z the weight, bias and output respectively.**
+
+⟶di mana kita menulis w, b, z sebagai secara berturut-turut bobot, simpangan, dan keluaran.
+
+
+
+**8. Activation function ― Activation functions are used at the end of a hidden unit to introduce non-linear complexities to the model. Here are the most common ones:**
+
+⟶Fungsi aktivasi - Fungsi aktivasi digunakan oleh sebuah hidden unit akhir untuk mengenalkan kompleksitas non-linear kepada mode tersebut. Berikut ini adalah fungsi aktivasi yang sering digunakan:
+
+
+
+**9. [Sigmoid, Tanh, ReLU, Leaky ReLU]**
+
+⟶[Sigmoid, Tanh, ReLU, Leaky ReLU]
+
+
+
+**10. Cross-entropy loss ― In the context of neural networks, the cross-entropy loss L(z,y) is commonly used and is defined as follows:**
+
+⟶*Cross-entropy loss* - Pada neural network, *cross-entropy loss* L(z,y) adalah fungsi loss yang umumnya digunakan dan didefinisikan sebagai berikut:
+
+
+
+**11. Learning rate ― The learning rate, often noted α or sometimes η, indicates at which pace the weights get updated. This can be fixed or adaptively changed. The current most popular method is called Adam, which is a method that adapts the learning rate.**
+
+⟶*Learning rate* - *Learning rate*, sering dituliskan sebagai α atau η, menunjukkan seberapa cepat nilai *weight* dapat diperbaharui. *Learning rate* bisa dimanipulasi atau diubah secara adaptif. Metode yang paling terkenal saat ini adalah Adam, sebuah method yang mengubah *learning rate* secara adaptif.
+
+
+
+**12. Backpropagation ― Backpropagation is a method to update the weights in the neural network by taking into account the actual output and the desired output. The derivative with respect to weight w is computed using chain rule and is of the following form:**
+
+⟶*Backpropagation* - *Backpropagation* adalah sebuah metode untuk mengubah nilai *weight* pada *neural network* dengan mempertimbangkan perbedaan dari keluaran prediksi dan keluaran yang diinginkan. Turunan terhadap *weight* w dihitung menggunakan *chain rule* dan dapat diformulasikan dengan:
+
+
+
+**13. As a result, the weight is updated as follows:**
+
+⟶Akibatnya, nilai *weight* diubah dengan formula sebagai berikut:
+
+
+
+**14. Updating weights ― In a neural network, weights are updated as follows:**
+
+⟶Mengubah nilai weight - Pada neural network, nilai weight diubah dengan tahapan sebagai berikut:
+
+
+
+**15. Step 1: Take a batch of training data.**
+
+⟶Tahap 1: Ambil sebuah *batch* (sample, contoh dari 100 training data ambil 50 data) dari *training data*.
+
+
+
+**16. Step 2: Perform forward propagation to obtain the corresponding loss.**
+
+⟶Tahap 2: Lakukan perhitungan *forward propagation* untuk memperoleh data dari *loss* yang bersangkutan.
+
+
+
+**17. Step 3: Backpropagate the loss to get the gradients.**
+
+⟶Lakukan perhitungan backpropagate dengan nilai loss untuk mendapatkan nilai gradien.
+
+
+
+**18. Step 4: Use the gradients to update the weights of the network.**
+
+⟶Ubah nilai weight berdasarkan nilai gradien.
+
+
+
+**19. Dropout ― Dropout is a technique meant at preventing overfitting the training data by dropping out units in a neural network. In practice, neurons are either dropped with probability p or kept with probability 1−p**
+
+⟶*Droput* - *Dropout* adalah sebuah teknik yang digunakan untuk mencegah *overfitting* pada saraf tiruan dengan memutus unit yang terdapat pada sebuah *neural network*. Dalam praktiknya, neuron dikurangi dengan probabilitas p atau dipertahankan dengan probabilitas 1-p
+
+
+
+**20. Convolutional Neural Networks**
+
+⟶*Convolutional Neural Network*
+
+
+
+**21. Convolutional layer requirement ― By noting W the input volume size, F the size of the convolutional layer neurons, P the amount of zero padding, then the number of neurons N that fit in a given volume is such that:**
+
+⟶Ketentuan layer konvolusi - Dengan mendefinisikan W sebagai masukan dari ukuran volume (dimensi), F sebagai besaran neuron dari layer konvolusi, P sebagai jumlah *zero padding*, maka jumlah neuron N yang sesuai dengan ukuran dimensi masukan adalah:
+
+
+
+**22. Batch normalization ― It is a step of hyperparameter γ,β that normalizes the batch {xi}. By noting μB,σ2B the mean and variance of that we want to correct to the batch, it is done as follows:**
+
+⟶ Normalisasi batch - Normalisasi batch adalah sebuah langkah untuk menormalisasi batch {xi}. Dengan mendefinisikan μB,σ2B sebagai nilai rata-rata dan variansi dari batch yang ingin kita normalisasi, hal tersebut dapat dilakukan dengan cara:
+
+
+
+**23. It is usually done after a fully connected/convolutional layer and before a non-linearity layer and aims at allowing higher learning rates and reducing the strong dependence on initialization.**
+
+⟶Normalisasi *batch* - Normalisasi *batch* adalah sebuah langkah dari hiperparameter γ,β untuk menormalisasi *batch* {xi}. Dengan mendefinisikan μB,σ2B sebagai nilai rata-rata dan variansi dari *batch* yang ingin kita normalisasi, hal tersebut dapat dilakukan dengan cara:
+
+
+
+**24. Recurrent Neural Networks**
+
+⟶*Recurrent Neural Networks*
+
+
+
+**25. Types of gates ― Here are the different types of gates that we encounter in a typical recurrent neural network:**
+
+⟶Tipe-tipe gerbang - Dibawah ini merupakan beberapa jenis gerbang yang biasa ditemui pada recurrent neural network:
+
+
+
+**26. [Input gate, forget gate, gate, output gate]**
+
+⟶[Gerbang masukan, gerbang lupa (untuk melupakan informasi), gerbang, gerbang keluaran]
+
+
+
+**27. [Write to cell or not?, Erase a cell or not?, How much to write to cell?, How much to reveal cell?]**
+
+⟶Menulis ke sel atau tidak?, Hapus sebuah sel atau tidak?, Berapa banyak penulisan ke sel?, Berapa banyak yang disampaikan ke sel?]
+
+
+
+**28. LSTM ― A long short-term memory (LSTM) network is a type of RNN model that avoids the vanishing gradient problem by adding 'forget' gates.**
+
+⟶LSTM - Long short-term memory (LSTM) network adalah sebuah tipe model dari RNN yang mencegah permasalahan vanishing gradien (nilai gradien menjadi 0) dengan menambahkan gerbang 'lupa':
+
+
+
+**29. Reinforcement Learning and Control**
+
+⟶*Reinforcement Learning* dan Kontrol
+
+
+
+**30. The goal of reinforcement learning is for an agent to learn how to evolve in an environment.**
+
+⟶Tujuan dari reinforcement learning adalah menjadikan sebuah agen (contoh: robot) dapat belajar untuk menyesuaikan diri terhadap lingkungan sekelilingnya.
+
+
+
+**31. Definitions**
+
+⟶Definisi-definisi
+
+
+
+**32. Markov decision processes ― A Markov decision process (MDP) is a 5-tuple (S,A,{Psa},γ,R) where:**
+
+⟶Markov decision processes- Markov decision process (MDP) adalah sebuah 5-tuple(S,A,{Psa},γ,R) dimana:
+
+
+
+**33. S is the set of states**
+
+⟶S adalah set dari state-state (tahap-tahap)
+
+
+
+**34. A is the set of actions**
+
+⟶A adalah set dari aksi-aksi
+
+
+
+**35. {Psa} are the state transition probabilities for s∈S and a∈A**
+
+⟶{Psa} adalah transisi probabilitas dari satu state ke state lainnya untuk s∈S and a∈A
+
+
+
+**36. γ∈[0,1[ is the discount factor**
+
+⟶γ∈[0,1[ adalah faktor diskon
+
+
+
+**37. R:S×A⟶R or R:S⟶R is the reward function that the algorithm wants to maximize**
+
+⟶R:S×A⟶R or R:S⟶R adalah fungsi reward (hadiah) yang algoritma ingin untuk maksimalkan nilai keluarannya
+
+
+
+**38. Policy ― A policy π is a function π:S⟶A that maps states to actions.**
+
+⟶Kebijakan ― Sebuah kebijakan adalah sebuah fungsi π:S⟶A yang memetakan tahap-tahap ke aksi-aksi.
+
+
+
+**39. Remark: we say that we execute a given policy π if given a state s we take the action a=π(s).**
+
+⟶Catatan: kita mengatakan bahwa kita menjalankan sebuah kebijakan π jika diberikan sebuah *state* s maka kita mengambil tindakan a=π(s).
+
+
+
+**40. Value function ― For a given policy π and a given state s, we define the value function Vπ as follows:**
+
+⟶Fungsi *value* - Untuk sebuah kebijakan π dan sebuah state s, kita mendefinisikan fungsi *value* Vπ sebagai berikut:
+
+
+
+**41. Bellman equation ― The optimal Bellman equations characterizes the value function Vπ∗ of the optimal policy π∗:**
+
+⟶Persamaan Bellman - Persamaan optimal Bellman bercirikan dengan fungsi *value* Vπ∗ dari kebijakan yang terbaik π∗:
+
+
+
+**42. Remark: we note that the optimal policy π∗ for a given state s is such that:**
+
+⟶Perlu diperhatikan: kita mendefinisikan bahwa kebijakan optimal π∗ untuk state yang diberikan sebagai:
+
+
+
+**43. Value iteration algorithm ― The value iteration algorithm is in two steps:**
+
+⟶Algoritma value iteration - Algoritma value iteration memiliki dua tahap:
+
+
+
+**44. 1) We initialize the value:**
+
+⟶Kita menginialisasi *value*
+
+
+
+**45. 2) We iterate the value based on the values before:**
+
+⟶Kita melakukan *iterasi value* berdasarkan *value* sebelumnya:
+
+
+
+**46. Maximum likelihood estimate ― The maximum likelihood estimates for the state transition probabilities are as follows:**
+
+⟶Estimasi maksimum likelihood - Estimasi maksimum likelihood untuk probabilitas transisi antara state-state didefinisikan sebagai berikut:
+
+
+
+**47. times took action a in state s and got to s′**
+
+⟶Masa melakukan aksi a pada *state* s dan menuju *state* s
+
+
+
+**48. times took action a in state s**
+
+⟶Jumlah melakukan aksi a pada state s
+
+
+
+**49. Q-learning ― Q-learning is a model-free estimation of Q, which is done as follows:**
+
+⟶Q-learning - Q-learning adalah teknik estimasi tanpa menggunakan model dari Q, yang diformulasikan sebagai berikut:
+
+
+
+**50. View PDF version on GitHub**
+
+⟶Lihat versi PDF pada GitHub
+
+
+
+**51. [Neural Networks, Architecture, Activation function, Backpropagation, Dropout]**
+
+⟶[*Neural Network*, Arsitektur, Fungsi-fungsi Aktivasi, *Backpropagation*, *Dropout*]
+
+
+
+**52. [Convolutional Neural Networks, Convolutional layer, Batch normalization]**
+
+⟶[*Convolutional Neural Network*, Layer Konvolusi, *Batch normalization*]
+
+
+
+**53. [Recurrent Neural Networks, Gates, LSTM]**
+
+⟶[Recurrent Neural Network, Gerbang-gerbang, LSTM]
+
+
+
+**54. [Reinforcement learning, Markov decision processes, Value/policy iteration, Approximate dynamic programming, Policy search]**
+
+⟶[*Reinforcement learning*, *Markov decision processes*, Iterasi Value/kebijakan, *Approximate dynamic programming*, Pencarian kebijakan]