🧠

Introdução a Redes Neurais Avançadas

Aug 29, 2024

Aula sobre Redes Neurais e Redes Neurais Convolucionais

Informações Administrativas

  • Justin, um co-instrutor, foi apresentado.
  • Tarefa 2 está disponível:
    • É longa; comece cedo.
    • Prazo para a próxima sexta-feira.
    • Envolve implementar redes neurais, passes forward/backward, normalização de lote, dropout, e redes convolucionais.

Treinamento de Redes Neurais

  • Processo de Quatro Passos:
    1. Amostrar um pequeno lote do conjunto de dados.
    2. Propagar para frente para obter a perda.
    3. Retropropagar para calcular gradientes.
    4. Executar a atualização dos parâmetros.
  • Importância das funções de ativação:
    • Sem elas, a rede é apenas um classificador linear.
    • Críticas para ajustar os dados.
  • Inicialização de Pesos:
    • Muito pequenos: ativações tendem a zero.
    • Muito grandes: ativações explodem.
    • A inicialização de Xavier fornece um início equilibrado.
  • Normalização de Lote:
    • Alivia problemas de inicialização de pesos.
    • Torna o treinamento mais robusto.

Esquemas de Atualização de Parâmetros

  • Gradiente Descendente Estocástico (SGD):
    • Escala diretamente o gradiente pela taxa de aprendizado.
  • Atualização com Momento:
    • Usa gradientes passados para criar velocidade.
    • Ajuda a acelerar regiões rasas e amortecer oscilações em regiões íngremes.
  • Momento de Nesterov:
    • Antecipar-se para avaliar o gradiente.
    • Fornece convergência mais rápida que o momento padrão.
  • Gradiente Adaptativo (AdaGrad):
    • Ajusta taxas de aprendizado com base em gradientes históricos.
    • Pode levar a taxas de aprendizado decrescentes a zero ao longo do tempo.
  • RMSProp:
    • Versão com vazamento do AdaGrad.
    • Previne que as taxas de aprendizado cheguem a zero.
  • Adam:
    • Combina momento e RMSProp.
    • Geralmente a melhor escolha padrão.

Métodos de Segunda Ordem

  • Usam informações de gradiente e Hessiano (curvatura).
  • Convergência mais rápida, sem necessidade de taxa de aprendizado.
  • Impraticável devido à complexidade de memória e computacional.

Decaimento da Taxa de Aprendizado

  • Começar com uma taxa de aprendizado alta e decair ao longo do tempo.
  • Vários esquemas de decaimento: decaimento em passos, decaimento exponencial, etc.

Conjuntos de Modelos

  • Treinar múltiplos modelos e fazer média dos resultados melhora o desempenho.
  • Técnicas para simular conjuntos:
    • Média de pontos de verificação.
    • Usar uma média móvel de pesos durante o tempo de teste.

Dropout

  • Define alguns neurônios como zero durante o treinamento para evitar overfitting.
  • Encoraja redundância na representação de características.
  • Em tempo de teste, escala ativações para corresponder às expectativas de treinamento.
  • "Dropout Invertido" escala durante o treinamento ao invés do teste.

Redes Neurais Convolucionais (CNNs)

  • Contexto histórico: Inspirado nos estudos do córtex visual de Hubel e Wiesel.
  • Camadas de células simples e complexas.
  • Avanços na arquitetura:
    • De modelos iniciais (Neocognitron) aos modernos (AlexNet, VGG, etc.).
  • Aplicações:
    • Classificação de imagens, recuperação, detecção, segmentação.
    • Tarefas não-visuais: fala, texto, etc.
  • Usos no mundo real:
    • Carros autônomos, reconhecimento facial, imagens médicas, etc.

Resumo

  • Use Adam para atualizações de parâmetros como escolha padrão.
  • Explore conjuntos de modelos para ganhos de desempenho.
  • Dropout reduz efetivamente o overfitting promovendo redundância.
  • CNNs são ferramentas poderosas para uma ampla gama de aplicações além do simples processamento de imagens.