校招面試大廠都問(wèn)Transformer哪些知識(shí)點(diǎn)?
共 2670字,需瀏覽 6分鐘
·
2024-05-09 07:00
說(shuō)說(shuō)我的實(shí)習(xí)面試歷程
關(guān)于我:已 get 頭條、阿里、美團(tuán)算法實(shí)習(xí)offer。
今天主要分享一下我在春招過(guò)程中被問(wèn)得最多的Transformer知識(shí)點(diǎn)和對(duì)應(yīng)解答。希望對(duì)你們有幫助?。?!
-
為何Transformer采用多頭注意力機(jī)制?
多頭注意力確保Transformer能并行捕捉不同子空間的特征信息,增強(qiáng)了模型捕獲多樣性和細(xì)致特征的能力。每個(gè)頭專注于輸入數(shù)據(jù)的不同方面,盡管增加了維度解析度,但總體計(jì)算負(fù)擔(dān)與單頭相比增幅不大,維持高效。
-
Transformer為何讓Q(查詢)和K(鍵)使用獨(dú)立的權(quán)重矩陣進(jìn)行計(jì)算,而非共用同一矩陣?
分配不同權(quán)重給Q和K是為了實(shí)現(xiàn)信息在不同表示空間的映射,增強(qiáng)模型的表達(dá)力和泛化性能。不同的初始化權(quán)重幫助模型適應(yīng)輸入與輸出長(zhǎng)度變化,并且避免了Q與K相同導(dǎo)致的對(duì)稱attention矩陣問(wèn)題,這樣的矩陣降低了模型的泛化能力。
-
Transformer在計(jì)算注意力時(shí),為何選用點(diǎn)乘而非加法??jī)烧咴谟?jì)算復(fù)雜度和效果上有何差異?
點(diǎn)乘運(yùn)算的選擇旨在平衡效率和效果。雖然矩陣加法更簡(jiǎn)單,但它作為隱藏層使用時(shí),計(jì)算密集度與點(diǎn)乘相近。實(shí)驗(yàn)表明,隨著特征維度(d_k)增加,加法的優(yōu)勢(shì)更明顯,但通常點(diǎn)乘能更好地保持信息的相關(guān)性。
-
為何要在softmax前對(duì)attention分?jǐn)?shù)進(jìn)行縮放(即除以(d_k)的平方根)?
縮放是為了緩解softmax函數(shù)可能導(dǎo)致的梯度消失問(wèn)題。當(dāng)Q和K的分布滿足一定條件時(shí),縮放可以確保softmax輸出更加平滑,保持梯度的有效流動(dòng),有助于訓(xùn)練穩(wěn)定。
-
在處理padding時(shí),如何對(duì)attention分?jǐn)?shù)實(shí)施mask?
通過(guò)將padding位置的attention得分設(shè)為負(fù)無(wú)窮(常用-1000),有效排除這些位置對(duì)最終結(jié)果的影響。
-
Transformer的位置編碼作用及局限性?
位置編碼為模型引入了絕對(duì)位置信息,彌補(bǔ)了self-attention機(jī)制中缺失的位置感知。固定的位置編碼使得模型理解序列中元素的相對(duì)次序。然而,其固定性質(zhì)限制了模型對(duì)更復(fù)雜位置關(guān)系的表達(dá),相對(duì)位置編碼(RPE)是對(duì)此的一個(gè)改進(jìn)方案。
-
Transformer為何偏好LayerNorm而非BatchNorm?
LayerNorm針對(duì)單個(gè)樣本的所有特征進(jìn)行標(biāo)準(zhǔn)化,保留了樣本內(nèi)部特征的相對(duì)比例,有利于attention機(jī)制捕捉全局依賴。相比之下,BatchNorm在序列任務(wù)中可能會(huì)破壞樣本內(nèi)的時(shí)間結(jié)構(gòu)信息。
-
Transformer相比RNN的優(yōu)勢(shì)何在?
Transformer在并行處理能力上遠(yuǎn)超RNN,能夠更高效地利用計(jì)算資源。同時(shí),它在長(zhǎng)期依賴捕捉和特征提取方面也顯示出優(yōu)越性能。
-
Encoder與Decoder如何協(xié)同工作?
Encoder的輸出經(jīng)過(guò)線性變換并與Decoder的狀態(tài)進(jìn)行交互,通過(guò)兩次矩陣乘法操作,將Decoder的輸入與Encoder的上下文信息融合,生成目標(biāo)序列的預(yù)測(cè)。
-
Decoder與Encoder中的多頭注意力有何差異?
Decoder包含兩層多頭注意力機(jī)制,額外的一層用于關(guān)注Encoder的輸出,調(diào)整解碼階段的注意力以適應(yīng)輸出序列的構(gòu)造。Decoder的Query、Key、Value尺寸在某些情況下可不同,而Encoder中的Q、K、V尺寸保持一致。
-
Transformer中最常出現(xiàn)的層是什么?
Dropout層,用于隨機(jī)丟棄部分神經(jīng)元以減少過(guò)擬合。
-
Transformer在何處實(shí)現(xiàn)了權(quán)重共享?
-
Encoder和Decoder的嵌入層權(quán)重共享。 -
Decoder中的嵌入層與全連接層權(quán)重共享。
-
Transformer中的mask機(jī)制如何運(yùn)作?
包含Padding Mask,用于忽略填充的token;以及Sequence Mask,在Decoder中應(yīng)用,確保預(yù)測(cè)時(shí)不泄露未來(lái)信息。
-
如何理解Self-Attention?
Self-Attention是一種自我參照的注意力機(jī)制,其中Query、Key和Value來(lái)自同一序列,旨在發(fā)現(xiàn)序列內(nèi)部元素之間的相互依賴關(guān)系。
-
Transformer架構(gòu)中哪個(gè)部分最耗時(shí)?
前饋神經(jīng)網(wǎng)絡(luò)(Feedforward Networks)部分,因其參數(shù)量大,計(jì)算成本較高。
-
殘差連接(Residual Connections)的作用?
殘差連接通過(guò)允許信息直接跳過(guò)某些復(fù)雜的轉(zhuǎn)換層,有效緩解了深度網(wǎng)絡(luò)中的梯度消失問(wèn)題,促進(jìn)了更深網(wǎng)絡(luò)的有效訓(xùn)練。
