
O aprendizado profundo é um conjunto de algoritmos de aprendizado de máquina que modelam abstrações de alto nível nos dados usando arquiteturas que consistem em muitas transformações não lineares. Concordo, esta frase parece ameaçadora. Mas nem tudo é tão assustador se François Schollay, que criou Keras, a biblioteca mais poderosa para trabalhar com redes neurais, fala sobre aprendizado profundo. Experimente um aprendizado profundo com exemplos práticos de uma ampla variedade de áreas. O livro está dividido em duas partes: a primeira recebe os fundamentos teóricos e a segunda é dedicada à solução de problemas específicos. Isso permitirá que você não apenas entenda o básico da DL, mas também aprenda a usar novas oportunidades na prática.
O aprendizado é uma jornada ao longo da vida, especialmente no campo da inteligência artificial, onde há mais incógnitas do que certezas. Por dentro, há um trecho de "Pesquisando e monitorando modelos de aprendizado profundo usando retornos de chamada Keras e TensorBoard".
Sobre este livro
O livro foi escrito para todos que desejam começar a estudar a tecnologia de aprendizado profundo a partir do zero ou expandir seus conhecimentos. Engenheiros de aprendizado de máquina, desenvolvedores de software e estudantes encontrarão muito valor nessas páginas.
Este livro oferece um estudo prático do mundo real da aprendizagem profunda. Tentamos evitar fórmulas matemáticas, preferindo explicar conceitos quantitativos usando fragmentos de código e formar um entendimento prático das idéias básicas de máquina e aprendizado profundo.
Você verá mais de 30 exemplos de código de programa com comentários detalhados, recomendações práticas e explicações generalizadas simples de tudo que você precisa saber para usar o aprendizado profundo na solução de problemas específicos.
Os exemplos usam a estrutura de aprendizado profundo do Keras, escrita em Python e a biblioteca TensorFlow, como um mecanismo interno. Keras é uma das estruturas de aprendizado profundo mais populares e de mais rápido crescimento. Muitas vezes, é recomendada como a ferramenta mais bem-sucedida para iniciantes aprenderem aprendizagem profunda.
Depois de ler este livro, você entenderá claramente o que é o aprendizado profundo, quando aplicável e quais limitações ele possui. Você aprenderá sobre o processo padrão de interpretação e solução de problemas de aprendizado de máquina e como lidar com problemas comuns. Você aprenderá como usar o Keras para resolver problemas práticos - do reconhecimento de padrões ao processamento de linguagem natural: classificação de imagens, previsão temporal, análise de emoções, geração de imagens e textos e muito mais.
Pesquise e monitore modelos de aprendizado profundo usando retornos de chamada Keras e TensorBoard
Nesta seção, examinaremos maneiras de obter acesso mais completo aos mecanismos internos do modelo durante o treinamento e o gerenciamento. Executar o procedimento de treinamento em um grande conjunto de dados e durar dezenas de épocas chamando model.fit () ou model.fit_generator () é como iniciar um avião de papel: dando um impulso inicial, você não controla mais sua trajetória de voo ou local de pouso. Para evitar resultados negativos (e a perda de um avião de papel), é melhor usar não um avião de papel, mas um drone controlado que analisa o ambiente, envia informações sobre ele de volta ao operador e controla automaticamente os lemes, dependendo do estado atual. As técnicas que serão apresentadas aqui transformarão a chamada para model.fit () de um avião de papel em um drone autônomo inteligente capaz de avaliar sua condição e executar ações de controle oportunas.
Usando retornos de chamada para influenciar o modelo durante o treinamento
Muitos aspectos do treinamento do modelo não podem ser previstos com antecedência. Por exemplo, não se pode prever antecipadamente o número de épocas que fornecem o valor ideal de perdas no conjunto de testes. Nos exemplos citados até agora, uma estratégia de aprendizado com um número suficientemente grande de épocas foi usada. Assim, o efeito do treinamento foi alcançado quando a primeira execução é realizada pela primeira vez para descobrir o número necessário de eras de treinamento e, em seguida, a segunda é nova, desde o início com o número ideal selecionado de eras. Obviamente, esta é uma estratégia bastante inútil.
Seria muito melhor parar de aprender assim que a estimativa de perdas no conjunto de testes deixasse de melhorar. Isso pode ser implementado usando o mecanismo de retorno de chamada Keras. Um retorno de chamada é um objeto (uma instância de uma classe que implementa métodos específicos), que é passado ao modelo por meio de uma chamada de ajuste e que será chamado pelo modelo em diferentes pontos do processo de aprendizado. Ele tem acesso a todas as informações sobre o estado do modelo e sua qualidade e pode executar as seguintes ações: interromper o treinamento, salvar modelos, carregar diferentes conjuntos de pesos ou alterar o estado do modelo.
Aqui estão alguns exemplos de uso de retornos de chamada:
- fixando o estado do modelo em pontos de controle - salvando os pesos atuais do modelo em diferentes pontos durante o treinamento;
- parada antecipada - interrupção do treinamento quando a estimativa de perdas nos dados do teste deixar de melhorar (e, é claro, manter a melhor versão do modelo obtida durante o treinamento);
- ajuste dinâmico dos valores de alguns parâmetros no processo de aprendizagem, por exemplo, a etapa de treinamento do otimizador;
- registrar notas para os conjuntos de dados de treinamento e teste durante o treinamento ou visualizar as representações obtidas pelo modelo à medida que são atualizadas - uma barra de progresso no Keras com a qual você já está familiarizado é um retorno de chamada!
O módulo keras.callbacks inclui vários retornos de chamada internos. Aqui está uma lista longe de ser completa:
keras.callbacks.ModelCheckpoint keras.callbacks.EarlyStopping keras.callbacks.LearningRateScheduler keras.callbacks.ReduceLROnPlateau keras.callbacks.CSVLogger
Vejamos alguns deles para ter uma idéia de como usá-los: ModelCheckpoint, EarlyStopping e ReduceLROnPlateau.
ModelCheckpoint e EarlyStopping CallbacksO retorno de chamada do EarlyStopping pode ser usado para interromper o processo de aprendizado se a métrica de destino monitorada não melhorar em um determinado número de eras. Por exemplo, esse retorno de chamada permitirá interromper o treinamento após o início do efeito de reciclagem e, assim, evitar treinar novamente o modelo por menos eras. Esse retorno de chamada geralmente é usado em combinação com o ModelCheckpoint, que permite salvar o estado do modelo durante o treinamento (e, se necessário, salvar apenas o melhor modelo: a versão do modelo que alcançou melhor qualidade até o final da época):
ReduceLROnPlateau CallbackEsse retorno de chamada pode ser usado para reduzir a velocidade de aprendizado quando a perda nos dados de teste não diminui mais. Diminuir ou aumentar a velocidade de aprendizado no ponto de inflexão da curva de perda é uma estratégia eficaz para romper com o mínimo local durante o treinamento. O exemplo a seguir demonstra o uso do retorno de chamada ReduceLROnPlateau:
Crie seu retorno de chamadaSe durante o treinamento você precisar executar algumas ações especiais que não são fornecidas por nenhum dos retornos de chamada internos, você poderá gravar seu próprio retorno de chamada. Os retornos de chamada são implementados herdando da classe keras.callbacks.Callback. Você pode implementar qualquer um dos seguintes métodos com nomes falados que serão chamados nos horários apropriados
Todos esses métodos são chamados com os logs de argumentos - um dicionário que contém informações sobre o pacote anterior, época ou ciclo de treinamento: métricas de treinamento e verificação etc. Além disso, o retorno de chamada tem acesso aos seguintes atributos:
- self.model - uma instância do modelo que causou esse retorno de chamada;
- self.validation_data - o valor passado para o método de ajuste como dados de validação.
Aqui está um exemplo simples de um retorno de chamada não padrão que salva em disco (como matrizes Numpy) a ativação de todas as camadas do modelo após o final de cada era, calculado a partir da primeira amostra no conjunto de testes:
Isso é tudo o que você precisa saber sobre retornos de chamada, tudo o resto são detalhes técnicos, informações sobre as quais você pode se encontrar facilmente. Agora você pode registrar qualquer informação ou controlar o modelo Keras durante o treinamento.
Sobre o autor

Francois Chollet está envolvido em aprendizado profundo no Google, Mountain View, Califórnia. Ele é o criador da Keras, uma biblioteca de aprendizado profundo e membro do projeto de estrutura de aprendizado de máquina TensorFlow. Ele também está envolvido em pesquisas no campo de aprendizado de máquina, com foco no reconhecimento de padrões e na aplicação do aprendizado de máquina ao raciocínio formal. Ele falou em grandes conferências neste campo, incluindo Conferência sobre Visão Computacional e Reconhecimento de Padrões (CVPR), Conferência e Workshop sobre Sistemas de Processamento de Informação Neural (NIPS), Conferência Internacional sobre Representações de Aprendizagem (ICLR), etc. .
»Mais informações sobre o livro podem ser encontradas no
site do editor»
Conteúdo»
TrechoCupom de 20% de desconto para vendedores ambulantes -
Deep Learning with Python