深度学习这些年那些超重要的idea回顾总结
轉(zhuǎn)載:DASOU
本文作者Denny Britz按時(shí)間總結(jié)的深度學(xué)習(xí)比較重要的idea集錦,推薦新人看,幾乎給自12年以來(lái)最重要的idea 都列了出來(lái),這些 idea 可以說(shuō)得上是養(yǎng)活了無(wú)數(shù)人,大家都基于這些發(fā)了無(wú)數(shù)的論文,它們依次是:
AlexNet 和 Dropout:AlexNet 直接打開(kāi)了深度學(xué)習(xí)時(shí)代,奠定了之后 CV 里面 CNN 模型基本結(jié)構(gòu),Dropout 也不用說(shuō),都成了基本配置。
深度強(qiáng)化學(xué)習(xí)的Atari:深度強(qiáng)化學(xué)習(xí)的開(kāi)山之作,DQN 之后也是打開(kāi)了一條新路,大家開(kāi)始在各種游戲上進(jìn)行嘗試。
Seq2Seq+Atten:這個(gè)在 NLP 領(lǐng)域的影響沒(méi)得說(shuō),有段時(shí)間,甚至都在說(shuō)任何 NLP 任務(wù)都能 Seq2Seq+Atten 來(lái)解決,而且這篇其實(shí)還為之后純 Attention 的 Transformer 打下了基礎(chǔ)。
Adam Optimizer:不多說(shuō),訓(xùn)練模型的心頭好。
Generative Adversarial Networks (GANs):這個(gè)也是從14年開(kāi)始幾年里火得一塌糊涂,大家都在搞各種各樣的 GAN,直到去年 StyleGAN 這種集大成模型出來(lái),才算是差不多消停。引起各種爭(zhēng)議的 Deepfake 是成果之一,最近都有看到人用它做假資料。
Residual Networks:和 Dropout,Adam 一樣變成了基本配置,模型要深全靠它。
Transformers:純 Attention 模型,直接給 NLP 里的 LSTM 給取代了,而且在其他領(lǐng)域也慢慢取得很好效果,同時(shí)也為之后 BERT 預(yù)訓(xùn)練模型打下基礎(chǔ)。
BERT and 精調(diào) NLP 模型:利用可擴(kuò)展性非常強(qiáng)大的 Transformer,加上大量數(shù)據(jù),加上一個(gè)簡(jiǎn)單的自監(jiān)督訓(xùn)練目標(biāo),就能夠獲得非常強(qiáng)大的預(yù)訓(xùn)練模型,橫掃各種任務(wù)。最近的一個(gè)是 GPT3,自從給出 API 后,網(wǎng)絡(luò)上展現(xiàn)出了各種特別 fancy 的demo,簡(jiǎn)直了,各種自動(dòng)補(bǔ)全。
作者會(huì)在這里回顧深度學(xué)習(xí)領(lǐng)域經(jīng)歷時(shí)間考驗(yàn)被廣泛應(yīng)用的一些想法,當(dāng)然不能全面覆蓋。即使這樣,下面介紹到的深度學(xué)習(xí)技術(shù),也已經(jīng)涵蓋了理解現(xiàn)代深度學(xué)習(xí)研究所需的基本知識(shí)。如果你是該領(lǐng)域的萌新,那么很好,這會(huì)是你一個(gè)非常好的起點(diǎn)。
受作者個(gè)人知識(shí)和熟悉領(lǐng)域的影響,這個(gè)列表可能不夠全面,因?yàn)楹芏喾浅V档靡惶岬淖宇I(lǐng)域都沒(méi)有提到。但大多數(shù)人認(rèn)可的主流領(lǐng)域,包括機(jī)器視覺(jué)、自然語(yǔ)言、語(yǔ)音和強(qiáng)化學(xué)習(xí)等就都包括在內(nèi)了。
而且作者只討論有可以跑的官方或半官方開(kāi)源實(shí)現(xiàn)的研究。有些工程量龐大而不容易被復(fù)現(xiàn)的研究,例如DeepMind的AlphaGo或OpenAI的Dota 2 AI,就不說(shuō)啦。
2012年:用AlexNet和Dropout處理ImageNet數(shù)據(jù)集
相關(guān)論文:
ImageNet Classification with Deep Convolutional Neural Networks [1]:
https://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks
Improving neural networks by preventing co-adaptation of feature detectors[2]:
https://arxiv.org/abs/1207.0580
One weird trick for parallelizing convolutional neural networks [14]:
https://arxiv.org/abs/1404.5997
實(shí)現(xiàn)代碼:
Pytorch版:
https://pytorch.org/hub/pytorch_vision_alexnet/
TensorFlow版:
https://github.com/tensorflow/models/blob/master/research/slim/nets/alexnet.py
?
插圖源:[1]
一般認(rèn)為,是AlexNet開(kāi)啟了近年來(lái)深度學(xué)習(xí)和人工智能研究的大浪潮。而AlexNet其實(shí)就是個(gè)基于Yann LeCun早年提出的LeNet 的深度卷積網(wǎng)絡(luò)。獨(dú)特之處在于,AlexNet通過(guò)結(jié)合GPU強(qiáng)大性能和其算法優(yōu)越而獲得了非常大的提升,遠(yuǎn)遠(yuǎn)超越之前對(duì)ImageNet數(shù)據(jù)集進(jìn)行分類的其他方法。它也證明了神經(jīng)網(wǎng)絡(luò)的確是有效的!AlexNet也是最早用Dropout[2]的算法之一,也是自此Dropout成為提高各種深度學(xué)習(xí)模型泛化能力的關(guān)鍵組件。
AlexNet架構(gòu)是由卷積層,非線性ReLU和最大池化串成的一系列模塊,而現(xiàn)在這些都已被大家接受,成為了標(biāo)準(zhǔn)機(jī)器視覺(jué)的網(wǎng)絡(luò)結(jié)構(gòu)了。如今,由于像PyTorch這樣的庫(kù)已非常強(qiáng)大,跟最新一些架構(gòu)相比,AlexNet實(shí)現(xiàn)已經(jīng)非常簡(jiǎn)單了,現(xiàn)在用幾行代碼就能實(shí)現(xiàn)。值得注意的是,AlexNet的許多實(shí)現(xiàn)都用的是它的一個(gè)變種,加入了這篇論文One weird trick for parallelizing convolutional neural networks中提到的一個(gè)技巧。
2013年:用深度強(qiáng)化學(xué)習(xí)來(lái)打Atari游戲
相關(guān)論文:
Playing Atari with Deep Reinforcement Learning [7]:
https://arxiv.org/abs/1312.5602
實(shí)現(xiàn)代碼:
PyTorch版:
https://pytorch.org/tutorials/intermediate/reinforcement_q_learning.html
TensorFlow版:
https://www.tensorflow.org/agents/tutorials/1_dqn_tutorial
插圖源:
https://deepmind.com/research/publications/human-level-control-through-deep-reinforcement-learning
基于最近圖像識(shí)別和GPU的發(fā)展,DeepMind成功訓(xùn)練了一個(gè)可基于原始像素輸入來(lái)打Atari游戲的神經(jīng)網(wǎng)絡(luò)。而且,同一個(gè)神經(jīng)網(wǎng)絡(luò)能在不設(shè)置任何游戲規(guī)則的前提下學(xué)會(huì)打七種不同的游戲,這也證明了該方法的通用性。
Youtube 視頻:
https://www.youtube.com/watch?v=V1eYniJ0Rnk
其中,強(qiáng)化學(xué)習(xí)與監(jiān)督學(xué)習(xí)(如圖像分類)的不同之處在于,強(qiáng)化學(xué)習(xí)的智能體必須在一段時(shí)間步(如一盤(pán)游戲)中學(xué)習(xí)最大化獎(jiǎng)勵(lì)總和,而不僅僅是預(yù)測(cè)標(biāo)簽。由于其智能體是能直接與環(huán)境交互的,而且每個(gè)行動(dòng)都會(huì)影響下一個(gè)行動(dòng),因此,訓(xùn)練其數(shù)據(jù)并不是獨(dú)立同分布的。這也使得許多強(qiáng)化學(xué)習(xí)模型的訓(xùn)練很不穩(wěn)定,但這個(gè)問(wèn)題可以用經(jīng)驗(yàn)重播(experience replay)等技術(shù)來(lái)解決。
盡管沒(méi)有明顯的算法創(chuàng)新,但這項(xiàng)研究巧妙結(jié)合了各種現(xiàn)有技術(shù),比如在GPU上訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)和經(jīng)驗(yàn)重播,以及一些數(shù)據(jù)處理技巧,從而取得了超出大家預(yù)期令人印象深刻的結(jié)果。這也讓人們更有信心去擴(kuò)展深度強(qiáng)化學(xué)習(xí)技術(shù),以解決更復(fù)雜的任務(wù),比如:圍棋,多塔2,星際爭(zhēng)霸2等。
而且從這篇論文后,Atari游戲也變成了強(qiáng)化學(xué)習(xí)研究的測(cè)試標(biāo)準(zhǔn)。最初的方法盡管超過(guò)了人類的表現(xiàn),但只能在7種游戲取得這樣的表現(xiàn)。而之后幾年,這些想法被不斷拓展,在越來(lái)越多的游戲中擊敗人類。直到最近,技術(shù)才攻克了全部57款游戲并超過(guò)了所有人類水平,其中的《蒙特祖瑪?shù)膹?fù)仇》以其需要長(zhǎng)期規(guī)劃著稱,被認(rèn)為是最難攻克的游戲之一。
2014年:編碼器-解碼器網(wǎng)絡(luò)加注意力機(jī)制(Seq2Seq+Atten模型)
相關(guān)論文:
Sequence to Sequence Learning with Neural Networks [4]:
https://arxiv.org/abs/1409.3215
Neural Machine Translation by Jointly Learning to Align and Translate [3]:
https://arxiv.org/abs/1409.0473
代碼實(shí)現(xiàn):
PyTorch版:
https://pytorch.org/tutorials/intermediate/seq2seq_translation_tutorial.html
TensorFlow版:
https://www.tensorflow.org/addons/tutorials/networks_seq2seq_nmt
插圖源:Tensorflow中的開(kāi)源Seq2Seq框架:
https://ai.googleblog.com/2017/04/introducing-tf-seq2seq-open-source.html
深度學(xué)習(xí)中很多最讓人印象深刻的結(jié)果都是和視覺(jué)相關(guān)的任務(wù),而且由卷積神經(jīng)網(wǎng)絡(luò)驅(qū)動(dòng)。盡管NLP領(lǐng)域有通過(guò)用LSTM以及編碼器-解碼器架構(gòu)在語(yǔ)言模型和翻譯上并取得一些成功,但直到注意力機(jī)制的出現(xiàn),該領(lǐng)域才取得真正令人矚目的成就。
在處理語(yǔ)言時(shí),每個(gè)token(可以是一個(gè)字符,單詞或介于兩者之間)都會(huì)被喂入一個(gè)循環(huán)網(wǎng)絡(luò)(如LSTM)中,該網(wǎng)絡(luò)會(huì)存儲(chǔ)先前處理過(guò)的輸入。換句話說(shuō),這就像一個(gè)時(shí)間序列的句子,每個(gè)token代表一個(gè)時(shí)間步。而這些循環(huán)模型在處理序列時(shí)很容易“忘記”較早的輸入,因此很難處理長(zhǎng)距離依賴關(guān)系。由于其中梯度要通過(guò)很多時(shí)間步來(lái)傳播,這會(huì)導(dǎo)致梯度爆炸和梯度消失等問(wèn)題,所以用梯度下降來(lái)優(yōu)化循環(huán)模型也變得困難。
而引入注意力機(jī)制有助于緩解該問(wèn)題,通過(guò)直接連接,它為網(wǎng)絡(luò)提供了一種自適應(yīng)的能“回顧”較早時(shí)間步的方法。這些連接使網(wǎng)絡(luò)可以決定在生成特定輸出時(shí),重要的輸入有哪些。簡(jiǎn)單用翻譯來(lái)舉例子:當(dāng)生成一個(gè)輸出詞時(shí),通常有一個(gè)或多個(gè)特定的輸入單詞被注意力機(jī)制選中,作為輸出參考。
2014 – Adam?優(yōu)化器
相關(guān)論文:
Adam: A Method for Stochastic Optimization ?[12]:
https://arxiv.org/abs/1412.6980
代碼實(shí)現(xiàn):
Python版:
https://d2l.ai/chapter_optimization/adam.html
PyTorch版:
https://pytorch.org/docs/master/_modules/torch/optim/adam.html
TensorFlow版:
https://github.com/tensorflow/tensorflow/blob/v2.2.0/tensorflow/python/keras/optimizer_v2/adam.py#L32-L281
Y軸 – 最優(yōu)解的概率
X軸 – 超參數(shù)優(yōu)化的預(yù)算(#模型訓(xùn)練)
來(lái)源:?http://arxiv.org/abs/1910.11758
神經(jīng)網(wǎng)絡(luò)一般是通過(guò)用優(yōu)化器最小化損失函數(shù)來(lái)進(jìn)行訓(xùn)練的,而優(yōu)化器的作用則是搞明白怎么調(diào)節(jié)網(wǎng)絡(luò)參數(shù)使其能學(xué)習(xí)到指定目標(biāo)。大部分優(yōu)化器都是基于隨機(jī)梯度下降法(SGD)(https://ruder.io/optimizing-gradient-descent/)來(lái)改進(jìn)。但要指出的是,很多優(yōu)化器本身還包含可調(diào)參數(shù),如學(xué)習(xí)率。所以,為特定問(wèn)題找到正確的設(shè)置,不光能減少訓(xùn)練時(shí)間,而且還能找到更好的損失函數(shù)局部最優(yōu),這往往也能使模型獲得更好結(jié)果。
之前,財(cái)大氣粗的研究室通常要跑特?zé)X(qián)的超參搜索,來(lái)弄出一套給SGD用的學(xué)習(xí)率調(diào)節(jié)方案。雖然它能超過(guò)之前最好的表現(xiàn),但往往也意味著要花大量的錢(qián)來(lái)調(diào)節(jié)優(yōu)化器。這些細(xì)節(jié)在論文里一般不會(huì)提的,所以那些沒(méi)有相同預(yù)算來(lái)調(diào)優(yōu)化器的貧窮研究員們,就總會(huì)被較差的結(jié)果卡住,還沒(méi)辦法。
而Adam給這些研究員帶了福音,它能通過(guò)梯度的一階和二階矩來(lái)自動(dòng)調(diào)整學(xué)習(xí)率。而且實(shí)驗(yàn)結(jié)果證明其非常可靠,對(duì)超參的選擇也不太敏感。換句話說(shuō),Adam拿來(lái)就能用,不用像其它優(yōu)化器那樣要進(jìn)行大量調(diào)參。盡管調(diào)優(yōu)后的SGD可能獲得更好的結(jié)果,但Adam卻使研究變得更容易了。因?yàn)橐坏┏霈F(xiàn)問(wèn)題時(shí),你就知道應(yīng)該不太可能是調(diào)參引起的問(wèn)題。
2014/2015- 生成對(duì)抗網(wǎng)絡(luò)(GAN)
相關(guān)論文:
Generative Adversarial Networks [6] :
https://arxiv.org/abs/1406.2661
Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks [17]:
https://arxiv.org/abs/1511.06434
代碼實(shí)現(xiàn):
PyTorch版:
https://pytorch.org/tutorials/beginner/dcgan_faces_tutorial.html
TensorFlow版:
https://www.tensorflow.org/tutorials/generative/dcgan
圖2:模型樣本的可視化。最右邊的列顯示了最接近訓(xùn)練示例的鄰近樣本,以證明模型并不是記住訓(xùn)練集。樣本是隨機(jī)抽取的而不是精心挑選的。與深層生成模型的大多數(shù)其他可視化不同,這些圖像顯示的是模型分布中的實(shí)際樣本,而不是給定隱單元樣本的條件均值。而且這些樣本是不相關(guān)的,因?yàn)槠洳蓸舆^(guò)程不依賴于馬爾可夫鏈混合,a)MNIST b)TFD c)CIFAR-10(全連接模型) d)CIFAR-IO(卷積判別器和反卷積生成器)
來(lái)源:https://developers.google.com/machine-learning/gan/gan_structure
生成模型(例如變分自動(dòng)編碼器,VAE)的目標(biāo)是生成以假亂真的數(shù)據(jù)樣品,比如不存在的人臉。這里,模型必須對(duì)整個(gè)數(shù)據(jù)分布進(jìn)行建模(很多像素!),而不僅僅是像判別模型一樣給貓或狗分類,所以此類模型很難訓(xùn)練。生成對(duì)抗網(wǎng)絡(luò)(GAN)就是這樣一種模型。
GAN的基本思想是同時(shí)訓(xùn)練兩個(gè)網(wǎng)絡(luò),生成器和判別器。生成器的目標(biāo)是產(chǎn)生能欺騙判別器的樣本,而判別器經(jīng)過(guò)訓(xùn)練,則要分辨真實(shí)圖像和生成圖像。隨著訓(xùn)練進(jìn)行,判別器將變得更善于識(shí)別假圖片,而生成器也將變得更善于欺騙判別器,產(chǎn)生更逼真的樣本,這就是對(duì)抗網(wǎng)絡(luò)之為對(duì)抗所在。剛開(kāi)始的GAN產(chǎn)生的還是模糊低分辨率的圖像,而且訓(xùn)練起來(lái)相當(dāng)不穩(wěn)定。但隨著技術(shù)進(jìn)步,類似于DCGAN[17]、Wasserstein GAN[25]、CycleGAN[26]、StyleGAN(v2)[27]等變體和改進(jìn)都能產(chǎn)生更高分辨率的逼真圖像和視頻。
2015 –?殘差網(wǎng)絡(luò)(ResNet)
相關(guān)論文:
Deep Residual Learning for Image Recognition [13]:
https://arxiv.org/abs/1512.03385
代碼實(shí)現(xiàn):
PyTorch版:
https://github.com/pytorch/vision/blob/master/torchvision/models/resnet.py
TensorFlow版:
https://github.com/tensorflow/tensorflow/blob/v2.2.0/tensorflow/python/keras/applications/resnet.py
研究者們?cè)贏lexNet的基礎(chǔ)上,又發(fā)明了基于卷積神經(jīng)網(wǎng)絡(luò)的性能更好的架構(gòu),如VGGNet[28]、Inception[29]等。而ResNet則是這一系列進(jìn)展中的最重要的突破所在。時(shí)至今日,ResNet變體已被用作各種任務(wù)的基準(zhǔn)模型架構(gòu),也被用于更復(fù)雜架構(gòu)的基礎(chǔ)。
RseNet之所以特別,除了其在ILSVRC 2015分類挑戰(zhàn)賽中獲得冠軍外,更在于其相比于其他網(wǎng)絡(luò)架構(gòu)的深度。論文中提到的網(wǎng)絡(luò)最深的有1000層,盡管在基準(zhǔn)任務(wù)上比101和152層的略差些,但仍然表現(xiàn)出色。因?yàn)樘荻认?wèn)題,訓(xùn)練這樣一個(gè)深度的網(wǎng)絡(luò)其實(shí)是非常具有挑戰(zhàn)的,序列模型也有同樣的問(wèn)題。在此之前,很少有研究者認(rèn)為訓(xùn)練如此深的網(wǎng)絡(luò)還能有這么穩(wěn)定的結(jié)果。
ResNet使用捷徑連接的方式來(lái)幫助梯度傳遞。一種理解是,ResNet僅需要學(xué)習(xí)從一層到另一層的“差分”,這比學(xué)習(xí)一個(gè)完全轉(zhuǎn)換要簡(jiǎn)單些。此外,ResNet中的殘差連接算是Highway Networks[30]的一種特殊情況,而Highway Networks 又受到了LSTM里門(mén)控機(jī)制的啟發(fā)。
2017 - Transformers
相關(guān)論文:
Attention is All You Need [5] :
https://arxiv.org/abs/1706.03762
代碼實(shí)現(xiàn):
PyTorch版:
https://pytorch.org/tutorials/beginner/transformer_tutorial.html
TensorFlow版:
https://www.tensorflow.org/tutorials/text/transformer
HuggingFace Transformers庫(kù):
https://github.com/huggingface/transformers
圖1:Transformer – 模型架構(gòu)
來(lái)源:https://arxiv.org/abs/1706.03762
Seq2Seq+Atten模型(前面已經(jīng)介紹過(guò)了)性能很好,但由于它的遞歸特性,導(dǎo)致需要按時(shí)序計(jì)算。所以很難并行,一次只能處理一步,而每一步又取決于前一個(gè)。這也使得它很難用在長(zhǎng)序列數(shù)據(jù)上,即使有注意力機(jī)制,仍然難以對(duì)復(fù)雜的長(zhǎng)距離依賴關(guān)系進(jìn)行建模,而且其大部分工作還是在遞歸層里實(shí)現(xiàn)的。
Transformers直接解決了這些問(wèn)題,丟掉了遞歸部分,取而代之的是多個(gè)前饋的自注意力層,并行處理所有輸入,并在輸入與輸出之間找到相對(duì)較短(容易用梯度下降優(yōu)化)的路徑。這使得它的訓(xùn)練速度非常快,易于擴(kuò)展,并且能夠處理更多的數(shù)據(jù)。為了加入輸入位置信息(在遞歸模型中是隱式的),Transformers還用了位置編碼。要了解有關(guān)Transformer工作原理的更多信息,建議閱讀這個(gè)圖解博客。
(http://jalammar.github.io/illustrated-transformer/)
如果僅僅只是說(shuō)Transformers比幾乎所有人預(yù)期的表現(xiàn)都要好,那簡(jiǎn)直就是對(duì)它的侮辱。因?yàn)樵诮酉聛?lái)的幾年里,它不光表現(xiàn)更好,而且還直接干掉了RNN,成為了絕大多數(shù)NLP和其他序列任務(wù)標(biāo)準(zhǔn)架構(gòu),甚至還用在了機(jī)器視覺(jué)上。
2018 – BERT和精調(diào)的NLP模型
相關(guān)論文:
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding [9]:
https://arxiv.org/abs/1810.04805
代碼實(shí)現(xiàn):
微調(diào)BERT的HuggingFace實(shí)現(xiàn):
https://huggingface.co/transformers/training.html
預(yù)訓(xùn)練指訓(xùn)練一個(gè)模型來(lái)執(zhí)行某個(gè)任務(wù),之后用學(xué)到的參數(shù)來(lái)作為初始化參數(shù)來(lái)學(xué)習(xí)一個(gè)相關(guān)任務(wù)。這個(gè)其實(shí)很直觀,一個(gè)已經(jīng)學(xué)會(huì)分類貓或狗圖像的模型,應(yīng)該已經(jīng)學(xué)會(huì)了一些關(guān)于圖像和毛茸茸動(dòng)物的基礎(chǔ)知識(shí)。當(dāng)這個(gè)模型被微調(diào)用來(lái)對(duì)狐貍進(jìn)行分類時(shí),可以預(yù)計(jì)它比一個(gè)從頭開(kāi)始學(xué)習(xí)的模型更好。同樣,一個(gè)學(xué)會(huì)了預(yù)測(cè)句子中下一個(gè)詞的模型,應(yīng)該已經(jīng)學(xué)會(huì)了一些關(guān)于人類語(yǔ)言模型的知識(shí)。那么它的參數(shù)對(duì)于相關(guān)任務(wù)(如翻譯或情感分析)也會(huì)是一個(gè)很好的初始化。
預(yù)訓(xùn)練和微調(diào)已經(jīng)在計(jì)算機(jī)視覺(jué)和NLP領(lǐng)域取得了成功,雖然在計(jì)算機(jī)視覺(jué)中其早已成為標(biāo)準(zhǔn),但如何在NLP領(lǐng)域更好的發(fā)揮作用似乎還有些挑戰(zhàn)。大多數(shù)最佳結(jié)果仍然出自完全監(jiān)督模型。隨著ELMo [34], ULMFiT [35]等方法出現(xiàn),NLP研究者終于也能開(kāi)始做預(yù)訓(xùn)練的工作了(之前詞向量其實(shí)也算),特別是對(duì)Transformer的應(yīng)用,更是產(chǎn)生了一系列如 GPT和BERT的方法。
BERT算是預(yù)訓(xùn)練比較新的成果,很多人認(rèn)為它開(kāi)創(chuàng)了NLP研究新紀(jì)元。它沒(méi)有像大多數(shù)預(yù)訓(xùn)練模型一樣,訓(xùn)練預(yù)測(cè)下一個(gè)單詞,而是預(yù)測(cè)句子中被掩蓋(故意刪除)的單詞,以及兩個(gè)句子是否相鄰。注意,這些任務(wù)不需要標(biāo)注數(shù)據(jù),它可以在任何文本上進(jìn)行訓(xùn)練,而且可以是一大堆文本! 于是預(yù)訓(xùn)練好的模型,就能學(xué)會(huì)了一些語(yǔ)言的一般屬性,之后就可以進(jìn)行微調(diào)了,用來(lái)解決監(jiān)督任務(wù),如問(wèn)答或情感預(yù)測(cè)。BERT在各種任務(wù)中的表現(xiàn)都非常好,出來(lái)就屠榜。而像HuggingFace這樣的公司也坐上浪頭,讓用于NLP任務(wù)的微調(diào)BERT模型變得容易下載和使用。之后,BERT又被XLNet[31]和RoBERTa[32]以及ALBERT[33]等新模型不斷傳頌,現(xiàn)在基本上整個(gè)領(lǐng)域人都知道了。
2019/2020及未來(lái) –BIG語(yǔ)言模型,自監(jiān)督學(xué)習(xí)
縱觀整個(gè)深度學(xué)習(xí)的歷史,最明顯的趨勢(shì)或許就是 Sutton 說(shuō)的 the bitter lesson(苦痛的一課)。如里面說(shuō)的,能夠利用更好并行(更多數(shù)據(jù))并且有更多模型參數(shù)的算法,能一次又一次地戰(zhàn)勝一些所謂 "更聰明的技術(shù)"。這種趨勢(shì)似乎到2020年還在持續(xù),OpenAI的GPT-3模型,一個(gè)擁有1750億參數(shù)的龐大語(yǔ)言模型,盡管其訓(xùn)練目標(biāo)和架構(gòu)都很簡(jiǎn)單,但卻表現(xiàn)出了意想不到的泛化性(各種效果非常好的demo)。
有著同樣趨勢(shì)的還有contrastive self-supervised learning等方法,如SimCLR(https://arxiv.org/abs/2002.05709),它能更好的利用無(wú)標(biāo)簽數(shù)據(jù)。隨著模型變得越來(lái)越大,訓(xùn)練速度越來(lái)越快,也讓能有效利用網(wǎng)上的大量無(wú)標(biāo)注數(shù)據(jù)集,學(xué)習(xí)可遷移通用知識(shí)的技術(shù)正變得越來(lái)越有價(jià)值。
相關(guān)報(bào)道:
https://dennybritz.com/blog/deep-learning-most-important-ideas/
參考文獻(xiàn)
[1]?ImageNet Classification with Deep Convolutional Neural Networks
Alex Krizhevsky, Ilya Sutskever, Geoffrey E Hinton?(2012)
Advances in Neural Information Processing Systems 25
推薦閱讀:
我的2022屆互聯(lián)網(wǎng)校招分享
我的2021總結(jié)
淺談算法崗和開(kāi)發(fā)崗的區(qū)別
互聯(lián)網(wǎng)校招研發(fā)薪資匯總
對(duì)于時(shí)間序列,你所能做的一切.
什么是時(shí)空序列問(wèn)題?這類問(wèn)題主要應(yīng)用了哪些模型?主要應(yīng)用在哪些領(lǐng)域?
公眾號(hào):AI蝸牛車(chē)
保持謙遜、保持自律、保持進(jìn)步
發(fā)送【蝸牛】獲取一份《手把手AI項(xiàng)目》(AI蝸牛車(chē)著)
發(fā)送【1222】獲取一份不錯(cuò)的leetcode刷題筆記
發(fā)送【AI四大名著】獲取四本經(jīng)典AI電子書(shū)
總結(jié)
以上是生活随笔為你收集整理的深度学习这些年那些超重要的idea回顾总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: win7 matlab 7.0,win7
- 下一篇: 深度学习基础----GAE和VGAE