subtitles/ru/04_the-transformer-architecture.srt (190 lines of code) (raw):
1
00:00:00,000 --> 00:00:02,750
2
00:00:05,010 --> 00:00:07,323
- Давайте изучим архитектуру трансформера.
3
00:00:09,150 --> 00:00:12,030
Этот видео является вводным в серию видео о кодерах,
4
00:00:12,030 --> 00:00:15,510
декодерах и кодер-декодерах.
5
00:00:15,510 --> 00:00:16,343
В этой серии,
6
00:00:16,343 --> 00:00:18,900
мы попытаемся понять, что представляет собой трансформерная сеть,
7
00:00:18,900 --> 00:00:22,770
и постараемся объяснить это простыми, высокоуровневыми терминами.
8
00:00:22,770 --> 00:00:25,800
Понимание нейронных сетей не требуется,
9
00:00:25,800 --> 00:00:29,343
может помочь только понимание основ векторов и тензоров.
10
00:00:32,250 --> 00:00:33,270
Для начала
11
00:00:33,270 --> 00:00:34,530
мы возьмем эту диаграмму
12
00:00:34,530 --> 00:00:36,630
из оригинальной статьи о трансформерах,
13
00:00:36,630 --> 00:00:40,140
озаглавленной "Внимание - все, что вам нужно".
14
00:00:40,140 --> 00:00:41,010
Как мы увидим здесь,
15
00:00:41,010 --> 00:00:42,780
мы можем использовать только некоторые его части,
16
00:00:42,780 --> 00:00:44,630
в зависимости от того, что мы пытаемся сделать.
17
00:00:45,480 --> 00:00:47,610
Мы не будем углубляться в конкретные слои,
18
00:00:47,610 --> 00:00:48,990
составляющие эту архитектуру,
19
00:00:48,990 --> 00:00:51,390
но попытаемся понять различные способы
20
00:00:51,390 --> 00:00:52,893
использования этой архитектуры.
21
00:00:55,170 --> 00:00:56,003
Для начала давайте
22
00:00:56,003 --> 00:00:58,260
разделим эту архитектуру на две части.
23
00:00:58,260 --> 00:00:59,910
Слева находится кодер,
24
00:00:59,910 --> 00:01:01,980
а справа - декодер.
25
00:01:01,980 --> 00:01:03,330
Их можно использовать вместе,
26
00:01:03,330 --> 00:01:05,330
но можно и независимо.
27
00:01:06,180 --> 00:01:08,610
Давайте разберемся, как они работают.
28
00:01:08,610 --> 00:01:11,460
Кодер принимает входные данные, представляющие собой текст.
29
00:01:11,460 --> 00:01:13,620
Он преобразует этот текст, эти слова,
30
00:01:13,620 --> 00:01:15,675
в числовые представления.
31
00:01:15,675 --> 00:01:17,400
Эти числовые представления
32
00:01:17,400 --> 00:01:20,460
могут также называться эмбеддингами, или признаками.
33
00:01:20,460 --> 00:01:23,100
Мы увидим, что он использует механизм самовнимания
34
00:01:23,100 --> 00:01:24,483
в качестве основного компонента.
35
00:01:25,500 --> 00:01:27,120
Мы рекомендуем вам посмотреть видео
36
00:01:27,120 --> 00:01:29,700
о кодерах специально для того, чтобы понять
37
00:01:29,700 --> 00:01:31,680
что такое это числовое представление,
38
00:01:31,680 --> 00:01:33,690
а также как оно работает.
39
00:01:33,690 --> 00:01:36,660
Мы изучим механизм самовнимания более подробно,
40
00:01:36,660 --> 00:01:38,913
а также его двунаправленные свойства.
41
00:01:40,650 --> 00:01:42,780
Декодер аналогичен кодеру.
42
00:01:42,780 --> 00:01:45,630
Он также может принимать текстовые входы.
43
00:01:45,630 --> 00:01:48,210
Он использует аналогичный механизм, что и кодер,
44
00:01:48,210 --> 00:01:51,150
который также является маскированным самовниманием.
45
00:01:51,150 --> 00:01:52,590
Он отличается от кодера
46
00:01:52,590 --> 00:01:54,990
своим однонаправленным свойством
47
00:01:54,990 --> 00:01:58,590
и традиционно используется в авторегрессионной манере.
48
00:01:58,590 --> 00:02:01,650
Здесь мы также рекомендуем вам посмотреть видео о декодерах,
49
00:02:01,650 --> 00:02:04,000
особенно для того, чтобы понять, как все это работает.
50
00:02:06,810 --> 00:02:07,890
Комбинирование этих двух частей
51
00:02:07,890 --> 00:02:10,200
дает так называемый кодер-декодер,
52
00:02:10,200 --> 00:02:12,720
или трансформер последовательности в последовательность.
53
00:02:12,720 --> 00:02:14,280
Кодер принимает входные данные
54
00:02:14,280 --> 00:02:17,850
и вычисляет высокоуровневое представление этих входов.
55
00:02:17,850 --> 00:02:20,252
Эти выходы затем передаются в декодер.
56
00:02:20,252 --> 00:02:22,860
Декодер использует выход кодера,
57
00:02:22,860 --> 00:02:26,370
наряду с другими входными данными для создания прогноза.
58
00:02:26,370 --> 00:02:27,900
Затем он прогнозирует выход,
59
00:02:27,900 --> 00:02:30,248
который он будет повторно использовать в будущих итерациях,
60
00:02:30,248 --> 00:02:32,662
отсюда и термин "авторегрессивный".
61
00:02:32,662 --> 00:02:34,740
Наконец, чтобы получить представление
62
00:02:34,740 --> 00:02:36,690
о кодерах-декодерах в целом,
63
00:02:36,690 --> 00:02:39,670
мы рекомендуем вам ознакомиться с видео о кодерах-декодерах.
64
00:02:39,670 --> 00:02:42,420