﻿1
00:00:00,189 --> 00:00:02,856


2
00:00:05,550 --> 00:00:07,293
Что такое трансфертное обучение?

3
00:00:09,480 --> 00:00:10,920
Идея трансферного обучения

4
00:00:10,920 --> 00:00:12,570
состоит в том, чтобы использовать знания, полученные

5
00:00:12,570 --> 00:00:15,543
моделью, обученной на большом количестве данных для другой задачи.

6
00:00:16,410 --> 00:00:20,130
Модель A будет обучена специально для задачи A.

7
00:00:20,130 --> 00:00:22,200
Теперь предположим, что вы хотите обучить модель B

8
00:00:22,200 --> 00:00:23,970
для другой задачи.

9
00:00:23,970 --> 00:00:27,330
Одним из вариантов может быть обучение модели с нуля.

10
00:00:27,330 --> 00:00:30,633
Это может потребовать большого количества вычислений, времени и данных.

11
00:00:31,470 --> 00:00:34,260
Вместо этого мы можем инициализировать модель B

12
00:00:34,260 --> 00:00:36,570
с теми же весами, что и модель A,

13
00:00:36,570 --> 00:00:39,213
передавая знания модели A на задачу B.

14
00:00:41,040 --> 00:00:42,690
При обучении с нуля,

15
00:00:42,690 --> 00:00:45,870
все веса модели инициализируются случайным образом.

16
00:00:45,870 --> 00:00:48,870
В этом примере мы обучаем модель BERT

17
00:00:48,870 --> 00:00:50,220
на задаче распознавания того,

18
00:00:50,220 --> 00:00:52,203
похожи или нет два предложения.

19
00:00:54,116 --> 00:00:56,730
Слева - обучение с нуля,

20
00:00:56,730 --> 00:01:00,000
а справа - дообучение предварительно обученной модели.

21
00:01:00,000 --> 00:01:02,220
Как мы видим, использование трансфертного обучения

22
00:01:02,220 --> 00:01:05,160
и предварительно обученной модели дает лучшие результаты.

23
00:01:05,160 --> 00:01:07,140
И неважно, будем ли мы обучать дольше.

24
00:01:07,140 --> 00:01:10,620
Точность обучения с нуля составляет около 70%,

25
00:01:10,620 --> 00:01:13,293
в то время как предварительно обученная модель легко преодолевает отметку в 86%.

26
00:01:14,460 --> 00:01:16,140
Это связано с тем, что предварительно обученные модели

27
00:01:16,140 --> 00:01:18,420
обычно обучаются на больших объемах данных

28
00:01:18,420 --> 00:01:21,000
которые обеспечивают модели статистическое понимание

29
00:01:21,000 --> 00:01:23,413
языка, используемого во время предварительного обучения.

30
00:01:24,450 --> 00:01:25,950
В компьютерном зрении

31
00:01:25,950 --> 00:01:28,080
трансфертное обучение успешно применяется

32
00:01:28,080 --> 00:01:30,060
уже почти десять лет.

33
00:01:30,060 --> 00:01:32,850
Модели часто предварительно обучаются на наборе данных ImageNet,

34
00:01:32,850 --> 00:01:36,153
содержащем 1,2 миллиона фотографий.

35
00:01:37,170 --> 00:01:41,130
Каждое изображение классифицируется по одной из 1000 меток.

36
00:01:41,130 --> 00:01:44,010
Подобное обучение на размеченных данных

37
00:01:44,010 --> 00:01:45,663
называется обучением с учителем.

38
00:01:47,340 --> 00:01:49,140
В обработке естественного языка (NLP),

39
00:01:49,140 --> 00:01:51,870
трансфертное обучение появилось совсем недавно.

40
00:01:51,870 --> 00:01:54,480
Ключевое отличие от ImageNet заключается в том, что предварительное обучение

41
00:01:54,480 --> 00:01:56,460
обычно осуществляется самостоятельно,

42
00:01:56,460 --> 00:01:58,770
что означает, что оно не требует аннотации от человека

43
00:01:58,770 --> 00:01:59,673
для меток.

44
00:02:00,780 --> 00:02:02,700
Очень распространенной целью предварительного обучения

45
00:02:02,700 --> 00:02:05,310
является угадывание следующего слова в предложении.

46
00:02:05,310 --> 00:02:07,710
Для этого нужно только много-много текста.

47
00:02:07,710 --> 00:02:10,710
Например, GPT-2 была предварительно обучена таким образом

48
00:02:10,710 --> 00:02:12,900
используя содержание 45 миллионов ссылок

49
00:02:12,900 --> 00:02:14,673
размещенных пользователями в Reddit.

50
00:02:16,560 --> 00:02:19,590
Другим примером задачи предварительного cамообучения под наблюдением

51
00:02:19,590 --> 00:02:22,470
является предсказание значения случайно замаскированных слов.

52
00:02:22,470 --> 00:02:24,540
Это похоже на тесты "заполни пустое место", 

53
00:02:24,540 --> 00:02:26,760
которые вы, возможно, выполняли в школе.

54
00:02:26,760 --> 00:02:29,880
BERT был предварительно обучен таким образом, используя английскую Википедию

55
00:02:29,880 --> 00:02:31,893
и 11 000 неопубликованных книг.

56
00:02:33,120 --> 00:02:36,450
На практике трансферное обучение применяется к заданной модели

57
00:02:36,450 --> 00:02:39,090
путем отбрасывания ее головы,

58
00:02:39,090 --> 00:02:42,150
то есть последних слоев, сфокусированных на цели предварительного обучения,

59
00:02:42,150 --> 00:02:45,360
и замены ее новой, случайно инициализированной головой,

60
00:02:45,360 --> 00:02:46,860
подходящей для поставленной задачи.

61
00:02:47,970 --> 00:02:51,570
Например, когда мы ранее проводили дообучение модели BERT,

62
00:02:51,570 --> 00:02:54,060
мы удалили голову, которая классифицировала слова-маски,

63
00:02:54,060 --> 00:02:56,790
и заменили ее классификатором с двумя выходами.

64
00:02:56,790 --> 00:02:58,563
Поскольку наша задача имеет две метки.

65
00:02:59,700 --> 00:03:02,490
Чтобы быть максимально эффективной, используемая предварительно обученная модель

66
00:03:02,490 --> 00:03:03,770
должна быть максимально похожа 

67
00:03:03,770 --> 00:03:06,270
на задачу, для которой она дообучается.

68
00:03:06,270 --> 00:03:08,190
Например, если проблема

69
00:03:08,190 --> 00:03:10,860
состоит в классификации немецких предложений,

70
00:03:10,860 --> 00:03:13,053
лучше всего использовать предварительно обученную немецкую модель.

71
00:03:14,370 --> 00:03:16,649
Но вместе с хорошим приходит и плохое.

72
00:03:16,649 --> 00:03:19,380
Предварительно обученная модель передает не только свои знания,

73
00:03:19,380 --> 00:03:21,693
но и любую предвзятость, которую она может содержать.

74
00:03:22,530 --> 00:03:24,300
ImageNet в основном содержит изображения

75
00:03:24,300 --> 00:03:26,850
из Соединенных Штатов и Западной Европы.

76
00:03:26,850 --> 00:03:28,020
Поэтому модели, дообученные с его помощью

77
00:03:28,020 --> 00:03:31,710
обычно лучше работают с изображениями из этих стран.

78
00:03:31,710 --> 00:03:33,690
OpenAI также изучил смещение

79
00:03:33,690 --> 00:03:36,120
в прогнозах своей модели GPT-3

80
00:03:36,120 --> 00:03:36,953
которая была предварительно обучена

81
00:03:36,953 --> 00:03:38,750
с использованием задачи "Угадай следующее слово".

82
00:03:39,720 --> 00:03:41,040
Изменение пола в строке подсказке

83
00:03:41,040 --> 00:03:44,250
с "He was very" на "She was very"

84
00:03:44,250 --> 00:03:47,550
изменило предсказания с преимущественно нейтральных прилагательных

85
00:03:47,550 --> 00:03:49,233
на почти только физические.

86
00:03:50,400 --> 00:03:52,367
В карточке модели GPT-2

87
00:03:52,367 --> 00:03:54,990
OpenAI также признает ее необъективность

88
00:03:54,990 --> 00:03:56,730
и не рекомендует использовать ее

89
00:03:56,730 --> 00:03:58,803
в системах, взаимодействующих с людьми.

90
00:04:01,040 --> 00:04:03,707


