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]