Modelos Recorrentes - Parte II
Exercício 1
Na figura a seguir, várias arquiteturas de RNN são apresentadas. Para cada uma delas, cite um exemplo de aplicação.
Resposta:
one-to-many : Geração de texto.
many-to-one : Classificação de sentimentos.
many-to-many : Tradução automática.
many-to-many (pareada): Reconhecimento de entidades.
Exercício 2
Considere uma arquitetura de RNN que, dado uma frase contendo duas palavras, $x = (x^{<1>}, x^{<2>})$, produza uma saída $ŷ$. Além disso, considere que as funções de ativação utilizadas são sigmoides e que o erro é dado pelo erro quadrático.
a) Esboce essa rede considerando todas as informações fornecidas no enunciado.
b) Faça o backpropagation nessa rede a partir do cálculo do erro $L(ŷ, y)$.
Resposta:
a)
b)
Exercício 3
Considere a arquitetura da RNN abaixo:
Onde a entrada $x$ é uma sequência de palavras e cada $x_t$ é uma única palavra. A saída é uma distribuição de probabilidades sobre as palavras. Sabendo que o tamanho do dicionário $C=8000$ e o número de neurônios na camada escondida seja igual a $H=100$ e sendo as saídas $s_t$ e $o_t$ expressas com as seguintes funções de ativação:
\(s_t = tanh (U_{x_t} + W_{s_{t−1}})\) \(o_t = softmax (V_{s_t})\)
Escreva as dimensões das variáveis: $x_t, o_t, s_t, U, V, W$.
Qual a quantidade total de parâmetros a serem aprendidos?
Resposta:
$2 ∗ H ∗ C + H^2$ parâmetros.
$x_t ∈ \mathbb{R}^{8000}$
$o_t ∈ \mathbb{R}^{8000}$
$s_t ∈ \mathbb{R}^{100}$
$U ∈ \mathbb{R}^{100\times8000}$
$V ∈ \mathbb{R}^{8000\times100}$
$W ∈ \mathbb{R}^{100\times100}$
Exercício 4
Como é possível utilizar RNNs em dados de vídeo?
Resposta:
Uma alternativa é primeiro usar uma rede convolucional e, em seguida, usar uma RNN ao invés de uma camada totalmente conectada. Dessa forma a rede mantém informação sobre a ordem temporal dos frames.