TensorFlow vs Theano vs Torch vs Keras: Biblioteca de Aprendizado Profundo

A popularidade da inteligência artificial está crescendo desde 2016, com 20% das grandes empresas usando IA em seus negócios (McKinsey relatório , 2018). De acordo com o mesmo relatório, a IA pode criar um valor substancial em todos os setores. No setor bancário, por exemplo, o potencial da IA ​​é estimado em $ 300 bilhões, no varejo, o número disparou para $ 600 bilhões.

Para revelar o valor potencial da IA, as empresas devem escolher a estrutura de aprendizado profundo certa. Neste tutorial, você aprenderá sobre as diferentes bibliotecas disponíveis para realizar tarefas de aprendizado profundo. Algumas bibliotecas existem há anos, enquanto uma nova biblioteca como a TensorFlow surgiu nos últimos anos.

8 melhores bibliotecas / framework de aprendizagem profunda

Nesta lista, compararemos as principais estruturas de aprendizado profundo. Todos eles são de código aberto e populares na comunidade de cientistas de dados. Também compararemos o ML popular como um provedor de serviços

Tocha

Torch é uma antiga biblioteca de aprendizado de máquina de código aberto. Foi lançado pela primeira vez há 15 anos. Suas linguagens de programação principais são LUA, mas tem uma implementação em C. Comparando PyTorch com TensorFlow, ele oferece suporte a uma vasta biblioteca de algoritmos de aprendizado de máquina, incluindo aprendizado profundo. Suporta implementação CUDA para computação paralela.

A ferramenta de aprendizagem profunda Torch é usada pela maioria dos laboratórios líderes, como Facebook, Google, Twitter, Nvidia e assim por diante. O Torch tem uma biblioteca em Python que se chama Pytorch.

Infer.net

Infer.net é desenvolvido e mantido pela Microsoft. Infer.net é uma biblioteca com foco principal na estatística Bayesiana. Infer.net é uma ferramenta de visualização para Deep Learning projetada para oferecer aos profissionais algoritmos de última geração para modelagem probabilística. A biblioteca contém ferramentas analíticas como análise bayesiana, cadeia de Markov oculta, agrupamento.

Duro

Keras é uma estrutura Python para aprendizado profundo. É uma biblioteca conveniente para construir qualquer algoritmo de aprendizado profundo. A vantagem do Keras é que ele usa o mesmo código Python para ser executado na CPU ou GPU. Além disso, o ambiente de codificação é puro e permite treinar algoritmos de última geração para visão computacional, reconhecimento de texto entre outros.

Keras foi desenvolvido por François Chollet, um pesquisador do Google. Keras é usado em organizações proeminentes como CERN, Yelp, Square ou Google, Netflix e Uber.

Theano

Theano é uma biblioteca de aprendizado profundo desenvolvida pela Université de Montréal em 2007. Comparando Theano com TensorFlow, ele oferece computação rápida e pode ser executado em CPU e GPU. Theano foi desenvolvido para treinar algoritmos de redes neurais profundas.

Kit de ferramentas cognitivas da Microsoft (CNTK)

O kit de ferramentas da Microsoft, anteriormente conhecido como CNTK, é uma biblioteca de aprendizado profundo desenvolvida pela Microsoft. Segundo a Microsoft, a biblioteca está entre as mais rápidas do mercado. O kit de ferramentas da Microsoft é uma biblioteca de código aberto, embora a Microsoft o esteja usando extensivamente em seus produtos como Skype, Cortana, Bing e Xbox. O kit de ferramentas está disponível em Python e C ++.

MXNet

MXnet é uma biblioteca de aprendizado profundo recente. É acessível com várias linguagens de programação, incluindo C ++, Julia, Python e R. MXNet pode ser configurado para funcionar em CPU e GPU. O MXNet inclui arquitetura de aprendizado profundo de última geração, como Rede Neural Convolucional e Memória de Longo Prazo. O MXNet foi desenvolvido para funcionar em harmonia com a infraestrutura de nuvem dinâmica. O principal usuário do MXNet é a Amazon

Café

Caffe é uma biblioteca construída por Yangqing Jia quando ele era um estudante de doutorado em Berkeley. Comparando o Caffe com o TensorFlow, o Caffe foi escrito em C ++ e pode realizar cálculos na CPU e na GPU. O principal uso do Caffe é a Rede Neural Convolucional. Embora, em 2017, o Facebook tenha estendido o Caffe com uma arquitetura de aprendizagem mais profunda, incluindo Rede Neural Recorrente. O Caffe é usado por acadêmicos e startups, mas também por algumas grandes empresas como o Yahoo !.

TensorFlow

TensorFlow é um projeto de código aberto do Google. TensorFlow é a biblioteca de aprendizado profundo mais famosa atualmente. Foi lançado ao público no final de 2015

O TensorFlow é desenvolvido em C ++ e tem uma conveniente API Python, embora APIs C ++ também estejam disponíveis. Empresas proeminentes como Airbus, Google, IBM e assim por diante estão usando TensorFlow para produzir algoritmos de aprendizado profundo.

TensorFlow Vs Theano Vs Torch Vs Keras Vs Infer.net Vs CNTK Vs MXNet Vs Caffe: Principais diferenças

BibliotecaPlataformaEscrito emSuporte cudaExecução ParalelaTem modelos treinadosRNNCNN
Tocha Linux, MacOS, Windowslevasimsimsimsimsim
Infer.Net Linux, MacOS, WindowsEstúdio visualNãoNãoNãoNãoNão
Duro Linux, MacOS, WindowsPitãosimsimsimsimsim
Theano Plataforma cruzadaPitãosimsimsimsimsim
TensorFlow Linux, MacOS, Windows, AndroidC ++, Python, CUDAsimsimsimsimsim
KIT DE FERRAMENTAS COGNITIVO MICROSOFT Linux, Windows, Mac com DockerC ++simsimsimsimsim
Café Linux, MacOS, WindowsC ++simsimsimsimsim
MXNet Linux, Windows, MacOs, Android, iOS, JavascriptC ++simsimsimsimsim

Veredito:

TensorFlow é a melhor biblioteca de todas porque foi desenvolvida para ser acessível a todos. A biblioteca do Tensorflow incorpora diferentes APIs para construir uma arquitetura de aprendizado profundo em escala, como CNN ou RNN. O TensorFlow é baseado em computação gráfica, ele permite ao desenvolvedor visualizar a construção da rede neural com Tensorboad. Esta ferramenta é útil para depurar o programa. Por fim, o Tensorflow foi desenvolvido para ser implantado em escala. Ele roda em CPU e GPU.

O Tensorflow atrai a maior popularidade no GitHub em comparação com outras bibliotecas de aprendizado profundo.

Comparando o aprendizado de máquina como um serviço

A seguir estão 4 DL populares como provedores de serviços

Google Cloud ML

O Google fornece para desenvolvedores um modelo pré-treinado disponível no Cloud AutoML. Essa solução existe para um desenvolvedor sem um grande conhecimento em aprendizado de máquina. Os desenvolvedores podem usar o modelo pré-treinado do Google de última geração em seus dados. Ele permite que qualquer desenvolvedor treine e avalie qualquer modelo em apenas alguns minutos.

Atualmente, o Google fornece uma API REST para visão computacional, reconhecimento de fala, tradução e PNL.

Usando o Google Cloud, você pode treinar uma estrutura de aprendizado de máquina desenvolvida no TensorFlow, Scikit-learn, XGBoost ou Keras. O aprendizado de máquina do Google Cloud treinará os modelos em sua nuvem.

A vantagem de usar a computação em nuvem do Google é a simplicidade de implantar o aprendizado de máquina na produção. Não há necessidade de configurar o contêiner do Docker. Além disso, a nuvem cuida da infraestrutura. Ele sabe como alocar recursos com CPUs, GPUs e TPUs. Isso torna o treinamento mais rápido com computação paralela.

AWS SageMaker

Um grande concorrente do Google Cloud é a nuvem da Amazon, AWS. A Amazon desenvolveu o Amazon SageMaker para permitir que cientistas de dados e desenvolvedores criem, treinem e coloquem em produção qualquer modelo de aprendizado de máquina.

O SageMaker está disponível em um Jupyter Notebook e inclui a biblioteca de aprendizado de máquina mais usada, TensorFlow, MXNet, Scikit-learn, entre outros. Os programas escritos com o SageMaker são executados automaticamente nos contêineres do Docker. A Amazon lida com a alocação de recursos para otimizar o treinamento e a implantação.

A Amazon fornece API para os desenvolvedores, a fim de adicionar inteligência aos seus aplicativos. Em algumas ocasiões, não há necessidade de reinventar a roda criando novos modelos do zero enquanto houver modelos pré-treinados poderosos na nuvem. A Amazon fornece serviços de API para visão computacional, chatbots conversacionais e serviços de linguagem:

As três principais APIs disponíveis são:

  • Amazon Rekognition: fornece reconhecimento de imagem e vídeo para um aplicativo
  • Amazon Comprehend: Executa mineração de texto e processamento de linguagem neural para, por exemplo, automatizar o processo de verificação da legalidade de documentos financeiros
  • Amazon Lex: adicionar chatbot a um aplicativo

Azure Machine Learning Studio

Provavelmente, uma das abordagens mais amigáveis ​​ao aprendizado de máquina é o Azure Machine Learning Studio. A vantagem significativa desta solução é que nenhum conhecimento prévio de programação é necessário.

O Microsoft Azure Machine Learning Studio é uma ferramenta colaborativa de arrastar e soltar para criar, treinar, avaliar e implantar uma solução de aprendizado de máquina. O modelo pode ser implantado com eficiência como serviços da web e usado em vários aplicativos como o Excel.

A interface de aprendizado de máquina do Azure é interativa, permitindo ao usuário construir um modelo apenas arrastando e soltando elementos rapidamente.

Quando o modelo estiver pronto, o desenvolvedor pode salvá-lo e enviá-lo para o Azure Galeria ou Azure Marketplace.

O aprendizado de máquina do Azure pode ser integrado ao R ou Python, seu pacote interno personalizado.

IBM Watson ML

O Watson studio pode simplificar os projetos de dados com um processo otimizado que permite extrair valor e percepções dos dados para ajudar os negócios a se tornarem mais inteligentes e rápidos. O Watson Studio oferece um ambiente de ciência de dados colaborativo e aprendizado de máquina fácil de usar para construir e treinar modelos, preparar e analisar dados e compartilhar insights em um só lugar. O Watson Studio é fácil de usar com um código de arrastar e soltar.

O Watson studio oferece suporte a alguns dos frameworks mais populares, como Tensorflow, Keras, Pytorch, Caffe e pode implantar um algoritmo de aprendizado profundo nas GPUs mais recentes da Nvidia para ajudar a acelerar a modelagem.

Veredito:

A nosso ver, a solução Google Cloud é a mais recomendada. A solução em nuvem do Google oferece preços mais baixos para a AWS em pelo menos 30% para armazenamento de dados e solução de aprendizado de máquina. O Google está fazendo um excelente trabalho para democratizar a IA. Ele desenvolveu uma linguagem de código aberto, TensorFlow, otimizada armazém de dados conexão, fornece ferramentas tremendas de visualização de dados, análise de dados para aprendizado de máquina. Além disso, o Google Console é ergonômico e muito mais abrangente do que AWS ou Windows.