Sunday, March 07, 2021

深度學習經典論文

深度學習經典論文

2021/01/28

-----

前言:

若將深度學習的核心濃縮成兩個主題:在電腦視覺 Computer Vision(CV)上,可說 CV 就是 ResNet,Ensemble 的 CNN。在自然語言處理 Natural Language Processing(NLP)上,可說 NLP 就是文字向量在垂直上的詞義 word meaning、句法 syntax、語義 semantic 分解與水平上的 Query、Key、Value(QKV)分解。底下以四十篇論文來闡述這個論點。

-----


https://pixabay.com/zh/photos/camera-photographs-souvenir-1130731/

-----

以下是論文閱讀順序的編排:

分成十個階段,選擇四十篇論文,CV 與 NLP 各半,「簡述」十篇深度學習經典論文(LeNet、NIN、ResNet、FCN、YOLO、LSTM、Seq2se2、Attention、ConvS2S、Transformer) 跟延伸的主題(AlexNet、GoogLeNet、DenseNet、PFPNet、Mask R-CNN、Word2vec、Paragraph2vec、Short Attention、ELMo、BERT)。

-----

01A:LeNet。01B:AlexNet(可補充 Dropout)。

02A:NIN(可補充 SENet)。02B:GoogLeNet(可補充 Inception v3,Label smoothing)。

03A:ResNet。03B:DenseNet(可補充 CSPNet,YOLO v4 的骨幹網路)。

04A:FCN。04B:PFPNet(可補充 Faster R-CNN 與之前的論文)。

05A:YOLO(可補充 YOLO v4)。05B:Mask R-CNN(可補充 Faster R-CNN 與之後的論文)。

-----

06A:LSTM。06B:Word2vec(詞義、句法)(可補充 C&W v2)。

07A:Seq2seq。07B:Paragraph2vec(詞義、句法、語義)(可補充 Skip-thought)。

08A:Attention。08B:Short Attention(QKV,水平分解)。

09A:ConvS2S。09B:ELMo(詞義、句法、語義,的垂直分解)(可補充 Context2vec)。

10A:Transformer。10B:BERT(詞義、句法、語義,的垂直分工,可補充 BERT NLP Pipeline)。

-----

Summary:


以下是 CV [1]-[20]。


1998 的 LeNet [1] 是經典的卷積神經網路 Convolutional Neural Network(CNN),架構包含卷積層、機活函數、池化層、全連接層、輸出層、損失函數、梯度下降與反向傳播的介紹。

2012 的 AlexNet [2] 則是第一個大獲成功的 CNN,它的圖片與資料集都比 LeNet 大。除了使用 GPU 加速,也整合了當時許多的技巧,最重要的是 Dropout [3]。Dropout 是以隨機丟棄神經元的訓練方式,使得網路具有多個子網路的平均的加成效果。Dropout 的技巧也被用在 Transformer 上。

NIN [4] 藉著通道間特徵圖的重新融合,不僅提高正確率,它的主要技巧 Conv1 可以用來升降維(增多或減少特徵圖數量)也成為後續神經網路的標準配備。SENet [5] 也探討通道間的特徵圖,但它不是如 NIN 的重新融合,而是就單一特徵圖整張的值進行放大或縮小。

GoogLeNet [6] 是 AlexNet 之後成功的深層網路,它運用 NIN 的 Conv1 將 5x5、3x3、1x1、Maxpooling 四種特徵圖重新融合並持續加深,獲得了 AlexNet 之後,新的成功。GoogLeNet 又可稱為 Inception v1。Inception v3 [7] 有一個 Label Smoothing 的技巧,有正規化的功能,可以減少過度擬合,Label Smoothing 的技巧也被用在 Transformer 上。

ResNet [8] - [12] 可說是 CNN 的核心。ResNet v1 [8] 加上 identity mapping,成功地將 VGGNet 的十九層推進到百層,但無法到千層。ResNet-D [9] 則加上 Dropout 的技巧隨機丟棄一些卷積層,成功地將網路推進到千層。ResNet v2 [10] 則是將 ReLU 搬到 identity mapping 之外,不需使用 Dropout 的技巧,也可以將網路推進到千層。ResNet-E [11] 分析了 ResNet v2,發現它其實是多的淺層網路的 ensemble。ResNet-V [12] 將 ResNet 的損失函數可視化,發現比起 VGGNet 等傳統 CNN,ResNet 的損失函數平化許多。這是因為 ensemble 的平均所造成。Dropout 也是一種 ensemble。

DenseNet [13] 有別於 ResNet 的 ensemble,它將特徵圖在後續的層重新平均,所以損失函數也呈現平滑化。DenseNet 與 ResNet 的效果接近。CFPNet [14] 減少特徵圖的計算,可以加速 ResNet 與 DenseNet 並取得接近的正確率,CFPNet 是 YOLO v4 的骨幹網路。

以上,LeNet、NIN、ResNet 是 CNN 的三個階段性演進。

FCN [15] 全卷積網路是第一個成功的語義分割網路,有別於 CNN 主要是圖片分類,FCN 的功能是像素分類,屬於 CNN 的應用。全卷積網路不需要固定輸入圖片的大小。

PFPNet [16] 是基於 FCN 的全景分割。物件偵測(以 Faster R-CNN 為例)加上語義分割(以 FCN 為例)是實例分割(以 Mask R-CNN 為例)。全景分割(以 PFPNet 為例)則是語義分割(以 FCN 為例)加上實例分割(以 Mask R-CNN 為例)。

YOLO [17] 是第一個成功的 one-stage 物件偵測,快,但是準確率不高。到 YOLO v4 [18] 的時候,快,而且準確率高。Mask R-CNN [19] 則是基於 two-stage 物件偵測的 Faster R-CNN [20] 上的實例偵測。它使用 RoIAlign 確定像素在池化前的真正位置,提高了正確率。

-----

以下是 NLP [21]-[40]。 

LSTM [21] 用來處理時序資料,若時序資料是文字,則文字需要用 Word Embedding [22] - [26] 的技巧先將文字轉成向量,才可以用 LSTM 處理。

Word2vec [22] - [24] 是經典的詞向量技巧。Word2vec 1 [22] 主要是多字預測一字的 CBOW 與一字預測多字的 skip-gram。訓練技巧在 Word2vec 2 [23] 提到有 Negative Sampling 減少不需要的取樣以及 Hierarchical Softmax 重組預測路徑來改善 Word2vec 的訓練。Word2vec 3 [24] 則是簡易論文版本。C&W v1 [25] 與 C&W v2 [26] 也是詞向量的方法。其中 C&W v2 用 window approach 在語義上的任務效能較差,因此論文作者又推出 sentence approach 的版本,此結果說明了 Sentence Embedding 的必要性。

Seq2seq 1 [27] 與 Seq2seq 2 [ 28] 是基於 LSTM(或類似的 GRU)單元的模型,主要用途也是機器翻譯。優於 LSTM 的地方在於整句讀完再輸出,避免斷章取義的缺點。

Paragraph2vec [29] 是 Sentence Embedding 句向量的方法。跟 Word2vec 類似,只是整個段落會變成一個 id 參與訓練,因此 id 就會獲得一個句向量。此方法不算實用,後續的 Skip-thought [30] 基於 Seq2seq 的架構,只是輸入句可以同時預測前一個句子與後一個句子,如此訓練效果較佳。

Attention [31] - [33] 比起 Seq2seq 將句子壓縮成單一向量的粗糙作法,它的每個輸出字都會考慮輸入句的每個字的權重。Attention 1 [31] 考慮的是整個輸入句,Visual Attention [32] 將 Attention 的概念用在圖片文字的轉換上。Attention 2 [33] 則是在 Attention 1 的 Global Attention 上,又增加了 Local Attention。

Short Attention [34] 則是在 Memory Network 的基礎上,仔細探討詞向量如何分解成 Query、Key、Value 三個向量。Key 類似 index,Value 是實際的內容,Query 則是下一個字的預測的機率分布。QKV 被使用於 ConvS2S 與 Transformer。

ConvS2S [35] 不使用傳統的 LSTM,而是用一維的 CNN 來處理文字向量,因此可以用 GPU 加速。QKV 的分解也改善了結果。

ELMo [36] 是 Context2vec [37] 的較佳論文。可以改善一字多義的語義級別的 NLP 任務。它先在預訓練層級將 Word Meaning、Syntax、Semantic 三個層級的向量串接起來,然後在實際的任務訓練出個別的權重。

Transformer [38] 與 ConvS2S 架構上類似,都是 Source-Output-Target Relational Model(STORM)。最大的差別是 Transformer 不用卷積,並且在 Encoder 與 Decoder 兩端都先使用全連接的 self-attention,可以精確地理解每個字在句子中代表哪個其他的字。

BERT [39] 使用雙向的 Transformer Encoder 的模型先進行預訓練。預訓練有兩個方法,克漏字類似 CBOW,預測缺少的字,以及下個句子預測,類似 Skip-gram。後續再加上簡單的線性輸出層,進行四種主要的 NLP 任務。BERT NLP [40] 則是用實驗分析 BERT 在詞向量的輸入後,BERT 的低層主要實現 Syntax 的功能,高層主要實現 Semantic 的功能。

-----

結語:

Summary 的內容,簡單以四十篇論文,總結了深度學習的機器視覺與自然語言處理的演進,核心我們再說一次::在電腦視覺 Computer Vision(CV)上,可說 CV 就是 ResNet,Ensemble 的 CNN。在自然語言處理 Natural Language Processing(NLP)上,可說 NLP 就是文字向量在垂直上的詞義 word meaning、句法 syntax、語義 semantic 分解與水平上的 Query、Key、Value(QKV)分解。

-----

References


# 01A

[1] LeNet。

LeCun, Yann, et al. "Gradient-based learning applied to document recognition." Proceedings of the IEEE 86.11 (1998): 2278-2324.

http://yann.lecun.com/exdb/publis/pdf/lecun-01a.pdf


# 01B

[2] AlexNet。(Dropout)。

Krizhevsky, Alex, Ilya Sutskever, and Geoffrey E. Hinton. "Imagenet classification with deep convolutional neural networks." Advances in neural information processing systems 25 (2012): 1097-1105.

https://proceedings.neurips.cc/paper/2012/file/c399862d3b9d6b76c8436e924a68c45b-Paper.pdf

-----

[3] Dropout。

Srivastava, Nitish, et al. "Dropout: a simple way to prevent neural networks from overfitting." The journal of machine learning research 15.1 (2014): 1929-1958.

https://www.jmlr.org/papers/volume15/srivastava14a/srivastava14a.pdf


# 02A

[4] NIN。

Lin, Min, Qiang Chen, and Shuicheng Yan. "Network in network." arXiv preprint arXiv:1312.4400 (2013).

https://arxiv.org/pdf/1312.4400.pdf


[5] SENet。

Hu, Jie, Li Shen, and Gang Sun. "Squeeze-and-excitation networks." Proceedings of the IEEE conference on computer vision and pattern recognition. 2018.

https://openaccess.thecvf.com/content_cvpr_2018/papers/Hu_Squeeze-and-Excitation_Networks_CVPR_2018_paper.pdf


# 02B

[6] GoogLeNet。(Inception 系列,到 v3 時有 Label Smoothing)。

Szegedy, Christian, et al. "Going deeper with convolutions." Proceedings of the IEEE conference on computer vision and pattern recognition. 2015.

https://www.cv-foundation.org/openaccess/content_cvpr_2015/papers/Szegedy_Going_Deeper_With_2015_CVPR_paper.pdf


[7] Inception v3。

Szegedy, Christian, et al. "Rethinking the inception architecture for computer vision." Proceedings of the IEEE conference on computer vision and pattern recognition. 2016.

https://www.cv-foundation.org/openaccess/content_cvpr_2016/papers/Szegedy_Rethinking_the_Inception_CVPR_2016_paper.pdf

-----

# 03A

[8] ResNet v1。

He, Kaiming, et al. "Deep residual learning for image recognition." Proceedings of the IEEE conference on computer vision and pattern recognition. 2016.

https://openaccess.thecvf.com/content_cvpr_2016/papers/He_Deep_Residual_Learning_CVPR_2016_paper.pdf


[9] ResNet-D。

Huang, Gao, et al. "Deep networks with stochastic depth." European conference on computer vision. Springer, Cham, 2016.

https://arxiv.org/pdf/1603.09382.pdf


[10] ResNet v2。

He, Kaiming, et al. "Identity mappings in deep residual networks." European conference on computer vision. Springer, Cham, 2016.

https://arxiv.org/pdf/1603.05027.pdf


[11] ResNet-E。

Veit, Andreas, Michael J. Wilber, and Serge Belongie. "Residual networks behave like ensembles of relatively shallow networks." Advances in neural information processing systems. 2016.

https://papers.nips.cc/paper/2016/file/37bc2f75bf1bcfe8450a1a41c200364c-Paper.pdf


[12] ResNet-V。

Li, Hao, et al. "Visualizing the loss landscape of neural nets." Advances in Neural Information Processing Systems. 2018.

https://papers.nips.cc/paper/2018/file/a41b3bb3e6b050b6c9067c67f663b915-Paper.pdf


# 03B

[13] DenseNet。

Huang, Gao, et al. "Densely connected convolutional networks." Proceedings of the IEEE conference on computer vision and pattern recognition. 2017.

https://openaccess.thecvf.com/content_cvpr_2017/papers/Huang_Densely_Connected_Convolutional_CVPR_2017_paper.pdf


[14] CSPNet。

Wang, Chien-Yao, et al. "CSPNet: A new backbone that can enhance learning capability of cnn." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops. 2020.

https://openaccess.thecvf.com/content_CVPRW_2020/papers/w28/Wang_CSPNet_A_New_Backbone_That_Can_Enhance_Learning_Capability_of_CVPRW_2020_paper.pdf


# 04A

[15] FCN。

Long, Jonathan, Evan Shelhamer, and Trevor Darrell. "Fully convolutional networks for semantic segmentation." Proceedings of the IEEE conference on computer vision and pattern recognition. 2015.

https://www.cv-foundation.org/openaccess/content_cvpr_2015/papers/Long_Fully_Convolutional_Networks_2015_CVPR_paper.pdf


# 04B

[16] PFPNet。

Kirillov, Alexander, et al. "Panoptic feature pyramid networks." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019.

https://openaccess.thecvf.com/content_CVPR_2019/papers/Kirillov_Panoptic_Feature_Pyramid_Networks_CVPR_2019_paper.pdf


# 05A

[17] YOLO。被引用 12295 次。

Redmon, Joseph, et al. "You only look once: Unified, real-time object detection." Proceedings of the IEEE conference on computer vision and pattern recognition. 2016.

https://www.cv-foundation.org/openaccess/content_cvpr_2016/papers/Redmon_You_Only_Look_CVPR_2016_paper.pdf


[18] YOLOv4。

Bochkovskiy, Alexey, Chien-Yao Wang, and Hong-Yuan Mark Liao. "YOLOv4: Optimal Speed and Accuracy of Object Detection." arXiv preprint arXiv:2004.10934 (2020).

https://arxiv.org/pdf/2004.10934.pdf


# 05B

[19] Mask R-CNN。

He, Kaiming, et al. "Mask r-cnn." Proceedings of the IEEE international conference on computer vision. 2017.

https://openaccess.thecvf.com/content_ICCV_2017/papers/He_Mask_R-CNN_ICCV_2017_paper.pdf


[20] Faster R-CNN。

Ren, Shaoqing, et al. "Faster r-cnn: Towards real-time object detection with region proposal networks." arXiv preprint arXiv:1506.01497 (2015).

https://arxiv.org/pdf/1506.01497.pdf


# 06A

[21] LSTM。

Hochreiter, Sepp, and Jürgen Schmidhuber. "Long short-term memory." Neural computation 9.8 (1997): 1735-1780.

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.676.4320&rep=rep1&type=pdf


# 06B

[22] Word2vec 1。

Mikolov, Tomas, et al. "Efficient estimation of word representations in vector space." arXiv preprint arXiv:1301.3781 (2013).

https://arxiv.org/pdf/1301.3781.pdf


[23] Word2vec 2。

Mikolov, Tomas, et al. "Distributed representations of words and phrases and their compositionality." Advances in neural information processing systems. 2013.

https://papers.nips.cc/paper/2013/file/9aa42b31882ec039965f3c4923ce901b-Paper.pdf


[24] Word2vec 3。

Rong, Xin. "word2vec parameter learning explained." arXiv preprint arXiv:1411.2738 (2014).

https://arxiv.org/pdf/1411.2738.pdf


[25] C&W v1。

Collobert, Ronan, and Jason Weston. "A unified architecture for natural language processing: Deep neural networks with multitask learning." Proceedings of the 25th international conference on Machine learning. 2008.

http://www.cs.columbia.edu/~smaskey/CS6998-Fall2012/supportmaterial/colbert_dbn_nlp.pdf


[26] C&W v2。

Collobert, Ronan, et al. "Natural language processing (almost) from scratch." Journal of machine learning research 12.ARTICLE (2011): 2493-2537.

https://www.jmlr.org/papers/volume12/collobert11a/collobert11a.pdf


# 07A

[27] Seq2seq 1。

Sutskever, Ilya, Oriol Vinyals, and Quoc V. Le. "Sequence to sequence learning with neural networks." Advances in neural information processing systems. 2014.

http://papers.nips.cc/paper/5346-sequence-to-sequence-learning-with-neural-networks.pdf


[28] Seq2seq 2。

Cho, Kyunghyun, et al. "Learning phrase representations using RNN encoder-decoder for statistical machine translation." arXiv preprint arXiv:1406.1078 (2014).

https://arxiv.org/pdf/1406.1078.pdf


# 07B

[29] Paragraph2vec。

Le, Quoc, and Tomas Mikolov. "Distributed representations of sentences and documents." International conference on machine learning. 2014.

http://proceedings.mlr.press/v32/le14.pdf


[30] Skip-thought。

Kiros, Ryan, et al. "Skip-thought vectors." arXiv preprint arXiv:1506.06726 (2015).

https://arxiv.org/pdf/1506.06726.pdf


# 08A

[31] Attention 1。

Bahdanau, Dzmitry, Kyunghyun Cho, and Yoshua Bengio. "Neural machine translation by jointly learning to align and translate." arXiv preprint arXiv:1409.0473 (2014).

https://arxiv.org/pdf/1409.0473.pdf


[32] Visual Attention。

Xu, Kelvin, et al. "Show, attend and tell: Neural image caption generation with visual attention." International conference on machine learning. 2015.

http://proceedings.mlr.press/v37/xuc15.pdf


[33] Attention 2。

Luong, Minh-Thang, Hieu Pham, and Christopher D. Manning. "Effective approaches to attention-based neural machine translation." arXiv preprint arXiv:1508.04025 (2015).

https://arxiv.org/pdf/1508.04025.pdf


# 08B

[34] Short Attention。

Daniluk, Michał, et al. "Frustratingly short attention spans in neural language modeling." arXiv preprint arXiv:1702.04521 (2017).

https://arxiv.org/pdf/1702.04521.pdf


# 09A

[35] ConvS2S。

Gehring, Jonas, et al. "Convolutional sequence to sequence learning." arXiv preprint arXiv:1705.03122 (2017).

https://arxiv.org/pdf/1705.03122.pdf


# 09B

[36] ELMo。

Peters, Matthew E., et al. "Deep contextualized word representations." arXiv preprint arXiv:1802.05365 (2018).

https://arxiv.org/pdf/1802.05365.pdf


[37] Context2vec。被引用 312 次。

Melamud, Oren, Jacob Goldberger, and Ido Dagan. "context2vec: Learning generic context embedding with bidirectional lstm." Proceedings of the 20th SIGNLL conference on computational natural language learning. 2016.

https://www.aclweb.org/anthology/K16-1006.pdf


# 10A

[38] Transformer。

Vaswani, Ashish, et al. "Attention is all you need." Advances in neural information processing systems. 2017.

https://papers.nips.cc/paper/7181-attention-is-all-you-need.pdf


# 10B

[39] BERT。

Devlin, Jacob, et al. "Bert: Pre-training of deep bidirectional transformers for language understanding." arXiv preprint arXiv:1810.04805 (2018).

https://arxiv.org/pdf/1810.04805.pdf


[40] BERT NLP Pipeline。

Tenney, Ian, Dipanjan Das, and Ellie Pavlick. "BERT rediscovers the classical NLP pipeline." arXiv preprint arXiv:1905.05950 (2019).

https://arxiv.org/pdf/1905.05950.pdf

-----

No comments: