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