forked from chenzomi12/AISystem
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path04.srt
1900 lines (1425 loc) · 30 KB
/
04.srt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1
00:00:00,000 --> 00:00:04,480
字幕生成: BLACK 字幕校对: 方鸿渐
2
00:00:06,720 --> 00:00:07,760
哈喽大家好
3
00:00:07,760 --> 00:00:10,320
今天晚上的更新应该是比较早的
4
00:00:10,320 --> 00:00:14,160
现在才22点52分
5
00:00:14,160 --> 00:00:16,160
也就是11点左右
6
00:00:16,160 --> 00:00:17,600
没有像以前那么晚了
7
00:00:17,600 --> 00:00:20,160
今天我给大家带来的一个内容
8
00:00:20,160 --> 00:00:24,000
就是推理系统或者推理引擎里面的模型小型化
9
00:00:24,000 --> 00:00:25,200
这里面呢
10
00:00:25,200 --> 00:00:27,280
对提一点我是ZOMI
11
00:00:27,360 --> 00:00:30,400
今天我要给大家带来一个比较新的内容
12
00:00:30,400 --> 00:00:34,320
就是Transformer这个结构的一些模型小型化
13
00:00:34,320 --> 00:00:36,640
在前两节内容里面呢
14
00:00:36,640 --> 00:00:42,160
主要是关心传统的CNN网络模型结构的一个小型化
15
00:00:42,160 --> 00:00:44,000
这个内容也是比较传统
16
00:00:44,000 --> 00:00:47,600
或者研究的已经算是比较明白了
17
00:00:47,600 --> 00:00:49,760
现在来看一个新的内容
18
00:00:49,760 --> 00:00:52,000
业界也是玩的不是说非常明白
19
00:00:52,000 --> 00:00:54,160
或者研究的不是说非常明白
20
00:00:54,240 --> 00:00:57,680
也有很多可以发paper还有研究的点
21
00:00:57,680 --> 00:01:02,560
这个内容也就是Transformer结构的小型化
22
00:01:02,560 --> 00:01:07,840
这里面就非常欢迎大家可以在Transformer小型化里面
23
00:01:07,840 --> 00:01:11,120
做非常多的科研的创新和研究了
24
00:01:12,720 --> 00:01:14,640
现在来看一下这个图
25
00:01:14,640 --> 00:01:18,960
这个图其实在分布式并行里面已经讲过很多次了
26
00:01:19,040 --> 00:01:22,960
可以看到随着应该是从2016年到17年
27
00:01:22,960 --> 00:01:24,560
Transformer结构推出之后
28
00:01:25,200 --> 00:01:28,640
到2022年也就是截止到目前为止
29
00:01:28,640 --> 00:01:32,640
网络模型需要的参数量和计算量
30
00:01:32,640 --> 00:01:34,000
是节节的攀升
31
00:01:34,000 --> 00:01:36,240
而这里面有一个比较大的一个起点
32
00:01:36,240 --> 00:01:38,880
就是Large Scale大规模的数据化
33
00:01:38,880 --> 00:01:40,880
或者大规模的分布式并行
34
00:01:40,880 --> 00:01:43,680
而这个得益于Transformer结构出现之后
35
00:01:43,680 --> 00:01:46,480
可以看到这里面不管是Megatron, GPT-3
36
00:01:46,480 --> 00:01:48,720
还有盘古这些大模型
37
00:01:48,720 --> 00:01:52,480
所以导致网络模型参数量急剧的膨胀
38
00:01:52,480 --> 00:01:55,120
这个网络模型的参数量急剧的膨胀
39
00:01:55,120 --> 00:01:58,720
引起了现在来到了一个大模型的阶段
40
00:01:58,720 --> 00:02:02,160
也同时催生了很多预训练模型的出现
41
00:02:02,160 --> 00:02:03,440
有了预训练模型之后
42
00:02:03,440 --> 00:02:05,680
只需要去开发对应的下游任务
43
00:02:05,680 --> 00:02:08,800
就可以解决很多像以前模型的碎片化的问题
44
00:02:10,640 --> 00:02:12,160
关于大模型这个结构
45
00:02:12,160 --> 00:02:14,080
非常欢迎大家去看一下
46
00:02:14,080 --> 00:02:17,040
分布式并行里面的大模型训练和挑战
47
00:02:17,040 --> 00:02:19,120
大模型经典的算法结构
48
00:02:19,120 --> 00:02:20,720
这里面就是讲Transformer
49
00:02:20,720 --> 00:02:22,880
还有BERT这些大模型的引起
50
00:02:22,880 --> 00:02:26,160
还有针对一些千亿万亿规模的
51
00:02:26,160 --> 00:02:28,560
SOTA大模型的一些深度的剖析
52
00:02:30,000 --> 00:02:31,600
回到今天的内容里面
53
00:02:31,600 --> 00:02:33,440
其实可以看到大模型
54
00:02:33,440 --> 00:02:35,440
最开始是由Transformer
55
00:02:35,440 --> 00:02:36,720
就是Attention is all you need
56
00:02:36,720 --> 00:02:38,480
这篇文章所引起的
57
00:02:38,480 --> 00:02:39,600
而左边的这个
58
00:02:39,600 --> 00:02:42,000
就是Transformer的网络模型的结构
59
00:02:42,000 --> 00:02:43,120
看上去比较复杂
60
00:02:43,200 --> 00:02:45,760
其实就是由一个多头注意力机制
61
00:02:45,760 --> 00:02:46,640
去叠加两层
62
00:02:46,640 --> 00:02:47,680
然后加一个Layer Norm
63
00:02:47,680 --> 00:02:48,800
再加一个Feed Forward
64
00:02:48,800 --> 00:02:51,200
然后不断的一层层累积上去的
65
00:02:51,200 --> 00:02:52,400
这种网络模型结构
66
00:02:53,200 --> 00:02:54,720
当然了左边的这种结构
67
00:02:54,720 --> 00:02:57,840
主要是针对NLP的一些数据进行处理的
68
00:02:57,840 --> 00:03:01,120
后来谷歌又发了一篇文章叫做VIT
69
00:03:01,680 --> 00:03:04,160
这里面就提出了一种新的idea
70
00:03:04,160 --> 00:03:06,480
把图片的数据变成一个patch
71
00:03:06,480 --> 00:03:08,480
然后做一些embedding的操作
72
00:03:08,480 --> 00:03:10,720
最后输进去网络模型结构
73
00:03:10,720 --> 00:03:12,560
就是Transformer的encoder
74
00:03:12,560 --> 00:03:14,320
Transformer左边的这个是encoder
75
00:03:14,320 --> 00:03:15,840
右边的这个是decoder
76
00:03:16,240 --> 00:03:17,280
通过这种方式
77
00:03:17,360 --> 00:03:20,240
把视觉引到Transformer结构里面
78
00:03:20,240 --> 00:03:21,680
所以Transformer的结构
79
00:03:21,680 --> 00:03:24,080
又进一步的燃烧到不同的领域
80
00:03:25,520 --> 00:03:28,800
下面这个就是整个Transformer的结构了
81
00:03:28,800 --> 00:03:30,000
那往下看一下
82
00:03:30,000 --> 00:03:32,320
假设输入是我是李雷
83
00:03:32,880 --> 00:03:33,840
把这个数据
84
00:03:33,840 --> 00:03:35,600
进行一个embedded操作之后
85
00:03:35,600 --> 00:03:38,720
去给很多个Transformer的encoder
86
00:03:38,720 --> 00:03:39,360
之后
87
00:03:39,360 --> 00:03:40,800
再把最后一层的encoder
88
00:03:40,880 --> 00:03:42,880
给不同的decoder
89
00:03:42,880 --> 00:03:44,240
最后再output
90
00:03:44,240 --> 00:03:45,200
那这种方式
91
00:03:45,440 --> 00:03:48,080
主要是有很多个刚才介绍的
92
00:03:48,640 --> 00:03:50,480
左边的encoder跟decoder
93
00:03:50,480 --> 00:03:52,320
去进行一个组合
94
00:03:52,320 --> 00:03:53,200
通过这种方式
95
00:03:53,280 --> 00:03:55,520
使得网络模型的参数量
96
00:03:55,920 --> 00:03:57,680
进一步的增加
97
00:03:57,680 --> 00:03:58,880
就是这种方式
98
00:03:58,880 --> 00:04:01,280
去组成了大模型的时代
99
00:04:01,920 --> 00:04:02,480
可以看到
100
00:04:02,480 --> 00:04:05,920
其实Transformer的效果还是非常的好
101
00:04:05,920 --> 00:04:09,280
基本上完胜了传统的LSTM跟RNN的
102
00:04:09,360 --> 00:04:11,760
能够处理非常长的时序的问题
103
00:04:13,280 --> 00:04:14,800
但是有一个比较大的问题
104
00:04:14,800 --> 00:04:16,400
网络模型的参数量
105
00:04:16,400 --> 00:04:17,360
大上去之后
106
00:04:17,360 --> 00:04:19,040
精度确实提升了
107
00:04:19,040 --> 00:04:20,160
但是要考虑一点
108
00:04:20,160 --> 00:04:21,040
就是怎么样
109
00:04:21,040 --> 00:04:23,280
大模型进行部署起来了
110
00:04:23,280 --> 00:04:24,560
怎么把大模型
111
00:04:24,560 --> 00:04:26,240
真正的用起来呢
112
00:04:26,240 --> 00:04:27,920
这个时候又有很多人
113
00:04:27,920 --> 00:04:30,560
去研究大模型的小型化了
114
00:04:30,560 --> 00:04:31,920
而大模型说实话
115
00:04:32,480 --> 00:04:33,760
Transformer的参数量
116
00:04:33,760 --> 00:04:34,960
从千万的级别开始
117
00:04:34,960 --> 00:04:36,560
到BERT到E级别
118
00:04:36,560 --> 00:04:38,720
后来Transformer的这种大模型结构
119
00:04:38,720 --> 00:04:41,600
从10万、百万、千万
120
00:04:41,600 --> 00:04:44,000
到后来加上Transformer M1的这种结构
121
00:04:44,000 --> 00:04:45,680
到了万亿规模
122
00:04:45,680 --> 00:04:47,200
规模的参数量这么大
123
00:04:47,200 --> 00:04:49,120
单纯存一个网络模型
124
00:04:49,120 --> 00:04:50,640
都已经到几个GB了
125
00:04:50,640 --> 00:04:52,640
怎么对网络模型进行压缩
126
00:04:52,640 --> 00:04:55,600
就变得非常之热门的话题了
127
00:04:56,400 --> 00:04:58,240
于是可以看到
128
00:04:58,240 --> 00:04:59,280
其实这里面Inference
129
00:04:59,280 --> 00:05:00,960
就是参考的文献
130
00:05:00,960 --> 00:05:02,640
我分开了三段
131
00:05:02,640 --> 00:05:03,760
前面第一段
132
00:05:03,760 --> 00:05:07,440
就是针对NLP领域的一些压缩
133
00:05:07,680 --> 00:05:09,760
中间就针对CV的压缩
134
00:05:09,760 --> 00:05:12,480
后面主要是针对多模态的压缩
135
00:05:12,480 --> 00:05:14,160
时间还是都比较新的
136
00:05:14,160 --> 00:05:16,320
有些可能才刚发表没多久
137
00:05:16,320 --> 00:05:18,640
Q8BERT、DistilBert、TinyBERT
138
00:05:18,640 --> 00:05:20,400
这些都是用了一些量化
139
00:05:20,400 --> 00:05:22,320
或者压缩剪枝的方法
140
00:05:22,320 --> 00:05:26,000
下面这种TinyVIT、DynamicVIT、MiniVIT
141
00:05:26,000 --> 00:05:27,840
大部分也是用了剪枝蒸馏
142
00:05:27,840 --> 00:05:29,440
压缩量化的方法
143
00:05:29,440 --> 00:05:31,440
而下面这个也是
144
00:05:31,440 --> 00:05:33,520
大模型或者Transformer结构里面
145
00:05:33,520 --> 00:05:35,680
进行一个模型的压缩小型化
146
00:05:36,240 --> 00:05:37,920
大部分都是采用了
147
00:05:37,920 --> 00:05:40,240
传统的压缩方法的4件套
148
00:05:40,240 --> 00:05:43,120
量化、剪枝、蒸馏、低秩分解
149
00:05:44,000 --> 00:05:45,280
通过这4种方法
150
00:05:45,280 --> 00:05:47,200
来进行一个网络模型的压缩的
151
00:05:47,200 --> 00:05:49,200
但是今天的主角
152
00:05:49,200 --> 00:05:53,600
还是回到网络模型的结构的轻量化
153
00:05:53,600 --> 00:05:55,920
通过优化网络模型的结构
154
00:05:55,920 --> 00:05:57,040
使得网络模型
155
00:05:57,040 --> 00:05:59,600
在保存相同的精度的前提下
156
00:05:59,600 --> 00:06:01,760
网络模型的参数量进一步的减少
157
00:06:01,760 --> 00:06:03,360
这里面有比较著名的
158
00:06:03,360 --> 00:06:06,320
就是MobileVIT是Facebook发明的
159
00:06:06,320 --> 00:06:07,840
后来又出现了Mobileformer
160
00:06:07,840 --> 00:06:08,720
Efficientformer
161
00:06:08,720 --> 00:06:10,800
各种former的这种结构
162
00:06:10,800 --> 00:06:12,800
下面来去看一些
163
00:06:12,800 --> 00:06:16,000
SOTA的轻量级的Transformer的网络模型结构
164
00:06:18,560 --> 00:06:21,840
现在来到MobileVIT这篇文章
165
00:06:22,400 --> 00:06:23,840
在这篇文章提出的时候
166
00:06:23,840 --> 00:06:27,040
作者就在想像传统的CNN网络模型
167
00:06:27,040 --> 00:06:29,840
它的一个模型或者网络模型的小型化
168
00:06:29,840 --> 00:06:32,080
其实是非常成功的
169
00:06:32,240 --> 00:06:34,400
有没有可能去结合
170
00:06:34,400 --> 00:06:36,720
传统的MobileNet这种网络模型的
171
00:06:36,720 --> 00:06:37,600
轻量化的结构
172
00:06:37,600 --> 00:06:40,400
然后再把Transformer的网络模型结构的优势
173
00:06:40,400 --> 00:06:41,360
加进去呢
174
00:06:41,920 --> 00:06:43,120
基于这个想法
175
00:06:43,840 --> 00:06:47,280
于是作者就提出了MobileVIT的网络模型
176
00:06:47,280 --> 00:06:49,520
而且里面就提出了一个
177
00:06:49,520 --> 00:06:52,160
MobileVIT block的这种结构
178
00:06:52,160 --> 00:06:55,280
首先来看看网络模型的性能
179
00:06:55,280 --> 00:06:57,040
可以看到从这个图
180
00:06:57,040 --> 00:06:58,880
网络模型的性能基本上
181
00:06:58,880 --> 00:07:02,400
MobileVIT的一个网络模型的参数量
182
00:07:02,400 --> 00:07:04,400
大概有600万左右
183
00:07:04,400 --> 00:07:06,880
它只有2.7MB
184
00:07:06,880 --> 00:07:08,880
它的网络模型的参数量的大小
185
00:07:08,880 --> 00:07:10,400
确实比MobileNet V3
186
00:07:10,400 --> 00:07:12,320
还有NASNet确实要小
187
00:07:12,320 --> 00:07:16,320
而且性能有很好的提升
188
00:07:16,320 --> 00:07:18,240
在ImageNet分类模型里面
189
00:07:18,240 --> 00:07:21,760
就已经达到了78%的一个网络模型的精度
190
00:07:21,760 --> 00:07:24,800
那了解完它的一个基本的内容之后
191
00:07:24,800 --> 00:07:27,680
来看看它的网络模型结构
192
00:07:27,680 --> 00:07:32,160
下面这个图就是MobileVIT的网络模型结构
193
00:07:32,160 --> 00:07:36,000
可以看到假设一张图输入进去之后
194
00:07:36,000 --> 00:07:39,520
经过一个卷积MV2 MV2 MV2
195
00:07:39,520 --> 00:07:43,040
接着有一个MobileVIT block的这种结构
196
00:07:43,040 --> 00:07:44,640
它分颜色
197
00:07:44,640 --> 00:07:49,200
红色的这个其实叫做MobileNet V2的这个block
198
00:07:49,200 --> 00:07:52,480
引用了MobileNet V2的网络模型轻量化的结构
199
00:07:52,480 --> 00:07:57,120
但是在中间插入了一个MobileVIT的block
200
00:07:57,120 --> 00:08:00,480
MobileVIT的block就像上面所示
201
00:08:00,480 --> 00:08:04,160
首先它的输入是经过一个卷积层的feature map
202
00:08:04,160 --> 00:08:08,960
这个feature map给一个卷积NxN的网络模型进行一个卷积
203
00:08:08,960 --> 00:08:13,040
这个卷积的作用主要是做一些局部的特征提取
204
00:08:13,040 --> 00:08:15,360
接着运行一个一层一的卷积
205
00:08:15,360 --> 00:08:19,600
把网络模型的feature map投射到一个高维的空间里面
206
00:08:19,600 --> 00:08:21,200
接着通过一个unfold
207
00:08:21,200 --> 00:08:23,600
把网络模型结构展开成为transformer
208
00:08:23,600 --> 00:08:25,760
可以输入的网络模型的方式
209
00:08:25,840 --> 00:08:28,640
接着利用transformer QKV的这种方式
210
00:08:28,640 --> 00:08:30,480
去对全局的feature map
211
00:08:30,480 --> 00:08:32,960
就全局的特征进行一个提取
212
00:08:32,960 --> 00:08:36,240
然后再fold成原来的这种格式
213
00:08:36,240 --> 00:08:38,720
接着再做一个一层一的卷积
214
00:08:38,720 --> 00:08:42,400
再运行一个NxN的卷积最后输出
215
00:08:42,400 --> 00:08:44,560
输入跟输出是相同的
216
00:08:44,560 --> 00:08:47,680
中间为了给transformer的网络模型结构
217
00:08:47,680 --> 00:08:49,440
去做一个全局的感知
218
00:08:49,440 --> 00:08:51,920
于是做了一些简单的变换
219
00:08:51,920 --> 00:08:55,200
通过这种方式就实现了一个MobileVIT结构了
220
00:08:56,720 --> 00:09:01,040
好,现在来看看同年的第二个工作
221
00:09:01,040 --> 00:09:04,240
就是MobileFormer这篇文章
222
00:09:05,200 --> 00:09:07,200
像MobileFormer这篇文章
223
00:09:07,200 --> 00:09:10,160
其实跟刚才有点异曲同工之妙
224
00:09:10,160 --> 00:09:13,840
同样也是Bridging MobileNet and Transformer
225
00:09:13,840 --> 00:09:17,040
把MobileNet跟Transformer融合起来
226
00:09:17,040 --> 00:09:19,760
刚才那篇文章是Apple发明的
227
00:09:19,760 --> 00:09:22,960
而这篇文章是Microsoft去提出来的
228
00:09:22,960 --> 00:09:25,040
确实还挺有趣的
229
00:09:25,280 --> 00:09:29,360
下面简单的去看看这篇文章有什么不一样
230
00:09:30,080 --> 00:09:34,000
上面的这个图就是MobileFormer的整个网络模型的结构
231
00:09:34,000 --> 00:09:39,120
可以看到左边这个就是MobileNet的一个结构模型
232
00:09:39,120 --> 00:09:42,640
右边的这条分支就是Transformer的一个结构模型
233
00:09:42,640 --> 00:09:47,040
这边就以并行的方式去运行两个不同的block
234
00:09:47,040 --> 00:09:48,400
左边就是MobileNet block
235
00:09:48,400 --> 00:09:50,000
右边就是Transformer的block
236
00:09:50,000 --> 00:09:53,680
可以看到下面以虚线的框为例子
237
00:09:53,680 --> 00:09:58,480
左边的MobileNet block会把一些参数传给Transformer
238
00:09:58,480 --> 00:10:01,360
这个叫做MobileNet to Former
239
00:10:01,360 --> 00:10:02,560
Transformer学习完之后
240
00:10:02,560 --> 00:10:05,840
也会把它的一些feature map传给MobileNet
241
00:10:05,840 --> 00:10:09,040
这个就是它最简单的MobileFormer的结构
242
00:10:09,040 --> 00:10:10,960
往下再看一下
243
00:10:11,760 --> 00:10:16,640
这个图会更加清晰去讲讲它整个MobileFormer的block
244
00:10:16,640 --> 00:10:19,120
左下角这个就是MobileNet的一个block
245
00:10:19,120 --> 00:10:21,200
可以看到基本上就有一个卷积 ReLU
246
00:10:21,600 --> 00:10:22,720
Depth-wise 卷积 ReLU
247
00:10:23,680 --> 00:10:25,760
然后再看看右上角
248
00:10:25,760 --> 00:10:29,200
右上角就是一个Transformer的简单的encoder
249
00:10:29,200 --> 00:10:30,800
通过一个multi-head attention
250
00:10:30,800 --> 00:10:32,960
然后加一个ffn的层