Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated:
1
00:00:03,959 --> 00:00:05,959
안녕하세요
2
00:00:08,340 --> 00:00:11,040
mlbu 14강 두 번째 트랜스포머
3
00:00:11,040 --> 00:00:13,340
시간입니다
4
00:00:13,559 --> 00:00:15,240
한국 많이 따뜻해진 것 같아요
5
00:00:15,240 --> 00:00:15,960
학생들이
6
00:00:15,960 --> 00:00:17,460
입고 있는 옷이
7
00:00:17,460 --> 00:00:20,910
랑 되게 다른 거 같은데
8
00:00:20,910 --> 00:00:22,320
[음악]
9
00:00:22,320 --> 00:00:23,400
지난 시간에 이제 트랜스포머라는
10
00:00:23,400 --> 00:00:24,600
모델을 처음 배우기 시작을 했어요
11
00:00:24,600 --> 00:00:27,060
오늘은 그거를 컴퓨터 비전 쪽에서
12
00:00:27,060 --> 00:00:29,160
어떻게 활용하는지 배워보는 시간을
13
00:00:29,160 --> 00:00:30,840
갖도록 하겠습니다
14
00:00:30,840 --> 00:00:33,180
먼저 공지가 있는데요
15
00:00:33,180 --> 00:00:35,460
다음 주는 일주일 동안 수업이
16
00:00:35,460 --> 00:00:38,120
없습니다 제가 학회를 가야 돼 가지고
17
00:00:38,120 --> 00:00:41,579
그 유럽쪽 시간대에 있다 보니까 지금
18
00:00:41,579 --> 00:00:43,920
여기가 이제 미국이랑
19
00:00:43,920 --> 00:00:45,660
한국 시간에 프렌들리하게 제가 시간을
20
00:00:45,660 --> 00:00:47,280
잡아놨더니 유럽에서는 정말 안 좋은
21
00:00:47,280 --> 00:00:49,320
시간대에요 그래가지고
22
00:00:49,320 --> 00:00:51,300
다음주는 수업이 없고 그 프로젝트
23
00:00:51,300 --> 00:00:52,700
하는 시간으로 쓰시면 됩니다
24
00:00:52,700 --> 00:00:55,079
그래서이 시간 자유롭게 여러분들
25
00:00:55,079 --> 00:00:56,879
팀원들이랑 같이 미팅하는 시간으로
26
00:00:56,879 --> 00:00:59,160
잡으셔도 되고 뭐
27
00:00:59,160 --> 00:01:02,039
코딩하는 시간으로 쓰셔도 좋고 뭐
28
00:01:02,039 --> 00:01:04,019
다음주는 수업이 없고 그 다음 주
29
00:01:04,019 --> 00:01:06,659
5월 9일이 맞나요
30
00:01:06,659 --> 00:01:07,920
5월 9일 날 우리는 다시 만나도록
31
00:01:07,920 --> 00:01:11,100
하겠습니다 그리고이
32
00:01:11,340 --> 00:01:13,140
쉬는 기간 동안 아마 호박 3가 나갈
33
00:01:13,140 --> 00:01:14,040
거예요
34
00:01:14,040 --> 00:01:15,900
손목소리는 뭐 현재 예정은
35
00:01:15,900 --> 00:01:17,820
58일까지로 되어 있는데 나가는
36
00:01:17,820 --> 00:01:19,080
날로부터 2주 정도
37
00:01:19,080 --> 00:01:21,000
드린다고 생각하시면 될 것 같고
38
00:01:21,000 --> 00:01:23,100
etl을 공지 나갈 거니까 봐주시면
39
00:01:23,100 --> 00:01:25,380
될 것 같습니다
40
00:01:25,380 --> 00:01:28,040
혹시 질문 있으신가요
41
00:01:30,840 --> 00:01:34,020
예 없으시면 오늘 내용 들어가기 전에
42
00:01:34,020 --> 00:01:35,280
지난 시간에 배웠던 거 한번 복습을
43
00:01:35,280 --> 00:01:37,740
해 볼게요 자 오늘은 제가 그림을
44
00:01:37,740 --> 00:01:40,140
여기다 붙여 놨는데
45
00:01:40,140 --> 00:01:41,460
지난 시간에 우리가 트랜스포머라는 걸
46
00:01:41,460 --> 00:01:43,979
배웠어요이 트랜스포머가 이제 어떻게
47
00:01:43,979 --> 00:01:46,799
동작하는 건지를 한번
48
00:01:46,799 --> 00:01:48,600
임서영 학생이 설명해주시면 좋을 것
49
00:01:48,600 --> 00:01:50,720
같습니다
50
00:01:52,320 --> 00:01:53,240
인풋으로
51
00:01:53,240 --> 00:01:54,840
만약에
52
00:01:54,840 --> 00:01:57,060
월드라고 친다면 인풋 프라임 패딩이
53
00:01:57,060 --> 00:01:58,439
들어가고
54
00:01:58,439 --> 00:02:01,340
멀티 헤드 어텐션에서
55
00:02:02,700 --> 00:02:05,180
문장이 들어가면
56
00:02:06,860 --> 00:02:09,360
각각류 그리고 키를 이용해서
57
00:02:09,360 --> 00:02:12,239
셀프어텐션을 구한 다음에 그
58
00:02:12,239 --> 00:02:14,640
컨텍스트를 이용한 벡터를
59
00:02:14,640 --> 00:02:16,440
리뉴얼 트랜스폼에서
60
00:02:16,440 --> 00:02:19,200
새롭게 자기 자신을 만들어서 그걸
61
00:02:19,200 --> 00:02:21,480
엔코딩에 학습한 다음에
62
00:02:21,480 --> 00:02:22,819
디코딩에서
63
00:02:22,819 --> 00:02:27,120
만약 세컨드 세컨즈
64
00:02:27,120 --> 00:02:28,920
트레이닝이라고 하면 다시 그거를
65
00:02:28,920 --> 00:02:32,459
패턴에서 똑같은 방식으로 나오게
66
00:02:32,459 --> 00:02:33,120
하는
67
00:02:33,120 --> 00:02:35,520
구조라고 이해했습니다
68
00:02:35,520 --> 00:02:38,360
네 감사합니다
69
00:02:38,360 --> 00:02:40,260
전체적으로 잘 설명해 주신 거 같은데
70
00:02:40,260 --> 00:02:42,720
한번 다시 정리해 볼게요
71
00:02:42,720 --> 00:02:44,099
트랜스포머 핵심적으로
72
00:02:44,099 --> 00:02:45,900
트랜스포머가 뭐냐라고 하면은
73
00:02:45,900 --> 00:02:47,040
멀티 헤디드
74
00:02:47,040 --> 00:02:49,440
셀프어텐션이라고 얘기를 했었어요
75
00:02:49,440 --> 00:02:52,260
멀티 헤드가 뭐예요 우리가 저기서 그
76
00:02:52,260 --> 00:02:53,640
커리키 밸류를 여러 개를 만들어 쓴다
77
00:02:53,640 --> 00:02:55,739
그랬죠 그래서 멀티 해야 되고
78
00:02:55,739 --> 00:02:58,319
셀프어텐션이라는 거는 어텐션을 하는데
79
00:02:58,319 --> 00:02:59,580
기본적으로 우리가 배웠던 어텐션
80
00:02:59,580 --> 00:03:02,959
메커니즘으로 돌아가는데 그 어텐션이
81
00:03:02,959 --> 00:03:04,920
우리가 지금
82
00:03:04,920 --> 00:03:06,840
학습하고자 하는 그 대상 이미지가
83
00:03:06,840 --> 00:03:09,900
됐든 텍스트가 됐든 문장이든 뭐든이
84
00:03:09,900 --> 00:03:11,940
서브 컴퍼넌트들간에 서로가 서로를
85
00:03:11,940 --> 00:03:14,700
어떻게 하는 구조로 간다라는게
86
00:03:14,700 --> 00:03:16,879
특징이었었어요 그래서 여기
87
00:03:16,879 --> 00:03:18,720
이미지가 이렇게 여러개가 쭉 들어가는
88
00:03:18,720 --> 00:03:20,459
걸 예제로 해놨었는데
89
00:03:20,459 --> 00:03:22,140
얘네들을 표현하는
90
00:03:22,140 --> 00:03:23,280
벡터가 있고
91
00:03:23,280 --> 00:03:24,900
얘네들을 각각 커리키 밸류로 만들어
92
00:03:24,900 --> 00:03:27,060
가지고 자기들끼리 서로 어텐드 하게
93
00:03:27,060 --> 00:03:30,300
해서 자기들의 어 그
94
00:03:30,300 --> 00:03:32,400
루프젠테이션을 거기에 있는 모든
95
00:03:32,400 --> 00:03:34,319
컴퍼넌트들 간의 어떤 wayted
96
00:03:34,319 --> 00:03:36,900
summ로 표현을 해 가지고 이제
97
00:03:36,900 --> 00:03:38,220
컨텍스트가 약간 들어가 있는
98
00:03:38,220 --> 00:03:40,440
컨텍솔라이즈 되어 있는 벡터로
99
00:03:40,440 --> 00:03:42,239
트랜스폼 시켜주는 모델이라고 얘기를
100
00:03:42,239 --> 00:03:44,159
했죠 그리고 그거를 여러 번 이렇게
101
00:03:44,159 --> 00:03:46,200
반복을 하게 되면은 전체 문맥을 이제
102
00:03:46,200 --> 00:03:48,060
다 어느 정도 가지고 있는 이런
103
00:03:48,060 --> 00:03:52,099
식으로 만들어질 것이다라는게 우리가
104
00:03:52,140 --> 00:03:53,459
트랜스포머에 인코더의 기본적인
105
00:03:53,459 --> 00:03:55,260
아이디어였었고요
106
00:03:55,260 --> 00:03:57,659
그 지금 이제 서양 학생이 디코더
107
00:03:57,659 --> 00:03:59,099
쪽도 잘 얘기를 해주셨는데
108
00:03:59,099 --> 00:04:00,959
인코더가 이렇게 되고 나면은 디코더를
109
00:04:00,959 --> 00:04:02,340
할 때는 거의 똑같은 구조를
110
00:04:02,340 --> 00:04:03,299
가져가는데
111
00:04:03,299 --> 00:04:05,060
차이가 약간 있다 그랬죠 하나는
112
00:04:05,060 --> 00:04:07,319
마스킹을 한다 그랬어요 마스킹을
113
00:04:07,319 --> 00:04:08,540
한다는 건 무슨
114
00:04:08,540 --> 00:04:10,739
의미냐면이 시퀀스의 지금까지 우리가
115
00:04:10,739 --> 00:04:13,260
만들어낸 부분들만 참조를 하고
116
00:04:13,260 --> 00:04:14,819
뒤에 있는 것들은 이제 어차피 랜덤한
117
00:04:14,819 --> 00:04:16,500
값이니까 아직 모르는 거니까 거기는
118
00:04:16,500 --> 00:04:18,779
마스킹을 해가지고 어쨌든 같은 개수가
119
00:04:18,779 --> 00:04:20,180
인풋으로 들어가야 돼요 그래서
120
00:04:20,180 --> 00:04:23,040
마스킹하는 부분이 들어가 있고 그
121
00:04:23,040 --> 00:04:25,320
다음에 이제 뒤쪽에서는 크로스로
122
00:04:25,320 --> 00:04:26,280
들어온다 그랬죠
123
00:04:26,280 --> 00:04:27,900
쿼리는 아래쪽에서
124
00:04:27,900 --> 00:04:30,060
들어왔던 인풋 그대로 나가는데이
125
00:04:30,060 --> 00:04:31,199
키랑 밸류가
126
00:04:31,199 --> 00:04:32,699
인풋에서 우리가 인코딩 됐던 것들이
127
00:04:32,699 --> 00:04:35,820
들어온다 그랬어요 왜 그런다 그랬죠
128
00:04:35,820 --> 00:04:38,340
예를 들면 영어를 불어로 번역한다
129
00:04:38,340 --> 00:04:39,300
그러면은
130
00:04:39,300 --> 00:04:41,100
다음 불어 단어가 뭐가 나올지는 원문
131
00:04:41,100 --> 00:04:42,720
영어를 참조해야지 그게 뭐가 될지
132
00:04:42,720 --> 00:04:45,060
우리가 알 수 있잖아요 그래서
133
00:04:45,060 --> 00:04:47,100
키랑 밸류는 이쪽 전체를 액세스
134
00:04:47,100 --> 00:04:48,780
해가지고 우리가 결정을 한다 이런
135
00:04:48,780 --> 00:04:49,919
식으로 하고
136
00:04:49,919 --> 00:04:51,660
rnn에서 했던 것처럼 오토리그리스도
137
00:04:51,660 --> 00:04:53,400
하게 한 단어씩 뽑아낸다 뭐 이런
138
00:04:53,400 --> 00:04:54,240
식의 이야기를
139
00:04:54,240 --> 00:04:57,360
지난 시간에 했었어요 잘해주셨고요
140
00:04:57,360 --> 00:05:01,220
그 다음에 김남기 학생
141
00:05:02,660 --> 00:05:05,400
네 여기 화면에는 없는데 우리가 이제
142
00:05:05,400 --> 00:05:07,560
이거 하고 나서 볼트라는 거를 막판에
143
00:05:07,560 --> 00:05:08,639
짧게 배웠어요
144
00:05:08,639 --> 00:05:10,620
볼트가 어떤 식으로 동작하는지 한번
145
00:05:10,620 --> 00:05:13,580
기억나는 대로 얘기해 주시겠어요
146
00:05:24,240 --> 00:05:26,660
가지고 있는데
147
00:05:26,660 --> 00:05:28,400
중간에
148
00:05:28,400 --> 00:05:31,820
마스킹 중간에 마스킹을 쓰여서
149
00:05:31,820 --> 00:05:34,740
마스킹에 대한
150
00:05:34,740 --> 00:05:36,900
인베딩을 붙인 뒤에 그걸 다시
151
00:05:36,900 --> 00:05:39,000
복원하는 식으로 학습을 하는 모델로
152
00:05:39,000 --> 00:05:42,180
알고 있습니다네
153
00:05:54,120 --> 00:05:57,120
알겠습니다
154
00:06:02,100 --> 00:06:05,180
김지웅 학생
155
00:06:07,080 --> 00:06:10,460
혹시 더 추가할 만한 이야기 있을까요
156
00:06:13,259 --> 00:06:16,259
인베딩에서 그 토큰 이메이딩이랑
157
00:06:16,259 --> 00:06:17,940
세그먼트
158
00:06:17,940 --> 00:06:20,060
웨딩이랑 포지션 인베딩을
159
00:06:20,060 --> 00:06:22,380
사용한다는 거에는
160
00:06:22,380 --> 00:06:24,500
크게
161
00:06:24,560 --> 00:06:27,720
생각나는 거 없습니다 아네 감사합니다
162
00:06:27,720 --> 00:06:29,160
인풋으로 들어가는게 세 가지가
163
00:06:29,160 --> 00:06:30,660
더해져서 들어간다 그랬죠 그 얘기 잘
164
00:06:30,660 --> 00:06:33,660
해주셨고 자 또 한 번만 더
165
00:06:33,660 --> 00:06:36,800
여쭤볼게요 신지원 학생
166
00:06:37,520 --> 00:06:41,600
네 혹시 더 추가할 얘기 있을까요
167
00:06:42,419 --> 00:06:44,100
저도 그
168
00:06:44,100 --> 00:06:47,220
단어마다 토큰이랑
169
00:06:47,220 --> 00:06:49,639
포지션을
170
00:06:50,699 --> 00:06:54,600
들어간다 그리고 어 내가 여기까지
171
00:06:54,600 --> 00:06:55,919
구조는 알고 있고
172
00:06:55,919 --> 00:06:58,080
셀프 스쿨바이스라는 장점이 있는 걸로
173
00:06:58,080 --> 00:06:59,880
알고 있습니다네
174
00:06:59,880 --> 00:07:01,740
감사합니다 제가 많이 강조를 안 했나
175
00:07:01,740 --> 00:07:03,780
보네요 역시 자 그
176
00:07:03,780 --> 00:07:04,919
인풋에 대한 거는 지금 다들 잘
177
00:07:04,919 --> 00:07:06,840
얘기해 주신 거 같아요 그
178
00:07:06,840 --> 00:07:08,639
워드토큰들 들어가고
179
00:07:08,639 --> 00:07:11,039
포지션들 포지션 인코딩 들어가고 그
180
00:07:11,039 --> 00:07:12,720
다음에 두 개의 문장이 들어간다
181
00:07:12,720 --> 00:07:15,060
그랬죠 그 두 개의 문장을
182
00:07:15,060 --> 00:07:16,620
얘는 앞에 문장 얘는 뒤에 문장인
183
00:07:16,620 --> 00:07:18,060
거를 표현해 주는 거가 하나씩 더
184
00:07:18,060 --> 00:07:20,280
더해진다고 그랬죠 자 왜 두 개의
185
00:07:20,280 --> 00:07:22,800
문장을 넣어요 우리 아까 그
186
00:07:22,800 --> 00:07:24,240
mlm에 대해서 사실 그게 더
187
00:07:24,240 --> 00:07:26,220
중요하다고 그랬죠 mlm은 남기
188
00:07:26,220 --> 00:07:27,720
학생이 잘 얘기해 주셨고
189
00:07:27,720 --> 00:07:30,120
테스크가 하나 더 있었죠 그 두 개가
190
00:07:30,120 --> 00:07:31,319
서로 인접해 있는
191
00:07:31,319 --> 00:07:32,940
센텐스냐 아니냐를
192
00:07:32,940 --> 00:07:33,960
판별하는
193
00:07:33,960 --> 00:07:35,160
로스를 하나 추가로 더 준다 그랬어요
194
00:07:35,160 --> 00:07:37,919
이거를 다들 잘 기억을 못한게 제가
195
00:07:37,919 --> 00:07:39,960
지난번에 수업할 때 이거 생각보다
196
00:07:39,960 --> 00:07:41,099
별로 중요하지 않았다라고 얘기를 해서
197
00:07:41,099 --> 00:07:42,360
그런 거 같아요
198
00:07:42,360 --> 00:07:43,979
나중에 이제 사람들이 연구해 보니까
199
00:07:43,979 --> 00:07:45,500
저거 없어도 뭐 크게
200
00:07:45,500 --> 00:07:47,520
상관없었더라라는게 나오기는 했어요
201
00:07:47,520 --> 00:07:49,340
근데 어쨌든
202
00:07:49,340 --> 00:07:51,720
그까지만 해도 이게 되게 중요하다고
203
00:07:51,720 --> 00:07:53,340
했었고 어쨌든 뭐 조금이라도 도움이
204
00:07:53,340 --> 00:07:55,080
되기는 해요 그래서
205
00:07:55,080 --> 00:07:56,880
문장과 문장 간의 관계를 배우는데
206
00:07:56,880 --> 00:07:57,900
있어서는
207
00:07:57,900 --> 00:07:59,460
요게 좀 중요하다고이 사람들은 주장을
208
00:07:59,460 --> 00:08:01,440
했고 아마이 이후에 이게 중요하지
209
00:08:01,440 --> 00:08:03,360
없어도 상관없다고 얘기하는 거는
210
00:08:03,360 --> 00:08:04,919
데이터셋이 그만큼 훨씬 커졌기 때문일
211
00:08:04,919 --> 00:08:07,080
거예요 그래서 이제
212
00:08:07,080 --> 00:08:08,340
작은 데이터셋을 살 때는 이런 것도
213
00:08:08,340 --> 00:08:09,180
좀
214
00:08:09,180 --> 00:08:11,160
고려가 되어야 한다라고 생각을 해서
215
00:08:11,160 --> 00:08:13,860
이제 나왔던 거고 그 얘기를
216
00:08:13,860 --> 00:08:15,479
혹시 한번 해주실까 해서 제가 계속
217
00:08:15,479 --> 00:08:16,800
물어봤어요
218
00:08:16,800 --> 00:08:19,680
네 그래서 지난 시간에 배웠네요 잘
219
00:08:19,680 --> 00:08:21,379
복습해 주신 거 같고
220
00:08:21,379 --> 00:08:25,020
오늘은요 트랜스포머 구조를 우리
221
00:08:25,020 --> 00:08:26,940
컴퓨터 비전이니까 이미지와 비디오에서
222
00:08:26,940 --> 00:08:29,099
어떻게 활용하고 있는지를 배워 볼
223
00:08:29,099 --> 00:08:30,240
거예요
224
00:08:30,240 --> 00:08:31,500
자
225
00:08:31,500 --> 00:08:34,380
먼저 이미지부터 한번 볼게요
226
00:08:34,380 --> 00:08:36,539
vit라고 불리는 모델인데 이제 그냥
227
00:08:36,539 --> 00:08:38,399
비전 트랜스포머의 줄임말이에요
228
00:08:38,399 --> 00:08:39,779
트랜스포머가 nlp쪽에서 하도 잘
229
00:08:39,779 --> 00:08:41,700
되니까 이거를 우리가 어떻게 한번 좀
230
00:08:41,700 --> 00:08:43,559
비전에서도 갖다 써볼까 사람들이 많은
231
00:08:43,559 --> 00:08:45,360
생각을 했었는데
232
00:08:45,360 --> 00:08:47,399
요게 나오는데 시간이 좀 걸렸어요 그
233
00:08:47,399 --> 00:08:50,040
트랜스포머 처음 나온게 한
234
00:08:50,040 --> 00:08:51,540
적어도 3년 정확히 기억이 안 나는데
235
00:08:51,540 --> 00:08:54,060
2017년 정도였던 거 같은데 3년이
236
00:08:54,060 --> 00:08:55,860
더 걸렸어요 이게 나오는데 자
237
00:08:55,860 --> 00:08:57,540
그래서이
238
00:08:57,540 --> 00:08:59,420
논문의 제목이 뭐였냐면요
239
00:08:59,420 --> 00:09:03,360
그 16발 16 이미지 패치는 하나의
240
00:09:03,360 --> 00:09:04,680
워드와 같다 뭐 이런
241
00:09:04,680 --> 00:09:06,360
식의 제목을
242
00:09:06,360 --> 00:09:07,620
달아 놨었어요
243
00:09:07,620 --> 00:09:10,980
지금 보시면은 일단이
244
00:09:10,980 --> 00:09:13,140
얘기를 해야 될 것 같아요 우리가
245
00:09:13,140 --> 00:09:14,940
트랜스포머는 인풋이 뭐가 들어간다
246
00:09:14,940 --> 00:09:16,380
그랬어요
247
00:09:16,380 --> 00:09:18,000
무조건 시퀀스가 들어간다 그랬죠
248
00:09:18,000 --> 00:09:20,700
우리가 배우고 대상을
249
00:09:20,700 --> 00:09:22,920
스플릿을 해서 그거에 어떤 서브
250
00:09:22,920 --> 00:09:24,540
컴포넌트들의 시퀀스로 들어가게 되고
251
00:09:24,540 --> 00:09:27,060
그 서브 컴포넌트들끼리
252
00:09:27,060 --> 00:09:28,680
뭔가
253
00:09:28,680 --> 00:09:30,300
서로가 서로에 대해서 표현하는 법을
254
00:09:30,300 --> 00:09:32,580
배우는게 이제이 트랜스포머의 방식이라
255
00:09:32,580 --> 00:09:34,380
그랬는데 그
256
00:09:34,380 --> 00:09:36,360
문장 같은 경우는 너무 자연스럽게
257
00:09:36,360 --> 00:09:37,800
워드들의 시퀀스로 주어지죠 애초에
258
00:09:37,800 --> 00:09:40,320
그리고 뭐 나중에 비디오 하겠지만
259
00:09:40,320 --> 00:09:42,060
비디오도 마찬가지로 프레임들의
260
00:09:42,060 --> 00:09:43,500
시퀀스로 우리가 주어지는 것을 그냥
261
00:09:43,500 --> 00:09:45,660
그대로 활용하면 될 것 같아요
262
00:09:45,660 --> 00:09:46,980
근데 이미지는 달랑 한 장 딱
263
00:09:46,980 --> 00:09:49,440
지워지잖아요 이거를 이제 어떻게
264
00:09:49,440 --> 00:09:51,360
시퀀스로 만들 것인가 아니면은
265
00:09:51,360 --> 00:09:52,920
시퀀스를 안 만들고 하나만 넣어
266
00:09:52,920 --> 00:09:54,000
가지고 어떻게 이걸 처리를 할 것인가
267
00:09:54,000 --> 00:09:57,120
때문에 이제 좀 고민이 됐던 거예요
268
00:09:57,120 --> 00:09:58,500
트랜스포머 구조가 이미지에는 적합하지
269
00:09:58,500 --> 00:10:00,000
않은 것 같다라고 사람들이 처음에
270
00:10:00,000 --> 00:10:02,220
생각을 했었던 거예요
271
00:10:02,220 --> 00:10:03,480
그래가지고 이걸 어떻게 하면 무식하게
272
00:10:03,480 --> 00:10:04,740
좀
273
00:10:04,740 --> 00:10:06,120
시퀀스로 만들어 볼까라고 해서 생각을
274
00:10:06,120 --> 00:10:09,200
한게 16번에 16패치로 그냥 쪼개자
275
00:10:09,200 --> 00:10:12,000
이미지가 크게 있으면은 16발
276
00:10:12,000 --> 00:10:13,800
16짜리 조그만 이미지 패치들이 여러
277
00:10:13,800 --> 00:10:15,540
개가 쭉 나열되어 있는 것처럼 생각을
278
00:10:15,540 --> 00:10:17,640
하면은
279
00:10:17,640 --> 00:10:20,300
16발 16짜리 조그만 패치들이
280
00:10:20,300 --> 00:10:22,380
2차원으로 나열되어 있는 어떤 이것도
281
00:10:22,380 --> 00:10:23,760
일종의 시퀀스라고 볼 수 있는 거죠
282
00:10:23,760 --> 00:10:25,740
더 작은 이미지들의 시퀀스라고 볼 수
283
00:10:25,740 --> 00:10:26,940
있는 거죠
284
00:10:26,940 --> 00:10:28,200
그렇게 그냥 무작정 한번 잘라 본
285
00:10:28,200 --> 00:10:29,580
거예요
286
00:10:29,580 --> 00:10:30,420
그래가지고
287
00:10:30,420 --> 00:10:31,800
결과적으로 트랜스포머에 넣고 이걸
288
00:10:31,800 --> 00:10:33,360
학습을 시켰더니 잘 돼서
289
00:10:33,360 --> 00:10:34,680
논문을 이제 그렇게 쓴 거죠 16발
290
00:10:34,680 --> 00:10:37,740
16 이미지 패치가 마치 문장으로
291
00:10:37,740 --> 00:10:39,779
치면 하나의 단어가 그 문장의
292
00:10:39,779 --> 00:10:40,500
여러가지
293
00:10:40,500 --> 00:10:42,480
문장에 담고 있는 그
294
00:10:42,480 --> 00:10:44,820
복잡한 의미를
295
00:10:44,820 --> 00:10:46,079
단어 하나하나 갖고 단위를 가지고
296
00:10:46,079 --> 00:10:47,220
있는 거잖아요
297
00:10:47,220 --> 00:10:49,320
얘도 마찬가지로 이미지가 표현하고자
298
00:10:49,320 --> 00:10:51,540
하는 전체의 그 의미의 아주 일부분을
299
00:10:51,540 --> 00:10:54,240
저 정도 크기에 조금은 패치들이 마치
300
00:10:54,240 --> 00:10:56,160
단어처럼 구성요소를 가지고 있는 것
301
00:10:56,160 --> 00:10:58,760
같다 뭐 이런 식의 의미를 가지고
302
00:10:58,760 --> 00:11:03,120
저렇게 제목을 썼었어요 보시면은 이제
303
00:11:03,120 --> 00:11:04,500
시퀀스 오브 리니어 인베링스가
304
00:11:04,500 --> 00:11:06,120
들어가게 되는데요 이미지 패치가
305
00:11:06,120 --> 00:11:07,920
나오게 되면요 자세한 얘기는 좀
306
00:11:07,920 --> 00:11:09,720
이따가 할 건데 이미지 패치들이
307
00:11:09,720 --> 00:11:11,220
하나하나가 각각
308
00:11:11,220 --> 00:11:14,100
토큰들이 되는 거예요 그 워드 토큰
309
00:11:14,100 --> 00:11:15,839
텍스트의 경우에 워드 토큰처럼
310
00:11:15,839 --> 00:11:18,540
얘도 하나하나에 토큰들이 돼 가지고
311
00:11:18,540 --> 00:11:19,800
트랜스포머 인코더에도 들어가게 되고
312
00:11:19,800 --> 00:11:21,959
우리 지난 시간에 CLS 토큰 배웠던
313
00:11:21,959 --> 00:11:23,579
것처럼 그거 붙여 가지고 거기
314
00:11:23,579 --> 00:11:26,940
위에다가 하는 건 똑같이 할 거예요
315
00:11:26,940 --> 00:11:28,980
그렇죠 지금 일단 배우는 그렇게
316
00:11:28,980 --> 00:11:30,899
돌아가요요 그림도 우리 지난 시간에
317
00:11:30,899 --> 00:11:32,940
배웠던 그 트랜스포머 구조 그림이
318
00:11:32,940 --> 00:11:35,160
있었죠 이거랑 굉장히 비슷하게 생겼죠
319
00:11:35,160 --> 00:11:35,880
왼쪽
320
00:11:35,880 --> 00:11:37,920
인코더랑 거의 똑같이 생겼어요
321
00:11:37,920 --> 00:11:39,740
실제로 똑같아요
322
00:11:39,740 --> 00:11:41,519
자 그래서
323
00:11:41,519 --> 00:11:43,560
vit가 어떻게 동작하는지 한번 제가
324
00:11:43,560 --> 00:11:45,480
애니메이션을 만들어 봤는데 한번
325
00:11:45,480 --> 00:11:46,860
볼게요
326
00:11:46,860 --> 00:11:49,980
자 이미지가 이렇게 인풋이 들어와요
327
00:11:49,980 --> 00:11:51,060
얘를
328
00:11:51,060 --> 00:11:53,640
16번 16으로 쪼갠다고 했는데 꼭
329
00:11:53,640 --> 00:11:55,440
16이어야 되는 건 아니고
330
00:11:55,440 --> 00:11:57,120
p바이 p로 쪼개게 돼요 그래서 이제
331
00:11:57,120 --> 00:11:59,720
하나하나의 크기가 p 곱하기 p고
332
00:11:59,720 --> 00:12:01,800
전체의 크기가 이제 그걸 맞춰서
333
00:12:01,800 --> 00:12:03,959
이렇게 나눠지겠죠 여기는 이제 아홉
334
00:12:03,959 --> 00:12:05,339
개로 나눠지는 것을 제가 예로
335
00:12:05,339 --> 00:12:08,160
들었는데 이렇게 나눠지고
336
00:12:08,160 --> 00:12:10,920
그러면은 우리 이미지는 인풋 이미지는
337
00:12:10,920 --> 00:12:12,779
x 원래 이제 x인데
338
00:12:12,779 --> 00:12:13,680
x
339
00:12:13,680 --> 00:12:16,800
p 1부터 9까지로 이렇게 쪼개졌다
340
00:12:16,800 --> 00:12:18,360
얘네들의 시퀀스다라고 이제 표현이 된
341
00:12:18,360 --> 00:12:19,560
거예요
342
00:12:19,560 --> 00:12:20,160
얘는
343
00:12:20,160 --> 00:12:22,440
각각은 p*p 즉 실험은 뭐 16
344
00:12:22,440 --> 00:12:24,720
14 16 32 뭐 이런 걸로 실험을
345
00:12:24,720 --> 00:12:27,720
했어요 이렇게 쪼개지게 되고
346
00:12:27,720 --> 00:12:29,880
우리 CLS 토큰 지난 시간에 배웠죠
347
00:12:29,880 --> 00:12:32,700
그 실제 있는 토큰들 말고 더미
348
00:12:32,700 --> 00:12:34,079
토큰을 하나 넣어서
349
00:12:34,079 --> 00:12:35,880
특정 하나에 바이어스가 되지 않은
350
00:12:35,880 --> 00:12:38,160
전체를 표현하는 이미지 전체를
351
00:12:38,160 --> 00:12:40,260
표현하는게 필요할 거니까 그거를 하기
352
00:12:40,260 --> 00:12:42,420
위한 더미토큰을 하나 추가로 만든
353
00:12:42,420 --> 00:12:44,399
거예요 무작위로 무작위 값으로 이렇게
354
00:12:44,399 --> 00:12:45,480
채워져 있는
355
00:12:45,480 --> 00:12:47,040
CLS 토큰 하나를 추가해서
356
00:12:47,040 --> 00:12:48,839
총 10개의 토큰이 시퀀스로 들어가게
357
00:12:48,839 --> 00:12:51,139
되는 거예요
358
00:12:51,360 --> 00:12:54,300
자 요거를 분홍색으로 표시를 했어요
359
00:12:54,300 --> 00:12:56,220
패치 베딩이라고 부르고
360
00:12:56,220 --> 00:12:57,720
얘네들을 분홍색으로 표시했는데 왜
361
00:12:57,720 --> 00:12:59,000
이게 패치
362
00:12:59,000 --> 00:13:01,860
임베딩이냐이 인풋 크기는요
363
00:13:01,860 --> 00:13:03,779
총 몇 개 수가 몇 개예요
364
00:13:03,779 --> 00:13:05,459
값이
365
00:13:05,459 --> 00:13:07,500
p 곱하기 p고
366
00:13:07,500 --> 00:13:09,540
쓰리 채널이죠 rgb니까
367
00:13:09,540 --> 00:13:11,399
얘네의 크기는 p^2 곱하기 C
368
00:13:11,399 --> 00:13:13,380
차원이에요 인풋은
369
00:13:13,380 --> 00:13:15,180
그렇죠 이거를
370
00:13:15,180 --> 00:13:17,100
어떤 d1차원짜리 벡터로
371
00:13:17,100 --> 00:13:19,800
리니엄 맵핑을 시켜줘요 아주 단순하게
372
00:13:19,800 --> 00:13:22,079
그냥 리니어 매핑만 시켜주는 거예요
373
00:13:22,079 --> 00:13:24,060
리니어 맵핑이라는 거는 우리 앞에서
374
00:13:24,060 --> 00:13:25,980
리니어 클래스바를 배웠을 때 이거
375
00:13:25,980 --> 00:13:27,360
크기 곱하기 이거 크기에서 그냥
376
00:13:27,360 --> 00:13:28,760
리뉴얼하게 맵핑 시켜 주는 거예요
377
00:13:28,760 --> 00:13:31,500
아주 단순한 형태의 어떤 인베딩이죠이
378
00:13:31,500 --> 00:13:33,660
패치의 내용을 포함시키고 있는
379
00:13:33,660 --> 00:13:35,220
그렇게 해서 뭐 우리가 이제 원하는
380
00:13:35,220 --> 00:13:36,839
숫자의 크기의 벡터로 만들어 준
381
00:13:36,839 --> 00:13:38,160
거예요
382
00:13:38,160 --> 00:13:39,720
p^2 c가 이제 1024로 이제
383
00:13:39,720 --> 00:13:42,660
줄어들게 되고 그 다음에
384
00:13:42,660 --> 00:13:44,220
포지셔널 인코딩이 필요했었죠
385
00:13:44,220 --> 00:13:47,220
트랜스포머는 여기서는 이제 그래서
386
00:13:47,220 --> 00:13:49,339
포지셔널 인코딩이 0번까지 들어가는데
387
00:13:49,339 --> 00:13:51,480
자 우리 지난 시간에 배웠던 거 다시
388
00:13:51,480 --> 00:13:52,920
한번 떠올려 보면
389
00:13:52,920 --> 00:13:55,880
포지션 인코딩 왜 필요해요
390
00:13:56,100 --> 00:13:57,420
얘는
391
00:13:57,420 --> 00:13:59,519
자기 자신을 기준으로 다른 애들과의
392
00:13:59,519 --> 00:14:01,260
세밀러리티를 계산해서 자기를 트랜스폼
393
00:14:01,260 --> 00:14:02,940
시키는 모델이죠
394
00:14:02,940 --> 00:14:05,519
그러니까 내가 주인공이고 다른 애들이
395
00:14:05,519 --> 00:14:07,139
어디에 있었는지는 순서가 상관이
396
00:14:07,139 --> 00:14:09,120
없어요 그 로직만 따지면
397
00:14:09,120 --> 00:14:10,500
근데
398
00:14:10,500 --> 00:14:12,779
얘네들의 순서가 문장 같은 경우에
399
00:14:12,779 --> 00:14:14,339
단어가 어떤 순서로 나열되어 있냐에
400
00:14:14,339 --> 00:14:16,139
따라 의미가 달라지니까
401
00:14:16,139 --> 00:14:17,579
순서를 어떤 식으로든 인코딩을 해줘야
402
00:14:17,579 --> 00:14:20,160
돼서 저게 있었던 거죠 여기도
403
00:14:20,160 --> 00:14:22,019
마찬가지예요이
404
00:14:22,019 --> 00:14:24,300
9장의 이미지 패치가 이렇게 일정한
405
00:14:24,300 --> 00:14:25,980
순서로 되어 있는 거랑
406
00:14:25,980 --> 00:14:27,180
막 순서가 섞여 있는 거랑 그
407
00:14:27,180 --> 00:14:28,980
이미지가 전달하는 내용이 완전히
408
00:14:28,980 --> 00:14:30,959
달라지죠 그래서
409
00:14:30,959 --> 00:14:32,579
얘네들이 어디에서 왔는지를 좀 보존할
410
00:14:32,579 --> 00:14:34,860
수 있어야 될 것 같죠 그래서 얘도
411
00:14:34,860 --> 00:14:36,240
포지셔널 인코딩이 필요하다는 생각을
412
00:14:36,240 --> 00:14:37,800
할 수 있을 거예요
413
00:14:37,800 --> 00:14:39,839
그럼 이제 어떻게 할 것이냐
414
00:14:39,839 --> 00:14:41,100
문장 같은 경우에 우리 지난 시간에
415
00:14:41,100 --> 00:14:43,019
이상하게 생긴 함수를 봤었죠 사인
416
00:14:43,019 --> 00:14:44,639
코사인 뒤에 뭐 만군의 뭐 해가지고
417
00:14:44,639 --> 00:14:46,920
너는 뭐 이런 거 했었잖아요 그런
418
00:14:46,920 --> 00:14:48,360
식으로 해주는 이유가
419
00:14:48,360 --> 00:14:50,579
nlp 같은 경우에는 그 제가
420
00:14:50,579 --> 00:14:52,860
얘기했었죠 문장에서 뭐 그 상대적인
421
00:14:52,860 --> 00:14:55,800
순서가 중요하고 그 바로 그 인접해
422
00:14:55,800 --> 00:14:57,120
있는 애들끼리는 비슷해야 되고 뭐
423
00:14:57,120 --> 00:15:00,600
이런 거를 얘기를 했었어요 여기서는
424
00:15:00,600 --> 00:15:02,660
절대적인 위치가 2차원이 되죠
425
00:15:02,660 --> 00:15:05,699
1에 있는 거랑 1에 있는 거랑 2에
426
00:15:05,699 --> 00:15:07,920
있는 거랑 이것들이 2차원상의 어느
427
00:15:07,920 --> 00:15:09,839
공간에 있는지에 대한 어떤 임베딩을
428
00:15:09,839 --> 00:15:11,579
얘가 배워야 되는데
429
00:15:11,579 --> 00:15:13,380
여기서는 이제 그런
430
00:15:13,380 --> 00:15:14,760
식을 쓰지 않았어요
431
00:15:14,760 --> 00:15:17,279
nlp처럼 디터미니스트가게 하지 않고
432
00:15:17,279 --> 00:15:20,459
얘를 그냥 1024차원짜리
433
00:15:20,459 --> 00:15:22,620
무적이 벡터로 만들어 놓고 그냥
434
00:15:22,620 --> 00:15:24,079
데이터로부터 배워라라고 시켜 버려요
435
00:15:24,079 --> 00:15:27,660
아무것도 안 해요 왜 1024냐이
436
00:15:27,660 --> 00:15:28,279
d가
437
00:15:28,279 --> 00:15:30,000
1024니까이 분홍색이랑 크기가
438
00:15:30,000 --> 00:15:32,040
같아야 서로 더 할 수 있잖아요
439
00:15:32,040 --> 00:15:34,139
이 분홍색의 크기는 우리가 그냥 정한
440
00:15:34,139 --> 00:15:35,279
거예요
441
00:15:35,279 --> 00:15:36,779
원래 들어오는 인풋의 크기는 p^2
442
00:15:36,779 --> 00:15:38,639
곱하기 c고요
443
00:15:38,639 --> 00:15:39,899
임베딩의 크기는 우리 맘대로 정할 수
444
00:15:39,899 --> 00:15:41,699
있어요 d라고 그럼 여기서는
445
00:15:41,699 --> 00:15:43,019
마찬가지로
446
00:15:43,019 --> 00:15:45,000
n+1 들어온 거의 개수가 지금
447
00:15:45,000 --> 00:15:46,980
n+1개의 토큰이고
448
00:15:46,980 --> 00:15:48,720
얘네들을 이제 d로 보내주는 어떤
449
00:15:48,720 --> 00:15:52,560
포지션을 해주는 그
450
00:15:52,560 --> 00:15:54,600
뭐냐 인베릭 레이어만 있으면 되는
451
00:15:54,600 --> 00:15:56,459
거예요
452
00:15:56,459 --> 00:15:57,600
그렇죠 이거는
453
00:15:57,600 --> 00:15:58,440
데이터로부터 배우는 거기 때문에
454
00:15:58,440 --> 00:16:00,720
우리가 아무것도 하지 않고 1024
455
00:16:00,720 --> 00:16:01,800
차원짜리
456
00:16:01,800 --> 00:16:03,060
벡터로 그냥 만들어 주고 더하기만 한
457
00:16:03,060 --> 00:16:04,440
거예요
458
00:16:04,440 --> 00:16:05,940
그러면 얘가 이제 학습하면서 알아서
459
00:16:05,940 --> 00:16:07,740
저 위치에 있다면 어떤 식으로
460
00:16:07,740 --> 00:16:09,019
표현되어야 된다는 걸 배우는 거죠
461
00:16:09,019 --> 00:16:10,860
배우기 되게 기대하는 거예요 진짜
462
00:16:10,860 --> 00:16:13,440
배워지는지는 이따가 볼게요
463
00:16:13,440 --> 00:16:14,940
자 고점이 차이고요 그래서 여기
464
00:16:14,940 --> 00:16:18,540
지금식이 써 있는데 그
465
00:16:18,540 --> 00:16:20,699
z로는 뭐가 되냐면요
466
00:16:20,699 --> 00:16:21,300
x
467
00:16:21,300 --> 00:16:24,420
클래스 요거는 이제 클래스예요 그
468
00:16:24,420 --> 00:16:25,160
다음에
469
00:16:25,160 --> 00:16:28,620
xp1부터 xpn까지는 얘네들은요
470
00:16:28,620 --> 00:16:30,959
인베딩을 다 붙여 가지고
471
00:16:30,959 --> 00:16:31,860
곱해주면
472
00:16:31,860 --> 00:16:34,019
얘네들이 지금 다 1023차원짜리
473
00:16:34,019 --> 00:16:35,820
벡터로 이렇게 만들어지는 거죠
474
00:16:35,820 --> 00:16:37,380
그게 지금요 부분을 얘기한 거예요
475
00:16:37,380 --> 00:16:40,259
2를 곱한 거 그리고이
476
00:16:40,259 --> 00:16:42,779
포지션을 더하는게요 부분이죠
477
00:16:42,779 --> 00:16:45,000
포지션 인코딩 더해지면 2의 크기는
478
00:16:45,000 --> 00:16:46,920
어떻게 되겠어요
479
00:16:46,920 --> 00:16:49,019
p^2 * c를 d로 보내는 리니어
480
00:16:49,019 --> 00:16:50,519
맵핑이니까 그 두 개의 크기 곱한
481
00:16:50,519 --> 00:16:51,959
것만큼 되겠고
482
00:16:51,959 --> 00:16:53,759
포지셔널 인코딩은요
483
00:16:53,759 --> 00:16:56,160
포지션이 총 n+1개가 있고
484
00:16:56,160 --> 00:16:59,220
각이 그 d차원 벡터가 돼야 되니까
485
00:16:59,220 --> 00:17:02,160
n+1 곱하기 d가 되겠죠
486
00:17:02,160 --> 00:17:04,140
식 이해되시죠
487
00:17:04,140 --> 00:17:08,640
네 그래서 이렇게 만들어지면은 우리가
488
00:17:08,640 --> 00:17:09,959
이제 트랜스포머 인코드가 그냥
489
00:17:09,959 --> 00:17:14,099
들어가는 거예요요 밑에까지만 비주얼
490
00:17:14,099 --> 00:17:15,480
인풋이라서 뭔가 특별한게 있었던
491
00:17:15,480 --> 00:17:17,220
거예요 여기서부터는 그냥 완전히
492
00:17:17,220 --> 00:17:19,559
똑같아요 여기서부터는 우리 트랜스포머
493
00:17:19,559 --> 00:17:22,199
인코더가 받아들인 인풋이 뭐예요
494
00:17:22,199 --> 00:17:23,339
시퀀스 오브 토큰 인베딩이죠 그냥
495
00:17:23,339 --> 00:17:26,640
그게 원래 워드였던 비주얼 인풋이었던
496
00:17:26,640 --> 00:17:29,040
상관없이 그냥 여기서부터 똑같이 돌릴
497
00:17:29,040 --> 00:17:30,179
수 있는 거예요
498
00:17:30,179 --> 00:17:33,540
그래서 이게 이제 아까 제가 붙었던
499
00:17:33,540 --> 00:17:35,880
그림인데 그 우리 알고 있는 그림이죠
500
00:17:35,880 --> 00:17:37,440
얘를 가지고 멀티 헤드 어텐션 한
501
00:17:37,440 --> 00:17:39,240
다음에 그
502
00:17:39,240 --> 00:17:41,520
mlp를 붙여주는 그리고 거기에
503
00:17:41,520 --> 00:17:43,799
커넥션이 있고 이거를 앨범 반복하고
504
00:17:43,799 --> 00:17:46,140
지난 시간에 배웠던 그대로죠 위에는
505
00:17:46,140 --> 00:17:48,419
똑같아요 이렇게 하고 얘를 이제
506
00:17:48,419 --> 00:17:50,760
여러번 반복하고 나면은 여기
507
00:17:50,760 --> 00:17:52,320
식선하는데
508
00:17:52,320 --> 00:17:53,880
레이어논 한 다음에 이게 아주
509
00:17:53,880 --> 00:17:55,320
세부적인 부분은 조금 다를 수도
510
00:17:55,320 --> 00:17:57,539
있어요 근데 그거는이 사람들이 여러
511
00:17:57,539 --> 00:17:58,860
가지를 실험해 보다가 이렇게 하는게
512
00:17:58,860 --> 00:18:00,480
조금 더 낫다 해서 바꾼 건데
513
00:18:00,480 --> 00:18:02,039
큰 의미는 없어요 그래서
514
00:18:02,039 --> 00:18:03,299
본질적인 차이는 거의 없을 거예요
515
00:18:03,299 --> 00:18:05,160
이렇게 해서
516
00:18:05,160 --> 00:18:07,020
멀티 헤드 셀프테이션 돌고
517
00:18:07,020 --> 00:18:08,400
mlp 한번 돌고 이거를 여러 번
518
00:18:08,400 --> 00:18:10,620
반복하고 여기 지금
519
00:18:10,620 --> 00:18:11,760
l이 붙어 있는데
520
00:18:11,760 --> 00:18:13,860
l이요 라지 l에 대한 인덱스에요
521
00:18:13,860 --> 00:18:16,500
그래서 지금 제가 맨 처음에 제로라고
522
00:18:16,500 --> 00:18:18,360
했는데 이게
523
00:18:18,360 --> 00:18:19,799
트랜스포머 인코더로 아직 한 번도
524
00:18:19,799 --> 00:18:21,900
통과하지 않은 인풋이란 뜻이고요
525
00:18:21,900 --> 00:18:23,160
얘를
526
00:18:23,160 --> 00:18:26,299
요거 요거 통과하고 나면은
527
00:18:29,039 --> 00:18:30,840
처리하고 거기다 열고 들어가서 제
528
00:18:30,840 --> 00:18:32,340
1이 나오겠죠
529
00:18:32,340 --> 00:18:33,660
쭉 돌고 나면
530
00:18:33,660 --> 00:18:35,460
C 라지 l이 나오겠죠
531
00:18:35,460 --> 00:18:37,799
이게 로테이션이 잘 논문에 있는
532
00:18:37,799 --> 00:18:39,600
로테이션을 따라가서 그런데
533
00:18:39,600 --> 00:18:42,660
지난 시간 수업에서는 이거를 그
534
00:18:42,660 --> 00:18:44,700
슈퍼스크립트를 썼었어요 괄호하고
535
00:18:44,700 --> 00:18:46,080
l이라고 썼었어요
536
00:18:46,080 --> 00:18:48,360
기억나세요 그게 아마 지난 시간 강의
537
00:18:48,360 --> 00:18:49,919
노트랑 이게 좀 달라 가지고
538
00:18:49,919 --> 00:18:52,380
혼동될 수 있는데이 l이 레이어의
539
00:18:52,380 --> 00:18:53,820
개수예요
540
00:18:53,820 --> 00:18:54,539
어디까지
541
00:18:54,539 --> 00:18:56,160
엘개를 통과해서 나온 인베딩이란
542
00:18:56,160 --> 00:18:57,299
뜻이에요
543
00:18:57,299 --> 00:19:00,600
그렇게 해서 앨범 다 돌고 나오면요이
544
00:19:00,600 --> 00:19:01,380
클래스
545
00:19:01,380 --> 00:19:03,419
토큰에 들어가서 나와 있는 얘가 가장
546
00:19:03,419 --> 00:19:06,179
바이어스가 안 돼 있는 전체 이미지를
547
00:19:06,179 --> 00:19:07,440
균등하게 잘
548
00:19:07,440 --> 00:19:09,179
결합하고 있는게 되겠죠
549
00:19:09,179 --> 00:19:11,760
요거 위에다가 mlp 쌓아가지고
550
00:19:11,760 --> 00:19:13,440
프레스파이어 달아주면 얘가 이제 어떤
551
00:19:13,440 --> 00:19:15,059
클래스에 해당되는지를 예측하게 할 수
552
00:19:15,059 --> 00:19:16,620
있죠
553
00:19:16,620 --> 00:19:17,520
그러면은
554
00:19:17,520 --> 00:19:19,320
로스는 어디서 발생해요
555
00:19:19,320 --> 00:19:21,960
로스는 여기서 발생하겠죠이 예측이
556
00:19:21,960 --> 00:19:23,820
틀린 거에서 발생하겠죠 그럼 이거
557
00:19:23,820 --> 00:19:26,100
다시 쭉 타고 내려와서 전체를
558
00:19:26,100 --> 00:19:27,720
백프로포션 해가지고 싹트게이밍을
559
00:19:27,720 --> 00:19:29,780
해주는 거예요
560
00:19:29,780 --> 00:19:32,700
다시 한번 얘기하면이 윗부분은 지난
561
00:19:32,700 --> 00:19:33,919
시간에 배운 거랑 완전히 똑같아요
562
00:19:33,919 --> 00:19:37,980
거의 차이가 없어요 뭐가 달라졌냐면
563
00:19:37,980 --> 00:19:39,299
얘는 어쨌든
564
00:19:39,299 --> 00:19:40,620
시퀀스 오브
565
00:19:40,620 --> 00:19:42,179
토큰이 들어와야 돼요
566
00:19:42,179 --> 00:19:43,799
토큰 인베딩이 들어와야 돼요
567
00:19:43,799 --> 00:19:44,700
그러면은
568
00:19:44,700 --> 00:19:45,720
각각의 토큰이 무엇이 되어야 될
569
00:19:45,720 --> 00:19:47,640
것이냐 이미지는
570
00:19:47,640 --> 00:19:49,440
pvip로 쪼개는 조그만 이미지
571
00:19:49,440 --> 00:19:51,419
패치들이 그 워드 역할을 해서
572
00:19:51,419 --> 00:19:52,919
컴포넌트 역할을 해서
573
00:19:52,919 --> 00:19:55,020
걔네들이 들어가야 된다 그러면은 그걸
574
00:19:55,020 --> 00:19:55,980
이제
575
00:19:55,980 --> 00:19:57,480
인베닝으로 만들어야 되잖아요 픽셀
576
00:19:57,480 --> 00:19:58,919
레벨에서 그냥 넣을 거 아니니까 그럼
577
00:19:58,919 --> 00:20:01,440
너무 크죠 그래서이
578
00:20:01,440 --> 00:20:02,640
D 차원짜리 인베딩으로 만들어 줄
579
00:20:02,640 --> 00:20:04,980
건데 그거 어떻게 만들 거냐 그냥
580
00:20:04,980 --> 00:20:06,780
리니어 맵핑 시켜준 거예요 그냥
581
00:20:06,780 --> 00:20:08,520
매트릭스나 곱해가지고
582
00:20:08,520 --> 00:20:09,840
그러면이 매트릭스는 모든 애들한테
583
00:20:09,840 --> 00:20:12,480
공통적으로 적용이 되니까이 픽셀
584
00:20:12,480 --> 00:20:14,940
레벨에 있는 표현을요 인베딩으로
585
00:20:14,940 --> 00:20:16,860
표현하는 일반적인 방법을 배우겠죠
586
00:20:16,860 --> 00:20:18,000
저게
587
00:20:18,000 --> 00:20:20,220
그거의 내용을 가장 잘 담고
588
00:20:20,220 --> 00:20:23,039
뒷차원으로 보낼 수 있는 방법을 배워
589
00:20:23,039 --> 00:20:25,080
놓겠죠
590
00:20:25,080 --> 00:20:25,760
됐나요
591
00:20:25,760 --> 00:20:29,539
대충 어떻게 돌아가는지 아시겠어요
592
00:20:29,760 --> 00:20:31,280
요게 이제 가장 핵심이 되는
593
00:20:31,280 --> 00:20:33,600
아이디어였고 이것들의 이제 변형들이
594
00:20:33,600 --> 00:20:36,419
오늘 계속해서 나올 거예요
595
00:20:36,419 --> 00:20:38,340
자 그래서이 vit는
596
00:20:38,340 --> 00:20:42,360
실험을 돌렸어요이 그 이게 나오기
597
00:20:42,360 --> 00:20:43,200
전까지
598
00:20:43,200 --> 00:20:45,059
CNN 중에 가장 잘 됐던게 뭐
599
00:20:45,059 --> 00:20:45,900
레지넷인데
600
00:20:45,900 --> 00:20:47,760
레지넷 중에 제일 큰 거 152 얘랑
601
00:20:47,760 --> 00:20:51,360
이제 비교를 했는데 그
602
00:20:51,720 --> 00:20:53,640
결과를 보시면은 뭐 정확도가 잘
603
00:20:53,640 --> 00:20:55,860
나온다 지금이 모든 데이터셋들에서
604
00:20:55,860 --> 00:20:57,780
기존에 있던 그
605
00:20:57,780 --> 00:20:58,980
데이터셋들을 이거를
606
00:20:58,980 --> 00:21:00,720
얘가 이제 그
607
00:21:00,720 --> 00:21:02,880
레지넷으로 만든 기존 건데 그거보다
608
00:21:02,880 --> 00:21:04,980
정확도가 더 잘 나온다 좋아요 성능
609
00:21:04,980 --> 00:21:06,020
좋아진 건
610
00:21:06,020 --> 00:21:08,820
좋은데요 부분을 한번 보세요
611
00:21:08,820 --> 00:21:10,380
tpu v3 코어 데이즈 이게 무슨
612
00:21:10,380 --> 00:21:11,340
말이냐면
613
00:21:11,340 --> 00:21:14,160
tpu라는 말 혹시 들어보셨나요
614
00:21:14,160 --> 00:21:15,720
gpu는 많이 쓰죠 우리
615
00:21:15,720 --> 00:21:17,039
tpu는
616
00:21:17,039 --> 00:21:19,860
텐서 프로세싱 유닛이라고 그이 진짜
617
00:21:19,860 --> 00:21:21,240
딥러닝 연산을 하기 위해서 구글에서
618
00:21:21,240 --> 00:21:23,640
만든 하드웨어에요
619
00:21:23,640 --> 00:21:25,860
gpu를 훨씬 더이
620
00:21:25,860 --> 00:21:28,080
gpu는 원래 그래픽 카드잖아요
621
00:21:28,080 --> 00:21:29,760
그래픽을 표현하기 위한 거를 우리가
622
00:21:29,760 --> 00:21:31,679
연산에 쓰는 건데 이건 진짜이
623
00:21:31,679 --> 00:21:32,880
연산만을 위해서 만든 특수한
624
00:21:32,880 --> 00:21:34,799
하드웨어에요 그래서
625
00:21:34,799 --> 00:21:38,159
굉장히 비싸고 이거를 팔진 않아요
626
00:21:38,159 --> 00:21:39,539
구글에서만 갖고 있고
627
00:21:39,539 --> 00:21:41,340
구글 클라우드라는 서비스를
628
00:21:41,340 --> 00:21:43,200
돈을 내고 사용할 수 있어요 그
629
00:21:43,200 --> 00:21:44,940
aws랑 비슷하게
630
00:21:44,940 --> 00:21:45,720
근데
631
00:21:45,720 --> 00:21:48,720
이거를 지금 보니까 이거 이제 버전
632
00:21:48,720 --> 00:21:50,000
3를
633
00:21:50,000 --> 00:21:52,039
2500시간을 써야 돼요
634
00:21:52,039 --> 00:21:54,120
2501을 써야 돼요
635
00:21:54,120 --> 00:21:56,039
그러니까 이게 8개를 쓰면 300일
636
00:21:56,039 --> 00:21:58,200
정도로 돌려야 되는 거예요 자 이거를
637
00:21:58,200 --> 00:22:00,620
우리가 돈을 내고 하면 얼마가
638
00:22:00,620 --> 00:22:03,480
되느냐이 이게 좀 오래된 거긴 하지만
639
00:22:03,480 --> 00:22:05,220
여기 들어가 보면 1시간에 8불 내야
640
00:22:05,220 --> 00:22:07,980
된다고 써 있어요 하나 쓰는데
641
00:22:07,980 --> 00:22:09,000
그러면은
642
00:22:09,000 --> 00:22:10,919
8불곱하기 24시간 곱하기 2500
643
00:22:10,919 --> 00:22:12,299
하면은이 모델 하나 트레이닝 하는데
644
00:22:12,299 --> 00:22:14,280
들어가는 돈이 우리 돈으로 한
645
00:22:14,280 --> 00:22:16,200
5억에서 6억 정도 되는 거예요
646
00:22:16,200 --> 00:22:18,200
이 모델 한 번 쫙 트레이닝 하는데
647
00:22:18,200 --> 00:22:20,280
여러분들 그 과제 해보시면 알겠지만
648
00:22:20,280 --> 00:22:21,659
모델을 한 번만 트레이닝 하면 되는게
649
00:22:21,659 --> 00:22:23,760
아니죠 하프파라미터 튜닝도 해야 되고
650
00:22:23,760 --> 00:22:25,620
모델 크기도 다르게 해보고 데이터도
651
00:22:25,620 --> 00:22:27,780
이것저것 해보고이 표 채우는데만 해도
652
00:22:27,780 --> 00:22:30,419
지금 뭐 수십번 했겠죠 어마어마한
653
00:22:30,419 --> 00:22:32,159
돈을 태우는 모델이에요
654
00:22:32,159 --> 00:22:34,140
이게 뭐
655
00:22:34,140 --> 00:22:35,460
구글이 가진 거니까 공짜일 수도
656
00:22:35,460 --> 00:22:37,380
있지만 사실 거기 들어가는 전기값과
657
00:22:37,380 --> 00:22:40,140
뭐 그 시설 임대료 이런 것들을 다
658
00:22:40,140 --> 00:22:41,940
내야 된다고 생각하면은 아무리
659
00:22:41,940 --> 00:22:43,500
구글이라도 이게 무시할 만한 돈은
660
00:22:43,500 --> 00:22:44,700
아닌 거고
661
00:22:44,700 --> 00:22:45,659
다른 회사들이 이걸 하는 거 다
662
00:22:45,659 --> 00:22:47,280
마찬가지예요이
663
00:22:47,280 --> 00:22:48,900
딥러닝이 굉장히
664
00:22:48,900 --> 00:22:50,580
어떻게 보면 좀 비판하는 이유 중에
665
00:22:50,580 --> 00:22:53,159
하나가 되게 쉽고 인간에게는 되게
666
00:22:53,159 --> 00:22:55,140
자명한 태스크를 컴퓨터한테 억지로
667
00:22:55,140 --> 00:22:56,100
시키면서
668
00:22:56,100 --> 00:22:58,080
엄청난 양의 전기와 그 에너지를 쓰고
669
00:22:58,080 --> 00:23:00,360
있는거다 뭐 탄소를 엄청나게 배출해
670
00:23:00,360 --> 00:23:02,039
가면서 이런 얘기가 나오는게 바로
671
00:23:02,039 --> 00:23:03,480
이런 것 때문이에요
672
00:23:03,480 --> 00:23:04,500
라지 모델들이
673
00:23:04,500 --> 00:23:07,400
뒤에 이런 불편한 진실이 있어요
674
00:23:07,400 --> 00:23:08,960
자
675
00:23:08,960 --> 00:23:10,919
그러면이 모델 이런 걸 이제 왜
676
00:23:10,919 --> 00:23:12,780
했느냐 보시면
677
00:23:12,780 --> 00:23:15,240
vit가 이게이 논문이 처음 나왔을
678
00:23:15,240 --> 00:23:17,760
때만 해도 그렇게 완벽하지 않았어요
679
00:23:17,760 --> 00:23:20,340
얘가 언제만 잘 되냐면 아주 큰
680
00:23:20,340 --> 00:23:21,840
데이터셋의 트레이닝을 했을 때만 잘
681
00:23:21,840 --> 00:23:25,200
된다는 거예요 여기 그림 보시면은요
682
00:23:25,200 --> 00:23:26,659
동그라미들이 다 이제 vit고
683
00:23:26,659 --> 00:23:29,600
네모나게 되어 있는게 베이스라인인데
684
00:23:29,600 --> 00:23:31,700
이미지넷은 원밀리언 비디오에요
685
00:23:31,700 --> 00:23:34,500
이미지에요 이미지가 100만 개 있는
686
00:23:34,500 --> 00:23:37,200
데이터 쓰시고 이거는 그거에 21배
687
00:23:37,200 --> 00:23:38,360
커진 거죠
688
00:23:38,360 --> 00:23:40,380
21배 아니죠 이게
689
00:23:40,380 --> 00:23:43,200
클래스 개수가 1k에서 21k로 커진
690
00:23:43,200 --> 00:23:44,820
거고 이미지 개수는 정확히 몇 개
691
00:23:44,820 --> 00:23:47,400
늘었는지 모르겠어요 그리고 jft가
692
00:23:47,400 --> 00:23:48,840
300m이라는 개수에서 보듯이
693
00:23:48,840 --> 00:23:51,419
이거보다 30배가 큰 300배가 큰
694
00:23:51,419 --> 00:23:52,679
데이터셋이죠
695
00:23:52,679 --> 00:23:54,600
여기다 트레이닝을 했을 때만 겨우
696
00:23:54,600 --> 00:23:57,120
이겼어요 베이스라인들을 여기서는 지금
697
00:23:57,120 --> 00:23:59,159
택도 없이 쥐고 있어요 다
698
00:23:59,159 --> 00:24:01,620
그러니까 이렇게 어마어마하게 큰
699
00:24:01,620 --> 00:24:03,720
데이터셋에다 트레이닝을 해야만
700
00:24:03,720 --> 00:24:04,860
기존에 있던 cnn을 이길 수 있는
701
00:24:04,860 --> 00:24:08,100
거예요 왜 그럴까이 모델이
702
00:24:08,100 --> 00:24:09,360
cnn보다 그래서 좋다는 거냐
703
00:24:09,360 --> 00:24:11,760
나쁘다는 거냐라는 거에 대한 어떤
704
00:24:11,760 --> 00:24:14,820
결론을 내야 되겠죠 자 왜 차이가
705
00:24:14,820 --> 00:24:16,620
나느냐면요
706
00:24:16,620 --> 00:24:18,299
vit 우리가 지금 배운 트랜스포머
707
00:24:18,299 --> 00:24:19,919
모델은
708
00:24:19,919 --> 00:24:22,440
기본적으로 인덕티브 바이러스가 없어요
709
00:24:22,440 --> 00:24:24,360
인덕티브 바이러스가 뭐냐 우리
710
00:24:24,360 --> 00:24:27,780
cnn이 왜 좋다 그랬어요 수업할 때
711
00:24:27,780 --> 00:24:30,600
이것 때문이었죠 스페셜 로컬리티랑
712
00:24:30,600 --> 00:24:32,340
포지션을 인베리언스 때문에 cnn이
713
00:24:32,340 --> 00:24:36,120
동작한다고 배웠어요 이게 무슨 뜻이냐
714
00:24:36,120 --> 00:24:37,320
어떤 비주얼한 패턴을 파악하기
715
00:24:37,320 --> 00:24:38,880
위해서는 우리 주변에 있는 픽셀들만
716
00:24:38,880 --> 00:24:39,900
보는게
717
00:24:39,900 --> 00:24:41,760
cnn이었어요 그리고 그거를
718
00:24:41,760 --> 00:24:43,860
여기저기다가 똑같이 적용할 수 있는게
719
00:24:43,860 --> 00:24:45,659
우리가 기본적으로 깔고 있는 cnn의
720
00:24:45,659 --> 00:24:48,299
가정이죠 그래서 잘 동작했었다라고
721
00:24:48,299 --> 00:24:50,159
우리가 지금까지 배우고 왔어요
722
00:24:50,159 --> 00:24:52,020
근데 이후 트랜스포머 모델을 한번 잘
723
00:24:52,020 --> 00:24:54,720
생각해보세요 내가 어떤 패치예요 어떤
724
00:24:54,720 --> 00:24:56,880
주인공이에요 여기서 하는 일이 뭐예요
725
00:24:56,880 --> 00:24:59,640
나를 표현하기 위해서 이미지 안에
726
00:24:59,640 --> 00:25:01,380
있는 다른 모든 이미지 패치들과
727
00:25:01,380 --> 00:25:02,940
시뮬레이트를 계산해서 나를
728
00:25:02,940 --> 00:25:05,520
업데이트하죠 나뿐 아니라 다른 애들도
729
00:25:05,520 --> 00:25:07,919
다 똑같은 그걸 하고 있죠
730
00:25:07,919 --> 00:25:09,799
로컬리티 있어요
731
00:25:09,799 --> 00:25:12,900
없죠 전체를 다 보고 있죠 모든
732
00:25:12,900 --> 00:25:15,360
애들이 모든 토큰을 어텐션을 하니까
733
00:25:15,360 --> 00:25:17,700
그 말은 스페셜 로컬티를 활용을 안
734
00:25:17,700 --> 00:25:19,679
하고 있다는 얘기죠 전체를 다 보는
735
00:25:19,679 --> 00:25:21,720
거예요 자 그 왜 그렇게 하느냐
736
00:25:21,720 --> 00:25:23,580
가까운데만 봐도 되는데
737
00:25:23,580 --> 00:25:25,860
근데이 논문이 얘기하는게 뭐냐면
738
00:25:25,860 --> 00:25:27,240
그렇게 가까운데만 보게 안 하고 다
739
00:25:27,240 --> 00:25:28,740
보게 해도
740
00:25:28,740 --> 00:25:30,419
데이터셋이 충분히 크고 충분히 오랜
741
00:25:30,419 --> 00:25:32,039
시간 동안 충분히 큰 모델을 학습을
742
00:25:32,039 --> 00:25:33,120
시키니까
743
00:25:33,120 --> 00:25:34,919
성능이 더 잘 나오더라 해요
744
00:25:34,919 --> 00:25:36,620
성능이 더 잘 나오는게 무슨 의미냐면
745
00:25:36,620 --> 00:25:38,520
가까운데만 보호라고
746
00:25:38,520 --> 00:25:41,520
했을 때보다 더 잘한다는 거는
747
00:25:41,520 --> 00:25:43,559
얘가 그걸 깨우쳤다는 얘기에요
748
00:25:43,559 --> 00:25:45,140
진짜로 깨우쳤느냐 하고 예제를 봤더니
749
00:25:45,140 --> 00:25:47,460
자이 강아지를 맞추기 위해서 얘가
750
00:25:47,460 --> 00:25:48,539
어디에 어텐션을 하고 있는지 우리
751
00:25:48,539 --> 00:25:50,820
그때 그 스페셜 어텐션 할 수 있는
752
00:25:50,820 --> 00:25:53,039
거 배웠죠 그거를 가지고 한번 찍어
753
00:25:53,039 --> 00:25:54,900
봤더니 이게 강아지라는 걸 맞추기
754
00:25:54,900 --> 00:25:56,279
위해서 딱이 부분을 본다는 거가
755
00:25:56,279 --> 00:25:59,700
나왔어요 이런 식으로
756
00:25:59,700 --> 00:26:01,080
어떤 부분을 봐야지 우리가 저
757
00:26:01,080 --> 00:26:02,580
레이블을 맞출 수 있는지를 정말
758
00:26:02,580 --> 00:26:04,260
귀신같이 맞춰네요
759
00:26:04,260 --> 00:26:06,600
근데 이걸 하기 위해서 너이 근처를
760
00:26:06,600 --> 00:26:07,799
봐라라는 걸 우리가 가르쳐 주지
761
00:26:07,799 --> 00:26:09,299
않았어요
762
00:26:09,299 --> 00:26:10,799
그렇기 때문에 아주 비효율적인 거죠
763
00:26:10,799 --> 00:26:12,419
저거를
764
00:26:12,419 --> 00:26:14,039
정말 많은 이그제플을 보다 보니까 아
765
00:26:14,039 --> 00:26:16,440
가까운데만 보면 대부분 되는구나라는
766
00:26:16,440 --> 00:26:19,559
걸 배우는 거예요 그래서 아주 큰
767
00:26:19,559 --> 00:26:21,059
데이터셋을 학습시켰을 때만 잘
768
00:26:21,059 --> 00:26:23,820
동작한다라는게 특징이었어요
769
00:26:23,820 --> 00:26:24,539
근데
770
00:26:24,539 --> 00:26:25,080
그러면
771
00:26:25,080 --> 00:26:26,580
cnn만큼만 잘 되는게 아니라 왜 더
772
00:26:26,580 --> 00:26:28,679
잘 되느냐
773
00:26:28,679 --> 00:26:30,960
간혹 드물지만 어떤 경우에는
774
00:26:30,960 --> 00:26:32,520
근처만 보면 답이 안 나오는 경우도
775
00:26:32,520 --> 00:26:34,799
있을 수 있죠 이미지에 따라서
776
00:26:34,799 --> 00:26:36,179
멀리 있는 것들이 힌트가 되는 경우가
777
00:26:36,179 --> 00:26:37,860
있을 수 있죠
778
00:26:37,860 --> 00:26:39,720
그런 경우도 얘는 캐치할 수가 있는
779
00:26:39,720 --> 00:26:40,679
거예요
780
00:26:40,679 --> 00:26:41,820
cnn은 아예 우리가 그걸 못 보게
781
00:26:41,820 --> 00:26:43,860
하죠 딱 주변만 보게 하죠
782
00:26:43,860 --> 00:26:44,580
근데
783
00:26:44,580 --> 00:26:46,020
얘는 알아볼 수 있게 해놨기 때문에
784
00:26:46,020 --> 00:26:48,059
그게 필요하면 얘가 그걸 찾아내는
785
00:26:48,059 --> 00:26:49,200
거예요
786
00:26:49,200 --> 00:26:50,460
그래서
787
00:26:50,460 --> 00:26:52,140
정말 충분히 데이터에 학습을 시켜주면
788
00:26:52,140 --> 00:26:54,539
그
789
00:26:54,539 --> 00:26:56,279
성능이 cnn보다 더 좋아진다 그래서
790
00:26:56,279 --> 00:26:58,799
이런 인덕티브 바이러스를 우리가 주지
791
00:26:58,799 --> 00:27:00,659
않아도 얘가 어느 정도 중요하다는 걸
792
00:27:00,659 --> 00:27:03,000
배울 수 있고 그거에 예외 상황까지도
793
00:27:03,000 --> 00:27:04,500
캐치할 수가 있어서 더 잘 되는 거
794
00:27:04,500 --> 00:27:06,059
같다라는게이
795
00:27:06,059 --> 00:27:08,340
논문에서 낸 결론이었어요
796
00:27:08,340 --> 00:27:12,440
대단하죠 이런 걸 이렇게 했다는게
797
00:27:46,679 --> 00:27:49,159
이 1은요 이거 어떻게 보면 되냐면
798
00:27:49,159 --> 00:27:52,380
1에 있는요 벡터는 나머지 모든
799
00:27:52,380 --> 00:27:53,940
것과의 시뮬레이트가 이렇게 나왔다는
800
00:27:53,940 --> 00:27:56,520
거예요 1 자기 자신이 제일 높게
801
00:27:56,520 --> 00:27:57,659
나오고요
802
00:27:57,659 --> 00:28:01,620
노란색으로 그 다음에 좀
803
00:28:01,620 --> 00:28:03,720
연하게 나오고 나머지는 진하게 나오고
804
00:28:03,720 --> 00:28:05,760
뒤로 갈수록 더 짙어지죠 이게 무슨
805
00:28:05,760 --> 00:28:08,700
말이냐면 1에 있는이 자리는
806
00:28:08,700 --> 00:28:10,260
로우 1에 있는 것들이랑 컬럼 1에
807
00:28:10,260 --> 00:28:12,260
있는 것들이랑 비교적 더 쓰밀러하고
808
00:28:12,260 --> 00:28:14,880
나머지들이랑 다르게 나온다는 거예요
809
00:28:14,880 --> 00:28:16,260
다른 것들도 마찬가지예요 지금 뭐 5
810
00:28:16,260 --> 00:28:17,880
3 이런 거 보면은
811
00:28:17,880 --> 00:28:19,919
얘도 딱 자기 자리에 있는 거랑 가장
812
00:28:19,919 --> 00:28:22,740
좋고 같은 로우 같은 컬럼
813
00:28:22,740 --> 00:28:24,779
근처로 근처 컬럼 순으로
814
00:28:24,779 --> 00:28:26,760
시뮬런트가 떨어지고 아닌 걸로 갈수록
815
00:28:26,760 --> 00:28:27,840
확 떨어지고
816
00:28:27,840 --> 00:28:30,960
이게 우리가 지금이
817
00:28:30,960 --> 00:28:32,880
포지셔널 인코딩이 야 너는 2 3이야
818
00:28:32,880 --> 00:28:35,360
이런 거를 가르쳐 주지 않고 그냥
819
00:28:35,360 --> 00:28:38,880
아무렇게나 만들어 놓고 배워 이랬는데
820
00:28:38,880 --> 00:28:40,200
딱 귀신같이 이렇게 찾아냈다는 거예요
821
00:28:40,200 --> 00:28:42,539
자기 자리하고 자기 로우 잘 컬럼이
822
00:28:42,539 --> 00:28:44,520
중요하다는 거를
823
00:28:44,520 --> 00:28:48,360
그래가지고 이런 2D
824
00:28:48,360 --> 00:28:50,220
구조를 우리가 인위적으로 주지 않아도
825
00:28:50,220 --> 00:28:51,299
얘가 이렇게 충분히 잘 배워낼 수
826
00:28:51,299 --> 00:28:53,120
있다라는 거를 실험적으로 증명을 했고
827
00:28:53,120 --> 00:28:56,100
그래서이 이후로 비전트랜스포머에서는
828
00:28:56,100 --> 00:28:57,059
포지션 인코딩을 그냥 이런 식으로
829
00:28:57,059 --> 00:28:58,500
해요
830
00:28:58,500 --> 00:29:00,179
런업을 하게 딱 주고 알아서 배워
831
00:29:00,179 --> 00:29:02,460
이렇게만 하고 있어요
832
00:29:02,460 --> 00:29:05,539
nf보다 훨씬 간단하죠 사실
833
00:29:05,760 --> 00:29:08,340
자 여기까지가 이제 가장 처음에
834
00:29:08,340 --> 00:29:10,100
나왔던 vit
835
00:29:10,100 --> 00:29:12,299
모델이었고요이 vit 모델이
836
00:29:12,299 --> 00:29:14,700
완벽하지는 않았어요 뭐 가장 큰
837
00:29:14,700 --> 00:29:16,919
단점이 이거였죠
838
00:29:16,919 --> 00:29:18,320
돈이 많이 들고 시간이 많이 걸린다
839
00:29:18,320 --> 00:29:21,299
그거를 어떻게 좀 개선해 볼까라는게
840
00:29:21,299 --> 00:29:24,720
다음 질문이 되겠죠 자연스럽게 그래서
841
00:29:24,720 --> 00:29:26,100
데이터 efficient 이미지
842
00:29:26,100 --> 00:29:27,360
트랜스포머라는게 그 다음에 나오게
843
00:29:27,360 --> 00:29:29,539
되는데
844
00:29:29,580 --> 00:29:31,919
얘네들이 이제 주장하는 거는 우리는
845
00:29:31,919 --> 00:29:34,740
8개 gpu가 있는 싱글 노드 하나요
846
00:29:34,740 --> 00:29:36,360
정도는
847
00:29:36,360 --> 00:29:38,520
요즘 이제 대학원들도 하나씩은
848
00:29:38,520 --> 00:29:39,779
충분히 이거 하나가 아니라 여러 개씩
849
00:29:39,779 --> 00:29:42,000
가지고 있는게 표준이 될 정도로 뭐
850
00:29:42,000 --> 00:29:44,580
그렇게까지 대단한 장비가 아니죠 이제
851
00:29:44,580 --> 00:29:45,539
그러니까 학교에서도 할 수 있는
852
00:29:45,539 --> 00:29:47,340
정도예요 학교에서도 한 이사벨 정도
853
00:29:47,340 --> 00:29:50,279
돌리면 할 수 있다 그리고 데이터셋도
854
00:29:50,279 --> 00:29:52,200
jft라는 데이터셋은 공개가 안 돼
855
00:29:52,200 --> 00:29:52,740
있어요
856
00:29:52,740 --> 00:29:53,760
구글만 가지고 있는 데이터 쓰세요
857
00:29:53,760 --> 00:29:56,039
그런 거 안 쓰고 그냥 공개되어 있는
858
00:29:56,039 --> 00:29:57,779
이미지 넷만 가지고 해도
859
00:29:57,779 --> 00:29:59,640
성능 잘 나오게 만들 수 있다라는게이
860
00:29:59,640 --> 00:30:00,299
논문에
861
00:30:00,299 --> 00:30:03,059
핵심적인 컨트리뷰션이에요
862
00:30:03,059 --> 00:30:05,580
자 그 아이디어는 뭐냐
863
00:30:05,580 --> 00:30:07,440
디스틸레이션이라는 걸 해요
864
00:30:07,440 --> 00:30:12,240
디스플레이션이라는게 뭐냐 우리가 그
865
00:30:12,240 --> 00:30:13,500
cnn으로는
866
00:30:13,500 --> 00:30:16,260
굉장히 이제 어느 정도 잘 동작하는
867
00:30:16,260 --> 00:30:18,600
사실 그 트랜스포머 vit로 만든
868
00:30:18,600 --> 00:30:20,399
거보다 조금 못하다곤 하지만 거의
869
00:30:20,399 --> 00:30:21,899
비슷한 거를 cnn으로 훨씬 빨리
870
00:30:21,899 --> 00:30:23,039
만들 수 있는 거 우리 알고 있잖아요
871
00:30:23,039 --> 00:30:25,679
그래서 같은 거 그런 걸 만들어서
872
00:30:25,679 --> 00:30:27,299
그거를
873
00:30:27,299 --> 00:30:30,419
쓰는 거예요 모델 구조 보시면은
874
00:30:30,419 --> 00:30:31,980
인풋이 들어가고요
875
00:30:31,980 --> 00:30:33,240
스튜던트 모델이 우리가 학습하고 싶은
876
00:30:33,240 --> 00:30:34,980
모델이에요
877
00:30:34,980 --> 00:30:36,059
얘가
878
00:30:36,059 --> 00:30:37,799
어떤 예측을 내놓으면 이렇게 분포가
879
00:30:37,799 --> 00:30:40,980
나오겠죠 클래스 별로 그리고 정답이
880
00:30:40,980 --> 00:30:41,720
있겠죠
881
00:30:41,720 --> 00:30:43,980
정답이랑 맞춰 가지고 요거 중에 제일
882
00:30:43,980 --> 00:30:45,120
높게 나온 거를 이제이 모델이
883
00:30:45,120 --> 00:30:47,520
예측이라고 치고 그 정답에 있는 거랑
884
00:30:47,520 --> 00:30:50,340
맞춰봐 가지고 백프로 파는게 우리가
885
00:30:50,340 --> 00:30:51,659
흔히 알고 있는 일반적인 학습
886
00:30:51,659 --> 00:30:52,820
방법이죠
887
00:30:52,820 --> 00:30:55,320
이제이 비전트랜스포머를 우리 원래
888
00:30:55,320 --> 00:30:57,000
하던 것처럼 학습을 시키는게이 아래쪽
889
00:30:57,000 --> 00:30:58,740
녹색 부분이에요
890
00:30:58,740 --> 00:31:01,200
근데 이것만 하면은 이제 데이터가
891
00:31:01,200 --> 00:31:03,480
적고 그 gpu를 꼈으면 성능이 안
892
00:31:03,480 --> 00:31:05,520
나오니까이 윗부분을 추가한 건데
893
00:31:05,520 --> 00:31:07,020
윗부분이 뭐냐
894
00:31:07,020 --> 00:31:08,399
티처는
895
00:31:08,399 --> 00:31:09,899
얘보다 더 크고 더 잘 동작하는
896
00:31:09,899 --> 00:31:12,480
모델이에요 주로 그냥 cnn을 써요
897
00:31:12,480 --> 00:31:14,940
잘 돌아가는 cnn을 써요
898
00:31:14,940 --> 00:31:17,340
얘가 예측을 하게 하면은
899
00:31:17,340 --> 00:31:19,440
어떤 레이블이 또 나오겠죠
900
00:31:19,440 --> 00:31:21,059
자 이게
901
00:31:21,059 --> 00:31:22,980
훨씬 더 큰 데이터셋에 더 학습되어
902
00:31:22,980 --> 00:31:24,419
있고 이미 잘 돌아가는 걸 알고 있는
903
00:31:24,419 --> 00:31:26,039
모델이니까
904
00:31:26,039 --> 00:31:28,740
얘가 내놓은이 확률분포 자체가 좀
905
00:31:28,740 --> 00:31:30,840
정답이 근접하겠죠
906
00:31:30,840 --> 00:31:32,700
그거를
907
00:31:32,700 --> 00:31:34,559
얘랑 맞춰보게 하는 거예요
908
00:31:34,559 --> 00:31:35,700
얘가 예측한 거랑 이거랑 서로
909
00:31:35,700 --> 00:31:37,500
비슷해져야 한다는 로스를 추가해
910
00:31:37,500 --> 00:31:40,140
가지고이 선생님이
911
00:31:40,140 --> 00:31:41,520
학생이 원래 기본적으로
912
00:31:41,520 --> 00:31:42,779
데이터만 보면서
913
00:31:42,779 --> 00:31:44,100
데이터만 보는 거 사람으로 치면 책만
914
00:31:44,100 --> 00:31:47,039
보면서 공부하고 있고 선생님이 옆에서
915
00:31:47,039 --> 00:31:48,899
같이 풀어보고 야 나는 이렇게
916
00:31:48,899 --> 00:31:51,659
풀었어라고 주는 거를 같이 흉내내는
917
00:31:51,659 --> 00:31:54,740
것을 동시에 진행하는 거예요
918
00:31:55,260 --> 00:31:57,120
요게 디스플레이션이에요
919
00:31:57,120 --> 00:31:58,679
자 그래서
920
00:31:58,679 --> 00:32:00,480
모델이 어떻게 동작하냐면요 우리
921
00:32:00,480 --> 00:32:01,679
모델은
922
00:32:01,679 --> 00:32:02,940
vit랑 똑같아요
923
00:32:02,940 --> 00:32:04,080
완전히 똑같은데
924
00:32:04,080 --> 00:32:05,940
딱 하나만 다른게
925
00:32:05,940 --> 00:32:07,020
맨 오른쪽에
926
00:32:07,020 --> 00:32:08,159
디스플레이션 토큰이라는 거 하나가 더
927
00:32:08,159 --> 00:32:12,240
들어가요 우리 지금 vit에서 이미지
928
00:32:12,240 --> 00:32:13,919
패치들이 쭉 들어오고 앞에다가
929
00:32:13,919 --> 00:32:16,080
크레스토큰 하나 붙였었죠 그런 거
930
00:32:16,080 --> 00:32:17,700
하나 더 붙이는 거예요 뒤에다가
931
00:32:17,700 --> 00:32:19,860
디스플레이션 토큰이라는 거를 그리고
932
00:32:19,860 --> 00:32:21,419
똑같이 돌려요
933
00:32:21,419 --> 00:32:24,179
그것만 달라요 그리고 나서 이제
934
00:32:24,179 --> 00:32:25,679
위에서 뭐 하느냐
935
00:32:25,679 --> 00:32:27,240
클래스토큰에서는 우리가
936
00:32:27,240 --> 00:32:28,860
크래스피케이션을 하죠
937
00:32:28,860 --> 00:32:30,179
그렇게 해가지고
938
00:32:30,179 --> 00:32:31,679
크로스 엔트로피 로스 줘서 틀린 걸로
939
00:32:31,679 --> 00:32:32,940
쪽백프로 파는게 우리 원래 알고 있는
940
00:32:32,940 --> 00:32:35,580
그거죠 이쪽은 똑같은데
941
00:32:35,580 --> 00:32:37,740
요쪽에선 뭘 하느냐 우리가 방금
942
00:32:37,740 --> 00:32:39,659
얘기한 거 있죠 선생님이
943
00:32:39,659 --> 00:32:41,940
얘기한 분포랑 같은지를 맞춰 보게
944
00:32:41,940 --> 00:32:44,039
하는 거예요 그게 틀린만큼 로스를
945
00:32:44,039 --> 00:32:45,779
주는 거예요 여기서도
946
00:32:45,779 --> 00:32:46,380
그러니까
947
00:32:46,380 --> 00:32:48,480
CLS 토큰이 사실상
948
00:32:48,480 --> 00:32:50,460
이름을 하나는 클래스피케이션 다른
949
00:32:50,460 --> 00:32:52,260
하나는 디스플레이션 토큰이라고 우리가
950
00:32:52,260 --> 00:32:53,880
이름 붙인 거예요
951
00:32:53,880 --> 00:32:55,500
자 이렇게 여러 개를 붙일 수 있어요
952
00:32:55,500 --> 00:32:58,020
저렇게 추가 토큰을
953
00:32:58,020 --> 00:33:00,120
그러면은요 윗부분에서 이제 제가 지금
954
00:33:00,120 --> 00:33:02,700
하이라벨에서만 얘기를 했죠 내가 만든
955
00:33:02,700 --> 00:33:05,220
분포랑 선생님이 만든 분포랑 맞춰보고
956
00:33:05,220 --> 00:33:07,320
로스를 준다라고 얘기를 했는데 그걸
957
00:33:07,320 --> 00:33:08,520
구체적으로 어떻게 하는지가 여기 지금
958
00:33:08,520 --> 00:33:10,140
식으로 적혀 있는 거예요
959
00:33:10,140 --> 00:33:12,000
제가 지금 말한 것처럼
960
00:33:12,000 --> 00:33:14,700
분포끼리 맞춰보는 거가요 소프트웨이브
961
00:33:14,700 --> 00:33:16,559
디스트레이션이에요
962
00:33:16,559 --> 00:33:18,539
앞부분은 우리가 알고 있는 그냥
963
00:33:18,539 --> 00:33:20,880
크로스 엔트로피죠이 y 정답이랑
964
00:33:20,880 --> 00:33:22,679
얘가 hknn 그 우리 모델이
965
00:33:22,679 --> 00:33:24,659
만들어낸 거랑 맞춰보는게 크로스
966
00:33:24,659 --> 00:33:25,980
엔트로피고
967
00:33:25,980 --> 00:33:28,320
뒷부분이 뭐냐면요 이게 오랜만에
968
00:33:28,320 --> 00:33:31,820
나왔죠 KL 다이벌 존스 기억나세요
969
00:33:31,820 --> 00:33:34,080
예전에 우리 초반에 배웠던 거 있죠
970
00:33:34,080 --> 00:33:37,080
KL 다이버전스가 뭐였어요
971
00:33:37,080 --> 00:33:39,419
두 확률분포 사이에 디스턴스 비슷한
972
00:33:39,419 --> 00:33:41,220
걸 측정하는거다라고 정도 얘기하고
973
00:33:41,220 --> 00:33:43,080
지나갔었죠 그게 지금 나온 거예요
974
00:33:43,080 --> 00:33:45,899
우리가이
975
00:33:45,899 --> 00:33:47,640
학생 모델이 만든 거랑 선생님 모델이
976
00:33:47,640 --> 00:33:49,860
만든 거랑 두 개의 분포를 비교하고
977
00:33:49,860 --> 00:33:51,299
싶은 거잖아요 그로수를 주기 위해서
978
00:33:51,299 --> 00:33:53,700
그래서이 KL 드라이버를 여기다 쓴
979
00:33:53,700 --> 00:33:56,580
거예요 예를 미니마이즈 시켜주면 그게
980
00:33:56,580 --> 00:33:57,539
무슨 말이에요
981
00:33:57,539 --> 00:33:59,100
학생 모델이 만들어낸 분포가 선생님
982
00:33:59,100 --> 00:34:00,779
모델을 만들어낸 분포랑 가까워지게
983
00:34:00,779 --> 00:34:02,700
만들겠다는 거죠
984
00:34:02,700 --> 00:34:05,580
그래서이 두 개의 로스를 서로 이제
985
00:34:05,580 --> 00:34:07,380
웨이티드 썸을 해준 건데 그래서 여기
986
00:34:07,380 --> 00:34:09,418
이거의 가중치를 남다라고 하면 얘를
987
00:34:09,418 --> 00:34:11,520
1-남자라고 해가지고 이게 전체
988
00:34:11,520 --> 00:34:14,000
로스가 되는 거예요
989
00:34:15,540 --> 00:34:18,719
하드 레이블 디스플레이션은 뭐냐면요
990
00:34:18,719 --> 00:34:20,639
분포대 분포로 하지 말고
991
00:34:20,639 --> 00:34:22,980
학생도 하나를 어쨌든 골라야 돼요
992
00:34:22,980 --> 00:34:25,020
답을 하나 내야 돼요 우리 객관식
993
00:34:25,020 --> 00:34:26,219
문제 풀 때 1 2 3 4 5번의
994
00:34:26,219 --> 00:34:27,418
확률 저거 내지 않죠
995
00:34:27,418 --> 00:34:29,159
답은 어쨌든 하나 써야 되죠 그리고
996
00:34:29,159 --> 00:34:30,599
틀리면 틀린 거죠
997
00:34:30,599 --> 00:34:32,820
그렇게 푸는 거예요 그래서 학생도
998
00:34:32,820 --> 00:34:34,500
답을 하나 적어내고 선생님도 저 답을
999
00:34:34,500 --> 00:34:36,780
하나 내고 그 둘이 맞았으면 맞은
1000
00:34:36,780 --> 00:34:38,820
거고 틀렸으면 로스가 나오고 이렇게
1001
00:34:38,820 --> 00:34:40,639
하는게 하드 레이블 디스플레이션이에요
1002
00:34:40,639 --> 00:34:42,719
어느 쪽이 더 잘 되는지 좀 이따
1003
00:34:42,719 --> 00:34:44,719
볼게요
1004
00:34:45,060 --> 00:34:46,800
그래서 이제
1005
00:34:46,800 --> 00:34:49,080
콜레스토큰 쪽에서 나온요 토큰에서
1006
00:34:49,080 --> 00:34:50,399
나온 인베이딩 있죠
1007
00:34:50,399 --> 00:34:53,159
요거를 클래스 인베딩이라고 부르고요
1008
00:34:53,159 --> 00:34:54,599
디스플레이션 쪽에서 올라와서 만들어진
1009
00:34:54,599 --> 00:34:56,639
예를 디스플레이션 임베딩이라고 부를
1010
00:34:56,639 --> 00:34:59,760
거예요 자 그랬을 때 결과를 실험을
1011
00:34:59,760 --> 00:35:00,960
해봤는데
1012
00:35:00,960 --> 00:35:03,480
재밌게도 하드가 소프트보다 더 잘
1013
00:35:03,480 --> 00:35:06,540
된대요 소프트가 사실 더 정보를 많이
1014
00:35:06,540 --> 00:35:09,000
주는 거잖아요 그 정답인거 하나
1015
00:35:09,000 --> 00:35:10,500
외에도 그리고
1016
00:35:10,500 --> 00:35:12,000
조금의 실수를 너무 로스가 크게 받을
1017
00:35:12,000 --> 00:35:13,200
수 있고 그래서 소프트가 더 잘 될
1018
00:35:13,200 --> 00:35:15,119
거라고 사실 생각하기가 쉬운데
1019
00:35:15,119 --> 00:35:17,160
의외로 하드가 더 잘 나왔다라는 실험
1020
00:35:17,160 --> 00:35:19,020
결과가 리포트가 됐어요
1021
00:35:19,020 --> 00:35:21,240
그리고
1022
00:35:21,240 --> 00:35:23,400
디스플레이션 인베딩이이 클래스
1023
00:35:23,400 --> 00:35:24,660
인버딩보다 성능이 더 좋대요 이게 더
1024
00:35:24,660 --> 00:35:26,940
유용한 정보가 많이 들어있대요 그게
1025
00:35:26,940 --> 00:35:28,859
나중에 너무나도 보세요 거기 막 예제
1026
00:35:28,859 --> 00:35:31,380
같은게 나오는데 좀 이것도 좀
1027
00:35:31,380 --> 00:35:33,000
흥미로운 사실이에요 실제 정답을 보고
1028
00:35:33,000 --> 00:35:34,339
배운 책을 보고 배우는 해보다
1029
00:35:34,339 --> 00:35:36,420
선생님이 가르쳐 주는게 더 도움이
1030
00:35:36,420 --> 00:35:38,160
됐다는게 근데 선생님이
1031
00:35:38,160 --> 00:35:39,180
궁극적으로는 얘보다 못한
1032
00:35:39,180 --> 00:35:41,520
선생님이거든요 이게 cnn이기 때문에
1033
00:35:41,520 --> 00:35:44,040
근데 어쨌든 그걸로 학습한게 더 잘
1034
00:35:44,040 --> 00:35:45,480
됐다는게 또 좀 흥미로운 사실인 것
1035
00:35:45,480 --> 00:35:46,859
같아요
1036
00:35:46,859 --> 00:35:47,760
그리고
1037
00:35:47,760 --> 00:35:49,980
얘네 둘이 배우는게 사실 되게 비슷할
1038
00:35:49,980 --> 00:35:51,720
거잖아요 어쨌든 크리스피케이션 하는
1039
00:35:51,720 --> 00:35:52,980
걸 배우는 거잖아요
1040
00:35:52,980 --> 00:35:54,000
그러니까
1041
00:35:54,000 --> 00:35:56,220
책에 있는 정답 보고 그걸 흉내내는
1042
00:35:56,220 --> 00:35:58,260
학생이랑 선생님이 가르쳐 주는 건
1043
00:35:58,260 --> 00:36:00,119
똑같이 흉내내는 학생이랑 같은 걸
1044
00:36:00,119 --> 00:36:01,560
결국 배우는 거잖아요
1045
00:36:01,560 --> 00:36:02,700
근데
1046
00:36:02,700 --> 00:36:04,920
똑같지는 않더라라는게 이제 뭐
1047
00:36:04,920 --> 00:36:08,700
실험으로 입증이 됐대요 그런 얘기고
1048
00:36:08,700 --> 00:36:11,180
그 다음에
1049
00:36:15,260 --> 00:36:18,180
모델이에요 여기서
1050
00:36:18,180 --> 00:36:20,400
얘가 선생님보다 결국 조금 더 동작을
1051
00:36:20,400 --> 00:36:22,560
잘 하더라 이게 지금 적혀 있는게
1052
00:36:22,560 --> 00:36:25,619
뭐냐면은 그
1053
00:36:25,619 --> 00:36:27,119
클래스피케이션이 두 모델 간의
1054
00:36:27,119 --> 00:36:28,320
d3가드 하는 거거든요 그러니까
1055
00:36:28,320 --> 00:36:29,880
그라운드 츄루스랑 d3가드 하는
1056
00:36:29,880 --> 00:36:31,980
거니까 이게 지금 그
1057
00:36:31,980 --> 00:36:33,480
틀린 비율이에요
1058
00:36:33,480 --> 00:36:35,579
근데 선생님으로 쓴 컴프레스는
1059
00:36:35,579 --> 00:36:37,440
17.1% 틀리는데
1060
00:36:37,440 --> 00:36:39,000
얘는 16.6% 밖에 안 틀려요 약간
1061
00:36:39,000 --> 00:36:41,220
더 잘해요 선생님보다 좀 더 잘하고
1062
00:36:41,220 --> 00:36:45,420
있고 그 다음에 이쪽도 보시면은이
1063
00:36:45,420 --> 00:36:48,540
디스플레이션을 해주게 되면은 그
1064
00:36:48,540 --> 00:36:49,859
디스플레이션 안 한 거보다 선생님이랑
1065
00:36:49,859 --> 00:36:54,320
더 잘 어글리를 한대요
1066
00:36:59,640 --> 00:37:02,160
재밌는 사실이에요 그
1067
00:37:02,160 --> 00:37:03,720
vit보다 못한 cnn을 선생님으로
1068
00:37:03,720 --> 00:37:04,680
두고
1069
00:37:04,680 --> 00:37:06,300
걔가 가르쳐 주는 대로 따라가는 거를
1070
00:37:06,300 --> 00:37:08,880
병행을 했더니 그거 안 한 거보다 더
1071
00:37:08,880 --> 00:37:11,040
잘한다는게 좀 흥미로운 결과였었어요
1072
00:37:11,040 --> 00:37:12,180
그리고
1073
00:37:12,180 --> 00:37:13,940
훨씬 더 빨리 학습이 되고 대신
1074
00:37:13,940 --> 00:37:16,320
선생님이 있어야죠 저 cnn을 미리
1075
00:37:16,320 --> 00:37:17,579
학습을 시켜 놓은게 있어야 된다는게
1076
00:37:17,579 --> 00:37:20,720
뭐 조건이 되겠죠
1077
00:37:22,680 --> 00:37:24,660
자 이렇게
1078
00:37:24,660 --> 00:37:27,359
dit를 간단하게 얘기를 했고요 이제
1079
00:37:27,359 --> 00:37:28,140
조금 더
1080
00:37:28,140 --> 00:37:30,180
요즘 실제로 더 많이 쓰이는 모델을
1081
00:37:30,180 --> 00:37:32,420
얘기해 볼게요
1082
00:37:34,680 --> 00:37:36,480
여러가지 문제점들이 있었는데 그 중에
1083
00:37:36,480 --> 00:37:38,040
하나가 방금 얘기했던
1084
00:37:38,040 --> 00:37:39,480
컴피테이션 코스트가 너무 많이 든다는
1085
00:37:39,480 --> 00:37:42,000
거였어요 그 이유는 인덕트리버바이스를
1086
00:37:42,000 --> 00:37:44,760
주지 않았기 때문이다라고 얘기를 했죠
1087
00:37:44,760 --> 00:37:45,680
그리고
1088
00:37:45,680 --> 00:37:49,320
그 이게 이제 사실 이거에 대해서
1089
00:37:49,320 --> 00:37:50,280
우리가 지금까지 얘기하지 않았지만
1090
00:37:50,280 --> 00:37:52,380
사실은 좀 불편한게 이미지를 그냥
1091
00:37:52,380 --> 00:37:55,980
주어진 대로 그냥 톡톡톡 자른다는게
1092
00:37:55,980 --> 00:37:57,780
그렇게 좋아 보이지는 않죠 저게 뭔가
1093
00:37:57,780 --> 00:37:59,880
의미대로 자르는 것도 아니고 그냥
1094
00:37:59,880 --> 00:38:01,200
우연히 16발 16으로 잘라 가지고
1095
00:38:01,200 --> 00:38:03,720
바로 인접한 픽셀인데 옆에 반으로
1096
00:38:03,720 --> 00:38:05,640
나뉘는 사람도 나뉘는 것처럼 이렇게
1097
00:38:05,640 --> 00:38:08,099
좀 인위적이라는 느낌을 지울 수가
1098
00:38:08,099 --> 00:38:10,619
없어요 이거를 좀 개선해 볼 수
1099
00:38:10,619 --> 00:38:13,079
없을까라고 해가지고 나온
1100
00:38:13,079 --> 00:38:15,180
아이디어들이이
1101
00:38:15,180 --> 00:38:16,859
스윙 트랜스포머라는 거랑
1102
00:38:16,859 --> 00:38:18,960
컨버션 비전 트랜스포머 cvt라는 두
1103
00:38:18,960 --> 00:38:20,700
개가 거의 동시에 나왔어요 둘 다
1104
00:38:20,700 --> 00:38:23,820
21년도 3월에 나온 논문이었어요
1105
00:38:23,820 --> 00:38:26,040
보시면
1106
00:38:26,040 --> 00:38:27,720
인덕티브 바이러스가 없어요 우리가
1107
00:38:27,720 --> 00:38:29,400
지금 했던 vit는
1108
00:38:29,400 --> 00:38:30,599
근데 얘네들은
1109
00:38:30,599 --> 00:38:33,180
인덕티브 바이러스를 다시 집어넣어요
1110
00:38:33,180 --> 00:38:33,720
그러니까
1111
00:38:33,720 --> 00:38:34,980
야 저거 되는 건 알겠는데 너무
1112
00:38:34,980 --> 00:38:36,780
비율적이야 좀 그래도 근처가
1113
00:38:36,780 --> 00:38:38,820
중요하니까 근처 위주로 봐 대신
1114
00:38:38,820 --> 00:38:40,380
계산량을 확 줄일 수 있어라는 거죠
1115
00:38:40,380 --> 00:38:41,880
그래서
1116
00:38:41,880 --> 00:38:46,980
요게 추가가 되고요 그 다음에이
1117
00:38:47,400 --> 00:38:48,960
패치가 항상 우리 딱 16발
1118
00:38:48,960 --> 00:38:51,420
16이라고 고정되어 있는게 좀
1119
00:38:51,420 --> 00:38:53,400
너무 인위적이잖아요 그 몇으로 잘라야
1120
00:38:53,400 --> 00:38:54,920
될지 우리가 정해야 되는데 그래서
1121
00:38:54,920 --> 00:38:58,140
이렇게 안 하고 이렇게 하면 이제 그
1122
00:38:58,140 --> 00:39:00,060
안에 들어가는 물체 크기가 딱 그만한
1123
00:39:00,060 --> 00:39:02,099
거 밖에 우리가 인식을 못하게 되니까
1124
00:39:02,099 --> 00:39:04,380
얘를 다양한 크기를 할 수 있게
1125
00:39:04,380 --> 00:39:06,119
점점 멀지 시켜 나가는 아이디어를
1126
00:39:06,119 --> 00:39:07,200
적용을 합니다
1127
00:39:07,200 --> 00:39:09,180
처음에는 16과 16으로 하는데 그
1128
00:39:09,180 --> 00:39:10,560
다음번에는 32바이 32로 커지고
1129
00:39:10,560 --> 00:39:12,560
그다음에 64가 64로 커지고 이렇게
1130
00:39:12,560 --> 00:39:15,780
그런 아이디어가 추가가 되고요
1131
00:39:15,780 --> 00:39:19,220
그 다음에 그
1132
00:39:19,500 --> 00:39:21,780
같은 패치 안에 있는 애들끼리만 지금
1133
00:39:21,780 --> 00:39:24,119
그 픽셀들끼리만 서로 리뉴얼 맵핑이
1134
00:39:24,119 --> 00:39:25,680
돼서 그 다음부터 걔네들이 같이 놀게
1135
00:39:25,680 --> 00:39:28,020
되죠 마치 그 우리 학교 다닐 때 반
1136
00:39:28,020 --> 00:39:30,300
나누면 다른 반 되면은 그 학생은
1137
00:39:30,300 --> 00:39:32,640
영원히 못 만나는 거랑 비슷한 거예요
1138
00:39:32,640 --> 00:39:33,720
근데
1139
00:39:33,720 --> 00:39:35,880
그렇게 되는게 좀 바람직하지 않죠이
1140
00:39:35,880 --> 00:39:37,140
원래 실제 이미지에는 바로 옆에
1141
00:39:37,140 --> 00:39:38,760
인접했던 픽셀이어도
1142
00:39:38,760 --> 00:39:41,640
다른 그 패치로 나눠져 버리면 서로
1143
00:39:41,640 --> 00:39:43,740
동작을 전혀 못하게 되니까 그걸 좀
1144
00:39:43,740 --> 00:39:45,300
반영해 주기 위해서
1145
00:39:45,300 --> 00:39:46,619
윈도우를
1146
00:39:46,619 --> 00:39:47,940
딱 그 정해진 크기로 딱 한 번만
1147
00:39:47,940 --> 00:39:49,140
나누는게 아니라
1148
00:39:49,140 --> 00:39:51,740
딱 절반씩
1149
00:39:54,839 --> 00:39:56,640
파티션이라는 걸 적용을 하게 돼요 좀
1150
00:39:56,640 --> 00:39:57,920
이따 볼게요
1151
00:39:57,920 --> 00:40:00,480
그리고 이제 마지막으로 뭐 상대적으로
1152
00:40:00,480 --> 00:40:01,800
좀 덜 중요한데
1153
00:40:01,800 --> 00:40:02,579
relative position
1154
00:40:02,579 --> 00:40:03,780
바이어스라는 개념이 나오게 되는데
1155
00:40:03,780 --> 00:40:05,760
이건 좀 이따 얘기를 할게요
1156
00:40:05,760 --> 00:40:07,380
스윙 트랜스포머에 아이디어 4가지가
1157
00:40:07,380 --> 00:40:09,660
이거예요 지금 vit가 가지고 있던
1158
00:40:09,660 --> 00:40:11,220
문제점들을 해결하기 위해서 이런
1159
00:40:11,220 --> 00:40:12,839
것들을 도입을 했는데 하나씩 한번
1160
00:40:12,839 --> 00:40:15,320
살펴볼게요
1161
00:40:17,579 --> 00:40:19,079
인덕티브 바이러스가 다시 추가가
1162
00:40:19,079 --> 00:40:19,859
된다고
1163
00:40:19,859 --> 00:40:22,079
얘기를 했어요 이게 무슨 말이냐
1164
00:40:22,079 --> 00:40:25,260
각각의 토큰들이 그 전체를 다 보는게
1165
00:40:25,260 --> 00:40:27,900
아니라 자기 근처에 있는 스몰
1166
00:40:27,900 --> 00:40:30,599
윈도우만 보게 되는 거예요
1167
00:40:30,599 --> 00:40:33,359
그래서 지금 각각의 이미지는 피버의
1168
00:40:33,359 --> 00:40:35,460
p라 그랬죠 아까는 16발 16이었고
1169
00:40:35,460 --> 00:40:37,380
얘네들은 4바이 4를 썼어요 더 잘게
1170
00:40:37,380 --> 00:40:39,780
쪼갰어요 그 대신
1171
00:40:39,780 --> 00:40:41,420
엠바이 m 패치가 들어가게 되는데
1172
00:40:41,420 --> 00:40:44,280
이게 무슨 말이냐 이미지를 우리가
1173
00:40:44,280 --> 00:40:46,440
이렇게 쪼갰죠 하나하나가 딱 피부에
1174
00:40:46,440 --> 00:40:48,660
p가 되도록 이미지를 쪼갰어요 아까랑
1175
00:40:48,660 --> 00:40:51,960
똑같이 그리고 이번에는
1176
00:40:51,960 --> 00:40:53,180
m이 이제 생기는데
1177
00:40:53,180 --> 00:40:55,619
아까는이 각각이 자기가 쿼리일 때
1178
00:40:55,619 --> 00:40:58,260
전체를 다 키벨로 해가지고 어텐션을
1179
00:40:58,260 --> 00:41:00,300
했었는데 지금은
1180
00:41:00,300 --> 00:41:02,579
mim짜리요
1181
00:41:02,579 --> 00:41:05,099
패치 윈도우 안에서만 보는 거예요
1182
00:41:05,099 --> 00:41:08,040
즉 얘가 커리면요 4개만 키 밸류가
1183
00:41:08,040 --> 00:41:09,240
되는 거예요
1184
00:41:09,240 --> 00:41:11,820
두 번째 커리어도요 4개만 되는
1185
00:41:11,820 --> 00:41:14,640
거예요 그다음 거가 콜이면 이렇게
1186
00:41:14,640 --> 00:41:16,200
3번 4번
1187
00:41:16,200 --> 00:41:18,000
컬럼 1,2로
1188
00:41:18,000 --> 00:41:19,140
요렇게 4개가
1189
00:41:19,140 --> 00:41:21,119
다음번에 키벨루가 되는 거예요
1190
00:41:21,119 --> 00:41:22,980
즉 저 윈도우로 저렇게 쪼개 놓고
1191
00:41:22,980 --> 00:41:25,400
다툼 윈도우 안에 들어가는 애들끼리만
1192
00:41:25,400 --> 00:41:28,640
어텐션을 해주는게 이거의 아이디어에요
1193
00:41:28,640 --> 00:41:31,800
지금 유아 윈도우 안에 있는
1194
00:41:31,800 --> 00:41:33,180
패치들끼리는
1195
00:41:33,180 --> 00:41:36,300
걔네들끼리만 컨텍솔라에서 하는 거예요
1196
00:41:36,300 --> 00:41:37,920
셀프 포텐션 할 때
1197
00:41:37,920 --> 00:41:39,980
됐죠
1198
00:41:41,420 --> 00:41:45,060
그래서이 안에 있는 그
1199
00:41:45,060 --> 00:41:48,140
패치가 패스가 아니라 패치예요
1200
00:41:54,180 --> 00:41:55,859
패치가
1201
00:41:55,859 --> 00:41:58,020
윈도우 안에 있으면 그게 커리면
1202
00:41:58,020 --> 00:42:00,720
셀프 텐션은 그 키 밸류가
1203
00:42:00,720 --> 00:42:01,859
윈도우 안에 있는 애들끼리만 가지고
1204
00:42:01,859 --> 00:42:04,859
한다라는 얘기고요
1205
00:42:04,859 --> 00:42:06,660
여기 있을 때는 마찬가지로이 안에
1206
00:42:06,660 --> 00:42:08,640
있는 거가 이제 콜이면요 안에 있는
1207
00:42:08,640 --> 00:42:10,980
것들끼리만 키벨로 쓰는 거죠 이렇게
1208
00:42:10,980 --> 00:42:13,940
하면 연산양이 확 줄어들겠죠
1209
00:42:14,579 --> 00:42:16,859
그 다음에 두 번째 아이디어는
1210
00:42:16,859 --> 00:42:17,880
파이어라 포커 스트럭처를 쓴다
1211
00:42:17,880 --> 00:42:19,859
그랬어요 이게 뭐냐
1212
00:42:19,859 --> 00:42:22,200
패치워징이라는 걸 하는데 아까는
1213
00:42:22,200 --> 00:42:23,760
피버의 피가 그냥 고정되어 있었어요
1214
00:42:23,760 --> 00:42:25,020
시작부터 끝까지 계속 피부에 피웠는데
1215
00:42:25,020 --> 00:42:27,720
이번에는 그렇게 안 하고요 이거를
1216
00:42:27,720 --> 00:42:29,579
이제
1217
00:42:29,579 --> 00:42:30,660
진행할 때마다
1218
00:42:30,660 --> 00:42:31,820
토바이투씩 이걸 묶어 줄 거예요
1219
00:42:31,820 --> 00:42:33,780
어떻게 되냐
1220
00:42:33,780 --> 00:42:35,339
처음에는 이렇게 이제 m이 이렇게
1221
00:42:35,339 --> 00:42:37,380
있었다면은요
1222
00:42:37,380 --> 00:42:39,660
각각이 이제 임베딩으로 표현이 되겠죠
1223
00:42:39,660 --> 00:42:41,400
CD m전짜리 어떤 벡터로 표현이 돼
1224
00:42:41,400 --> 00:42:42,480
있으면
1225
00:42:42,480 --> 00:42:44,339
얘네들을 컨텐츠인 다음에
1226
00:42:44,339 --> 00:42:45,660
어떤 플리커넥티드 레이어 하나를
1227
00:42:45,660 --> 00:42:48,420
통과를 시키고 아웃풋으로
1228
00:42:48,420 --> 00:42:49,740
4개가 붙었으니까 4c가 들어와서
1229
00:42:49,740 --> 00:42:51,900
그걸 절반인 ec가 되도록 만들어
1230
00:42:51,900 --> 00:42:53,880
줘요
1231
00:42:53,880 --> 00:42:54,920
그렇게 하고
1232
00:42:54,920 --> 00:42:57,180
얘가요네 개를 합친 거에 임베딩이
1233
00:42:57,180 --> 00:42:58,319
되도록
1234
00:42:58,319 --> 00:43:00,960
사용하는 거예요
1235
00:43:00,960 --> 00:43:02,880
그러면은요 과정을 한번 겪을 때마다
1236
00:43:02,880 --> 00:43:04,440
어떻게 되어 있어요 지금 전체가 8
1237
00:43:04,440 --> 00:43:05,880
곱하기 8이었는데
1238
00:43:05,880 --> 00:43:08,579
4x4로 개수가 줄어들고
1239
00:43:08,579 --> 00:43:11,520
각각의 크기는 두 배가 된게 되겠죠
1240
00:43:11,520 --> 00:43:14,220
그렇게 해서 그 CNN 때처럼 우리가
1241
00:43:14,220 --> 00:43:15,660
점점 이렇게 더 개수를 줄여
1242
00:43:15,660 --> 00:43:16,680
나가잖아요
1243
00:43:16,680 --> 00:43:19,020
합쳐 나가면서 그런 식으로
1244
00:43:19,020 --> 00:43:21,960
필드가 커져가는 식으로 가는 거예요
1245
00:43:21,960 --> 00:43:24,800
여기서 이해되세요
1246
00:43:25,500 --> 00:43:27,000
네
1247
00:43:27,000 --> 00:43:28,020
그래서
1248
00:43:28,020 --> 00:43:30,260
애프터를
1249
00:43:30,359 --> 00:43:32,579
요거 통과하고 나면 어떻게 되냐면요
1250
00:43:32,579 --> 00:43:34,500
패치 사이즈는 2P 곱하기 2p가
1251
00:43:34,500 --> 00:43:35,880
돼요
1252
00:43:35,880 --> 00:43:37,800
p 곱하기 피었던게 이제이 p*ep가
1253
00:43:37,800 --> 00:43:39,540
되고 그거의 크기는
1254
00:43:39,540 --> 00:43:41,640
cccc 4개 있던게 EC 하나가
1255
00:43:41,640 --> 00:43:44,040
남는 거고요 한번 더 하고 나면은 그
1256
00:43:44,040 --> 00:43:45,359
다음에는 4P 곱하기 4p가 되겠죠
1257
00:43:45,359 --> 00:43:47,760
이런 식으로 계속 머징해 나가는
1258
00:43:47,760 --> 00:43:49,680
거예요
1259
00:43:49,680 --> 00:43:52,260
그리고
1260
00:43:52,260 --> 00:43:54,180
m은 우리 앞에서 이제 슬라이드에서는
1261
00:43:54,180 --> 00:43:57,119
2였었는데 이거는 계속 그대로 있어요
1262
00:43:57,119 --> 00:43:58,740
다음번에 합쳐지고 나면은
1263
00:43:58,740 --> 00:44:00,780
4개짜리가 이제 하나의 그
1264
00:44:00,780 --> 00:44:02,040
벡터가 되죠
1265
00:44:02,040 --> 00:44:02,880
얘를 가지고
1266
00:44:02,880 --> 00:44:04,380
얘가 쿼리일 때 키벨류는 그럼 어떻게
1267
00:44:04,380 --> 00:44:05,520
되느냐
1268
00:44:05,520 --> 00:44:07,980
m 아까 그대로 요렇게 이제 이것도
1269
00:44:07,980 --> 00:44:10,079
두 배로 커지는 거죠 이렇게 그래서
1270
00:44:10,079 --> 00:44:12,720
얘가 커리면 여기가요 4개가 키벨로
1271
00:44:12,720 --> 00:44:14,220
쓰이게 되는 거예요
1272
00:44:14,220 --> 00:44:16,920
얘는 그대로 유지가 돼요 그래서 보게
1273
00:44:16,920 --> 00:44:19,260
되는 영역 자체는 넓어지죠 이미지
1274
00:44:19,260 --> 00:44:20,099
속에서
1275
00:44:20,099 --> 00:44:21,119
근데
1276
00:44:21,119 --> 00:44:23,819
계산해야 되는 넘버로 패치는 똑같아요
1277
00:44:23,819 --> 00:44:26,359
그렇게 유지가 돼요
1278
00:44:26,960 --> 00:44:29,760
그 다음에 세 번째 아이디어가
1279
00:44:29,760 --> 00:44:30,839
뭐였냐면
1280
00:44:30,839 --> 00:44:32,099
쉬프티드 윈도우 파티셔닝이라는
1281
00:44:32,099 --> 00:44:36,000
거였어요 이거는 그 우리가 이거를
1282
00:44:36,000 --> 00:44:37,380
인위적으로 잘라 놓다 보니까 사실
1283
00:44:37,380 --> 00:44:39,119
사진 옆으로 살짝 옆으로 찍을 수도
1284
00:44:39,119 --> 00:44:41,220
있는데 너무 우연히도 그렇게 찍혀
1285
00:44:41,220 --> 00:44:42,680
가지고 이렇게 딱딱 쪼개지는 거잖아요
1286
00:44:42,680 --> 00:44:45,260
그게 좀 마음에 안 들었던 거예요
1287
00:44:45,260 --> 00:44:47,220
이렇게요 형틀 대로 잘라져 가지고
1288
00:44:47,220 --> 00:44:49,619
바로 인접한 픽셀들끼리도
1289
00:44:49,619 --> 00:44:51,839
인터랙션을 못 하게 되는게 그래서 뭐
1290
00:44:51,839 --> 00:44:53,839
하냐면 윈도우를
1291
00:44:53,839 --> 00:44:57,300
1/2씩 옆으로 쉬프트를 시킨대요 잘
1292
00:44:57,300 --> 00:44:58,560
안 와닿았죠 그림 보시면 바로 알
1293
00:44:58,560 --> 00:45:00,300
거예요
1294
00:45:00,300 --> 00:45:01,859
m이 지금 요거 요거잖아요 요거
1295
00:45:01,859 --> 00:45:04,079
하나가 m이잖아요 그거 딱 반씩
1296
00:45:04,079 --> 00:45:05,940
옆으로 옮긴 거예요
1297
00:45:05,940 --> 00:45:08,220
그러면 이번에는 아까는 이렇게 4개가
1298
00:45:08,220 --> 00:45:10,260
묶여 있던게 이번에는 요렇게 4개가
1299
00:45:10,260 --> 00:45:11,060
묶이는 거예요
1300
00:45:11,060 --> 00:45:14,040
2번 3번 2번 3번이 묶이는 거고
1301
00:45:14,040 --> 00:45:16,020
4번 5번 2번 3번 여기도
1302
00:45:16,020 --> 00:45:17,220
4번 5번 2번 3번 이렇게 묶이는
1303
00:45:17,220 --> 00:45:18,359
거죠
1304
00:45:18,359 --> 00:45:20,400
자 그러면이 바깥에 있는 데는 어떻게
1305
00:45:20,400 --> 00:45:22,200
하느냐
1306
00:45:22,200 --> 00:45:24,359
얘네들은요 바깥에도 이렇게 하나를 더
1307
00:45:24,359 --> 00:45:25,560
추가해요
1308
00:45:25,560 --> 00:45:28,740
그러면은 비어 있는 것들이 있고
1309
00:45:28,740 --> 00:45:31,020
차 있는 것들이 있죠 그래서이 비어
1310
00:45:31,020 --> 00:45:33,000
있는 내용이 없는 부분들은 마스킹을
1311
00:45:33,000 --> 00:45:35,819
해줘요 마스킹을 해 가지고 있는
1312
00:45:35,819 --> 00:45:37,740
것들끼리만 컨텍솔라에서 할 수 있게
1313
00:45:37,740 --> 00:45:39,540
처리를 한다라고 나와 있는데
1314
00:45:39,540 --> 00:45:41,819
요거는 좀 인플미테이션 디테일이라서
1315
00:45:41,819 --> 00:45:43,200
논문 한번 보시면서 어떻게
1316
00:45:43,200 --> 00:45:45,300
구현했는지는 보시면 좋을 것 같아요
1317
00:45:45,300 --> 00:45:46,619
기본적인 아이디어 여기서 중요한 거는
1318
00:45:46,619 --> 00:45:48,300
이거를
1319
00:45:48,300 --> 00:45:49,859
딱 정해져 있는 대로 끝까지 가는게
1320
00:45:49,859 --> 00:45:52,020
아니라 반 딱 시프트 시킨 거 한번
1321
00:45:52,020 --> 00:45:53,700
하고 다시 돌아와서 하고 이걸
1322
00:45:53,700 --> 00:45:55,140
번갈아가면서 해서
1323
00:45:55,140 --> 00:45:56,280
인접해 있는 애들끼리 어쨌든 같은
1324
00:45:56,280 --> 00:45:58,440
같이 한 번씩은 포함될 수 있는
1325
00:45:58,440 --> 00:46:01,220
기회를 계속해서 주는 거예요
1326
00:46:02,640 --> 00:46:04,640
됐죠
1327
00:46:05,040 --> 00:46:06,839
자 그래서 이거에도 전체 아키텍처를
1328
00:46:06,839 --> 00:46:08,700
한번 보면요 이거 보시면 어떻게
1329
00:46:08,700 --> 00:46:11,040
돌아가는지 좀 알 수 있는데 자 잉크
1330
00:46:11,040 --> 00:46:12,180
크기가
1331
00:46:12,180 --> 00:46:14,160
h 곱하기 W 곱하기 3짜리 이미지가
1332
00:46:14,160 --> 00:46:15,839
들어왔다고 칠게요 224 곱하기
1333
00:46:15,839 --> 00:46:18,660
224 곱하기 3 이런게 들어와요
1334
00:46:18,660 --> 00:46:19,319
처음에
1335
00:46:19,319 --> 00:46:20,520
패치 파티션이라는 걸 하게 돼요
1336
00:46:20,520 --> 00:46:23,520
여기서 뭘 하냐면은
1337
00:46:23,520 --> 00:46:25,260
얘네는 4 곱하기 4로 나왔다 그랬죠
1338
00:46:25,260 --> 00:46:27,480
pvp로 지금 쪼개는 거예요 이쪽에
1339
00:46:27,480 --> 00:46:28,319
놓고
1340
00:46:28,319 --> 00:46:30,599
각각의 패치는 그러면은 16개의
1341
00:46:30,599 --> 00:46:32,579
픽셀과 3개의 RGB 값이 있으니까
1342
00:46:32,579 --> 00:46:35,460
총 48개의 디멘션을 갖게 되죠
1343
00:46:35,460 --> 00:46:36,839
그래서
1344
00:46:36,839 --> 00:46:39,060
크기는 1/4 곱하기 4분의 w가
1345
00:46:39,060 --> 00:46:39,960
되고
1346
00:46:39,960 --> 00:46:41,700
각각은 48d 면전이니까
1347
00:46:41,700 --> 00:46:42,900
얘의 텐서 크기는 이렇게 바뀌는
1348
00:46:42,900 --> 00:46:44,760
거예요
1349
00:46:44,760 --> 00:46:46,740
이거 논문만 보고는 저는 진짜
1350
00:46:46,740 --> 00:46:49,319
파악하는데 좀 시간이 걸렸는데
1351
00:46:49,319 --> 00:46:52,440
이해되시죠 자 이렇게 되고 그런
1352
00:46:52,440 --> 00:46:55,079
다음에 이제 스테이지 1부터 4까지는
1353
00:46:55,079 --> 00:46:56,819
똑같은 걸 할 건데 여기서 뭘
1354
00:46:56,819 --> 00:46:59,160
하냐면은 리니어 인베딩을 해줘요
1355
00:46:59,160 --> 00:47:02,040
리니어 인베딩은 뭐냐면은이
1356
00:47:02,040 --> 00:47:03,900
4분의 h 곱하기 4분의 w가 각각의
1357
00:47:03,900 --> 00:47:06,060
그 지금 패치 크기들인데
1358
00:47:06,060 --> 00:47:06,800
패치
1359
00:47:06,800 --> 00:47:09,780
하나하나마다이 48개짜리 픽셀
1360
00:47:09,780 --> 00:47:12,720
값들을 우리가 원하는 어떤 cd면전
1361
00:47:12,720 --> 00:47:14,160
벡터로 보내는 거예요
1362
00:47:14,160 --> 00:47:16,140
리니어 맵핑 해가지고 아까 우리
1363
00:47:16,140 --> 00:47:19,560
vit랑 똑같이 그래서 이제 48이랑
1364
00:47:19,560 --> 00:47:21,780
값과 관계없이 그냥 어떤 임의의
1365
00:47:21,780 --> 00:47:25,400
cd맨전 벡터가 되는 거예요 각각이
1366
00:47:26,339 --> 00:47:27,660
그 다음에
1367
00:47:27,660 --> 00:47:29,099
스윙 트랜스포머 블록에 들어가게 되면
1368
00:47:29,099 --> 00:47:31,619
여기서 뭐 하냐면은 그
1369
00:47:31,619 --> 00:47:33,720
셀프로텐션 하는 거예요 그래서 자기
1370
00:47:33,720 --> 00:47:35,460
자신을 다른 애들의 웨이트 서버로
1371
00:47:35,460 --> 00:47:38,819
표현하는데 아까랑 다른 점은 그 자기
1372
00:47:38,819 --> 00:47:41,220
영역 안에서만 본다는 거고 mvm짜리
1373
00:47:41,220 --> 00:47:42,599
크게 안에서만 본다는 거 그거만
1374
00:47:42,599 --> 00:47:44,280
달라지고 그냥 이건 VIP 똑같이
1375
00:47:44,280 --> 00:47:45,300
도는 거예요
1376
00:47:45,300 --> 00:47:47,339
크기는 안 바뀌겠죠이
1377
00:47:47,339 --> 00:47:49,700
트랜스포머는
1378
00:47:50,220 --> 00:47:52,079
크기가 나와요 이제부터
1379
00:47:52,079 --> 00:47:53,280
똑같아요
1380
00:47:53,280 --> 00:47:55,440
패치 멀징을 한번 해주는데 여기서부터
1381
00:47:55,440 --> 00:47:57,960
이제 패치 몰딩 해주게 되면 우리가
1382
00:47:57,960 --> 00:47:59,880
패치가
1383
00:47:59,880 --> 00:48:01,140
투바이투가 하나로 묶인다고 그랬죠
1384
00:48:01,140 --> 00:48:02,640
그래서
1385
00:48:02,640 --> 00:48:03,480
크기는
1386
00:48:03,480 --> 00:48:05,420
8분의 h 8분의 w로 반이 줄어요
1387
00:48:05,420 --> 00:48:08,099
두 개씩 묶었으니까 로우 두 개 컬럼
1388
00:48:08,099 --> 00:48:10,740
두 개 하나로 묶였으니까 그리고
1389
00:48:10,740 --> 00:48:12,780
cd맨전이 대신이 CD 면전으로
1390
00:48:12,780 --> 00:48:14,099
커진다 그랬죠
1391
00:48:14,099 --> 00:48:15,839
C 4개 합쳐 가지고 FC 하나
1392
00:48:15,839 --> 00:48:17,400
통과해서 ec로 한다 그랬죠
1393
00:48:17,400 --> 00:48:20,599
그래서 ec가 됐어요
1394
00:48:20,599 --> 00:48:23,579
됐죠이 뒤는 이제 다 똑같아요 여기
1395
00:48:23,579 --> 00:48:25,619
스윙 트랜스포머 돌면 똑같고
1396
00:48:25,619 --> 00:48:27,000
패치 몰딩 한번 해주면 크기 또
1397
00:48:27,000 --> 00:48:29,700
반으로 줄고 이건 2배가 되고 여기도
1398
00:48:29,700 --> 00:48:32,280
똑같고 또 크기 반으로 줄고 두 배가
1399
00:48:32,280 --> 00:48:33,000
되고
1400
00:48:33,000 --> 00:48:34,859
똑같고
1401
00:48:34,859 --> 00:48:36,980
됐죠
1402
00:48:37,220 --> 00:48:39,720
자 여기서
1403
00:48:39,720 --> 00:48:41,160
밑에 이거를 이제 여러 번 한다고
1404
00:48:41,160 --> 00:48:43,440
되어 있는데 여기서 좀 주목할 만한
1405
00:48:43,440 --> 00:48:45,420
점이 곱하기 2 곱하기 곱하기 6
1406
00:48:45,420 --> 00:48:48,180
곱하기 이게 무조건 짝수예요
1407
00:48:48,180 --> 00:48:51,359
이걸 왜 짝수로 쓸까요
1408
00:48:51,359 --> 00:48:54,900
얘네는 아까 얘기했던 것처럼 그
1409
00:48:54,900 --> 00:48:56,160
쉬프트 안 시키고 그냥 하는 거랑
1410
00:48:56,160 --> 00:48:58,260
반씩 쉬프트 시킨 거를 번갈아가면서
1411
00:48:58,260 --> 00:49:00,119
한다 그랬죠 그래서 이게 짝수인
1412
00:49:00,119 --> 00:49:04,260
거예요 그래서 지금 여기 보시면은 그
1413
00:49:04,260 --> 00:49:07,800
요거 하나하나가 지금 그 저거죠
1414
00:49:07,800 --> 00:49:09,359
vit에서 하는 그 오퍼레이션인데
1415
00:49:09,359 --> 00:49:12,480
여기 wmsa라고 돼 있어요 이게
1416
00:49:12,480 --> 00:49:14,520
멀티 헤드 셀퍼텐셜 앞에 w는
1417
00:49:14,520 --> 00:49:16,319
윈도우라는 뜻이에요 그래서 우리가
1418
00:49:16,319 --> 00:49:18,240
윈도우 안에서만 보는 건데 그
1419
00:49:18,240 --> 00:49:20,520
윈도우를 우리가 이제 평상시에 하는
1420
00:49:20,520 --> 00:49:22,740
것처럼 1 2 3 4 5 6 7 8
1421
00:49:22,740 --> 00:49:25,140
이렇게 끄는 거 그게 일반적인 거고
1422
00:49:25,140 --> 00:49:27,780
반식 시프트 시킨게요 쉬프트
1423
00:49:27,780 --> 00:49:30,000
윈도우예요 그래서 2 3
1424
00:49:30,000 --> 00:49:31,619
4호 6 7 이렇게 묶어서 하는게
1425
00:49:31,619 --> 00:49:33,420
돼요
1426
00:49:33,420 --> 00:49:35,339
얘를 둘이 번갈아가면 돼요 지금 이게
1427
00:49:35,339 --> 00:49:36,839
짝수 방향 땐 이거 홀수 번역된 이거
1428
00:49:36,839 --> 00:49:38,520
이렇게 둔다고 돼 있어요
1429
00:49:38,520 --> 00:49:39,780
그래서 식으로 쓰면 이렇게 되고
1430
00:49:39,780 --> 00:49:41,579
그래서 이게 다 짝수 번인 거예요
1431
00:49:41,579 --> 00:49:43,740
그거를 공평하게 한 번씩 들어갈 수
1432
00:49:43,740 --> 00:49:46,339
있게 해주기 위해서
1433
00:49:47,400 --> 00:49:49,560
됐죠 레귤러랑 쉬프트 msa가 서로
1434
00:49:49,560 --> 00:49:53,119
얼터네이터가 돌아간다 이런 얘기입니다
1435
00:49:53,119 --> 00:49:55,020
정리됐나요이 모델은 굉장히 많이
1436
00:49:55,020 --> 00:49:55,980
쓰여요
1437
00:49:55,980 --> 00:49:58,260
성능도 좋았고 뭐 이후로도 좀
1438
00:49:58,260 --> 00:49:59,460
베이스라인으로 많이 쓰이는 모델이라
1439
00:49:59,460 --> 00:50:02,400
많이 보시게 될 거예요
1440
00:50:02,400 --> 00:50:04,859
자 마지막네 번째는 이제
1441
00:50:04,859 --> 00:50:06,720
포지션 바이어스인데 자 이게 왜
1442
00:50:06,720 --> 00:50:09,180
나오게 되냐 우리가
1443
00:50:09,180 --> 00:50:10,500
윈도우를 잘라 가지고 그 안에 있는
1444
00:50:10,500 --> 00:50:15,359
것만 가지고 어텐션을 하다 보니까이
1445
00:50:15,839 --> 00:50:16,920
포지셔널 인코딩을 넣는게 좀
1446
00:50:16,920 --> 00:50:18,000
애매해져요
1447
00:50:18,000 --> 00:50:19,020
그래가지고
1448
00:50:19,020 --> 00:50:20,819
절대적인 거를 얘가 배우게 하지 않고
1449
00:50:20,819 --> 00:50:23,160
얘는 상대적인 거를 배우게 한다라는
1450
00:50:23,160 --> 00:50:24,839
컨셉이에요 사실 그 정도만 이해해
1451
00:50:24,839 --> 00:50:25,800
두시면 돼요
1452
00:50:25,800 --> 00:50:27,480
디테일한 부분은 논문에도 제 자세히가
1453
00:50:27,480 --> 00:50:30,180
안 나와 있는데 그래서 이제 여기 할
1454
00:50:30,180 --> 00:50:32,040
때 이제 b라는 걸 더하고이 b라는
1455
00:50:32,040 --> 00:50:34,200
거는 m 제곱 곱하기 m제곱과 모든
1456
00:50:34,200 --> 00:50:37,040
그
1457
00:50:37,140 --> 00:50:38,579
윈도우 안에 있는 모든 애들끼리의
1458
00:50:38,579 --> 00:50:40,800
상관관계를 다 배워주는
1459
00:50:40,800 --> 00:50:41,819
매트릭스인데
1460
00:50:41,819 --> 00:50:42,720
얘를
1461
00:50:42,720 --> 00:50:46,260
뭘로 파라메트라이저 한다고 하냐면 그
1462
00:50:46,260 --> 00:50:47,760
EM
1463
00:50:47,760 --> 00:50:51,000
-1 곱하기 n - 2개 그
1464
00:50:51,000 --> 00:50:52,619
mvm짜리 윈도우 안에서 가질 수
1465
00:50:52,619 --> 00:50:55,140
있는 모든 상관관계의 범위에요
1466
00:50:55,140 --> 00:50:56,700
4개짜리다 그러면은 뭐 4 곱하기
1467
00:50:56,700 --> 00:50:58,400
4면은 이게
1468
00:50:58,400 --> 00:51:00,599
-3부터 플러스 3까지 밖에 차이가
1469
00:51:00,599 --> 00:51:02,339
안 나잖아요 그 안에서 차이가 날 수
1470
00:51:02,339 --> 00:51:05,160
있는게 그 관계를 배우게 해 가지고
1471
00:51:05,160 --> 00:51:06,359
얘를 가지고 prometize에서
1472
00:51:06,359 --> 00:51:08,819
이걸 만들어 준다 뭐 이런 얘긴데
1473
00:51:08,819 --> 00:51:10,200
디테일하게 어떻게 했는지는 사실 저도
1474
00:51:10,200 --> 00:51:11,880
이것만 읽어서 잘 모르겠고 코드를
1475
00:51:11,880 --> 00:51:14,040
아마 좀 봐야 될 것 같고 뭐 이런
1476
00:51:14,040 --> 00:51:16,740
여기서 중요한 거는 왜 이런 고민이
1477
00:51:16,740 --> 00:51:18,420
필요했고 왜 이렇게 바꿔야만 했는지
1478
00:51:18,420 --> 00:51:20,579
그거를 좀 상황을 이해하는 거예요
1479
00:51:20,579 --> 00:51:22,140
디테일하게 어떻게 했는지는 너무
1480
00:51:22,140 --> 00:51:23,760
보시면서 좀 파악해 보시면 좋을 것
1481
00:51:23,760 --> 00:51:25,700
같습니다
1482
00:51:25,700 --> 00:51:28,260
자 그래서
1483
00:51:28,260 --> 00:51:30,000
스위트랜스포머는
1484
00:51:30,000 --> 00:51:31,500
결국은 이거 속도 빠르게 하려고 한
1485
00:51:31,500 --> 00:51:34,319
거예요 전체를 다 보면 더 좋은데
1486
00:51:34,319 --> 00:51:36,960
그렇게 안 하고 부분적으로만 봐서 더
1487
00:51:36,960 --> 00:51:38,460
계산을 빨리 하고 싶어서 이렇게 만든
1488
00:51:38,460 --> 00:51:39,660
거잖아요
1489
00:51:39,660 --> 00:51:42,059
그래가지고 우리가 원래 알고 있던
1490
00:51:42,059 --> 00:51:44,460
멀티 헤드 셀프어텐션 하고이 윈도우가
1491
00:51:44,460 --> 00:51:45,839
붙어 있는 거에 타임 컴플렉스를
1492
00:51:45,839 --> 00:51:49,220
비교를 해봤어요 그랬을 때
1493
00:51:49,220 --> 00:51:51,720
자요 앞에 있는 4hw 시제곱은
1494
00:51:51,720 --> 00:51:53,700
뭐냐면요
1495
00:51:53,700 --> 00:51:55,500
qkb 매트릭스를 만드는 코스트에요
1496
00:51:55,500 --> 00:51:59,099
그래서 우리가 가정하기를 그
1497
00:51:59,099 --> 00:52:00,920
인풋 피쳐랑
1498
00:52:00,920 --> 00:52:03,599
qkv가 다 cd맨전짜리 벡터를
1499
00:52:03,599 --> 00:52:04,920
쓴다고 하면은요
1500
00:52:04,920 --> 00:52:07,800
얘네 다 리니어 맵핑이잖아요 그래서
1501
00:52:07,800 --> 00:52:09,000
C 곱하기 c가 다 필요하게 돼요
1502
00:52:09,000 --> 00:52:12,900
그리고 그런게 hw계가 있으니까
1503
00:52:12,900 --> 00:52:15,300
hwc 제곱이 나오게 되죠 이거
1504
00:52:15,300 --> 00:52:16,440
만드는데
1505
00:52:16,440 --> 00:52:17,220
근데
1506
00:52:17,220 --> 00:52:18,720
Q 해야 되고 K 해야 되고 V 해야
1507
00:52:18,720 --> 00:52:20,640
되고 그 다음에 마지막에 다시
1508
00:52:20,640 --> 00:52:22,020
원래대로 돌려 오는 5 하나 더 있다
1509
00:52:22,020 --> 00:52:24,720
그랬죠 그래서 w가 4개가 있었죠
1510
00:52:24,720 --> 00:52:28,020
그래서 4hwc 제곱이에요 이것도
1511
00:52:28,020 --> 00:52:30,540
한참 걸렸어요 전 이거 파악하는데
1512
00:52:30,540 --> 00:52:31,200
논문 보면
1513
00:52:31,200 --> 00:52:32,599
친절하지 않게 설명도 있어 가지고
1514
00:52:32,599 --> 00:52:35,640
아무튼 중요한 거는 이거는
1515
00:52:35,640 --> 00:52:37,020
원래 있던거나 이거
1516
00:52:37,020 --> 00:52:38,819
윈도우를 하나 똑같아요 어차피
1517
00:52:38,819 --> 00:52:41,040
qkb는 준비해야 돼요 우리가 이거에
1518
00:52:41,040 --> 00:52:43,079
있어서 이점은 없어요
1519
00:52:43,079 --> 00:52:46,260
오른쪽이 달라지는데 일반적인
1520
00:52:46,260 --> 00:52:48,480
vit 같은 경우에는요
1521
00:52:48,480 --> 00:52:50,040
코사인 시밀러리티를 이제 계산을 하게
1522
00:52:50,040 --> 00:52:52,260
되는데 그
1523
00:52:52,260 --> 00:52:54,119
벡터의 사이즈가 c이기 때문에 이런
1524
00:52:54,119 --> 00:52:56,880
걸 이제 hw만큼 있으니까
1525
00:52:56,880 --> 00:53:00,500
hwc만큼의 연산이 필요하게 돼요
1526
00:53:01,140 --> 00:53:02,880
근데 이제 그러고 나서 이거 웨이트를
1527
00:53:02,880 --> 00:53:04,819
할 때 또 한번
1528
00:53:04,819 --> 00:53:07,140
hc만큼이 필요하게 되죠
1529
00:53:07,140 --> 00:53:09,900
이 연산을 계속 ehwc만큼 해야
1530
00:53:09,900 --> 00:53:14,099
되는데 그게 그
1531
00:53:14,700 --> 00:53:16,740
hw계가 각각 다 한 번씩 쿼리로
1532
00:53:16,740 --> 00:53:18,359
쓰여야 되니까 그 곱해가지고 이렇게
1533
00:53:18,359 --> 00:53:20,640
나온 거예요
1534
00:53:20,640 --> 00:53:23,460
여기서 지금 뭐가 바뀌겠어요이
1535
00:53:23,460 --> 00:53:24,540
스윙 트랜스포머를 쓰면 뭐가
1536
00:53:24,540 --> 00:53:25,680
달라지냐면은
1537
00:53:25,680 --> 00:53:28,260
얘가 어텐드 하는 범위가 줄어들죠
1538
00:53:28,260 --> 00:53:30,780
hw만큼 봐야 되는게 아니라
1539
00:53:30,780 --> 00:53:32,819
앱만큼만 딱 보면 되기 때문에
1540
00:53:32,819 --> 00:53:36,059
hw 제곱이 m 제곱으로 바뀌게 돼요
1541
00:53:36,059 --> 00:53:38,640
근데 보통은 m 제곱이 hw보다 훨씬
1542
00:53:38,640 --> 00:53:42,119
작죠 hw는 아까 그 뭐냐
1543
00:53:42,119 --> 00:53:43,559
로우의 개수랑 컬럼의 개수예요
1544
00:53:43,559 --> 00:53:45,240
패치들이 쭉 나열되어 있는 보통 막
1545
00:53:45,240 --> 00:53:47,579
10개 뭐 이렇게 있을 텐데
1546
00:53:47,579 --> 00:53:49,079
m은 2 같은 거 썼죠 우리가
1547
00:53:49,079 --> 00:53:51,180
예제에서 이게 훨씬 더 작아지기
1548
00:53:51,180 --> 00:53:52,200
때문에
1549
00:53:52,200 --> 00:53:53,880
로컬하게 보는만큼 여기서 이제
1550
00:53:53,880 --> 00:53:55,980
계산량이 줄어들게 되는 거예요 뭐
1551
00:53:55,980 --> 00:53:57,660
그런 얘기에요 이거
1552
00:53:57,660 --> 00:53:59,460
디테일한 거는 이거 다시 한번 자세히
1553
00:53:59,460 --> 00:54:02,579
읽어보시면서 따라가 보세요 저도 이걸
1554
00:54:02,579 --> 00:54:05,240
파악하는데 한참 걸렸어요
1555
00:54:06,780 --> 00:54:09,119
자 요게
1556
00:54:09,119 --> 00:54:11,220
스윙 트랜스포머 모델이었구요 두 번째
1557
00:54:11,220 --> 00:54:13,380
모델이 이제 cbt라는 건데이
1558
00:54:13,380 --> 00:54:15,800
cbt라는 모델은
1559
00:54:15,800 --> 00:54:18,420
이 거의 비슷한 시기에 같이
1560
00:54:18,420 --> 00:54:20,099
만들어졌고 뭐 철학적으로는 사실
1561
00:54:20,099 --> 00:54:23,579
굉장히 비슷해요 그래서
1562
00:54:30,780 --> 00:54:31,980
앞에 거랑 조금 다른 방식으로 이걸
1563
00:54:31,980 --> 00:54:33,540
만들어 내게 되는데
1564
00:54:33,540 --> 00:54:35,099
얘는 컨버션을 좀 더 직설적으로
1565
00:54:35,099 --> 00:54:37,980
사용을 합니다 어떻게 하느냐 두 가지
1566
00:54:37,980 --> 00:54:40,020
모듈이 있는데
1567
00:54:40,020 --> 00:54:42,059
컨볼루션을 토큰 인베딩이라는 모듈은
1568
00:54:42,059 --> 00:54:43,859
그
1569
00:54:43,859 --> 00:54:45,180
cbt에서 이제 리사이징을 해주는
1570
00:54:45,180 --> 00:54:47,880
아까 같은 경우에는 우리가 그
1571
00:54:47,880 --> 00:54:49,619
c짜리 4개 붙인 다음에
1572
00:54:49,619 --> 00:54:52,079
FC 해가지고 ec로 만든다 그랬죠
1573
00:54:52,079 --> 00:54:54,720
얘는 대놓고 그냥 컨버전을 해요
1574
00:54:54,720 --> 00:54:58,260
이거 가지고 이거 만들고 이렇게 뭐
1575
00:54:58,260 --> 00:54:59,460
다음 거 만들고 쭉 이렇게 해서
1576
00:54:59,460 --> 00:55:01,440
만들고
1577
00:55:01,440 --> 00:55:03,599
진짜 말 그대로 컨버션을 해요 그래서
1578
00:55:03,599 --> 00:55:05,579
아웃풋의 크기도 그냥 이거예요
1579
00:55:05,579 --> 00:55:08,880
컨버전이랑 똑같아요 우리 봤던 거
1580
00:55:08,880 --> 00:55:10,619
스윙 트랜스포머에서 하는 그 패치
1581
00:55:10,619 --> 00:55:13,260
멀징이랑 되게 비슷한 걸 하는 건데
1582
00:55:13,260 --> 00:55:14,280
스윙 트랜스폼은 아까 어떻게 했다
1583
00:55:14,280 --> 00:55:16,520
그랬죠
1584
00:55:16,859 --> 00:55:18,599
연속으로 붙여 놓고 여기에 해당되는
1585
00:55:18,599 --> 00:55:20,280
애들 쭉 붙여 놓고
1586
00:55:20,280 --> 00:55:22,500
4개를 ec로 만들어 줬었죠 4c를
1587
00:55:22,500 --> 00:55:23,880
ec로 만들어졌죠 그거
1588
00:55:23,880 --> 00:55:25,500
프리커넥티드로 했죠
1589
00:55:25,500 --> 00:55:26,819
얘는 그냥 대놓고 콤보를 전환하는
1590
00:55:26,819 --> 00:55:27,660
거예요
1591
00:55:27,660 --> 00:55:30,420
근데 우리 수업에서 배웠었죠이
1592
00:55:30,420 --> 00:55:33,599
컨버션은 fc의 스페셜 케이스다
1593
00:55:33,599 --> 00:55:34,859
그러니까
1594
00:55:34,859 --> 00:55:36,780
결과 같은 거죠 f3로 할 거를 그냥
1595
00:55:36,780 --> 00:55:38,819
컨버션으로 했다는 거예요
1596
00:55:38,819 --> 00:55:42,119
그것만 달라진 거고 그래서 이거를
1597
00:55:42,119 --> 00:55:42,960
이제
1598
00:55:42,960 --> 00:55:44,700
트랜스포머 입장에서 보면 중간에
1599
00:55:44,700 --> 00:55:47,280
컨버션이 들어간 거지만 반대로 그냥
1600
00:55:47,280 --> 00:55:49,260
컨버션 원래 컨버션 네트워크였다고
1601
00:55:49,260 --> 00:55:52,319
생각하면은 반대로 이렇게 컨퍼런 원래
1602
00:55:52,319 --> 00:55:54,420
하는 거에 중간중간에 셀프어텐션이 더
1603
00:55:54,420 --> 00:55:56,520
들어가 있는 거라고 볼 수도 있어요
1604
00:55:56,520 --> 00:55:58,559
진짜 이거는 컨퍼런이랑 그
1605
00:55:58,559 --> 00:56:01,920
트랜스포머의 어떤 중간적인 모델이에요
1606
00:56:01,920 --> 00:56:03,420
그 다음에
1607
00:56:03,420 --> 00:56:05,040
컨솔루션을 트랜스포머 블록이라는게
1608
00:56:05,040 --> 00:56:06,720
있는데
1609
00:56:06,720 --> 00:56:10,319
얘도 우리가 그 qkb를 만들 때
1610
00:56:10,319 --> 00:56:12,980
원래 어떻게 만들었어요
1611
00:56:13,140 --> 00:56:14,599
그
1612
00:56:14,599 --> 00:56:16,200
wqwvwk 이거 곱해가지고
1613
00:56:16,200 --> 00:56:17,760
만들었었죠
1614
00:56:17,760 --> 00:56:19,800
곱한다는게 뭐예요
1615
00:56:19,800 --> 00:56:21,960
플리커넥티드죠
1616
00:56:21,960 --> 00:56:23,280
근데
1617
00:56:23,280 --> 00:56:24,780
곱하는게 아니라 얘네들도 컨버션을 할
1618
00:56:24,780 --> 00:56:27,420
거예요 그냥 그거예요
1619
00:56:27,420 --> 00:56:29,400
얘네들도 컨퍼런셜 필터가 되고 FC
1620
00:56:29,400 --> 00:56:30,920
웨잇이 아니라 그냥 컨버션이고 여전히
1621
00:56:30,920 --> 00:56:33,420
이거는 FC 스페셜 케이스이기 때문에
1622
00:56:33,420 --> 00:56:35,460
아무 문제가 없죠
1623
00:56:35,460 --> 00:56:37,260
그래서 모든 걸 그냥 컨버션으로 하는
1624
00:56:37,260 --> 00:56:38,460
거예요
1625
00:56:38,460 --> 00:56:40,079
여기 마지막에 하나 추가되어 있는 건
1626
00:56:40,079 --> 00:56:41,160
뭐냐면은
1627
00:56:41,160 --> 00:56:43,819
스퀴즈라는 거는
1628
00:56:44,520 --> 00:56:46,319
이 그 뭐죠 스트라이드 사이즈를
1629
00:56:46,319 --> 00:56:48,540
1보다 크게 해 가지고
1630
00:56:48,540 --> 00:56:50,099
펄쩍펄쩍 뛰어가면서 참조하게 해가지고
1631
00:56:50,099 --> 00:56:51,720
그
1632
00:56:51,720 --> 00:56:53,099
다음번 아웃풋 사이즈를 줄이는
1633
00:56:53,099 --> 00:56:55,200
메카니즘을 사용을 하게 돼요
1634
00:56:55,200 --> 00:56:57,839
그것만 좀 추가가 되게 되는데
1635
00:56:57,839 --> 00:57:00,000
얘 모델을 한번 살펴보시면은
1636
00:57:00,000 --> 00:57:01,740
자 아까랑 제가 똑같은 그림을 썼어요
1637
00:57:01,740 --> 00:57:04,440
일부러 이미지가 이렇게 들어오면은
1638
00:57:04,440 --> 00:57:06,599
얘를 그
1639
00:57:06,599 --> 00:57:07,380
첫 번째
1640
00:57:07,380 --> 00:57:08,520
conve 토큰 인베딩을 통과하게
1641
00:57:08,520 --> 00:57:09,839
되면 이게 결국 그냥 컨퍼런셜 하는
1642
00:57:09,839 --> 00:57:12,300
거예요 똑같이 그래서
1643
00:57:12,300 --> 00:57:13,079
얘가
1644
00:57:13,079 --> 00:57:14,040
컨퍼런스를 하고 나면 우리 사이즈
1645
00:57:14,040 --> 00:57:15,059
바뀌죠
1646
00:57:15,059 --> 00:57:17,339
h1w1 c1으로 바뀌죠 우리 이거
1647
00:57:17,339 --> 00:57:19,339
뭐 중간고사에서도 받고 많이 봤잖아요
1648
00:57:19,339 --> 00:57:22,800
사이즈가 바뀌게 되고 그 다음에
1649
00:57:22,800 --> 00:57:24,660
컨버지는 트랜스포머 블록에서는 얘는
1650
00:57:24,660 --> 00:57:26,280
그냥
1651
00:57:26,280 --> 00:57:27,619
트랜스포머 돌리는 거랑 똑같은데
1652
00:57:27,619 --> 00:57:30,059
거기서 하는 연산들이
1653
00:57:30,059 --> 00:57:31,380
폴리 커넥티드로 되어 있던게 전부
1654
00:57:31,380 --> 00:57:33,359
컨버션으로 바뀌기만 하고 다 똑같아요
1655
00:57:33,359 --> 00:57:36,720
그냥 얘도 사실상 그냥 그 트랜스포머
1656
00:57:36,720 --> 00:57:38,280
돌리는 거예요
1657
00:57:38,280 --> 00:57:40,079
그 뒤로 그냥 계속 똑같아요 요거
1658
00:57:40,079 --> 00:57:43,079
한번 할 때마다 사이즈는 바뀌어요
1659
00:57:43,079 --> 00:57:45,660
요거 할 때는 사이즈가 안 바뀌어요
1660
00:57:45,660 --> 00:57:47,819
트랜스포머니까 여기도 마찬가지로
1661
00:57:47,819 --> 00:57:50,099
사이즈 바뀌고 안 바뀌고
1662
00:57:50,099 --> 00:57:53,099
보시면은 컨퍼런저런 트랜스포머
1663
00:57:53,099 --> 00:57:55,680
블록이라는게 뭐냐면은
1664
00:57:55,680 --> 00:57:58,200
트랜스포머 블록처럼 생겼죠 모양은
1665
00:57:58,200 --> 00:58:00,420
근데요 셀프어텐션 할 때
1666
00:58:00,420 --> 00:58:05,099
얘네들의 연산이 컨버전인거에요 그것만
1667
00:58:06,720 --> 00:58:08,900
다른 거예요
1668
00:58:10,680 --> 00:58:13,079
자 여기서 하나 주목할 점은
1669
00:58:13,079 --> 00:58:14,880
맨 처음에 우리 몇 바에 몇 패치로
1670
00:58:14,880 --> 00:58:16,500
만드는 거 했었잖아요 항상
1671
00:58:16,500 --> 00:58:19,619
vit에서는 그게 없어요
1672
00:58:19,619 --> 00:58:21,059
그거 안 하고 그냥 바로 들어간
1673
00:58:21,059 --> 00:58:22,260
거예요 바로 컴포지션으로 하기 때문에
1674
00:58:22,260 --> 00:58:25,260
그걸 안 해도 돼요 그래서
1675
00:58:25,260 --> 00:58:26,099
non overapping 패치가
1676
00:58:26,099 --> 00:58:28,619
아니라 얘는 오블랙핑패치고요
1677
00:58:28,619 --> 00:58:30,599
얼마나 오버랩 될지 아니면 노노블랙
1678
00:58:30,599 --> 00:58:32,579
될지를 뭘로 조절하냐면
1679
00:58:32,579 --> 00:58:33,900
스트라이드 사이즈를 가지고 조절을
1680
00:58:33,900 --> 00:58:35,579
해요
1681
00:58:35,579 --> 00:58:38,400
실제 이제 아키텍처가 나와 있는데
1682
00:58:38,400 --> 00:58:40,200
패치 크기를 뭐 4로 하고 싶다라고
1683
00:58:40,200 --> 00:58:43,740
했을 때 지금 보시면은 이거예요
1684
00:58:43,740 --> 00:58:46,500
리사이징을 그 예를 가지고 하는
1685
00:58:46,500 --> 00:58:48,599
거예요이 스트라이드를 가지고
1686
00:58:48,599 --> 00:58:50,819
그래가지고 224바 224를 지금
1687
00:58:50,819 --> 00:58:53,760
56으로 만들고 싶은데 그거를이 p를
1688
00:58:53,760 --> 00:58:55,020
4로 명시적으로 해가지고 쪼개는
1689
00:58:55,020 --> 00:58:56,640
방식이 아니라
1690
00:58:56,640 --> 00:58:58,440
이걸 러프하게 4가 되게 하려면
1691
00:58:58,440 --> 00:58:59,940
슬라이드를 4로 하면 되죠 그리고
1692
00:58:59,940 --> 00:59:01,680
적절하게 그 패딩 해주면 이게 맞출
1693
00:59:01,680 --> 00:59:02,940
수 있죠
1694
00:59:02,940 --> 00:59:04,200
그렇게 해서 맞춘 거예요
1695
00:59:04,200 --> 00:59:05,819
4개에 한 번씩만 사용을 하니까 대충
1696
00:59:05,819 --> 00:59:07,859
1/4로 줄어드는 거예요
1697
00:59:07,859 --> 00:59:10,880
그렇게 줄여주고 이거 c는
1698
00:59:14,579 --> 00:59:15,900
vit처럼 트랜스포머가 들어가는데
1699
00:59:15,900 --> 00:59:19,740
여기도 그게 컨버지 있다 그것만 다른
1700
00:59:19,740 --> 00:59:21,920
거예요
1701
00:59:22,559 --> 00:59:25,079
대충 이해되시나요 너무
1702
00:59:25,079 --> 00:59:26,339
복잡한 이야기를 제가 한꺼번에 많이
1703
00:59:26,339 --> 00:59:27,260
하고 있는 거
1704
00:59:27,260 --> 00:59:29,400
같은데이 논문들을 한번 좀 읽어보세요
1705
00:59:29,400 --> 00:59:31,619
그 스윙 트랜스포머가 너무 굉장히 잘
1706
00:59:31,619 --> 00:59:34,140
썼어요 그거 꼭 읽어보시고
1707
00:59:34,140 --> 00:59:35,339
이
1708
00:59:35,339 --> 00:59:38,099
강의 다시 한번 보시면서 좀 개념 잘
1709
00:59:38,099 --> 00:59:39,359
잡으시면 좋을 것 같습니다
1710
00:59:39,359 --> 00:59:42,000
굉장히 많이 쓰이는 모델들이에요
1711
00:59:42,000 --> 00:59:45,059
한 15분 남았는데 이미지
1712
00:59:45,059 --> 00:59:46,559
했으니까 이제 비디오로 들어가 볼게요
1713
00:59:46,559 --> 00:59:48,480
사실 본질적으로 그렇게 다른 건
1714
00:59:48,480 --> 00:59:50,599
없어요
1715
00:59:53,220 --> 00:59:55,260
이미지로 만든 트랜스포머가 이름이
1716
00:59:55,260 --> 00:59:56,819
비전트랜스포머였는데
1717
00:59:56,819 --> 00:59:58,619
얘네는 비디오 비전 트랜스포머라고
1718
00:59:58,619 --> 00:59:59,460
해서
1719
00:59:59,460 --> 01:00:02,119
bbit라고 불러요 이런 모델이 이제
1720
01:00:02,119 --> 01:00:04,260
21년도 3월에
1721
01:00:04,260 --> 01:00:05,579
다른 사람들이 스윙 트랜스포머 하고
1722
01:00:05,579 --> 01:00:07,500
있을 때이 사람들은 이미지 이제
1723
01:00:07,500 --> 01:00:09,780
했으니까 비디오 해보자 해서 비디오를
1724
01:00:09,780 --> 01:00:11,040
했던 거 같아요
1725
01:00:11,040 --> 01:00:13,980
그
1726
01:00:13,980 --> 01:00:15,119
얘네들이 이제 모델을 4개를
1727
01:00:15,119 --> 01:00:16,680
얘기하는데 그 중에 첫 번째 모델
1728
01:00:16,680 --> 01:00:19,440
일단 가장 무식한 모델이에요
1729
01:00:19,440 --> 01:00:21,359
vit 아이디어를 그냥 이미지
1730
01:00:21,359 --> 01:00:22,740
크래플리케이션이 아니라 비디오
1731
01:00:22,740 --> 01:00:23,940
크래스피케이션이다 그대로 도입을 한
1732
01:00:23,940 --> 01:00:27,000
거예요 어떻게 하느냐 우리가 이미지
1733
01:00:27,000 --> 01:00:30,000
같은 경우에는 프레임을 그
1734
01:00:30,000 --> 01:00:31,619
피바이 필요 아까 나눴다 그랬죠
1735
01:00:31,619 --> 01:00:33,180
pvp짜리 토큰으로 쪼개는데 얘는
1736
01:00:33,180 --> 01:00:34,740
이제 로테이션만 좀 다르게 썼어요
1737
01:00:34,740 --> 01:00:36,839
어떻게 하냐면은
1738
01:00:36,839 --> 01:00:39,119
nw 곱하기 NH 개수
1739
01:00:39,119 --> 01:00:40,740
그러니까 이제 개수로 쪼개는 개념으로
1740
01:00:40,740 --> 01:00:43,200
얘는 그 카운터를 발견한 건데 그
1741
01:00:43,200 --> 01:00:46,200
위드 쪽이 n개 n nw게 화이트
1742
01:00:46,200 --> 01:00:48,839
쪽이 nhk가 되도록 쪼갠다라는
1743
01:00:48,839 --> 01:00:51,420
거고요 뭐 정사각형 같으면 저거
1744
01:00:51,420 --> 01:00:53,160
두개가 똑같겠죠
1745
01:00:53,160 --> 01:00:54,540
근데 그게 이미지가 여러 장이
1746
01:00:54,540 --> 01:00:55,440
있으니까
1747
01:00:55,440 --> 01:00:56,640
n틱의
1748
01:00:56,640 --> 01:00:57,599
패치가
1749
01:00:57,599 --> 01:00:59,460
요만큼이 있게 돼요 이렇게
1750
01:00:59,460 --> 01:01:01,440
NT 곱하기 nw 곱하기 nh가 있게
1751
01:01:01,440 --> 01:01:02,880
돼요
1752
01:01:02,880 --> 01:01:04,280
요만큼의 이미지 패치가 있는 거고
1753
01:01:04,280 --> 01:01:06,420
그것들을 그냥
1754
01:01:06,420 --> 01:01:08,520
트랜스포머에다 다 집어넣고
1755
01:01:08,520 --> 01:01:10,799
컨텍솔라에서 시켜 가지고
1756
01:01:10,799 --> 01:01:11,700
뽑아내는 거예요 그리고 아까 했던
1757
01:01:11,700 --> 01:01:12,799
거랑
1758
01:01:12,799 --> 01:01:15,059
똑같이이 그림 그대로죠 지금 이거 다
1759
01:01:15,059 --> 01:01:16,400
만들어 가지고 토큰으로 만들어 놓고
1760
01:01:16,400 --> 01:01:17,940
이거
1761
01:01:17,940 --> 01:01:19,920
계속 돌려 가지고 앨범 돌려 가지고
1762
01:01:19,920 --> 01:01:22,140
뽑아내면 클래스 나오는 거
1763
01:01:22,140 --> 01:01:24,180
그러니까 한마디로 말하면 이미지가
1764
01:01:24,180 --> 01:01:25,619
여러 장이잖아요
1765
01:01:25,619 --> 01:01:27,000
vit랑 똑같은데
1766
01:01:27,000 --> 01:01:28,859
vit는 거기 있는 이미지가 한
1767
01:01:28,859 --> 01:01:30,420
이미지 한 장을 쪼개는 것들이
1768
01:01:30,420 --> 01:01:32,460
들어갔었죠 그게 여러 장이 있는
1769
01:01:32,460 --> 01:01:33,839
거예요 그거 그냥 단 한꺼번에
1770
01:01:33,839 --> 01:01:35,099
집어넣고
1771
01:01:35,099 --> 01:01:36,240
싹 해가지고 여기 이거 뭐에 대한
1772
01:01:36,240 --> 01:01:39,599
비디오냐 이거 찾게 한 거예요
1773
01:01:39,599 --> 01:01:42,200
계산 내용 어떻게 될까요
1774
01:01:42,420 --> 01:01:44,240
h 쪽 재고 W
1775
01:01:44,240 --> 01:01:47,700
3개가 다 똑같으면 n의 6승
1776
01:01:47,700 --> 01:01:49,400
감당이 안 되는 시간이 걸리겠죠
1777
01:01:49,400 --> 01:01:51,240
어마어마하게 시간이 걸리겠죠 그래서
1778
01:01:51,240 --> 01:01:55,380
이제이 논문에이 흐름은 저렇게 하니까
1779
01:01:55,380 --> 01:01:57,299
정말 느리더라 이걸 어떻게 하면 더
1780
01:01:57,299 --> 01:01:58,380
빠르면서도
1781
01:01:58,380 --> 01:01:59,819
성능이 안 떨어지게 만들 수 있을까에
1782
01:01:59,819 --> 01:02:01,339
초점을 맞추게 돼요 비디오다 보니까
1783
01:02:01,339 --> 01:02:03,900
그래서 이제 처음에는 좀 무식한
1784
01:02:03,900 --> 01:02:07,020
아이디어를 몇 개 내는데 이런 거죠
1785
01:02:07,020 --> 01:02:08,400
프레임 다 쓰지 말고 몇 번에 한
1786
01:02:08,400 --> 01:02:11,160
개씩만 쓰자 두 번에 하나씩만 쓰자
1787
01:02:11,160 --> 01:02:14,180
짝수번 프레임만 쓰자 이런 거예요
1788
01:02:15,380 --> 01:02:18,420
1번하고 3번만 쓰고
1789
01:02:18,420 --> 01:02:19,440
짝수 번호 버리는 거예요 이렇게
1790
01:02:19,440 --> 01:02:21,180
유니폼 하게 프레임을 샘플링 해서 쓸
1791
01:02:21,180 --> 01:02:23,819
수 있어요 이게 시간 간격이 좁으면
1792
01:02:23,819 --> 01:02:26,099
어차피 되게 비슷하잖아요 그래서 그냥
1793
01:02:26,099 --> 01:02:28,559
몇 개 한 번씩 띄엄띄엄 쓰자라는게
1794
01:02:28,559 --> 01:02:30,920
첫 번째 아이디어고요 두
1795
01:02:30,920 --> 01:02:32,640
번째는이
1796
01:02:32,640 --> 01:02:34,740
튜블렛이라 그래가지고 이제
1797
01:02:34,740 --> 01:02:36,000
인접해 있는 프레임 예를 들어
1798
01:02:36,000 --> 01:02:37,740
5장끼리 같은 자리에 있는 걸
1799
01:02:37,740 --> 01:02:39,119
한꺼번에
1800
01:02:39,119 --> 01:02:40,980
x1이라고 만들어 쓰는 거예요요
1801
01:02:40,980 --> 01:02:42,839
픽셀들을 다 모아 가지고 이렇게
1802
01:02:42,839 --> 01:02:44,099
해주면은
1803
01:02:44,099 --> 01:02:47,000
5장이 한꺼번에 하나로
1804
01:02:47,819 --> 01:02:50,700
줄여주는 효과가 있겠죠 이런 무식한
1805
01:02:50,700 --> 01:02:52,079
시도들을 했고요
1806
01:02:52,079 --> 01:02:53,640
효과가 조금 있었다고 하고 이건
1807
01:02:53,640 --> 01:02:55,740
중요한게 아니고
1808
01:02:55,740 --> 01:02:57,900
모델을 3개를 더 만들어요 어떻게
1809
01:02:57,900 --> 01:03:00,059
하면은 저거를 무식하게 모든 패치들을
1810
01:03:00,059 --> 01:03:01,619
다 컨텍솔라 이제 한꺼번에 하는게
1811
01:03:01,619 --> 01:03:03,480
아니라 좀 더 효율적으로 할 수 있는
1812
01:03:03,480 --> 01:03:04,500
방법이 있을까
1813
01:03:04,500 --> 01:03:07,020
해서 나온게이
1814
01:03:07,020 --> 01:03:09,420
백토라이즈 모델 모델 2에요 이거는
1815
01:03:09,420 --> 01:03:12,359
이게 사실 이제 가장 좀 그
1816
01:03:12,359 --> 01:03:14,280
직관적이고 좀 좋은 모델인데 어떻게
1817
01:03:14,280 --> 01:03:16,440
되는지 한번 보시면요
1818
01:03:16,440 --> 01:03:20,040
스페셜하고 템퍼럴이 2단계로 가요
1819
01:03:20,040 --> 01:03:22,260
인풋으로 들어올 때 이미지가 여러
1820
01:03:22,260 --> 01:03:23,240
장이 들어오잖아요
1821
01:03:23,240 --> 01:03:26,220
이미지 하나하나가 스페셜 트랜스포머
1822
01:03:26,220 --> 01:03:27,900
인코더에 들어가요
1823
01:03:27,900 --> 01:03:29,579
요거는 우리가 아까 봤던 그냥 이미지
1824
01:03:29,579 --> 01:03:32,099
vit랑 완전히 똑같은 거예요 이미지
1825
01:03:32,099 --> 01:03:34,559
한 장 한 장 단위로 얘를 모델링을
1826
01:03:34,559 --> 01:03:36,420
하는 거예요 그냥 vit로
1827
01:03:36,420 --> 01:03:37,740
그리고
1828
01:03:37,740 --> 01:03:39,119
얘가 그
1829
01:03:39,119 --> 01:03:40,680
CLS 토큰에서 나오는게이 이미지
1830
01:03:40,680 --> 01:03:42,720
전체를 표현한다 그랬죠 아까
1831
01:03:42,720 --> 01:03:44,819
그게요 이미지를 표현하게 하고
1832
01:03:44,819 --> 01:03:48,119
그러면은 그 이미지 벡터가
1833
01:03:48,119 --> 01:03:49,520
쭉 시퀀스로 나오겠죠
1834
01:03:49,520 --> 01:03:52,680
그게 들어가는게 두 번째 있는 템퍼럴
1835
01:03:52,680 --> 01:03:55,079
인코더에요
1836
01:03:55,079 --> 01:03:56,400
이해되세요
1837
01:03:56,400 --> 01:03:57,480
그러니까 아래쪽에 있는 거는
1838
01:03:57,480 --> 01:04:00,660
vit구요 위에 있는 거는 우리가
1839
01:04:00,660 --> 01:04:01,500
지난 시간에 배웠던 그냥 진짜
1840
01:04:01,500 --> 01:04:03,660
제너럴한 트랜스포머예요
1841
01:04:03,660 --> 01:04:05,220
시퀀스 오브 썸띵이 들어가잖아요 지금
1842
01:04:05,220 --> 01:04:06,920
시퀀스 프레임 인베딩이 들어가잖아요
1843
01:04:06,920 --> 01:04:09,059
그래서 그냥 트랜스포머 돌려주는
1844
01:04:09,059 --> 01:04:10,260
거예요
1845
01:04:10,260 --> 01:04:11,160
그래서
1846
01:04:11,160 --> 01:04:12,359
스페셜한 거랑
1847
01:04:12,359 --> 01:04:14,700
템포를 한 거를 이렇게 쪼개 가지고
1848
01:04:14,700 --> 01:04:16,020
스페셜한 거 먼저 해서 인벤딩 한번
1849
01:04:16,020 --> 01:04:18,180
해 놓고 올라가서 템포를 하게 보게
1850
01:04:18,180 --> 01:04:20,819
하는 식으로 이걸 만들어 놨어요
1851
01:04:20,819 --> 01:04:21,720
그래서
1852
01:04:21,720 --> 01:04:22,859
타임콤프레스티가 어떻게 줄어들게
1853
01:04:22,859 --> 01:04:24,839
되냐면 시간
1854
01:04:24,839 --> 01:04:28,260
쪽이 따로 빠져나오면서 아래쪽이 지금
1855
01:04:28,260 --> 01:04:32,220
vit랑 동일하게 얘네 4승이 되고이
1856
01:04:32,220 --> 01:04:33,780
템포러란 쪽이 n 제곱이 돼 가지고
1857
01:04:33,780 --> 01:04:34,920
요거 두 개 더한 만큼이 되게 돼요
1858
01:04:34,920 --> 01:04:36,960
아까 했던 얘는 6승보다 훨씬
1859
01:04:36,960 --> 01:04:39,200
빨라지겠죠
1860
01:04:39,900 --> 01:04:41,579
됐나요
1861
01:04:41,579 --> 01:04:43,859
요게 두 번째 모델이고요
1862
01:04:43,859 --> 01:04:45,780
두 개를 더 시도했는데 세 번째
1863
01:04:45,780 --> 01:04:47,760
모델은이
1864
01:04:47,760 --> 01:04:49,319
백토라이즈 셀프어텐션이라고 해가지고
1865
01:04:49,319 --> 01:04:50,880
이것도 이제 그림 보시면 조금 더
1866
01:04:50,880 --> 01:04:54,720
이해하기 쉬운데 그
1867
01:04:54,720 --> 01:04:56,579
토큰인 베딩이 들어오면요
1868
01:04:56,579 --> 01:04:59,000
이게
1869
01:04:59,339 --> 01:05:01,799
스페셜한 셀포텐션 블록이 있고
1870
01:05:01,799 --> 01:05:03,480
템포러란 셀프테이션 블록 있고 여기
1871
01:05:03,480 --> 01:05:04,740
두 개를요 내부에서 나눠서 하는
1872
01:05:04,740 --> 01:05:06,599
거예요
1873
01:05:06,599 --> 01:05:08,220
셀프어텐션 할 때
1874
01:05:08,220 --> 01:05:10,559
스페셜 한쪽만 먼저 보고 한번 이렇게
1875
01:05:10,559 --> 01:05:12,059
해서 자기를 업데이트 해주고 원래는
1876
01:05:12,059 --> 01:05:14,640
이게 이게 없을 때는 전체를 다 보죠
1877
01:05:14,640 --> 01:05:16,260
근데 얘는 같은 프레임에 해당되는
1878
01:05:16,260 --> 01:05:18,000
것만 먼저 봐서 자기를 한번 업데이트
1879
01:05:18,000 --> 01:05:21,000
해주고 그 다음에 같은 자리에 있는
1880
01:05:21,000 --> 01:05:22,559
다른 시간에 있는 거를 한번 쭉 보고
1881
01:05:22,559 --> 01:05:24,000
업데이트 해주고
1882
01:05:24,000 --> 01:05:25,380
요렇게 반복되게 만들어 놓은 거예요
1883
01:05:25,380 --> 01:05:28,200
이걸 두 개 내부에서 쪼개서
1884
01:05:28,200 --> 01:05:30,599
이것도 괜찮은 아이디어죠
1885
01:05:30,599 --> 01:05:32,579
스페셜이랑 템포를 쪼개는데
1886
01:05:32,579 --> 01:05:34,200
스페셜 먼저 다 끝내고 템포를
1887
01:05:34,200 --> 01:05:36,119
한꺼번에 하는게 아니라
1888
01:05:36,119 --> 01:05:38,640
각각 패치 안에서 자기 자신을 할 때
1889
01:05:38,640 --> 01:05:40,680
스페셜하게 어텐션을 한번 해주고
1890
01:05:40,680 --> 01:05:41,940
템포를 하기 어텐션 한번 해주고
1891
01:05:41,940 --> 01:05:44,220
요거를 번갈아가면서 하는 거예요
1892
01:05:44,220 --> 01:05:47,700
자 여기는 이렇게 하면은
1893
01:05:47,700 --> 01:05:49,440
CLS 토큰을 넣는게 조금 애매해져요
1894
01:05:49,440 --> 01:05:51,059
얘는
1895
01:05:51,059 --> 01:05:52,680
스페셜은 어디에 속해야 되고 템포러는
1896
01:05:52,680 --> 01:05:53,579
어디에 속해야 될지가 되게
1897
01:05:53,579 --> 01:05:54,839
애매하잖아요
1898
01:05:54,839 --> 01:05:56,099
얘는 이거를 못 넣는다는게 좀
1899
01:05:56,099 --> 01:05:58,339
단점이에요
1900
01:05:58,680 --> 01:05:59,940
그 다음에
1901
01:05:59,940 --> 01:06:01,920
4번은 우리가
1902
01:06:01,920 --> 01:06:04,920
멀티 헤드 셀프로텐션을 하니까 그
1903
01:06:04,920 --> 01:06:07,020
헤드를 쪼개자라는 아이디어에요
1904
01:06:07,020 --> 01:06:08,819
헤드를 몇 개는 스페셜 용으로 쓰고
1905
01:06:08,819 --> 01:06:11,400
몇 개는 템퍼럴 용으로 쓰자 그냥
1906
01:06:11,400 --> 01:06:12,480
그거예요
1907
01:06:12,480 --> 01:06:14,760
식은 되게 복잡하게 써 있지만
1908
01:06:14,760 --> 01:06:17,280
그렇게 해주면은 어쨌든 같은 개수의
1909
01:06:17,280 --> 01:06:19,260
헤드를 합쳐서 쓰게 되니까 근데
1910
01:06:19,260 --> 01:06:20,579
각각의 헤드가 전체를 어떻게 하는게
1911
01:06:20,579 --> 01:06:21,480
아니라
1912
01:06:21,480 --> 01:06:22,859
얘는 스페셜만 보고 얘는 10%만
1913
01:06:22,859 --> 01:06:23,760
보니까
1914
01:06:23,760 --> 01:06:26,160
계산량이 줄어들겠죠
1915
01:06:26,160 --> 01:06:27,539
그래서 모델을 지금 제가 4개를
1916
01:06:27,539 --> 01:06:29,880
소개를 했는데
1917
01:06:29,880 --> 01:06:31,520
결과를 보면요
1918
01:06:31,520 --> 01:06:33,960
무식하게 다 하는게 어쨌든 성능은
1919
01:06:33,960 --> 01:06:35,460
제일 잘 나와요 시간을 오래 걸리지만
1920
01:06:35,460 --> 01:06:37,980
시간은 제일 오래 걸리는데
1921
01:06:37,980 --> 01:06:39,420
플러스도 제일 많은데
1922
01:06:39,420 --> 01:06:41,700
성능은 어쨌든 제일 잘 나오고요 두
1923
01:06:41,700 --> 01:06:43,200
번째 모델이 있었죠
1924
01:06:43,200 --> 01:06:45,180
스페셜 먼저 쭉 해서 피쳐 뽑고 그거
1925
01:06:45,180 --> 01:06:45,839
가지고
1926
01:06:45,839 --> 01:06:48,000
템포를 가는 거가이
1927
01:06:48,000 --> 01:06:49,460
성능도 나머지 3개 중에 제일 좋고
1928
01:06:49,460 --> 01:06:51,780
시간도 가장 적게 걸리고 가장
1929
01:06:51,780 --> 01:06:54,119
효율적이에요 그래서 보통 bbc라
1930
01:06:54,119 --> 01:06:55,319
그러면은이 모델 2를 가장 많이
1931
01:06:55,319 --> 01:06:58,579
생각을 하고 많이 사용을 해요
1932
01:07:01,260 --> 01:07:05,220
자이 비빗의 문제점은 뭐냐면요
1933
01:07:05,220 --> 01:07:07,440
vit는 아까 굉장히 큰 데이터셋에
1934
01:07:07,440 --> 01:07:08,520
대해서
1935
01:07:08,520 --> 01:07:10,140
학습을 시켜야만 잘 돌아간다라고
1936
01:07:10,140 --> 01:07:11,640
얘기를 했는데
1937
01:07:11,640 --> 01:07:13,079
문제는 비디오는 그렇게 큰 데이터셋이
1938
01:07:13,079 --> 01:07:13,940
없어요
1939
01:07:13,940 --> 01:07:16,440
비디오 개수 기준으로 봤을 때
1940
01:07:16,440 --> 01:07:17,880
커봤자
1941
01:07:17,880 --> 01:07:19,980
텐밀리언이 안 되어 지금 이미지는 뭐
1942
01:07:19,980 --> 01:07:22,680
빌리언 단위까지 가는데 그래서
1943
01:07:22,680 --> 01:07:23,880
근데 얘가 배워야 될 건 훨씬 더
1944
01:07:23,880 --> 01:07:26,160
복잡하잖아요 배워야 될 패턴이
1945
01:07:26,160 --> 01:07:27,299
그래가지고
1946
01:07:27,299 --> 01:07:29,579
vit로 먼저 이니셜라이즈를 해놓고이
1947
01:07:29,579 --> 01:07:31,500
모델 2의 장점이 그거예요
1948
01:07:31,500 --> 01:07:34,619
얘는이 안에 있는 이미지 쪽을 스페셜
1949
01:07:34,619 --> 01:07:35,280
쪽을
1950
01:07:35,280 --> 01:07:36,539
프리트레인지 모델을 그냥 갖다 쓸 수
1951
01:07:36,539 --> 01:07:38,760
있다는게 장점이에요
1952
01:07:38,760 --> 01:07:41,160
얘가 그냥 이미지 vip니까
1953
01:07:41,160 --> 01:07:43,280
그래 가지고
1954
01:07:45,440 --> 01:07:48,119
그래서이 모델 추가 좀 트레이드
1955
01:07:48,119 --> 01:07:51,200
오프가 좋기도 하고 저거를
1956
01:07:52,079 --> 01:07:53,339
갖다 쓸 수도 있어서 좀 많이 쓰인다
1957
01:07:53,339 --> 01:07:57,059
이런 얘기입니다이
1958
01:08:01,799 --> 01:08:03,240
논문에서도 5가지 모델을 얘기를
1959
01:08:03,240 --> 01:08:04,079
했는데
1960
01:08:04,079 --> 01:08:05,900
맨 왼쪽 거는 그냥 기존
1961
01:08:05,900 --> 01:08:08,039
vit고이 4개 중에
1962
01:08:08,039 --> 01:08:09,240
앞에 거 두 개를 우리가 방금 봤던
1963
01:08:09,240 --> 01:08:11,579
비빔 모델이랑 거의 똑같아요 그리고
1964
01:08:11,579 --> 01:08:13,500
뭐 새로운 거 두 개를 했는데 이것도
1965
01:08:13,500 --> 01:08:14,940
그림으로 보시면 조금 더 이해가 될
1966
01:08:14,940 --> 01:08:16,620
거예요
1967
01:08:16,620 --> 01:08:19,020
이 파란색이 컬이에요 내가 지금 쿼리
1968
01:08:19,020 --> 01:08:20,698
주인공인데
1969
01:08:20,698 --> 01:08:23,399
어디를 참조하느냐에요 그냥
1970
01:08:23,399 --> 01:08:25,259
vit 같은 경우에는 같은 이미지
1971
01:08:25,259 --> 01:08:27,359
안에 있는 걸 다 보는 거죠
1972
01:08:27,359 --> 01:08:28,140
얘네들이
1973
01:08:28,140 --> 01:08:30,799
키랑 밸류가 되요
1974
01:08:36,420 --> 01:08:38,880
비비 모델 3번은 뭐였냐면요
1975
01:08:38,880 --> 01:08:42,480
스페셜하게 보고 그
1976
01:08:42,660 --> 01:08:44,339
템포를 하게는 같은 자리에 있는 것만
1977
01:08:44,339 --> 01:08:46,859
보는 거예요 연두색이랑 빨간색 그거를
1978
01:08:46,859 --> 01:08:48,479
번갈아가면서 보는 거였죠
1979
01:08:48,479 --> 01:08:50,160
요게 비빔 모델 3번이었고요 얘네들도
1980
01:08:50,160 --> 01:08:52,738
이런 다른 이름으로 이걸 해놨고 그
1981
01:08:52,738 --> 01:08:53,819
다음에 뭐
1982
01:08:53,819 --> 01:08:55,679
스파르스 로컬 글로벌어텐션이라고
1983
01:08:55,679 --> 01:08:57,600
그래가지고 이게 한칸씩 띄어서 이렇게
1984
01:08:57,600 --> 01:09:00,060
보는 것도 뭐 이런 식으로 좀 다양한
1985
01:09:00,060 --> 01:09:01,500
트릭들을 써봤어요 근데 이제 그림
1986
01:09:01,500 --> 01:09:03,000
보시면 알겠지만 뭐 그렇게 크게 다를
1987
01:09:03,000 --> 01:09:04,500
건 없어요 사실
1988
01:09:04,500 --> 01:09:07,259
얘도 뭐 XG 어텐션에서 가로 쪽으로
1989
01:09:07,259 --> 01:09:08,759
세로 쪽으로 시간적으로
1990
01:09:08,759 --> 01:09:10,198
각각 같은 줄에 있는 것들만 보고 뭐
1991
01:09:10,198 --> 01:09:11,819
이런 식으로 하는데
1992
01:09:11,819 --> 01:09:14,779
성능이 그렇게 다르지는 않아요
1993
01:09:14,880 --> 01:09:16,439
네 이렇게 하고 오늘의 마지막
1994
01:09:16,439 --> 01:09:17,939
모델까지 왔어요
1995
01:09:17,939 --> 01:09:19,679
mvit인데
1996
01:09:19,679 --> 01:09:22,679
요거는 아까 우리 CBT 봤죠 이미지
1997
01:09:22,679 --> 01:09:23,520
쪽에서
1998
01:09:23,520 --> 01:09:24,899
컨버지는 다시 도입해 가지고
1999
01:09:24,899 --> 01:09:27,299
효율적으로 만들었던게 cbt였죠 그
2000
01:09:27,299 --> 01:09:28,799
아이디어를 그냥 비디오로 가져온
2001
01:09:28,799 --> 01:09:31,198
모델이라고 보시면 돼요
2002
01:09:31,198 --> 01:09:32,160
얘는
2003
01:09:32,160 --> 01:09:33,839
멀티 헤드 풀링 어텐션이라는 거를
2004
01:09:33,839 --> 01:09:37,259
사용을 하는데 여기 보시면
2005
01:09:37,259 --> 01:09:39,120
인풋이 들어오면 얘를
2006
01:09:39,120 --> 01:09:41,580
커리 키 밸류로 만들게 되죠 우리가
2007
01:09:41,580 --> 01:09:42,839
그렇게 해서 만든 거를 원래 그냥
2008
01:09:42,839 --> 01:09:47,040
쓰는데 얘는 지금 보시면은 지금
2009
01:09:50,880 --> 01:09:53,640
타임 쪽 그 다음에 화이트 쪽 위드
2010
01:09:53,640 --> 01:09:54,780
쪽에
2011
01:09:54,780 --> 01:09:56,940
크기가 바뀌어요 우리가 원하는 숫자로
2012
01:09:56,940 --> 01:09:58,800
바뀌는 거예요 그거 디멘션 리덕션
2013
01:09:58,800 --> 01:10:00,840
해주는 오퍼레이션이에요
2014
01:10:00,840 --> 01:10:03,739
저걸 써 가지고
2015
01:10:04,620 --> 01:10:07,260
크기를 줄여주는 거고 그 다음에
2016
01:10:07,260 --> 01:10:10,020
쿼리 키 밸류 가지고 우리가 그
2017
01:10:10,020 --> 01:10:11,880
셀프어텐션 할 때 저거 줄어든 크기로
2018
01:10:11,880 --> 01:10:13,920
하는 거예요 그래서이 이후로는 다
2019
01:10:13,920 --> 01:10:16,080
그냥 cbt에 있는 아이디어 그대로
2020
01:10:16,080 --> 01:10:18,300
갔다고 보시면 되는데 그걸 제가
2021
01:10:18,300 --> 01:10:19,980
여기다 지금 그려놨어요
2022
01:10:19,980 --> 01:10:21,480
요게 아까 우리가 봤던 CBT
2023
01:10:21,480 --> 01:10:22,980
모델이죠
2024
01:10:22,980 --> 01:10:24,960
색깔도 그대로 가져왔어요
2025
01:10:24,960 --> 01:10:27,179
이게 지금이 모델에 있는
2026
01:10:27,179 --> 01:10:29,219
mvit 아키텍처에요
2027
01:10:29,219 --> 01:10:30,300
자
2028
01:10:30,300 --> 01:10:32,100
데이터가 일단 들어오고요
2029
01:10:32,100 --> 01:10:35,280
큐브 1이 아까 거기 있던 컴퓨터큰
2030
01:10:35,280 --> 01:10:36,780
인베릭 레이어 요거랑 되게 비슷한
2031
01:10:36,780 --> 01:10:39,780
역할을 하는 거예요 여기 보시면은
2032
01:10:39,780 --> 01:10:41,460
스트라이드 크기 조절해 가지고
2033
01:10:41,460 --> 01:10:43,320
얘가 그
2034
01:10:43,320 --> 01:10:44,880
얼마나 줄어들게 될지를 정한다 그랬죠
2035
01:10:44,880 --> 01:10:46,679
그거 가지고 하는게 똑같은 거예요
2036
01:10:46,679 --> 01:10:48,679
시간축만 추가된 거예요
2037
01:10:48,679 --> 01:10:51,239
여기 보면 시간적으로 가는
2038
01:10:51,239 --> 01:10:53,159
스트라이드로 나눠지고 공간 쪽은
2039
01:10:53,159 --> 01:10:54,960
아까랑 똑같이 4로 나눠진게 크기가
2040
01:10:54,960 --> 01:10:56,880
이렇게 줄어들게 되겠죠 그거
2041
01:10:56,880 --> 01:10:58,920
해주는게요 큐브 원이고요
2042
01:10:58,920 --> 01:11:01,140
그 다음에
2043
01:11:01,140 --> 01:11:03,120
nvit는 이제 피처맵을 줄일 때
2044
01:11:03,120 --> 01:11:06,120
풀링 오퍼레이션을 써요이 이후로는
2045
01:11:06,120 --> 01:11:07,679
그
2046
01:11:07,679 --> 01:11:09,179
cbt에서는 아까 컴퓨슨다 그랬는데
2047
01:11:09,179 --> 01:11:11,940
얘는 풀링을 써주게 돼요 사실 그
2048
01:11:11,940 --> 01:11:13,500
컨트롤 쓰는게 더 제너럴 하다고
2049
01:11:13,500 --> 01:11:15,480
우리가 얘기를 했었죠 앞부분에서
2050
01:11:15,480 --> 01:11:16,140
근데
2051
01:11:16,140 --> 01:11:17,760
얘는 그냥 아예 픽스되어 있는 풀링
2052
01:11:17,760 --> 01:11:19,500
오퍼레이션을 써가지고 더
2053
01:11:19,500 --> 01:11:21,179
계산을 줄이는 방식으로
2054
01:11:21,179 --> 01:11:21,800
택했어요
2055
01:11:21,800 --> 01:11:23,820
여기서부터는 그냥
2056
01:11:23,820 --> 01:11:25,380
mhp랑 mmp가 이렇게 쭉 돌아가게
2057
01:11:25,380 --> 01:11:26,520
되는데
2058
01:11:26,520 --> 01:11:28,739
얘가 결국 뭐냐면은 그
2059
01:11:28,739 --> 01:11:31,140
cbt에서 그
2060
01:11:31,140 --> 01:11:32,520
헌드 트랜스포머 블록 그거랑 같은
2061
01:11:32,520 --> 01:11:34,380
거예요 거기 안에 mlp가 들어가
2062
01:11:34,380 --> 01:11:35,400
있었는데
2063
01:11:35,400 --> 01:11:37,440
걔네들을 얘기하는 거예요
2064
01:11:37,440 --> 01:11:39,239
그냥
2065
01:11:39,239 --> 01:11:40,620
종합적으로 보면은 cbt랑 굉장히
2066
01:11:40,620 --> 01:11:43,920
비슷하게 생겼는데 시간축이 추가된거다
2067
01:11:43,920 --> 01:11:46,140
큰 골짜고요 미니멀한 차이들이 이렇게
2068
01:11:46,140 --> 01:11:48,480
조금씩 있어요 그 정도를 이해해
2069
01:11:48,480 --> 01:11:50,159
두시고 논문 한번 보시면 괜찮을 것
2070
01:11:50,159 --> 01:11:52,280
같습니다
2071
01:11:52,980 --> 01:11:55,380
자 얘는요
2072
01:11:55,380 --> 01:11:58,800
성능이 굉장히 좋은데 그 일단
2073
01:11:58,800 --> 01:12:01,080
bbc랑 트랜스포머를 약간
2074
01:12:01,080 --> 01:12:04,020
차이로 이겼어요 그리고
2075
01:12:04,020 --> 01:12:05,460
계산량을 훨씬 더 줄였다는게
2076
01:12:05,460 --> 01:12:07,980
특징이에요이 비빅 같은 경우에는
2077
01:12:07,980 --> 01:12:09,780
굉장히 무식하게 그 어텐션을 다
2078
01:12:09,780 --> 01:12:10,860
했었잖아요
2079
01:12:10,860 --> 01:12:12,540
얘는 근데 컨버션을 도입했기 때문에
2080
01:12:12,540 --> 01:12:14,400
계산이 훨씬 더 효율적이 됐다라는
2081
01:12:14,400 --> 01:12:15,960
거고요
2082
01:12:15,960 --> 01:12:17,400
CNN 모델들하고 비교를 해도 성능이
2083
01:12:17,400 --> 01:12:18,900
더 좋아지는데
2084
01:12:18,900 --> 01:12:20,760
x3d가 우리가 우리 그 cnn에서
2085
01:12:20,760 --> 01:12:23,040
마지막에 배웠던 모델이었죠
2086
01:12:23,040 --> 01:12:26,340
얘보다는 100배의
2087
01:12:30,000 --> 01:12:32,520
코스트를 써서 이겼어요
2088
01:12:32,520 --> 01:12:34,920
얘는 좀 가벼운 모델이에요 그리고
2089
01:12:34,920 --> 01:12:36,120
슬로우 패스를 이거보다 좀 무거운
2090
01:12:36,120 --> 01:12:39,239
모델인데 비슷한 수준의
2091
01:12:39,239 --> 01:12:40,440
약간 더 이겼다 뭐 그래서 그림
2092
01:12:40,440 --> 01:12:41,760
보시면은
2093
01:12:41,760 --> 01:12:43,980
우리가 최고다예요 한마디로 말하면
2094
01:12:43,980 --> 01:12:44,760
근데
2095
01:12:44,760 --> 01:12:46,620
기존에 좀 가벼웠던 모델들보다는
2096
01:12:46,620 --> 01:12:48,239
훨씬 무거워졌지만 훨씬 더 잘해
2097
01:12:48,239 --> 01:12:49,500
그리고
2098
01:12:49,500 --> 01:12:52,020
기존에 좀 그 무거웠던 모델들보다는
2099
01:12:52,020 --> 01:12:54,300
우리가 그래도 조금 더 잘해 비슷하게
2100
01:12:54,300 --> 01:12:55,980
쓰는데이 정도의
2101
01:12:55,980 --> 01:12:58,159
결론입니다
2102
01:12:59,760 --> 01:13:00,659
굉장히 빠르게
2103
01:13:00,659 --> 01:13:02,340
여러가지 최신 모델들을 좀 살펴봤는데
2104
01:13:02,340 --> 01:13:04,380
일단 제가이 강의는 오늘 처음 하는
2105
01:13:04,380 --> 01:13:06,719
거예요 오늘 수업을 위해서 다
2106
01:13:06,719 --> 01:13:09,420
만들었어요이 수업이 2021년에
2107
01:13:09,420 --> 01:13:10,679
열리고
2108
01:13:10,679 --> 01:13:12,600
처음이거든요 작년에 개설을 안
2109
01:13:12,600 --> 01:13:14,820
했어가지고 보시면 알겠지만 오늘 배운
2110
01:13:14,820 --> 01:13:17,460
논문들은 다 21년 22년 23년
2111
01:13:17,460 --> 01:13:19,860
초는 없었나 되게 최근에 나온
2112
01:13:19,860 --> 01:13:22,860
모델들이에요 지금도 되게 액티브하게
2113
01:13:22,860 --> 01:13:23,960
베이스 라인으로 많이 쓰이고 있고
2114
01:13:23,960 --> 01:13:26,340
여러분들이 비디오 관련된 연구를 한다
2115
01:13:26,340 --> 01:13:28,020
그러면은 그냥
2116
01:13:28,020 --> 01:13:30,060
기본적으로 가져다가 쓸 수도 있고 또
2117
01:13:30,060 --> 01:13:31,860
비교 대상이 되기도 하는
2118
01:13:31,860 --> 01:13:33,300
여전히 좀 연구가 많이 되고 있는
2119
01:13:33,300 --> 01:13:36,060
모델들이니까 좀 잘 알아두시면 많이
2120
01:13:36,060 --> 01:13:38,159
도움이 될 것 같고요
2121
01:13:38,159 --> 01:13:39,239
추가적으로 모델 몇 개 더 적어
2122
01:13:39,239 --> 01:13:40,620
놨는데 일단
2123
01:13:40,620 --> 01:13:42,600
서베이가 나왔어요 뭐 퀄리티는 사실
2124
01:13:42,600 --> 01:13:44,040
잘 모르겠어요 자세히는 안 읽어
2125
01:13:44,040 --> 01:13:46,860
봤는데 22년도 1월에 이쪽 분야에
2126
01:13:46,860 --> 01:13:48,840
최신 기술들을 잘 정리해 놓은
2127
01:13:48,840 --> 01:13:50,360
서베이논문이 나왔고요
2128
01:13:50,360 --> 01:13:52,739
유니폼어라는 것도 있고
2129
01:13:52,739 --> 01:13:54,900
셀프바이즈 하게 하는 것도 있고 뭐
2130
01:13:54,900 --> 01:13:56,460
디폼오버로텐션이라는 것도 있어요 제가
2131
01:13:56,460 --> 01:13:58,500
시간이 되면 이것도 강의하려고
2132
01:13:58,500 --> 01:14:00,780
했었는데 뭐 여기는 그냥 참고자료로만
2133
01:14:00,780 --> 01:14:03,840
일단 넣고 너무 욕심부리면 여러분들이
2134
01:14:03,840 --> 01:14:06,420
힘드니까 일단 오늘 수업은이 정도까지
2135
01:14:06,420 --> 01:14:07,560
하고
2136
01:14:07,560 --> 01:14:08,940
트랜스포머 지난 시간
2137
01:14:08,940 --> 01:14:10,679
하고 이제 이어가지고
2138
01:14:10,679 --> 01:14:12,199
트랜스포머가 어떤 식으로 돌아가고
2139
01:14:12,199 --> 01:14:15,239
이것들이 어떤 장단점이 있고 그
2140
01:14:15,239 --> 01:14:16,440
다음에 이제 비주얼 데이터에 어떻게
2141
01:14:16,440 --> 01:14:18,260
적용이 되는지까지 봤어요
2142
01:14:18,260 --> 01:14:20,760
이후부터는 우리가
2143
01:14:20,760 --> 01:14:22,260
멀티모델리티 뭐 이런 거를 들어갈
2144
01:14:22,260 --> 01:14:24,900
건데 그 전에 아마 다음 시간에는
2145
01:14:24,900 --> 01:14:27,540
오브젝트 디텍션을 보게 될 거예요
2146
01:14:27,540 --> 01:14:30,719
그래서 그 멀티모날리지 들어가기 전에
2147
01:14:30,719 --> 01:14:32,520
디텍션이랑 세그멘테이션 태스크를 먼저
2148
01:14:32,520 --> 01:14:34,620
한번 좀 보고 거기도 다시
2149
01:14:34,620 --> 01:14:36,719
옛날로 돌아가서 전통적인 모델부터
2150
01:14:36,719 --> 01:14:37,860
조금 살펴보고
2151
01:14:37,860 --> 01:14:39,120
트랜스포머 써서 최근에 어떻게 하고
2152
01:14:39,120 --> 01:14:41,460
있는지도 볼 거고요 그런 다음에 이제
2153
01:14:41,460 --> 01:14:43,920
멀티모델리티랑 뭐 마지막에 제너레이트
2154
01:14:43,920 --> 01:14:46,820
모델 이렇게 나온 거 같아요
2155
01:14:48,380 --> 01:14:50,820
아까 말씀드린 대로 다음 주는 수업이
2156
01:14:50,820 --> 01:14:51,960
없습니다
2157
01:14:51,960 --> 01:14:55,140
다음 주는 정규 수업이 없고 비디오
2158
01:14:55,140 --> 01:14:56,640
시청하는 것도 따로 없고요 프로젝트
2159
01:14:56,640 --> 01:14:58,800
하시면 됩니다 다음 주에는 그리고
2160
01:14:58,800 --> 01:15:00,719
프로젝트 중간 보고서 공지 올라가
2161
01:15:00,719 --> 01:15:01,760
있으니까
2162
01:15:01,760 --> 01:15:04,460
그때까지 잘 해서 마무리 해주시고
2163
01:15:04,460 --> 01:15:06,600
제출하는 거 제가 곧 만들게요
2164
01:15:06,600 --> 01:15:08,340
dll에서
2165
01:15:08,340 --> 01:15:10,940
혹시 질문 있으신가요
2166
01:15:15,920 --> 01:15:18,120
없으시면 오늘 수업 여기까지
2167
01:15:18,120 --> 01:15:21,360
하겠습니다 수고하셨습니다
157649
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.