Плотные слои

Введение в TensorFlow на Python

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

Линейная регрессионная модель

На диаграмме показана регрессионная модель с двумя признаками: семейным положением и возрастом. Целевая переменная — статус дефолта заёмщика по кредитной карте.

Введение в TensorFlow на Python

Что такое нейронная сеть?

На диаграмме показана нейронная сеть с двумя входными признаками: семейным положением и возрастом. Целевая переменная — статус дефолта заёмщика по кредитной карте.

Введение в TensorFlow на Python

Что такое нейронная сеть?

На рисунке показана более сложная нейронная сеть: 10 входных признаков, 3 плотных скрытых слоя и выходной слой.

  • Плотный слой применяет веса ко всем узлам предыдущего слоя.
Введение в TensorFlow на Python

Простой плотный слой

import tensorflow as tf
# Define inputs (features)
inputs = tf.constant([[1, 35]])
# Define weights
weights = tf.Variable([[-0.05], [-0.01]])
# Define the bias
bias = tf.Variable([0.5])
Введение в TensorFlow на Python

Простой плотный слой

# Multiply inputs (features) by the weights
product = tf.matmul(inputs, weights)
# Define dense layer
dense = tf.keras.activations.sigmoid(product+bias)

На диаграмме показан плотный слой, принимающий два входных узла и выдающий один выход.

Введение в TensorFlow на Python

Определение полной модели

import tensorflow as tf
# Define input (features) layer
inputs = tf.constant(data, tf.float32)
# Define first dense layer
dense1 = tf.keras.layers.Dense(10, activation='sigmoid')(inputs)
Введение в TensorFlow на Python

Определение полной модели

# Define second dense layer
dense2 = tf.keras.layers.Dense(5, activation='sigmoid')(dense1)
# Define output (predictions) layer
outputs =  tf.keras.layers.Dense(1, activation='sigmoid')(dense2)

На диаграмме показан плотный слой, принимающий два входных узла и выдающий один выход.

Введение в TensorFlow на Python

Высокоуровневый и низкоуровневый подходы

  • Высокоуровневый подход
    • Операции высокоуровневого API
dense = keras.layers.Dense(10,\
 activation='sigmoid')
  • Низкоуровневый подход
    • Линейно-алгебраические операции
prod = matmul(inputs, weights)
dense = keras.activations.sigmoid(prod)
Введение в TensorFlow на Python

Давайте потренируемся!

Введение в TensorFlow на Python

Preparing Video For Download...