Aula 23 - Lista de Exercícios (Redes Neurais Feedforward e CNNs) Flashcards
Por que geralmente é preferível utilizar um classificador de regressão logística ao invés de um perceptron clássico? Como você pode ajustar um perceptron para torná-lo equivalente a um classificador de regressão logística?
O perceptron clássico só pode convergir se o conjunto de dados for linearmente separável, porém não é possível estimar probabilidades de classe. Por outro lado, a regressão logística irá convergir para uma boa solução mesmo se o dataset não for linearmente separável e irá fornecer probabilidades de classe. Ao alterar a função de ativação do perceptron para a logística (ou softmax no caso de múltplos neurônios) e efetuar o treinamento usando o gradiênte descendente ele se torna equivalente a um classificador de regressão logística.
Por que a função de ativação logı́stica foi um ingrediente chave na formação das primeiras feedforwards?
Como a derivada da função logística é sempre diferente de zero, o gradiente descedente sempre vai descer a inclinação. Qualdo a função de ativação é uma função Heaviside (degrau), o gradiente descendente não pode se mover, pois não há inclinação.
De quantos neurônios você precisa na camada de saída se quiser classificar o e-mail como spam ou não spam?
Só é preciso de um neurônio na camada de saída da rede neural. É usada como função de ativação a função logística.
No caso do MNIST (Changed National Organization of Benchmarks and Innovation database), de quantos neurônios
você precisa utilizando qual função de ativação na camada de saída?
É preciso de 10 neurônios na camada de saída (um para cada número de 0 à 9). Nesse caso se usa a função softmax que pode lidar com múltiplas classes, obtendo-se uma probabilidade por classe.
Qual é a finalidade de utilizar camadas convolucionais em redes neurais?
As redes convolucionais são usadas nas redes neurais para a extração de características nas imagens pela aplicação de filtros. Elas são computacionalmente eficientes, podem aprender padrões locais nas imagens e podem aprender características hierárquicas. Pela aplicação de técnicas de processamento de imagens, é possível realizar várias tarefas de visão computacional, como classificação de imagens, detecção de objetos e segmentação de imagens.
Como funciona a camada de pooling?
As camadas de pooling são ferramentas poderosas para reduzir o tamanho espacial dos mapas de features em CNNs, reduzindo ruído e preservando suas features mais importantes, além de diminuir a complexidade computacional da rede, enquanto melhora sua performance.
Cite e explique duas técnicas de regularização possíveis para redes convolucionais.
A regularização L1 penaliza a soma dos valores absolutos dos pesos em uma rede neural. Isso ajuda a prevenir que os pesos se tornem muito altos, o que pode mitigar o overfitting. Já a regularização L2 penaliza a soma dos valores ao quadrado dos pesos na rede neural, isso também ajuda a evitar que os pesos se tornem elevados, prevenindo o overfitting.
A regularização L1 tende a ser mais eficaz para conjunto de dados esparsos, enquanto a L2 tende a ser mais eficaz para conjunto de dados densos.
O que é o problema do gradiente desvanecente (vanishing gradient)? E o problema do gradiente explosivo (exploding gradient)? Quando esses problemas ocorrem?
O problema do gradiente desvanecente ocorre quando os gradientes se tornam bem pequenos durante a retropropagação, dificultando o aprendizado nas camadas iniciais. O problema do gradiente explosivo, em contraste, ocorre quando os gradientes se tornam muito grandes, causando instabilidade. Ambos os problemas ocorrem em redes profundas.
Quais técnicas podem ser utilizadas para evitar que problemas como do gradiente desvanecente (vanishing gradient) e do gradiente explosivo (exploding gradient) ocorram em modelos convolucionais?
Para evitar esses problemas pode-se usar a função de ativação ReLU para impedir que os gradientes fique bem pequenos ou bem grandes, usar a normalização batch para normalizar as entradas em cada camada estabilizando o gradiente e por fim usar técnicas de regularização (L1 e L2) para previnir que os pesos fiquem altos, essa última técnica evita o gradiente explosivo.
Indique maneiras para interpretar a saída das camadas convolucionais.
Visualização de mapas de características, usando maximização de ativação ou usar mapas de ativação de classes.
O que é a área de eXplainable AI (XAI) e por que é fundamental? Quais técnicas podemos utilizar para interpretar nossos modelos convolucionais de forma compreensível e transparente?
eXplainable AI (XAI) foca em fazer modelos de IA interpretável e compreensivo para aumentar a confiança e abordar questões éticas.
Dentre as técnicas que se pode utilizar têm-se a CAM (Class Activation Mapping) que visualiza regiões de uma imagem que são importantes para fazer a predição de uma classe específica. Outra técnica é a visualização de ativações que visualiza mapas de ativação de camadas convolucionais para entender quais partes das entradas contribuem para o modelo.
O que é transfer learning e em quais situações é benéfico utilizar essa técnica?
Transfer learning é uma técnica de aprendizado de máquina onde um modelo desenvolvido para uma tarefa é reusado como ponto de partida para outro modelo que desempenha outra tarefa. Isso é benéfico em situações em que não há dados suficientes para treinar um modelo do zero, ou onde há o desejo de se melhorar o desempenho de um modelo, ajustando a uma tarefa relacionada.
Stride
É um parâmetro do filtro da rede neural que modifica a quantidade do movimento sobre uma imagem.
Padding
Refere-se a quantidade de pixels adicionado em uma imagem quando está sendo processada pelo kernel.
Data augmentation
O aumento de dados refere-se à técnica de aumentar artificialmente o tamanho e a diversidade de um conjunto de dados de treinamento, aplicando várias transformações ou modificações aos dados existentes. Isso ajuda a reduzir o overfitting, melhorar a generalização do modelo e aumentar a robustez dos modelos de aprendizado da máquina.