Você está na página 1de 3

Universidade Federal de Goiás

Instituto de Informática
Programa de Mestrado/Doutorado em Ciência da Computação
Disciplina de Redes Neurais Profundas (Deep Learning)
www.deeplearningbrasil.com.br
www.inf.ufg.br/~anderson

Instruções:
1. Não é permitido a consulta a outras pessoas.
2. A prova deve ser realizada individualmente.
3. Todo o restante é permitido (use se for capaz).
4. A avaliação tem início às 19:00h do dia 21/11/2017 com prazo para entrega
de 24h corridas (Durma se for capaz).
5. As respostas devem ser elaboradas de próprio punho
6. As folhas de respostas devem ter NO MÁXIMO 10 páginas (frente e verso).
7. O candidato pode usar qualquer coisa para escrever (caneta, lápis, sangue,
lágrimas…) ;(
8. Este curso adota a DISCIPLINA CONSCIENTE :)
Questão 1 (Dificuldade: ++) ​Apresente os cenários em que uma rede neural
multi-layer perceptron pode apresentar explosão ou desaparecimento do gradiente.


Questão 2 (Dificuldade: ∑+ ) ​Treinar uma rede neural com regularização e após o
o
treino eliminar os pesos iguais a zero é igual a treinar a rede sem esses pesos desde o
início? Justifique.

Questão 3 (Dificuldade: +++) ​Considerando uma CNN para classificar imagens em ​n


classes explique qual é o efeito de realizar o treino utilizando um batch de tamanho > ​n
e < ​n​ considerando também a possibilidade de utilizar batch normalization.


Questão 4 (Dificuldade: ∑+ ) ​A arquitetura de uma rede neural pode envolver diversos
o
elementos tais como, camadas de convolução, pooling, funções de ativação e
normalização por batch. Considerando os dois códigos utilizando o framework Keras,
explique o que acontecerá de diferente nas duas implementações e qual seria a
implementação que você usaria (a resposta poderá considerar situações específicas).

imgs = Input(shape=(550,550,1)) imgs = Input(shape=(550,550,1))


x = Conv2D(16, 3, padding='same', activation='relu')(imgs) x = Conv2D(16, 3, padding='same', activation='relu')(imgs)
x = MaxPool2D()(x) x = BatchNormalization(axis=3)(x)
x = BatchNormalization(axis=3)(x) x = MaxPool2D()(x)
x = Conv2D(32, 3, padding='same', activation='relu')(x) x = Conv2D(32, 3, padding='same', activation='relu')(x)
x = MaxPool2D()(x) x = BatchNormalization(axis=3)(x)
x = BatchNormalization(axis=3)(x) x = MaxPool2D()(x)

Questão 5 (Dificuldade: +++++) ​É possível que uma rede neural que faça uso do
algoritmo de treinamento do gradiente descendente estocástico apresente um
desempenho melhor do que o RMSProp (Root Mean Square Propagation)? Justifique
sua resposta apresentando subsídios para a mesma.

Questão 6 (Dificuldade: ++) ​Processamento de linguagem natural é uma subárea da


inteligência artificial que estuda os problemas de geração e compreensão automática
de linguagem. A computação granular é um paradigma de processamento de
informações que se preocupa com o processamento de entidade complexas de
informação denominadas grânulos. Os grânulos surgem no processo de abstração e
derivação de conhecimento de informações ou dados. Nesse contexto, dentre os
modelos embeddings conhecidos, apresente uma comparação entre eles (pelo menos
dois dentre word2vec, doc2vec, sent2vec, GloVe, FastText) usando como referencial a
computação granular e os meios de treinamento e representação dos modelos
embbeddings.

Questão 7 (Dificuldade: +) ​Uma rede neural convolucional é um tipo de técnica de


reconhecimento de padrões estatística ou estrutural? Justifique sua resposta.

Questão 8 (Dificuldade: ++) ​Sobre as redes neurais recorrentes, qual a diferença do


armazenamento de informação no estado ​h no modelo ​seq2seq considerando uma
arquitetura com e sem mecanismo de atenção?

Questão 9 (Dificuldade: ++++) ​A rede neural denominada alexnet utiliza filtros 11x11
na primeira camada convolucional e filtros menores à medida que a profundidade
aumenta. Dito isto, pergunta-se:
Parte A) ​O que aconteceria se todos os filtros convolucionais tivessem a dimensão
3x3?
Parte B) O que aconteceria nas situações em que os filtros convolucionais tivessem a
dimensão 1x1?