Dicas de aprendizado profundo
Redes Neurais
Redes neurais são uma classe de modelos que são construídos com camadas. Os tipos de redes neurais comumente utilizadas incluem redes neurais convolucionais (CNN) e recorrentes (RNN).
Arquitetura O vocabulário em torno das arquiteruras de redes neurais is descrito na figura abaixo:
Dado que $i$ é a $i$-ésima camada da rede e $j$ a $j$-ésima unidade escondida da camada, nós temos:
onde é definido que $w$, $b$, $z$, o peso, o viés e a saída respectivamente.
Função de ativação Funções de ativação (activation function) são usadas no fim de uma unidade escondida para introduzir complexidades não lineares ao modelo. Aqui estão as mais comuns:
| Sigmoide | Tanh | ReLU | Leaky ReLU |
| $g(z)=\displaystyle\frac{1}{1+e^{-z}}$ | $g(z)=\displaystyle\frac{e^{z}-e^{-z}}{e^{z}+e^{-z}}$ | $g(z)=\textrm{max}(0,z)$ | $g(z)=\textrm{max}(\epsilon z,z)$ with $\epsilon\ll1$ |
![]() | ![]() | ![]() | ![]() |
Perda de entropia cruzada No contexto de redes neurais, la perda de entropia cruzada (cross-entropy loss) $L(z,y)$ é comumente utilizada e é definida como se segue:
Taxa de apredizado A taxa de aprendizado (learning rate), frequentemente indicada por $\alpha$ ou às vezes $\eta$, indica a que ritmo os pesos são atualizados. Isso pode ser fixado ou alterado de modo adaptativo. O método atual mais popular é chamado Adam, o qual é um método que adapta a taxa de aprendizado.
Retropropagação Retropropagação (backpropagation) é um método para atualizar os pesos em uma rede neural levando em conta a saída atual e a saída desejada. A derivada relativa ao peso $w$ é computada utilizando a regra da cadeia e é da seguinte forma:
Como resultado, o peso é atualizado como se segue:
Actualizando os pesos Em uma rede neural, os pesos são atualizados como a seguir:
- Passo 1 : Pegue um conjunto de dados de treinamento.
- Passo 2 : Realize propagação para frente a fim de obter a perda correspondente.
- Passo 3 : Retropropague a perda para obter los gradientes.
- Passo 4 : Use os gradientes para atualizar os pesos da rede.
Abandono Abandono (dropout) é uma técnica que pretende prevenir o sobreajuste dos dados de treinamente abandonando unidades na rede neural. Na prática, neurônios são ou abandonados com a propabilidade $p$ ou mantidos com a propabilidade $1-p.$
Redes Neurais Convolucionais
Requisito de camada convolucional Dado que $W$ é o tamanho do volume de entrada, $F$ o tamanho dos neurônios da camada convolucional, $P$ a quantidade de preenchimento de zeros, então o número de neurônios $N$ que cabem em um dado volume é tal que:
Normalização em lote É uma etapa de hiperparâmetro $\gamma, \beta$ que normaliza o lote $\{x_i\}$. Dado que $\mu_B, \sigma_B^2$ são a média e a variância daquilo que queremos conectar ao lote, isso é feito como se segue:
Isso é usualmente feito após de uma totalmente conectada/camada concolucional e antes de uma camada não linear e objetiva permitir maiores taxas de aprendizado e reduzir a forte dependência na inicialização.
Redes Neurais Recorrentes
Tipos de portas Aqui estão os diferentes tipos de portas (gates) que encontramos em uma rede neural recorrente típica:
| Porta de entrada | Porta esquecida | Porta | Porta de saída |
| Escrever na célula ou não? | Apagar a célula ou não? | Quanto escrever na célula? | Quanto revelar da célula? |
LSTM Uma rede de memória de longo prazo (LSTM) é um tipo de modelo de rede neural recorrente (RNN) que evita o problema do desaparecimento da gradiente adicionando portas de 'esquecimento'.
Aprendizado e Controle Reforçado
O objetivo do aprendizado reforçado é fazer um agente aprender como evoluir em um ambiente.
Definições
Processos de decisão de Markov Um processo de decição de Markov (MDP) é uma tupla de 5 elementos $(S,A,\{P_{sa}\},\gamma,R)$ onde:
- $\mathcal{S}$ é o conjunto de estados
- $\mathcal{A}$ é conjunto de ações
- $\{P_{sa}\}$ são as probabilidade de transição de estado para $s\in\mathcal{S}$ e $a\in\mathcal{A}$
- $\gamma\in[0,1[$ é o fator de desconto
- $R:\mathcal{S}\times\mathcal{A}\longrightarrow\mathbb{R}$ ou $R:\mathcal{S}\longrightarrow\mathbb{R}$ é a função de recompensa que l'algoritmo quer maximizar
Diretriz Uma diretriz $\pi$ é a função $\pi:\mathcal{S}\longrightarrow\mathcal{A}$ que mapeia os estados a ações.
Observação: dizemos que executamos uma dada diretriz $\pi$ se dado um estado s nós tomamos a ação $a=\pi(s)$.
Função de valor Para uma dada diretriz $\pi$ e um dado estado $s$, nós definimos a função de valor $V^{\pi}$ como a seguir:
Equação de Bellman As equações de Bellman ótimas caracterizam a função de valor $V^{\pi^<em>}$ para a ótima diretriz $\pi^</em>$:
Observación: definimos que la ótima diretriz $\pi^*$ para um dado estado $s$ é tal que:
Algoritmo de iteração de valor O algoritmo de iteração de valor é realizado em duas etapas:
1) Inicializamos o valor:
2) Iteramos o valor baseado nos valores anteriores:
Máxima probabilidade estimada A máxima probabildiade estima para o estado de transição de probabilidades como se segue:
Aprendizado Q Aprendizado $Q$ ($Q$ learning) é um modelo livre de estimativa de $Q$, o qual é feito como se segue:
CS 229 - Aprendizado de máquina 


