ASOS人工智慧團隊是一個由機器學習工程師和科學家、資料科學家和產品經理組成的跨職能團隊,利用機器學習來改善客戶體驗、提高零售效率並推動增長。
什麼是Transformer?
Transformer(ChatGP T中的T)是一種模型架構,它徹底改變了從自然語言處理 (NLP) 到計算機視覺等機器學習的多個領域。雖然 Transformer 旨在解決自然語言任務,但最近的研究已將其用途擴充套件到推薦系統。 Transformer 模型使我們能夠透過稱為自我關注的機制更好地捕捉客戶的風格,並使用位置意識推斷客戶互動隨時間的相對重要性。
自注意力使機器學習模型能夠構建序列中輸入的上下文感知表示。透過在處理時權衡序列中所有其他輸入相對於自身的重要性,模型能夠對每個輸入乃至整個序列建立更豐富的理解。例如,當一雙高跟鞋與一套休閒服裝和更正式的服裝組合時,可以有不同的解釋。這種額外的背景使模型能夠更好地解釋產品並捕捉客戶風格的本質。
位置意識使模型能夠解釋客戶過去產品互動的順序,並根據產品在序列中的位置破譯產品的相對重要性,例如,模型可能會更重視昨天購買的產品而不是三個月前檢視的產品。當客戶的上下文在瀏覽會話之間切換以及他們的風格隨著時間的推移而演變時,這使得該模型能夠更好地為客戶提供相關建議。
自我注意力Self-attention
自注意力首先在自然語言處理中變得突出:在 NLP 中,輸入序列通常是一個句子。 Transformer 透過考慮周圍其他單詞的重要性,使用自注意力來構建句子中每個單詞的豐富表示。從以下兩個句子中很容易看出為什麼上下文很重要:
- 語句1: The lamp emitted dim light which illuminated the room.
- 語句2: He found the suitcase was surprisingly light as he lifted it.
這兩個句子都包含“light ”一詞,但由於上下文的不同,它們有兩個完全不同的含義。自注意力能夠獨特地捕捉每個含義:
- 句子1:燈light 發出微弱的光,照亮了房間。
- 句子2:當他提起行李箱時,他發現它出奇的輕light 。
該視覺化顯示了自注意力如何根據單詞light來權衡兩個句子中的不同單詞。線條和方框的陰影表示這些權重。
可以直觀地理解:
- 第一句話集中在lamp、emited和Illuminated上,以豐富光的表示形式,表示照明。
- 而在第二句中,"手提箱 suitcase"被賦予了 "驚喜surprising "和 "舉起lifted "的含義,從而產生了 "weight重量 "的編碼意義。
同義詞生成器是使用“light”一詞的豐富表示的一個示例。
- 給定以第一句話作為輸入的上下文,模型可以輸出gleam、luminance或lighting。
- 給定第二個句子的上下文作為輸入,模型可以輸出easy、manageable或featherweight。
如果在替代句子中使用這些同義詞,則沒有意義。
推薦中的自我關注
電商網站擁有的是客戶的互動歷史記錄(產品序列),而不是句子(單詞序列),但自我關注背後的直覺保持不變。
就像句子中的單詞一樣,服裝根據產品的上下文具有不同的含義或風格。
讓我們看另一個例子:
- 顧客1:【Dare2b防水夾克、ASOS DESIGN運動襪、Salomon運動鞋、Columbia保暖長褲、Calvin Klein T恤】
- 顧客2:【精選Homme衛衣、Carhartt WIP夾克、Salomon運動鞋、ASOS DESIGN運動褲、Dickies長褲】
雖然兩個客戶歷史都包含Salomon 運動鞋,但它們的歷史表明了不同的風格。讓我們看看自我注意力如何權衡每個客戶歷史記錄中的其他產品。
- 對於客戶 1(左),我們想象一個熱衷於戶外活動的人,為其最初的徒步旅行目的購買了該產品。自我關注賦予了防水夾克和保暖長褲以捕捉Salomon 兄弟在此上下文下的遠足風格。
- 對於客戶 2(右),我們想象有人將 Salomon 運動鞋與街頭服飾搭配。這裡的自我關注集中在 Carhartt 夾克和 Dickies 褲子上來捕捉這一點。
與上面 NLP 中的示例類似,我們現在擁有豐富的Salomon 表示形式,該表示形式可以根據序列中的上下文進行靈活調整。
假設我們現在查詢模型以返回兩個客戶的替代鞋子推薦(非常像之前的同義詞生成器),也許我們可以期待這樣的結果:
Transformer 將其進一步擴充套件到稱為多頭自注意力的東西,其中多次執行此處理以捕獲輸入序列中關係中的所有不同細微差別。自注意力可以建立強大的輸入表示,並引入優於以前架構的優勢,例如並行化和長期依賴性。
在 ASOS 構建變壓器
我們的推薦團隊利用Transformers4Rec 庫以及 NVIDIA 合作伙伴的支援,在內部構建了一個 Transformer 推薦系統。 “Transformers4Rec 是一個靈活高效的庫,用於順序和基於會話的推薦,並且可以與 PyTorch 配合使用。
Transformers4Rec 提供了一個框架,可以利用 Transformers 架構的優勢進行順序推薦,該框架已根據 NLP 任務的初始構建進行了調整。利用 ASOS 客戶過去的互動,我們能夠訓練一個推薦系統,該系統利用了上面在Transformer 架構中解釋的自注意力和位置感知的概念。