Введение в глубокое обучение с PyTorch

Введение в глубокое обучение с PyTorch

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

Глубокое обучение повсюду!

Иллюстрация с изображением множества языков вокруг земного шара

Введение в глубокое обучение с PyTorch

Глубокое обучение повсюду!

Иллюстрация с изображением множества языков вокруг земного шара и беспилотного автомобиля

Введение в глубокое обучение с PyTorch

Глубокое обучение повсюду!

Иллюстрация с изображением множества языков вокруг земного шара, беспилотного автомобиля и медицинской диагностики

Введение в глубокое обучение с PyTorch

Глубокое обучение повсюду!

Иллюстрация с изображением множества языков вокруг земного шара, беспилотного автомобиля и медицинской диагностики

Введение в глубокое обучение с PyTorch

Что такое глубокое обучение?

Диаграмма-матрёшка: глубокое обучение как подмножество машинного обучения

Схема небольшой нейронной сети

Введение в глубокое обучение с PyTorch

Что такое глубокое обучение?

Диаграмма-матрёшка: глубокое обучение как подмножество машинного обучения

Схема нейронной сети с несколькими слоями

Введение в глубокое обучение с PyTorch

Сети глубокого обучения

$$

  • Вдохновлено принципами обучения человеческого мозга

Иллюстрация: человек изучает мозг

Введение в глубокое обучение с PyTorch

Сети глубокого обучения

$$

  • Вдохновлено принципами обучения человеческого мозга
  • Нейроны ➡ нейронные сети
  • Модели требуют больших объёмов данных
  • Не менее 100 000 точек данных

Иллюстрация: человек изучает мозг с акцентом на нейроны

Введение в глубокое обучение с PyTorch

PyTorch: фреймворк для глубокого обучения

$$

$$

  • Один из самых популярных фреймворков
  • Разработан Meta AI, теперь входит в Linux Foundation
  • Интуитивный и удобный в работе
  • Схож с NumPy

 

Логотип PyTorch

Введение в глубокое обучение с PyTorch

Тензоры PyTorch

$$

  • Тензор:
    • Аналог массива или матрицы
    • Строительный блок нейронных сетей

$$

import torch

my_list = [[1, 2, 3], [4, 5, 6]] tensor = torch.tensor(my_list) print(tensor)
tensor([[1, 2, 3],
        [4, 5, 6]])
Введение в глубокое обучение с PyTorch

Атрибуты тензора

  • Форма тензора
my_list = [[1, 2, 3], [4, 5, 6]]
tensor = torch.tensor(my_list)
print(tensor.shape)
torch.Size([2, 3])
  • Тип данных тензора
print(tensor.dtype)
torch.int64
Введение в глубокое обучение с PyTorch

Первые шаги с операциями над тензорами

Совместимые формы

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

b = torch.tensor([[2, 2], 
                  [3, 3]])
  • Сложение / вычитание
print(a + b)
tensor([[3, 3],
        [5, 5]])

Несовместимые формы

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

c = torch.tensor([[2, 2, 4], 
                  [3, 3, 5]])
  • Сложение / вычитание
print(a + c)
RuntimeError: The size of tensor a
(2) must match the size of tensor b (3) 
at non-singleton dimension 1
Введение в глубокое обучение с PyTorch

Поэлементное умножение

a = torch.tensor([[1, 1], 
                  [2, 2]])
b = torch.tensor([[2, 2], 
                  [3, 3]])
print(a * b)
tensor([[2,  2],
        [6, 6]])
Введение в глубокое обучение с PyTorch

Матричное умножение

Матричное умножение

Введение в глубокое обучение с PyTorch

Матричное умножение

Матричное умножение с выделением

$$

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

$$

  • Сложение и умножение позволяют обрабатывать данные и выявлять закономерности
Введение в глубокое обучение с PyTorch

Давайте потренируемся!

Введение в глубокое обучение с PyTorch

Preparing Video For Download...