Sieci neuronowe i warstwy

Wprowadzenie do uczenia głębokiego z PyTorch

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

Warstwy sieci neuronowej

Diagram przedstawiający sieć neuronową z warstwą wejściową, ukrytą i wyjściową

Wprowadzenie do uczenia głębokiego z PyTorch

Warstwy sieci neuronowej

Diagram przedstawiający sieć neuronową z warstwą wejściową, ukrytą i wyjściową

Wprowadzenie do uczenia głębokiego z PyTorch

Warstwy sieci neuronowej

Diagram przedstawiający sieć neuronową z warstwą wejściową, ukrytą i wyjściową

Wprowadzenie do uczenia głębokiego z PyTorch

Warstwy sieci neuronowej

Diagram przedstawiający sieć neuronową z warstwą wejściową, ukrytą i wyjściową

Wprowadzenie do uczenia głębokiego z PyTorch

Nasza pierwsza sieć neuronowa

Diagram przedstawiający podstawową sieć neuronową z warstwą wejściową i wyjściową

  • Sieć w pełni połączona
  • Odpowiednik modelu liniowego
Wprowadzenie do uczenia głębokiego z PyTorch

Projektowanie sieci neuronowej

Trzy węzły reprezentujące warstwę wejściową sieci neuronowej

# Importing as nn to avoid writing torch.nn
import torch.nn as nn


# Create input_tensor with three features input_tensor = torch.tensor( [[0.3471, 0.4547, -0.2356]])
  • Neurony wejściowe = cechy
  • Neurony wyjściowe = klasy
Wprowadzenie do uczenia głębokiego z PyTorch

Projektowanie sieci neuronowej

Trzy węzły reprezentujące warstwę wejściową sieci neuronowej ze strzałkami wskazującymi warstwę liniową

# Importing as nn to avoid writing torch.nn
import torch.nn as nn


# Create input_tensor with three features input_tensor = torch.tensor( [[0.3471, 0.4547, -0.2356]])
# Define our linear layer linear_layer = nn.Linear(
in_features=3,
out_features=2
)
Wprowadzenie do uczenia głębokiego z PyTorch

Projektowanie sieci neuronowej

Diagram przedstawiający podstawową sieć neuronową z warstwą wejściową i wyjściową

# Importing as nn to avoid writing torch.nn
import torch.nn as nn


# Create input_tensor with three features input_tensor = torch.tensor( [[0.3471, 0.4547, -0.2356]])
# Define our linear layer linear_layer = nn.Linear( in_features=3, out_features=2 )
# Pass input through linear layer output = linear_layer(input_tensor) print(output)
Wprowadzenie do uczenia głębokiego z PyTorch

Projektowanie sieci neuronowej

Diagram przedstawiający podstawową sieć neuronową z warstwą wejściową i wyjściową

$$ $$ $$

# Pass input through linear layer
output = linear_layer(input_tensor)
print(output)
tensor([[-0.2415, -0.1604]], 
    grad_fn=<AddmmBackward0>)
Wprowadzenie do uczenia głębokiego z PyTorch

Wagi i biasy

output = linear_layer(input_tensor)

Reprezentacja operacji liniowej

Wprowadzenie do uczenia głębokiego z PyTorch

Wagi i biasy

  • .weight
    print(linear_layer.weight)
    
Parameter containing:
tensor([[-0.4799,  0.4996,  0.1123],
        [-0.0365, -0.1855,  0.0432]], 
        requires_grad=True)

$$

  • Odzwierciedla znaczenie poszczególnych cech
  • .bias
    print(linear_layer.bias)
    
Parameter containing:
tensor([0.0310, 0.1537], requires_grad=True)

$$

$$

  • Zapewnia neuronowi bazowy poziom wyjścia
Wprowadzenie do uczenia głębokiego z PyTorch

W pełni połączona sieć w działaniu

Diagram przedstawiający podstawową sieć neuronową z warstwą wejściową i wyjściową

Wprowadzenie do uczenia głębokiego z PyTorch

W pełni połączona sieć w działaniu

Diagram przedstawiający podstawową sieć neuronową z warstwą wejściową i wyjściową

Wprowadzenie do uczenia głębokiego z PyTorch

W pełni połączona sieć w działaniu

Diagram przedstawiający podstawową sieć neuronową z warstwą wejściową i wyjściową

  • Cecha wilgotności będzie miała większą wagę
  • Bias uwzględnia bazowe informacje
Wprowadzenie do uczenia głębokiego z PyTorch

Czas na ćwiczenia!

Wprowadzenie do uczenia głębokiego z PyTorch

Preparing Video For Download...