Modelo Keras
O que é o modelo Keras?
Keras é uma biblioteca de alto nível para deep learning, desenvolvida sobre Theano e TensorFlow. Ele é escrito em Python e fornece uma maneira limpa e conveniente de criar uma variedade de modelos de deep learning. O Keras tornou-se uma das APIs de redes neurais de alto nível mais usadas para desenvolver e testar redes neurais. Criar camadas para redes neurais e configurar arquiteturas complexas agora é muito fácil devido à API de alto nível do Keras. Um modelo Keras é composto por uma sequência ou um gráfico independente. Existem vários módulos totalmente configuráveis que podem ser combinados para criar novos modelos. Alguns desses módulos configuráveis que você pode conectar são camadas neurais, funções de custo, otimizadores, esquemas de inicialização, queda, perda, funções de ativação e esquemas de regularização. Uma das principais vantagens da modularidade é que você pode facilmente adicionar novos recursos como módulos separados. Como resultado, o Keras é muito flexível e adequado para pesquisas inovadoras. Existem duas formas de desenvolver um modelo Keras: sequencial e funcional.
Modo API sequencial
O modelo de API sequencial é o mais simples e compreende uma pilha linear de camadas que permite configurar modelos camada por camada para a maioria dos problemas. O modelo sequencial é muito simples de usar, mas sua topologia é limitada. Isso porque não é possível configurar modelos com camadas compartilhadas ou ter várias entradas ou saídas.
API funcional
Como alternativa, a API funcional é ideal para criar modelos complexos, que exigem flexibilidade estendida. Ela permite definir modelos com mais camadas conectadas do que apenas as camadas anteriores e seguintes. Os modelos são definidos criando instâncias de camadas e conectando-as diretamente umas com as outras em pares. Na verdade, com esse modelo você pode conectar camadas a qualquer outra camada. Com esse modelo, é possível criar redes complexas, como redes siamesas, redes residuais, modelos de várias entradas/saídas, gráficos acíclicos direcionados (DAGs) e modelos com camadas compartilhadas.