Camadas densas

Introdução ao TensorFlow em Python

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

O modelo de regressão linear

O diagrama mostra um modelo de regressão com duas variáveis: estado civil e idade. O alvo do modelo é o status de inadimplência de um cliente de cartão de crédito.

Introdução ao TensorFlow em Python

O que é uma rede neural?

O diagrama mostra uma rede neural com duas entradas: estado civil e idade. O alvo da rede é o status de inadimplência de um cliente de cartão de crédito.

Introdução ao TensorFlow em Python

O que é uma rede neural?

Esta imagem mostra uma rede neural mais complexa com 10 entradas, 3 camadas densas ocultas e uma camada de saída.

  • Uma camada densa aplica pesos a todos os nós da camada anterior.
Introdução ao TensorFlow em Python

Uma camada densa simples

import tensorflow as tf
# Definir entradas (features)
inputs = tf.constant([[1, 35]])
# Definir pesos
weights = tf.Variable([[-0.05], [-0.01]])
# Definir o viés (bias)
bias = tf.Variable([0.5])
Introdução ao TensorFlow em Python

Uma camada densa simples

# Multiplicar entradas (features) pelos pesos
product = tf.matmul(inputs, weights)
# Definir camada densa
dense = tf.keras.activations.sigmoid(product+bias)

Este diagrama mostra uma camada densa que recebe duas entradas e produz uma saída.

Introdução ao TensorFlow em Python

Definindo um modelo completo

import tensorflow as tf
# Definir camada de entrada (features)
inputs = tf.constant(data, tf.float32)
# Definir a primeira camada densa
dense1 = tf.keras.layers.Dense(10, activation='sigmoid')(inputs)
Introdução ao TensorFlow em Python

Definindo um modelo completo

# Definir a segunda camada densa
dense2 = tf.keras.layers.Dense(5, activation='sigmoid')(dense1)
# Definir a camada de saída (previsões)
outputs =  tf.keras.layers.Dense(1, activation='sigmoid')(dense2)

Este diagrama mostra uma camada densa que recebe duas entradas e produz uma saída.

Introdução ao TensorFlow em Python

Abordagem de alto nível vs. baixo nível

  • Abordagem de alto nível
    • Operações da API de alto nível
dense = keras.layers.Dense(10,\
 activation='sigmoid')
  • Abordagem de baixo nível
    • Operações de álgebra linear
prod = matmul(inputs, weights)
dense = keras.activations.sigmoid(prod)
Introdução ao TensorFlow em Python

Vamos praticar!

Introdução ao TensorFlow em Python

Preparing Video For Download...