subtitles/ru/03_what-is-transfer-learning.srt (268 lines of code) (raw):
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