Aula 27 - Última Lista de Exercícios Flashcards
Quais são as vantagens de uma CNN sobre uma feedforward totalmente conectada para classificação de imagens?
As CNNs exigem menos dados de treinamento, tem menos parâmetros, as tornando mais rápidas para treinar e reduzindo o risco de overfitting.
A capacidade de generalização da CNN também é uma vantagem em relação à DNN (Deep Neural Network).
Se a sua GPU fica sem memória durante o treinamento de uma CNN, quais são cinco coisas que você poderia tentar para resolver o problema?
- Reduzir o tamanho do mini-batch.
- Reduzir a dimensionalidade usando um stride maior em uma ou mais camadas.
- Remover uma ou mais camadas.
- Usar float de 16 bits ao invés de 32 bits.
- Distribuir a CNN através de vários dispositivos
Por que você adicionaria uma camada max pooling em vez de uma camada convolucional com o mesmo stride?
A camada de pooling não tem parâmetros, enquanto a camada convolucional tem vários parâmetros.
Quando você adicionaria uma camada de normalização de resposta local (LRN: Local Response Normalization)?
Uma camada de normalização de resposta local pode ser adicionada a uma rede neural convolucional (CNN) quando você deseja:
- aprimorar o desempenho;
- promover a competição local entre as respostas do mapa de features;
- melhorar a invariância de escala;
- aprimorar as habilidades de generalização.
Você pode citar as principais inovações da AlexNet em comparação com a LeNet?
A AlexNet tem uma arquitetura mais profunda em comparação com o LeNet e empilha camadas convolucionais diretamente uma sobre as outras, em vez de empilhar uma camada de pooling em cima de cada camada convolucional.
Você pode pensar em algumas aplicações para uma RNN de sequência-a-sequência?
- previsão do tempo;
- criação de legendas para vídeos;
- conversão de linguagem falada para texto.
Como você poderia combinar uma CNN com uma RNN para classificar vídeos?
Uma arquitetura possível poderia ser pegar um quadro por segundo, depois executar cada quadro por uma CNN, alimentar a saída da CNN para uma RNN de sequência para vetor e finalmente, execute sua saída por meio de uma camada softmax, fornecendo todas as probabilidades de classe.
Para treinamento, seria usada a entropia cruzada como a função de custo.
Como você pode lidar com sequências de entrada de comprimento variável?
Para lidar com sequências de entradas de comprimento variável em RNN, existem duas opções principais:
- A primeira opção é definir o parâmetro sequence_length ao usar as funções static_rnn() ou dynamic_rnn();
- A segunda opção é preencher entradas menores com zero para corresponder ao tamanho da entrada maior, o que pode ser mais rápido se as sequências de entradas tiverem comprimento semelhantes.
Você pode citar as principais inovações da GoogleNet e da ResNet?
- A principal inovação do GoogleNet é a introdução de módulos inception, que permite ter uma rede muito mais profunda do que as arquiteturas CNN anteriores, com menos paramentros.
- A principal inovação do ResNet é a introdução de conexões de salto, que permitem ir muito além de 100 camadas além de ser simples e consistênte.
Você pode pensar em algumas aplicações para uma RNN de vetor-à-sequência?
- Localizar pedestres em uma imagem;
- Descrever textualmente uma imagem.
Você pode pensar em algumas aplicações para uma RNN de sequência-vetor?
- Análise de sentimento de um texto;
- Classificação de trechos de músicas por gênero;
- Prever a probabilidade de que um usuário irá assistir a tal filme baseado no seu histórico.
RNN
Recurrent Neural Network