Réseaux neuronaux et couches

Introduction au deep learning avec PyTorch

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

Couches du réseau neuronal

Un schéma représentant un réseau neuronal avec une entrée, une couche cachée et une sortie

Introduction au deep learning avec PyTorch

Couches du réseau neuronal

Un schéma représentant un réseau neuronal avec une entrée, une couche cachée et une sortie

Introduction au deep learning avec PyTorch

Couches du réseau neuronal

Un schéma représentant un réseau neuronal avec une entrée, une couche cachée et une sortie

Introduction au deep learning avec PyTorch

Couches du réseau neuronal

Un schéma représentant un réseau neuronal avec une entrée, une couche cachée et une sortie

Introduction au deep learning avec PyTorch

Votre premier réseau neuronal

Un schéma représentant un réseau neuronal de base avec seulement une entrée et une sortie

  • Réseau entièrement connecté
  • Équivalent à un modèle linéaire
Introduction au deep learning avec PyTorch

Conception d’un réseau neuronal

Trois nœuds représentant l’entrée d’un réseau neuronal

# 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]])
  • Neurones d’entrée = caractéristiques
  • Neurones de sortie = classes
Introduction au deep learning avec PyTorch

Conception d’un réseau neuronal

Trois nœuds représentant l’entrée d’un réseau neuronal avec des flèches pointant vers l’avant pour représenter la couche linéaire

# 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
)
Introduction au deep learning avec PyTorch

Conception d’un réseau neuronal

Un schéma représentant un réseau neuronal de base avec seulement une entrée et une sortie

# 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)
Introduction au deep learning avec PyTorch

Conception d’un réseau neuronal

Un schéma représentant un réseau neuronal de base avec seulement une entrée et une sortie

$$ $$ $$

# Pass input through linear layer
output = linear_layer(input_tensor)
print(output)
tensor([[-0.2415, -0.1604]], 
    grad_fn=<AddmmBackward0>)
Introduction au deep learning avec PyTorch

Poids et biais

output = linear_layer(input_tensor)

Représentation des opérations linéaires

Introduction au deep learning avec PyTorch

Poids et biais

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

$$

  • Reflète l’importance des différentes caractéristiques
  • .bias
    print(linear_layer.bias)
    
Parameter containing:
tensor([0.0310, 0.1537], requires_grad=True)

$$

$$

  • Fournit au neurone une sortie de base
Introduction au deep learning avec PyTorch

Un réseau entièrement connecté en action

Un schéma représentant un réseau neuronal de base avec seulement une entrée et une sortie

Introduction au deep learning avec PyTorch

Un réseau entièrement connecté en action

Un schéma représentant un réseau neuronal de base avec seulement une entrée et une sortie

Introduction au deep learning avec PyTorch

Un réseau entièrement connecté en action

Un schéma représentant un réseau neuronal de base avec seulement une entrée et une sortie

  • La caractéristique d’humidité aura un poids plus important
  • Le biais permet de prendre en compte des informations de base
Introduction au deep learning avec PyTorch

Passons à la pratique !

Introduction au deep learning avec PyTorch

Preparing Video For Download...