Info+News+Tech

Você nem sempre sabe disso, mas o Deep Learning está em toda parte. Graças ao avanço nos recursos, tanto computacionalmente quanto de dados, nos últimos anos houve uma explosão de aplicativos baseados nesta técnica de machine learning. Neste artigo, apresentamos o TensorFlow, a popular estrutura de deep learning do Google.

Algum conhecimento de Python e noções básicas de aprendizado de máquina ajudará a entender os exemplos. Se você acha que as bases do seu Python ainda estão um pouco instáveis, você pode querer verificar nossa Introdução à Programação . Você está pronto? Vamos começar.

O que é deep learning?

Deep learning ou “aprendizado profundo” é um tipo de aprendizado de máquina. Os modelos neste campo são conceituados como gráficos que consistem em camadas interconectadas. A maioria dessas camadas está “oculta”, o que significa que não podemos observar diretamente sua entrada e saída.

Nesse gráfico, a informação é transportada e transformada pela imitação dos processos neuronais no cérebro. É por esse motivo que esses modelos profundos são chamados de redes neurais artificiais.

O que é TensorFlow?

TensorFlow é a biblioteca de código aberto do Google para Deep Learning. Foi lançado pela primeira vez em 2015 e fornece APIs estáveis ​​em Python e C. Ao construir um modelo TensorFlow, você começa definindo o gráfico com todas as suas camadas, nós e marcadores de posição variáveis.

TensorBoard, o recurso de visualização do framework, permite que você investigue e depure seu gráfico. Na próxima etapa, você compila o gráfico e ajusta o modelo executando os dados por meio dele – é a isso que se refere a parte “Fluxo” no nome do TensorFlow. E quanto aos tensores? Bem, um tensor é simplesmente um datagrama de alta dimensão.

Imagine uma matriz (ou tabela), mas com três, quatro ou 100 dimensões. Difícil, certo? Não para o seu computador.

A interface Python do TensorFlow é popular entre profissionais e entusiastas do aprendizado de máquina, pois é mais fácil de usar do que a API C ++.

Alternativas ao TensorFlow

Embora o TensorFlow tenha se tornado rapidamente a estrutura de Deep Learning mais usada, já existiram várias bibliotecas, como Torch, Theano ou Caffe. Uma alternativa popular do TensorFlow é o Keras.

Ele é escrito em Python e funciona como uma API de alto nível com TensorFlow como back-end padrão (anteriormente Theano). Muitas pessoas que trabalham com modelos de deep learning apreciam o Keras porque é mais fácil de usar do que o TensorFlow.

No Keras, você simplesmente define seu gráfico usando blocos de construção prontos e começa a trabalhar. Por outro lado, é menos flexível que o TensorFlow.

TensorFlow, Keras e TensorFlow Lite

O novo TensorFlow 2.0, lançado no outono de 2019, apresentou muitas melhorias em relação à usabilidade. Isso reduziu a barreira para iniciantes no deep learning que desejam começar a usar o TensorFlow diretamente com Python.

Como uma mudança importante, uma interface Keras agora está integrada por padrão. Isso resulta em uma ótima combinação da capacidade de personalização do TensorFlow e a facilidade de uso do Keras. Mas, depois de treinar seu modelo profundo, como torná-lo realmente portátil, para que muitas pessoas possam usá-lo? O TensorFlow Lite foi feito para esse propósito.

Ele compacta seu modelo treinado e produz um arquivo que pode ser armazenado em dispositivos móveis para ser usado no modo offline também.

Casos de uso do TensorFlow

Por décadas, foi um truísmo dizer que os computadores são bons em coisas difíceis para os humanos e vice-versa. Isso ocorre porque os computadores foram projetados para lidar com dados estruturados (como tabelas) que poderiam processar em uma fração do tempo que um cérebro humano precisaria.

Redes neurais profundas mudam tudo isso. Por causa de sua infinidade de interconexões, uma rede neural pode encontrar padrões em dados não estruturados e, assim, se aproximar e às vezes até ultrapassar as capacidades humanas. Vejamos alguns exemplos de redes neurais em ação.

Reconhecimento de imagem

Os dados podem consistir em dígitos manuscritos ou fotos de roupas. As aplicações práticas do reconhecimento de imagem são infinitas.

Recentemente, vimos redes neurais que identificam câncer de pele observando fotos de pintas, rivalizando com o desempenho de especialistas humanos. As redes comumente usadas para tarefas de reconhecimento de imagem são Redes Neurais Convolucionais (CNNs). Eles se destacam na classificação de imagens, detectando padrões locais e combinando-os em contextos cada vez maiores.

Máquina de tradução

Você percebeu como o tradutor do Google melhorou nos últimos anos? Isso porque, em 2016, o Google fez a transição de um sistema de tradução estatística para um sistema baseado em rede neural. A tradução automática e outras aplicações de Processamento de Linguagem Natural (PNL) são instâncias de aprendizagem sequência a sequência tradicionalmente implementadas como uma Rede Neural Recorrente (RNN).

Tradução de imagem para imagem com CycleGANs

Se você conseguir construir um modelo para tradução imagem a imagem, poderá alimentar sua rede de imagens de cavalos, que se transformarão em imagens de zebras.

Embora não seja exatamente um salvador, este aplicativo é baseado em uma arquitetura fascinante: CycleGANs são redes adversárias que basicamente competem entre si para obter um mapeamento de uma distribuição de recursos para outra.

A parte legal é que eles não precisam de conjuntos de dados emparelhados, mas podem inferir as distribuições por conta própria. CycleGANs é um ótimo projeto para alunos avançados. Essas redes são notoriamente difíceis de construir e treinar.

Como usar o TensorFlow em Python

Os modelos de Deep Learning podem parecer complicados e intimidantes no início. Agora veremos um exemplo de brinquedo para ver os principais conceitos do TensorFlow em ação usando Python. Em nosso exemplo, preveremos o diâmetro de uma pizza observando seu preço em dólares:

Dados nossos valores de entrada, o modelo adivinhou o diâmetro da pizza errado em, em média, 1,8 centímetros. Isso não é ruim – tenha em mente que nosso modelo nem mesmo possui camadas ocultas. Agora, vamos supor que acabamos de receber $ 15 e queremos comemorar gastando o dinheiro em pizza. Quanta pizza podemos conseguir com o nosso dinheiro?

Acesse aqui o TensorFlow.

Deixe uma resposta

Info.CEVIU