TensorFlow por Brasileiros — Introdução (Deep-learning)

Adilmar Coelho Dantas
5 min readFeb 26, 2019

Salve! Salve! pessoal tudo bem ? Hoje vamos falar sobre um tema muito comentado ultimamente, não somente entre os cientistas de dados, ou profissionais da computação, mas pela comunidade tech em geral. O tema de hoje é o grande TesorFlow, e com certeza você já ouviu alguém dizer esse nome não é mesmo … então vamos lá.

Introdução aos conceitos básicos

Antes de entrarmos diretamente no assunto devemos ter bem estabelecidos alguns conceitos essenciais, um deles é Deep-learning ou (traduzido do inglês aprendizagem profunda). A aprendizagem profunda é um subcampo de aprendizado de máquina composta por um conjunto de algoritmos inspirados na estrutura e nas funcionalidades do cérebro.

O TensorFlow é um framework de aprendizado de máquina que o Google criou e usou para projetar, construir e treinar modelos de aprendizagem profunda. Você pode usar a biblioteca TensorFlow para cálculos numéricos, o que por si só não parece muito especial, mas esses cálculos são feitos com grafos de fluxo de dados. Nesses grafos, os nós representam operações matemáticas, enquanto as arestas representam os dados, que geralmente são arrays ou tensores de dados multidimensionais, que são comunicados entre essas arestas. Logo o nome TensorFlow é derivado das operações que as redes neurais executam em matrizes ou tensores de dados multidimensionais!

Introdução — Tensor’s

Você já leu na introdução que os tensores são implementados no TensorFlow como matrizes de dados multidimensionais, mas talvez seja necessária alguma introdução adicional para entender completamente os tensores e seu uso no aprendizado de máquina.

Podemos definir então o Tensor como sendo uma estrutura de dados que contém valores primitivos e estão em um array -n dimensional.

Instalando o TensorFlow

O primeiro passo é instalar o Python , após isso eu gosto de instalar usando o gerenciador de pacotes do Python o PIP pelo comando abaixo que deve ser executado em seu terminal (shell ou cmd).

pip install tensorflow

Criando nosso primeiro tensor: para usar o TensorFlow corretamente podemos usar uma “receita” padrão: (1-importar o tf, 2-inicializar meus tensores, 3- efetuar a operação desejada, 4- mostrar a saída), conforme demonstrado no código abaixo:

Agora que já sabemos como criar um tensor, vamos aprender a criar e utilizar uma seção tf para inicializar nossas constantes e garantir que elas não serão alteradas na execução,isso evita erros indesejados e economiza trabalho quando se tem várias operações.

Regressão linear

Antes de entrarmos a fundo nas redes neurais com TensorFlow vamos praticar um pouco usando Machine Learning por meio da regressão linear. Pra essa prática vamos usar a base brain_body.txt que eu preparei para vocês. Essa base é composta pelo peso do cérebro e do corpo de vários animais. Nosso objetivo então é dado um peso x do cérebro de um animal eu quero realizar uma predição para saber o peso corporal (body) do animal por meio da regressão linear. Bom antes de começarmos vamos instalar algumas lib’s que vamos precisar …

pip install sklearn
pip install pandas
pip install matplotlib

Para essa prática o que devemos fazer é:

1- carregar as bibliotecas

2- ler nossa base txt

3- criar o modelo de treinamento (usando regressão linear)

4- exibir o gráfico com os eixos x [‘Brain’] e os eixos y [‘body’] **Lembre-se que os eixos y serão os resultados da predição com regressão linear.

Como resultado teremos um gráfico com os valores de x (pesos cerebrias) e os valores resultantes da predição y (pesos corporais).

Analisando o gráfico percebemos que todos os pontos foram mapeados corretamente e que nossa linha de regressão se adaptou muito bem, mas que não existe uma correlação forte que envolva o peso do cérebro com o peso corporal.

Mas passando pela linha dado qualquer peso cerebral conseguimos predizer o peso corpo com a regressão linear.

Conclusão

Modelos de regressão linear exibe o relacionamento entre uma variável independente e dependente para criar uma linha entre eles com o melhor ajuste possível onde podemos realizar nossas predições.

Além disso antes de partimos para a implementação de redes neurais é necessário ter em mente que geralmente existem três meios de aprendizagem são eles:

1- Supervisionado

Nesse modelo passamos um conjunto de dados rotulados, recebendo assim o feedback do que é e não é correto, tendo que aprender apenas o mapeamento entre os labels e os dados.

2- Não supervisionado

Nesse modelo passamos um conjunto de dados sem rótulos, além de não receber nenhum feedback sobre o que é ou não correto, tendo que aprender por si só, sendo o mais indicado uma vez que nem sempre temos a base bem formada com rótulos.

3- Aprendizado por reforço

Nesse modelo o algoritmo obtém o feedback apenas quando alcança seu objetivo. Ao contrario dos outros modelos a aprendizagem por reforço está interligada com a interação de tentativa e erro com o ambiente como em um jogo de xadrez.

Bom pessoal por hoje é só. voltarei em breve para criamos nossa primeira rede neural.

Bons estudos.

--

--

Adilmar Coelho Dantas

PhD in Computer Science, Msc in Computer Science (Artificial Intelligence) — Universidade Federal de Uberlândia