Wprowadzenie do głębokiego uczenia z PyTorch

Wprowadzenie do uczenia głębokiego z PyTorch

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

Głębokie uczenie jest wszędzie!

Ilustracja przedstawiająca wiele języków wokół globu

Wprowadzenie do uczenia głębokiego z PyTorch

Głębokie uczenie jest wszędzie!

Ilustracja przedstawiająca wiele języków wokół globu i samochód autonomiczny

Wprowadzenie do uczenia głębokiego z PyTorch

Głębokie uczenie jest wszędzie!

Ilustracja przedstawiająca wiele języków wokół globu, samochód autonomiczny i diagnozę medyczną

Wprowadzenie do uczenia głębokiego z PyTorch

Głębokie uczenie jest wszędzie!

Ilustracja przedstawiająca wiele języków wokół globu, samochód autonomiczny i diagnozę medyczną

Wprowadzenie do uczenia głębokiego z PyTorch

Czym jest głębokie uczenie?

Diagram cebulowy przedstawiający głębokie uczenie jako podzbiór uczenia maszynowego

Diagram małej sieci neuronowej

Wprowadzenie do uczenia głębokiego z PyTorch

Czym jest głębokie uczenie?

Diagram cebulowy przedstawiający głębokie uczenie jako podzbiór uczenia maszynowego

Diagram sieci neuronowej z wieloma warstwami

Wprowadzenie do uczenia głębokiego z PyTorch

Sieci głębokiego uczenia

$$

  • Inspirowane sposobem uczenia się ludzkiego mózgu

Ilustracja osoby badającej mózg

Wprowadzenie do uczenia głębokiego z PyTorch

Sieci głębokiego uczenia

$$

  • Inspirowane sposobem uczenia się ludzkiego mózgu
  • Neurony ➡ sieci neuronowe
  • Modele wymagają dużej ilości danych
  • Co najmniej 100 000 punktów danych

Ilustracja osoby badającej mózg, z zaznaczonymi neuronami

Wprowadzenie do uczenia głębokiego z PyTorch

PyTorch: framework do głębokiego uczenia

$$

$$

  • Jeden z najpopularniejszych frameworków
  • Początkowo opracowany przez Meta AI, teraz w ramach Linux Foundation
  • Intuicyjny i przyjazny dla użytkownika
  • Podobieństwa z NumPy

 

Logo PyTorch

Wprowadzenie do uczenia głębokiego z PyTorch

Tensory w PyTorch

$$

  • Tensor:
    • Podobny do tablicy lub macierzy
    • Podstawowy element sieci neuronowych

$$

import torch

my_list = [[1, 2, 3], [4, 5, 6]] tensor = torch.tensor(my_list) print(tensor)
tensor([[1, 2, 3],
        [4, 5, 6]])
Wprowadzenie do uczenia głębokiego z PyTorch

Atrybuty tensora

  • Kształt tensora
my_list = [[1, 2, 3], [4, 5, 6]]
tensor = torch.tensor(my_list)
print(tensor.shape)
torch.Size([2, 3])
  • Typ danych tensora
print(tensor.dtype)
torch.int64
Wprowadzenie do uczenia głębokiego z PyTorch

Pierwsze kroki z operacjami na tensorach

Zgodne kształty

a = torch.tensor([[1, 1], 
                  [2, 2]])

b = torch.tensor([[2, 2], 
                  [3, 3]])
  • Dodawanie / odejmowanie
print(a + b)
tensor([[3, 3],
        [5, 5]])

Niezgodne kształty

a = torch.tensor([[1, 1], 
                  [2, 2]])

c = torch.tensor([[2, 2, 4], 
                  [3, 3, 5]])
  • Dodawanie / odejmowanie
print(a + c)
RuntimeError: The size of tensor a
(2) must match the size of tensor b (3) 
at non-singleton dimension 1
Wprowadzenie do uczenia głębokiego z PyTorch

Mnożenie element po elemencie

a = torch.tensor([[1, 1], 
                  [2, 2]])
b = torch.tensor([[2, 2], 
                  [3, 3]])
print(a * b)
tensor([[2,  2],
        [6, 6]])
Wprowadzenie do uczenia głębokiego z PyTorch

Mnożenie macierzy

Mnożenie macierzy

Wprowadzenie do uczenia głębokiego z PyTorch

Mnożenie macierzy

Wyróżnione mnożenie macierzy

$$

  • $1 \cdot 2 + 1 \cdot 3 = 5$

$$

  • Dodawanie i mnożenie służą do przetwarzania danych i uczenia się wzorców
Wprowadzenie do uczenia głębokiego z PyTorch

Czas na ćwiczenia!

Wprowadzenie do uczenia głębokiego z PyTorch

Preparing Video For Download...