wps2019版本還能還原到2016版嗎(怎樣把wps2016版改為2019版)
1081
2022-05-30
過去二十年,由于互聯網的發展,零售由線下往線上遷移。近些年,伴隨著智能手機的普及,越來越多的線上零售在移動終端上完成。
隨著這些移動設備計算力和存儲力的日益強大,智能手機也正在成為強大的計算平臺,為復雜的端上情景計算提供了可能。
情景計算是利用大數據和機器學習算法在移動設備上主動感知用戶狀態及用戶所處的環境,預測用戶意圖,對新零售中“人貨場”等商業要素提供新的可能。
與傳統云上計算不同的是,端上情景計算提供了更實時的反饋、更普適的計算、更好的隱私保護。
2018 年 11 月 30 日-12 月 1 日,由 51CTO 主辦的 WOT 全球人工智能技術峰會在北京粵財 JW 萬豪酒店隆重舉行。
本次峰會以人工智能為主題,阿里巴巴淘寶技術部的高級算法專家賈榮飛在機器學習專場與來賓分享如何用手機信息改變電商和用戶之間的交互模式,即:重新定義人、貨、場。
本次分享將從如下四個部分展開:
電商場景的發展
什么是情景計算
端上智能框架
新場景探索實踐
電商場景的發展
對于零售電商來說,人、貨、場三個要素是永恒的主題。為什么這么說呢?
如今,隨著移動社交的普及,每天都會有幾億人打開手淘,以及各種購物類 App 選購商品。
與此同時,網上貨物的 SKU 也發展到了幾億種。那么問題來了,這么多的人與貨,怎么才能恰到好處地將他們放在一個場景中呢?我們勢必對場的要求會越來越高。
說到場景,PC 時代淘寶已有業內最好的商品類目體系,而且葉子類目也多達幾萬個。
但隨著貨的增加,目錄檢索依然無法滿足用戶查找商品需求,“場”開始從目錄檢索發展進化到了查詢詞搜索時代。
用戶用查詢詞細化需求進行檢索,查找相同的商品時展現給用戶的商品量比目錄檢索降低很多。
隨著商品量的繼續擴大,必須研究用戶更多的信息,因此,我們需要根據用戶的點擊、、加購、購買等更多歷史行為信息的關鍵詞,去研究和理解用戶的偏好。
將海量的貨品和他們的購物意圖相匹配,“場”進入了推薦時代,展現給用戶的商品不僅是字面符合用戶需求,在風格、品牌、價位等方面也會更匹配用戶過往行為,從而繼續提高展現給用戶商品列表與用戶的相關性。
現在,隨著移動手機的廣泛應用,我們也可以獲取用戶的各種實時狀態。借此,我們可以通過情景計算的技術,對狀態信息進行分析和理解,更加聚焦地去了解用戶在彼時的具體需求。
在此,我們提出了兩個有關智能“場”的關鍵問題:
需要精準地識別用戶的狀態。如上所述,由于用戶手機所提供的信息過于繁雜,我們該如何抽出其中有效的部分呢?
計算能力支撐智能商業。從原來幾個字節的單用戶信息查詢,到如今常規推薦里所包含的幾十兆不同用戶的信息,我們的計算能力需要能夠應對和支撐日趨劇增的信息量,以及各種復雜的模型。
那么針對上述問題,您也許會問:我們到底是將各種任務放到云上運行,還是在手機端上執行呢?
我們先來看看在云上進行構建的特點:
云上的并行處理能力非常強,它可以調動成百上千臺的服務器對大量用戶的請求進行同步處理。
由于可以處理各種全局模型,我們完全可以把所有人的信息合在一起,形成幾個 T 大小的模型,交到云上進行并行處理、并對外提供服務。
但是在面對上億數量級的用戶時,云服務它無法為單個用戶存儲太多的信息。而且,就單一用戶的運算能力而言,其計算力也不如手機端。
我們再來看手機端上的特點:
擁有在本地處理時,所需的大量本機用戶信息。
由于如今用戶手機的性能普遍不差,因此本地的計算能力比較強。
響應的實時性。相對于在云上需要經過層層路由轉發,手機端上的實時交互與響應能力更強,它們在響應速度上能夠比云端快十倍。
由于用戶個人數據駐留在手機端,而非被轉發到了云上,因此用戶的原始數據和隱私信息能夠得到更好的保護。
可見,對于用戶的那些實時處理情景而言,我們需要有更大的計算力來提供服務,因此應當采用“以端為主、以云為輔”的架構設計方式。
端側任務關注用戶實時狀態理解、意圖識別、個性化需求即時響應。云側任務關注在建立用戶全局信息、構建用戶全局模型。
什么是情景計算
那么什么是情景計算?它又涉及到哪些具體的算法架構和支持目標呢?總的說來,它是對用戶實時狀態的感知、理解和判斷。
在具體操作中,我們會從用戶的手機上收集各種豐富的信息,包括對用戶的姿態、位置、和意圖進行抽取與理解,進而匯集到應用層面上,并判斷用戶的下一步動作。
眾所周知,我們的手機能夠實時地通過各種傳感器,提供著不同的“弱信息”。
因此針對這些信息,我們要解決如下三個層面上問題:
如何判定信息是否有價值?
如何提取有價值的信息?
如何讓這些信息更加好用?
下面我來分享一下,我們是如何解決上述問題的。
如上圖所示,智能手機里一般都帶有加速計和陀螺儀。它們分別能夠收集三個緯度的信息,因此一共有六個緯度的信息,夠涵括用戶的各個運動姿態和加速數值。
上面中間的兩張圖表分別是加速計和陀螺儀的數據。我們使用各種顏色曲線,標注出了用戶的行為規律性和差異性。
那么,針對不同的曲線,我們采用了兩種方法,來對這些原始數據進行識別與分析:
人工設計特征。我們從時域和頻率兩個方面進行了特征設計。其中,時域包括:最大/最小值、中位數、標準差、均值等數據;而頻率則包括:幅度、峰值等信息。 通過對這些由傳感器所收集到的數據進行深入理解,我們嘗試性地對不同的姿態進行了分類。
深度學習(RNN)模型。將采集數據用雙向 GRU 進行特征提取,之后接入全連接層,識別用戶姿態。
在實踐中,這兩種模型姿態識別的準確率只有 80% 左右,無法達到我們的技術預期。
經過分析,我們發現其原因在于:我們為 RNN 模型所提供的標注數據量非常有限,很難達到非常好的效果。
因此,我們又去尋找了比上述強標記數據大幾十倍的弱標記數據,對它們采取 RNN 的網絡訓練,再結合我們的目標進行最終的學習。這樣一來,結果比原來要好了許多。
在此基礎上,我們還發現:人工特征加入模型能夠進一步提升預測準確率,我們將人工特征和弱標記數據上預訓練的雙向 GRU 融合在一起,取得了最好的效果。
上圖便是 RNN 模型的邏輯圖:連續的 Raw 數據被直接放入雙向的 GRU 單元進行理解和判斷。
在該過程完成之后,我們的準確率提高到了 85% 左右,這與我們的預期仍有一定的差距。
分析原因,我們發現:不同于干凈的實驗室數據,用戶在使用 App 時累計的數據具有很強的隨機性。
如上方的右圖所示,其最高的黃線,實際上源于用戶從床上坐起身的姿勢變化。
因此,對于我們的模型而言,如果使用數據周期過長、數據過多,則會給模型與計算帶來壓力;而如果時間短,模型卻又無法解決此類偶然抖動對于最終結果的影響。
因此我們采取的方法是:首先,通過對短期信息采集與實時處理,來識別動作;然后,使用一段時間數據進行平滑與修正,避免隨機動作的干擾。
這樣一來,我們對于各個姿態的識別準確率能夠達到 98%~99%。同時,這也說明了由加速計和陀螺儀所采集來的原始信息的確是有價值的。它們不但可以被用來識別各種姿態,而且能夠支持下一步更多的應用。
在上述簡單分析的過程中,我們的模型還有不足之處。例如:由于用戶姿態具有一定的相似性,我們尚無法對用戶坐車與坐地鐵,這兩個行為予以準確區分。
我們嘗試分析用戶姿態對電商的價值,將姿態識別與用戶購物意圖進行關聯分析。
我們發現:人們在行走的過程中,由于有明確的購物目標,因此一旦打開了淘寶,那么他們的下單概率會明顯高于其他狀態。
上圖是我們收集到的用戶交互數據的情況,即:用戶在手機上的各種點/劃操作。
顯然,人工分析這些數據是非常繁瑣的,因此我們采用了深度學習的方法,去對用戶行為進行理解。
首先我們選擇一個實驗任務來評估數據有效性,我們需要根據手機上的點劃行為,來判定使用手機的用戶是否為手機機主。
具體實驗為,收集同一款手機型號上的點劃數據,用模型識別是否能夠將同一用戶的行為識別為一個用戶。
如上圖所示,整個流程為:
對用戶的點/劃之類的持續數據信息進行 Embedding。
經過全連接層后,進入 ResNet 卷積網絡。此處用到卷積網絡的原因在于:通常情況下,人類在不同的交互行為中都包含局部性的特征,而一系列行為之間又有著共同的信息。 因此我們需要用卷積網絡來獲取這些局部性。同時,ResNet 是多層的模型,它能夠增強我們對信息的抽取。
在預估之前我們用到了雙向 GRU。此處使用雙向 GRU 是為了利用用戶交互行為中的時序信息。
使用 Softmax 做最終的目標預估。
通過利用交互數據來識別相同的用戶,我們的區分準確率達到了 95% 以上。這個實驗證明交互信息對于用戶理解有非常大的價值。
此外,我們還對用戶位置、所處城市天氣等其他數據也進行了處理。我們完成了對手機端上有效信息的綜合理解與認知,這也為我們下一步的各種電商應用打下了基礎。
端上智能框架
雖然手機計算能力越來越強,但和云上服務器集群還有很大差異。復雜的模型不可避免地會在手機端上遇到計算能力的問題。
下面讓我們來看看如何通過改進手機端上的框架,來更好解決情景計算的可計算性問題。
上圖是我們總的“云+端”框架模型。其協作流程為:
在手機端:
針對原始數據的采集,定期獲取用戶的實時狀態。
將獲取的狀態送入基礎模型,以產生中間數據。
中間數據為應用產品提供服務。
在云端:
完成對模型的訓練和加工,并定期同步到用戶的手機端。
通過實驗和各種參數,實現對手機端的最佳效果配置。
可見,該框架有兩個關鍵部分:
數據和手機端上工作流的管理。由于用戶的手機同時會運行多個應用,因此我們在調用算法去進行一系列操作時,不能影響到用戶的交互式體驗,更不能產生卡頓。
在云端應做好對模型的壓縮和加速。
下面,我們來討論一下手機端上的具體實現框架。
對于手機端上的整體智能框架而言,最重要的部分便是數據管理。在此,我們配置了一個時序數據庫,將采集到的原始數據存入庫中,并同步中間數據。
相比移動端的 SQLite,或是常見的 KV 數據庫,時序數據庫優勢在于:它的插入與刪除速度比 KV 數據庫快得多,同時也能實現較好的數據壓縮,可省 70% 的存儲空間。
而且它比 SQLite 的讀寫速度要快近兩百倍。因此,這種高速的數據讀寫支持,方便了我們去實現更多的模型。
上圖便是阿里自研獨創的端上深度學習模型框架—AliNN。在處理不同任務的效率上,它比谷歌的 TensorFlow 要快得多。
首先,通過對模型的深度加速,它能夠實現在模型初始編譯時,優化端上的 CPU 地址配齊、以及 CPU 的復雜指令。
在充分利用模型的同時,它還能對復雜的模型進行轉換和壓縮處理,以毫秒級的速度為用戶提供服務。
我們在去年雙十一所推出的用戶笑臉、以及動作的識別功能,都是在手機端上運行的模型。端上部署模型大大優化了響應時間,這使得用戶的交互體驗非常友好。
新場景探索實踐
前面無論提到的是對于基礎數據的處理,還是對于端上框架的改進,其目的都是為了支持應用。下面讓我們來看看,這些數據在新場景探索里的具體應用。
首先是用戶購買概率的預測。通常,交互類數據分為兩種:
點擊控件所產生的操作序列。
點/劃操作。
為了綜合運用這兩種數據,有兩種方法可供選擇:
前融合方式。即先做數據對齊,再放入模型。不同行為使用相同的特征提取網絡,使得行為間時序信息的提取更加困難,無法達到很高的準確率。
后融合方式。如下圖所示,我們來重點討論。
在上圖的左側,上半部分是用戶點/劃的數據,下半部分是用戶點擊不同控件的數據。它們分別進行 Embedding,并被送入 RNN 模型。
由于用戶的最終行為與后續操作的關系更為緊密,而與前面的行為關系較弱,因此我們在此并未采用雙向模型,而僅使用了單向 RNN 進行處理。
完成處理之后,我們需要將兩個 Embedding 向量連接到一起。如右側所示,我們嘗試了三種方法:
最簡單的全連接方法。它比單獨地利用點/劃的交互信息要好一些。
Self Attention 機制。由于不同的行為對于用戶的最終購買影響會有所不同,因此我們在獲取的信息中加入了 Attention。
加入類似于 FM 的模型,對獲取的信息在組合的基礎上,先進行交叉操作,再合并到模型里予以預測。
通過綜合評測,我們發現 Self Attention 機制并未達到理想的效果,甚至低于全連接的方法;而類似 FM 的機制則取得了最好的效果。
在我們已經具有較高準確率的前提下,類似 FM 的機制相對于全連接方法又提高了 1% AUC。
展望未來,我們將在如下幾個方向進行更多的嘗試:
用戶需求發現引擎。根據用戶所處的不同場景,發現他們的偏好。例如:他們在家的時候,可能偏好于服飾的購買;而在公司時,則更偏向于辦公用品。
從千人千面到千人千模。目前,我們只做到了呈現給每個用戶的界面不一樣,但是大家仍然共享同一個模型,這樣并未充分地發揮用戶手機端的計算能力。 如今,隨著對用戶理解的加深,以及各種模型能夠通過強化學習實現深度發展,我們希望在每個手機上,去訓練出針對單一用戶的更為個性化的內容。
云+端的聯合學習。將千人千模從單一手機上,拓展到云端,實現云+端的聯合訓練,以達到更好的效果。
我們希望將來的淘寶能夠根據用戶所處城市,在天氣降溫的場景下,直接推薦那些更厚實的衣服,讓淘寶成為大家更貼心的購物助手。
機器學習 神經網絡
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。