Funkcje aktywacji

Wprowadzenie do TensorFlow w Pythonie

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

Czym jest funkcja aktywacji?

  • Elementy typowej warstwy ukrytej
    • Liniowy: mnożenie macierzowe
    • Nieliniowy: funkcja aktywacji
Wprowadzenie do TensorFlow w Pythonie

Dlaczego nieliniowości są ważne

Prosta sieć, w której kwota rachunku i wiek są używane do przewidywania niewykonania zobowiązania.

Wprowadzenie do TensorFlow w Pythonie

Dlaczego nieliniowości są ważne

Zależność między kwotą rachunku karty kredytowej a niewykonaniem zobowiązania dla kredytobiorców w wieku 30 lat i poniżej.

Wprowadzenie do TensorFlow w Pythonie

Prosty przykład

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
Wprowadzenie do TensorFlow w Pythonie

Prosty przykład

# 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
Wprowadzenie do TensorFlow w Pythonie

Prosty przykład

# 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
Wprowadzenie do TensorFlow w Pythonie

Funkcja aktywacji sigmoid

  • Funkcja aktywacji sigmoid
    • Klasyfikacja binarna
    • Niskopoziomowo: tf.keras.activations.sigmoid()
    • Wysokopoziomowo: sigmoid

Wykres funkcji aktywacji sigmoid w przedziale od -10 do 10.

Wprowadzenie do TensorFlow w Pythonie

Funkcja aktywacji ReLU

  • Funkcja aktywacji ReLU
    • Warstwy ukryte
    • Niskopoziomowo: tf.keras.activations.relu()
    • Wysokopoziomowo: relu

Wykres funkcji aktywacji ReLU w przedziale od -10 do 10.

Wprowadzenie do TensorFlow w Pythonie

Funkcja aktywacji softmax

  • Funkcja aktywacji softmax
    • Warstwa wyjściowa (>2 klasy)
    • Niskopoziomowo: tf.keras.activations.softmax()
    • Wysokopoziomowo: softmax
Wprowadzenie do TensorFlow w Pythonie

Funkcje aktywacji w sieciach neuronowych

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)
Wprowadzenie do TensorFlow w Pythonie

Czas na ćwiczenia!

Wprowadzenie do TensorFlow w Pythonie

Preparing Video For Download...