1 of 54

Лекция

Полносвязная нейронная сеть

2 of 54

План лекции

  • Модель нейрона
  • Полносвязная нейронная сеть для классификации
    • Скрытые слои
    • Последний слой
  • Обучение нейронных сетей
    • Loss function
    • Back Propagation
  • Разбор BackProp для полносвязного слоя

3 of 54

Задача: распознавание рукописных цифр

  • Дано: чёрно-белые изображения 8x8
  • Определить: какая из 10 цифр нарисована (10 классов)
  • Имеется: обучающая выборка размеченных изображений
    • Несколько тысяч изображений с известными классами

4 of 54

Описание модели

Обучение модели

5 of 54

Описание модели

Обучение модели

6 of 54

Один нейрон

7 of 54

Модель нейрона

8 of 54

Модель нейрона

входы нейрона:

9 of 54

Модель нейрона

входы нейрона:

веса нейрона:

10 of 54

Модель нейрона

входы нейрона:

веса нейрона:

скалярное произведение векторов x, w:

11 of 54

Модель нейрона

функция активации

f(12.3)

f(t)

входы нейрона:

веса нейрона:

скалярное произведение векторов x, w:

12 of 54

Функция сигмоиды

13 of 54

Многослойный перцептрон

14 of 54

Многослойный перцептрон

  • Многослойный перцептрон — простейшая архитектура нейронной сети
  • Каждый слой нейронов связан со всем нейронами с предыдущего слоя
  • Десять выходных нейронов соответствуют классам изображений

15 of 54

Многослойный перцептрон

16 of 54

Многослойный перцептрон

wi — вектор весов

i-ого нейрона

bi — свободный член

17 of 54

Преобразование вектора в перцептроне

18 of 54

Преобразование вектора в перцептроне

линейное преобразование вектора x

19 of 54

Параметры нейронной сети

  • (W1, W2, W3, b1, b2, b3) — совокупность параметров нейронной сети

W1

W2

W3

20 of 54

Последний слой в задаче классификации

  • Что происходит на выходном слое перцептрона?
  • Как выходы нейронов преобразуются в вероятности классов?

21 of 54

Последний слой в задаче классификации

  • Решаем задачу классификации на 10 классов
  • Предпоследний слой содержит 10 линейных нейронов — меры принадлежности объекта каждому классу
  • Пусть — выходы предпоследнего слоя

22 of 54

Последний слой в задаче классификации

  • Решаем задачу классификации на 10 классов
  • Предпоследний слой содержит 10 линейных нейронов — меры принадлежности объекта каждому классу
  • Пусть — выходы предпоследнего слоя
  • На последнем слое применяется softmax-преобразование:�

23 of 54

Последний слой в задаче классификации

  • Решаем задачу классификации на 10 классов
  • Предпоследний слой содержит 10 линейных нейронов — меры принадлежности объекта каждому классу
  • Пусть — выходы предпоследнего слоя
  • На последнем слое применяется softmax-преобразование:�

24 of 54

Последний слой в задаче классификации

  • Решаем задачу классификации на 10 классов
  • Предпоследний слой содержит 10 линейных нейронов — меры принадлежности объекта каждому классу
  • Пусть — выходы предпоследнего слоя
  • На последнем слое применяется softmax-преобразование:�

25 of 54

Последний слой в задаче классификации

  • Решаем задачу классификации на 10 классов
  • Предпоследний слой содержит 10 линейных нейронов — меры принадлежности объекта каждому классу
  • Пусть — выходы предпоследнего слоя
  • На последнем слое применяется softmax-преобразование:�

26 of 54

Последний слой в задаче классификации

  • Числа :
    • Положительны
    • В сумме дают 1
  • Их можно интерпретировать как вероятности принадлежности соответствующим классам

W1

W2

W3

27 of 54

Описание модели

Обучение модели

28 of 54

Обучение MLP (Multilayer Perceptron) �для задачи классификации

29 of 54

Обучение перцептрона

  • Проходимся по элементам обучающей выборки
  • Имеется размеченное изображение цифры “4”
  • На последнем слое нейронной сети сформировались вероятности�

W1

W2

W3

30 of 54

Обучение перцептрона

  • Хотим сделать p4 как можно больше
  • Аналогично для всех картинок
  • Цель: подобрать матрицы W1, W2, W3 так, чтобы максимизировать произведение вероятностей правильной классификации по всем элементам обучающей выборки
  • Имеем сложную задачу �численной оптимизации

W1

W2

W3

31 of 54

Оптимизация функции потерь

  • Пусть (x, y) — элемент обучающей выборки, — вектор параметров нейросети�

32 of 54

Оптимизация функции потерь

  • Пусть (x, y) — элемент обучающей выборки, — вектор параметров нейросети
  • На последнем слое нейронной сети — вероятности классов�

33 of 54

Оптимизация функции потерь

  • Пусть (x, y) — элемент обучающей выборки, — вектор параметров нейросети
  • На последнем слое нейронной сети — вероятности классов�
  • Как и в случае логистической регрессии, оптимизируем logloss(y, p):��

34 of 54

Оптимизация функции потерь

  • Пусть (x, y) — элемент обучающей выборки, — вектор параметров нейросети
  • На последнем слое нейронной сети — вероятности классов�
  • Как и в случае логистической регрессии, оптимизируем logloss(y, p):��
  • Итоговая задача оптимизации:�

35 of 54

Оптимизация в общем случае

Можно оптимизировать и другие функции потерь. Например, Mean Squared Error в случае задачи регрессии

36 of 54

Стохастический градиентный спуск

  • Выбираем батч примеров из обучающей выборки
  • Вычисляем производную функции потерь по всем весам нейросети
  • Обновляем веса в направлении антиградиента

37 of 54

Алгоритм обратного распространения ошибки (BackProp)

38 of 54

Производная композиции

x1

x2

f

y1

y2

g

z

слайд В. Лемпицкого

39 of 54

Производная композиции

x1

x2

f

y1

y2

g

z

слайд В. Лемпицкого

40 of 54

Вычисление глубоких производных

x0

x1

x2

x3

f1(;w1)

f2(;w2)

f3(;w3)

f4(;w4)

z

слайд В. Лемпицкого

41 of 54

Вычисление глубоких производных

можно вычислить

x0

x1

x2

x3

f1(;w1)

f2(;w2)

f3(;w3)

f4(;w4)

z

слайд В. Лемпицкого

42 of 54

Слой нейронной сети

Чтобы определить слой, необходимо задать:

  • forward performance:
  • backward performance:��В случае, если слой реализует простую функцию, то для backward пользуемся правилом

43 of 54

Back propagation через линейный слой

44 of 54

Back propagation через линейный слой

линейный слой + поэлементная сигмоида

45 of 54

Back propagation через линейный слой

x1

x2

f

y1

y2

L

...

46 of 54

Back propagation через линейный слой

x1

x2

f

y1

y2

L

...

47 of 54

Back propagation через линейный слой

x1

x2

f

y1

y2

L

...

48 of 54

Back propagation через линейный слой

x1

x2

f

y1

y2

L

...

49 of 54

Back propagation через линейный слой

x1

x2

f

y1

y2

L

...

50 of 54

Back propagation через линейный слой

x1

x2

f

y1

y2

L

...

51 of 54

Back propagation через линейный слой

x1

x2

f

y1

y2

L

...

52 of 54

Реализация полносвязного слоя

53 of 54

Вопрос. Как устроен back propagation через слой сигмоиды?

54 of 54

Recap

  • Модель нейрона
  • Полносвязная нейронная сеть для классификации
    • Скрытые слои
    • Последний слой
  • Обучение нейронных сетей
    • Loss function
    • Back Propagation
  • Разбор BackProp для полносвязного слоя