From 2f7bbd8744291a1972dfce5fa9183d375f7a97ab Mon Sep 17 00:00:00 2001 From: proceduralia <15056362+proceduralia@users.noreply.github.com> Date: Wed, 17 Oct 2018 23:47:11 +0200 Subject: [PATCH 1/3] Translated deep learning cheatsheet in Italian --- it/cheatsheet-deep-learning.md | 291 +++++++++++++++++++++++++++++++++ 1 file changed, 291 insertions(+) create mode 100644 it/cheatsheet-deep-learning.md diff --git a/it/cheatsheet-deep-learning.md b/it/cheatsheet-deep-learning.md new file mode 100644 index 000000000..f93bce46f --- /dev/null +++ b/it/cheatsheet-deep-learning.md @@ -0,0 +1,291 @@ +**1. Deep Learning cheatsheet** + +⟶ Formulario di apprendimento profondo + +
+ +**2. Neural Networks** + +⟶ Reti Neurali + +
+ +**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.** + +⟶ Le reti neurali sono una classe di modelli composte da vari livelli. Le reti neurali convoluzionali e le reti neurali ricorrenti sono tipi di reti neurali usati comunemente. + +
+ +**4. Architecture ― The vocabulary around neural networks architectures is described in the figure below:** + +⟶ Architettura ― Il vocabolario riguardante le architetture delle reti neurali è illustrato nella figura sottostante: + +
+ +**5. [Input layer, hidden layer, output layer]** + +⟶ [Livello di ingresso, livello nascosto, livello di uscita] + +
+ +**6. By noting i the ith layer of the network and j the jth hidden unit of the layer, we have:** + +⟶ Dato i i-esimo livello della rete e j j-esima unità nascosta del livello, abbiamo: + +
+ +**7. where we note w, b, z the weight, bias and output respectively.** + +⟶ dove indichiamo con w, b, z rispettivamente il peso, il bias e l'uscita. + +
+ +**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:** + +⟶ Funzione d'attivazione ― Le funzioni di attivazione sono usate alla fine di una unità nascosta per introdurre complessità non lineare al modello. Di seguito le più comuni: + +
+ +**9. [Sigmoid, Tanh, ReLU, Leaky ReLU]** + +⟶ [Sigmoide, 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:** + +⟶ Funzione di perdita entropia incrociata ― In ambito reti neurali, l'entropia incrociata L(z,y) è comunemente usata ed è definita come segue: + +
+ +**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.** + +⟶ Tasso di apprendimento ― Il tasso di apprendimento, spesso chiamato α o a volte η, indica con quale passo sono aggiornati i pesi. Questo può essere fisso o cambiato in maniera adattiva. Il metodo attualmente più popolare si chiama Adam, un metodo che adatta il tasso di apprendimento. + +
+ +**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:** + +⟶ Retropropagazione dell'errore ― La retropropagazione dell'errore è un metodo per aggiornare i pesi della rete neurale tenendo in considerazione l'uscita effettiva e l'uscita desiderata. La derivata rispetto al peso w è calcolata utilizzando la regola della catena ed è del seguente tipo: + +
+ +**13. As a result, the weight is updated as follows:** + +⟶ Di conseguenza, il peso è aggiornato come segue: + +
+ +**14. Updating weights ― In a neural network, weights are updated as follows:** + +⟶ Aggiornare i pesi ― In una rete neurale, i pesi sono aggiornati nel seguente modo: + +
+ +**15. Step 1: Take a batch of training data.** + +⟶ Passo 1: Prendere un gruppo di dati per l'apprendimento. + +
+ +**16. Step 2: Perform forward propagation to obtain the corresponding loss.** + +⟶ Passo 2: Effettuare la propagazione in avanti per ottenere il corrispondente valore della funzione di perdita. + +
+ +**17. Step 3: Backpropagate the loss to get the gradients.** + +⟶ Passo 3: Effettuare la retropropagazione per ottenere i gradienti. + +
+ +**18. Step 4: Use the gradients to update the weights of the network.** + +⟶ Passo 4: Utilizzare i gradienti per aggiornare i pesi della rete. + +
+ +**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** + +⟶ Dropout ― Il dropout è una tecnica per prevenire l'eccessivo adattamento ai dati di allenamento attraverso la disattivazione di alcune unità in una rete neurale. In pratica, i neuroni sono o disattivati con probabilità p o mantenuti attivi con probabilità 1-p + +
+ +**20. Convolutional Neural Networks** + +⟶ Reti neurali convoluzionali + +
+ +**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:** + +⟶ Requisito per un livello convoluzionale ― Chiamando W la dimensione in ingresso, F la dimensione dei neuroni del livello convoluzionale, P la quantità di margine nullo, allora il numero di neuroni N che entra in un certo volume è tale che: + +
+ +**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:** + +⟶ Normalizzazione di batch ― È un passo di iperparametri γ,β che normalizza il batch {xi}. Denotando μB,σ2B la media e la varianza di ciò che vogliamo correggere nel batch, è eseguita nel seguente modo: + +
+ +**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.** + +⟶ È solitamente utilizzata dopo un livello completamente connesso o convoluzionale e prima di una non linearità e mira a consentire maggiori tassi di apprendimento e a ridurre la forte dipendenza dall'inizializzazione. + +
+ +**24. Recurrent Neural Networks** + +⟶ Reti Neurali Ricorrenti + +
+ +**25. Types of gates ― Here are the different types of gates that we encounter in a typical recurrent neural network:** + +⟶ Tipi di porte ― Seguono i diversi tipi di porte che vediamo in una tipica rete neurale ricorrent: + +
+ +**26. [Input gate, forget gate, gate, output gate]** + +⟶ [Porta d'ingresso, porta di cancellatura, porta, porta di uscita] + +
+ +**27. [Write to cell or not?, Erase a cell or not?, How much to write to cell?, How much to reveal cell?]** + +⟶ [Scrivere la cellula o no?, Cancellare la cellula o no? Quanto scrivere sulla cellula? Quanto rivelare la cellula?] + +
+ +**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 ― Una memoria a breve-lungo termine è un tipo di modello ricorrente che impedisce il fenomeno della scomparsa del gradiente aggiungendo porte di cancellatura. + +
+ +**29. Reinforcement Learning and Control** + +⟶ Apprendimento per rinfornzo e Controllo + +
+ +**30. The goal of reinforcement learning is for an agent to learn how to evolve in an environment.** + +⟶ L'obiettivo dell'apprendimento per rinfornzo è che un agente apprenda come evolvere in un ambiente. + +
+ +**31. Definitions** + +⟶ Definizioni + +
+ +**32. Markov decision processes ― A Markov decision process (MDP) is a 5-tuple (S,A,{Psa},γ,R) where:** + +⟶ Processo decisionale di Markov ― Un processo decisionale di Markov (MDP) è descritto da una n-upla di 5 elementi (S,A,{Psa},γ,R), dove: + +
+ +**33. S is the set of states** + +⟶ S è l'insieme degli stati + +
+ +**34. A is the set of actions** + +⟶ A è l'insieme delle azioni + +
+ +**35. {Psa} are the state transition probabilities for s∈S and a∈A** + +⟶ {Psa} sono le probabilità di transizione per s∈S e a∈A + +
+ +**36. γ∈[0,1[ is the discount factor** + +⟶ γ∈[0,1[ è il fattore di sconto + +
+ +**37. R:S×A⟶R or R:S⟶R is the reward function that the algorithm wants to maximize** + +⟶ R:S×A⟶R o R:S⟶R è la funzione di ricompensa che l'algoritmo vuole massimizzare + +
+ +**38. Policy ― A policy π is a function π:S⟶A that maps states to actions.** + +⟶ Politica ― Una politica π è una funzione π:S⟶A che mappa gli stati alle azioni. + +
+ +**39. Remark: we say that we execute a given policy π if given a state s we take the action a=π(s).** + +⟶ Osservazione: diciamo di seguire una politica π se, dato uno stato s, eseguiamo l'azione a=π(s). + +
+ +**40. Value function ― For a given policy π and a given state s, we define the value function Vπ as follows:** + +⟶ Funzione di valore ― Per una data politica π e un dato stato s, definiamo la funzione di valore Vπ nel seguente modo: + +
+ +**41. Bellman equation ― The optimal Bellman equations characterizes the value function Vπ∗ of the optimal policy π∗:** + +⟶ Equazione di Bellman ― Le equazioni di ottimalità di Bellman caratterizzano la funzione di valore Vπ∗ della politica ottima π∗ : + +
+ +**42. Remark: we note that the optimal policy π∗ for a given state s is such that:** + +⟶ Osservazione: notiamo che la politica ottima π∗ per un dato stato s è tale che: + +
+ +**43. Value iteration algorithm ― The value iteration algorithm is in two steps:** + +⟶ Algoritmo di iterazione dei valori ― L'algoritmo di iterazione dei valori avviene in due passi: + +
+ +**44. 1) We initialize the value:** + +⟶ 1) Inizializziamo i valori: + +
+ +**45. 2) We iterate the value based on the values before:** + +⟶ 2) Iteriamo i valori a partire dai valori precedenti: + +
+ +**46. Maximum likelihood estimate ― The maximum likelihood estimates for the state transition probabilities are as follows:** + +⟶ Stima di massima verosimiglianza ― Le stime di massima verosimiglianza per le transizioni di stato sono le seguenti: + +
+ +**47. times took action a in state s and got to s′** + +⟶ volte in cui è stata eseguita l'azione a nello stato s e si è arrivati allo stato s' + +
+ +**48. times took action a in state s** + +⟶ volte in cui è stata eseguita l'azione a nello stato s + +
+ +**49. Q-learning ― Q-learning is a model-free estimation of Q, which is done as follows:** + +⟶ Q-learning ― Il Q-learning è una stima senza modello dell'ambiente di Q, effettuata nel seguente modo: From e059811af60b7efbba8b6df5b22a7d7c1461440c Mon Sep 17 00:00:00 2001 From: proceduralia <15056362+proceduralia@users.noreply.github.com> Date: Wed, 17 Oct 2018 23:48:19 +0200 Subject: [PATCH 2/3] Update CONTRIBUTORS --- CONTRIBUTORS | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index a19b221ed..d4cfe86e4 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -65,6 +65,9 @@ --hi +--it + Pierluca D'Oro (translation of deep learning) + --ja --pt From a009daa970959df97ac5a95be0dabdb0e6ea0a15 Mon Sep 17 00:00:00 2001 From: proceduralia <15056362+proceduralia@users.noreply.github.com> Date: Fri, 19 Oct 2018 09:49:42 +0200 Subject: [PATCH 3/3] Fixed missing lines (50-54) --- it/cheatsheet-deep-learning.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/it/cheatsheet-deep-learning.md b/it/cheatsheet-deep-learning.md index f93bce46f..1b7fd4958 100644 --- a/it/cheatsheet-deep-learning.md +++ b/it/cheatsheet-deep-learning.md @@ -289,3 +289,33 @@ **49. Q-learning ― Q-learning is a model-free estimation of Q, which is done as follows:** ⟶ Q-learning ― Il Q-learning è una stima senza modello dell'ambiente di Q, effettuata nel seguente modo: + +
+ +**50. View PDF version on GitHub** + +⟶ Consulta la versione in pdf su Github + +
+ +**51. [Neural Networks, Architecture, Activation function, Backpropagation, Dropout]** + +⟶ [Reti Neurali, Architettura, Funzione di attivazione, Retropropagazione, Dropout] + +
+ +**52. [Convolutional Neural Networks, Convolutional layer, Batch normalization]** + +⟶ [Reti Neurali Convoluzionali, Livello convoluzionale, Normalizzazione di batch] + +
+ +**53. [Recurrent Neural Networks, Gates, LSTM]** + +⟶ [Reti Neurali Ricorrenti, Porte, LSTM] + +
+ +**54. [Reinforcement learning, Markov decision processes, Value/policy iteration, Approximate dynamic programming, Policy search]** + +⟶ [Apprendimento per rinforzo, Processo decisionale di Markov, Iterazione dei valori / delle politiche, Programmazione dinamica approssimata, Ricerca della politica]