Функції активації

Вступ до TensorFlow на Python

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

Що таке функція активації?

  • Складові типової прихованої шару
    • Лінійна: множення матриць
    • Нелінійна: функція активації
Вступ до TensorFlow на Python

Чому важливі нелінійності

На зображенні проста мережа: сума рахунку та вік використовуються для прогнозу дефолту.

Вступ до TensorFlow на Python

Чому важливі нелінійності

Це співвідношення між сумою за кредитною карткою та дефолтом для позичальників 30 років і молодше.

Вступ до TensorFlow на Python

Простий приклад

import numpy as np
import tensorflow as tf

# Define example borrower features
young, old = 0.3, 0.6
low_bill, high_bill = 0.1, 0.5
# Apply matrix multiplication step for all feature combinations
young_high = 1.0*young + 2.0*high_bill
young_low = 1.0*young + 2.0*low_bill
old_high = 1.0*old + 2.0*high_bill
old_low = 1.0*old + 2.0*low_bill
Вступ до TensorFlow на Python

Простий приклад

# Difference in default predictions for young
print(young_high - young_low)

# Difference in default predictions for old
print(old_high - old_low)
0.8 
0.8
Вступ до TensorFlow на Python

Простий приклад

# Difference in default predictions for young
print(tf.keras.activations.sigmoid(young_high).numpy() - 
tf.keras.activations.sigmoid(young_low).numpy())

# Difference in default predictions for old
print(tf.keras.activations.sigmoid(old_high).numpy() - 
tf.keras.activations.sigmoid(old_low).numpy())
0.16337568
0.14204389
Вступ до TensorFlow на Python

Функція активації sigmoid

  • Функція активації sigmoid
    • Бінарна класифікація
    • Низький рівень: tf.keras.activations.sigmoid()
    • Високий рівень: sigmoid

Графік функції активації sigmoid на інтервалі від -10 до 10.

Вступ до TensorFlow на Python

Функція активації ReLU

  • Функція активації ReLU
    • Приховані шари
    • Низький рівень: tf.keras.activations.relu()
    • Високий рівень: relu

Графік функції активації ReLU на інтервалі від -10 до 10.

Вступ до TensorFlow на Python

Функція активації softmax

  • Функція активації softmax
    • Вихідний шар (>2 класи)
    • Низький рівень: tf.keras.activations.softmax()
    • Високий рівень: softmax
Вступ до TensorFlow на Python

Функції активації в нейронних мережах

import tensorflow as tf
# Define input layer
inputs = tf.constant(borrower_features, tf.float32)
# Define dense layer 1
dense1 = tf.keras.layers.Dense(16, activation='relu')(inputs)
# Define dense layer 2
dense2 = tf.keras.layers.Dense(8, activation='sigmoid')(dense1)
# Define output layer 
outputs = tf.keras.layers.Dense(4, activation='softmax')(dense2)
Вступ до TensorFlow на Python

Давайте потренуємось!

Вступ до TensorFlow на Python

Preparing Video For Download...