使用TensorFlow實現寬深學習
人類是一個複雜的學習機器,可以透過記憶日常事件歸納形成規則,
比如麻雀會飛和鴿子會飛,歸納這些學習來的資訊就可以應用到我們以前沒有看到的事物,比如帶有翅膀的動物會飛。而且能夠更強大,記憶也允許我們使用意外來提煉通用規則,比如企鵝不會飛。
如今我們正在進入增強的機器智慧時代,我們詢問自己問題:我們能教會計算機像人這樣學習嗎?透過結合記憶和歸納的強大力量?
這不是很容易回答,但是將一個寬泛的線性模型(等同於記憶)
訓練在一個深度神經網路中(等同於歸納),從而結合雙方優勢,正在步步接近我們的目標,在谷歌,我們稱之為寬且深學習(Wide & Deep Learning),這對於通用大規模帶有稀疏輸入(帶有大量可能特徵值的分類特徵)的迴歸和分類問題是有用的。比如推薦系統 搜尋和排名問題。
具體教程見:Wide & Deep Learning
讓我們看看寬深學習是如何工作的?
比方說,有一天你醒來時,有了一個新應用Foodio的主意,這個應用app的使用者需要大聲說出他渴望的是什麼樣的食物(根據食物名稱進行匹配查詢),這個應用app神奇地預測使用者最喜歡的菜,並將菜送到使用者的門口(條目),您的關鍵指標是消費率:如果一個菜被使用者吃了,那麼分數是1,否則是0。(標籤)
開始有一些簡單規則,使用者查詢食物名時,能夠像返回匹配食物名稱中大多數字符的食物。你釋出了FoodIO第一個版本,不幸的是你發現消費率非常低,因為這種匹配方式太粗糙,並沒有什麼用,比如人們喊出“炸雞”,你卻匹配查詢得到“雞炒米飯”,這樣你決定使用機器學習來學習更多資料。
在第二個版本中,你想記住那些每次查詢中最好的食物,這樣你在TensorFlow中訓練一個線性模型,使用的是一個寬泛的跨產品
特徵,根據目標標籤(也就是這個食物是否被真正購買消費了),你試圖截獲和目標標籤相關的共同的各種食物,這個模型會預測消費的可能性,對於每個食物,FoodIO會傳遞預測消費率最高的食物,比如模型學習特徵AND(query="炸雞", item="雞肉和雞蛋餅") 會取勝,而AND(query="炸雞", item="雞炒米飯") 卻實際不會有人要,儘管查詢時從字元匹配上看最吻合(英文fried chicken和chicken fried rice兩個名詞最相似)。
也就是說,你的FoodIO 2.0版本會在記憶使用者喜歡什麼食物上做得很好了。
下面再看看深度模型:
後來你會發現很多使用者反映他們已經厭倦了推薦,他們急於發現相似但不同可以讓人驚喜的菜餚,這時,你又開始刷你的Tensorflow工具包再訓練一個深度feed-forward前饋神經網路,從而開始升級到FoodIO 3.0。使用你的深度模型,你透過對美國次查詢和食物讓其學習低維密集的特徵資料,通常稱為嵌入向量,這樣,FoodIO能夠透過匹配食物給那些彼此接近的查詢,比如你發現人們查詢要求‘炸雞’時經常介意是否有漢堡包。
好了,現在是結合寬泛和深入的模型了。
你發現深度神經網路有時會歸納太多並推薦不相干的菜餚,你翻開歷史流量資料,會發現實際上在查詢條目query-item關係上實際上有清晰的兩個型別。
第一個查詢型別是非常目標化的,人們喊出非常具體的條目如“脫脂牛奶的無咖啡因的拿鐵咖啡加冰”,只是因為在嵌入空間中,它非常接近於“熱拿鐵咖啡全脂牛奶”,但是並不代表後者就是使用者能夠接受的。有數百萬這樣規則弊大於利。
另外,類似“海鮮”或“義大利食品”查詢更具有探索性,也許會開啟更多歸納,發現相關一系列菜餚,有了這些以後,你會頓悟,為什麼我們選擇寬泛或者深度模型,而不是深度且寬泛的模型呢?
最後,你使用寬且深學習模型開發了FoodIO 4.0,稀疏特徵像query="炸雞fried chicken" and item="雞炒米飯chicken fried rice"既可以用在寬度也可以用在深度兩邊模型中,在這樣訓練中,預測錯誤會被反饋到兩邊來訓練兩邊的引數,在寬度模型中跨特徵轉換能夠記憶那些稀疏具體的規則,而深度模型元件能夠透過嵌入embeddings歸納相似的食物條目。
比如麻雀會飛和鴿子會飛,歸納這些學習來的資訊就可以應用到我們以前沒有看到的事物,比如帶有翅膀的動物會飛。而且能夠更強大,記憶也允許我們使用意外來提煉通用規則,比如企鵝不會飛。
如今我們正在進入增強的機器智慧時代,我們詢問自己問題:我們能教會計算機像人這樣學習嗎?透過結合記憶和歸納的強大力量?
這不是很容易回答,但是將一個寬泛的線性模型(等同於記憶)
訓練在一個深度神經網路中(等同於歸納),從而結合雙方優勢,正在步步接近我們的目標,在谷歌,我們稱之為寬且深學習(Wide & Deep Learning),這對於通用大規模帶有稀疏輸入(帶有大量可能特徵值的分類特徵)的迴歸和分類問題是有用的。比如推薦系統 搜尋和排名問題。
具體教程見:Wide & Deep Learning
讓我們看看寬深學習是如何工作的?
比方說,有一天你醒來時,有了一個新應用Foodio的主意,這個應用app的使用者需要大聲說出他渴望的是什麼樣的食物(根據食物名稱進行匹配查詢),這個應用app神奇地預測使用者最喜歡的菜,並將菜送到使用者的門口(條目),您的關鍵指標是消費率:如果一個菜被使用者吃了,那麼分數是1,否則是0。(標籤)
開始有一些簡單規則,使用者查詢食物名時,能夠像返回匹配食物名稱中大多數字符的食物。你釋出了FoodIO第一個版本,不幸的是你發現消費率非常低,因為這種匹配方式太粗糙,並沒有什麼用,比如人們喊出“炸雞”,你卻匹配查詢得到“雞炒米飯”,這樣你決定使用機器學習來學習更多資料。
在第二個版本中,你想記住那些每次查詢中最好的食物,這樣你在TensorFlow中訓練一個線性模型,使用的是一個寬泛的跨產品
特徵,根據目標標籤(也就是這個食物是否被真正購買消費了),你試圖截獲和目標標籤相關的共同的各種食物,這個模型會預測消費的可能性,對於每個食物,FoodIO會傳遞預測消費率最高的食物,比如模型學習特徵AND(query="炸雞", item="雞肉和雞蛋餅") 會取勝,而AND(query="炸雞", item="雞炒米飯") 卻實際不會有人要,儘管查詢時從字元匹配上看最吻合(英文fried chicken和chicken fried rice兩個名詞最相似)。
也就是說,你的FoodIO 2.0版本會在記憶使用者喜歡什麼食物上做得很好了。
下面再看看深度模型:
後來你會發現很多使用者反映他們已經厭倦了推薦,他們急於發現相似但不同可以讓人驚喜的菜餚,這時,你又開始刷你的Tensorflow工具包再訓練一個深度feed-forward前饋神經網路,從而開始升級到FoodIO 3.0。使用你的深度模型,你透過對美國次查詢和食物讓其學習低維密集的特徵資料,通常稱為嵌入向量,這樣,FoodIO能夠透過匹配食物給那些彼此接近的查詢,比如你發現人們查詢要求‘炸雞’時經常介意是否有漢堡包。
好了,現在是結合寬泛和深入的模型了。
你發現深度神經網路有時會歸納太多並推薦不相干的菜餚,你翻開歷史流量資料,會發現實際上在查詢條目query-item關係上實際上有清晰的兩個型別。
第一個查詢型別是非常目標化的,人們喊出非常具體的條目如“脫脂牛奶的無咖啡因的拿鐵咖啡加冰”,只是因為在嵌入空間中,它非常接近於“熱拿鐵咖啡全脂牛奶”,但是並不代表後者就是使用者能夠接受的。有數百萬這樣規則弊大於利。
另外,類似“海鮮”或“義大利食品”查詢更具有探索性,也許會開啟更多歸納,發現相關一系列菜餚,有了這些以後,你會頓悟,為什麼我們選擇寬泛或者深度模型,而不是深度且寬泛的模型呢?
最後,你使用寬且深學習模型開發了FoodIO 4.0,稀疏特徵像query="炸雞fried chicken" and item="雞炒米飯chicken fried rice"既可以用在寬度也可以用在深度兩邊模型中,在這樣訓練中,預測錯誤會被反饋到兩邊來訓練兩邊的引數,在寬度模型中跨特徵轉換能夠記憶那些稀疏具體的規則,而深度模型元件能夠透過嵌入embeddings歸納相似的食物條目。
相關文章
- 深度學習的TensorFlow實現深度學習
- UCloud AI Train深度學習實踐:使用TensorFlow實現快速風格遷移CloudAI深度學習
- Tensorflow 學習
- 深度學習:TensorFlow入門實戰深度學習
- 深度學習趣談:什麼是遷移學習?(附帶Tensorflow程式碼實現)深度學習遷移學習
- [GAN學習系列3]採用深度學習和 TensorFlow 實現圖片修復(上)深度學習
- [GAN學習系列3]採用深度學習和 TensorFlow 實現圖片修復(下)深度學習
- 基於TensorFlow的深度學習實戰深度學習
- [action]tensorflow深度學習實戰 (4) 實現簡單卷積神經網路深度學習卷積神經網路
- 深度學習中tensorflow框架的學習深度學習框架
- tensorflow語法學習
- TensorFlow學習資源
- TensorFlow 學習筆記筆記
- 使用TensorFlow可實現文章自動摘要
- 使用TensorFlow實現手寫識別(Softmax)
- Python深度學習入門之mnist-inception(Tensorflow2.0實現)Python深度學習
- [深度學習]人臉檢測-Tensorflow2.x keras程式碼實現深度學習Keras
- js 實現深複製/深複製JS
- AI實戰 | 由淺入深,手把手帶你實現Java轉型學習助手AIJava
- 深度學習TensorFlow如何使用多GPU並行模式?深度學習GPU並行模式
- 深度學習Tensorflow實戰,新課進行曲!深度學習
- 如何使用純CSS實現固定寬高比div?CSS
- AMD的GPU現在可以加速TensorFlow深度學習了GPU深度學習
- 《深度學習之TensorFlow》pdf深度學習
- tensorflow學習之 Eager execution
- 深度學習之Tensorflow框架深度學習框架
- TensorFlow學習筆記(二)筆記
- tensorflow學習筆記3筆記
- Tensorflow學習筆記一筆記
- Tensorflow學習筆記二筆記
- ios 深淺拷貝學習iOS
- 日本黃瓜農場主如何使用深度學習和TensorFlow深度學習
- 【深度學習-基於Tensorflow的實戰】公開課實況深度學習
- 設計模式學習-使用go實現代理模式設計模式Go
- TensorFlow實現Batch NormalizationBATORM
- 推薦閱讀《Tensorflow:實戰Google深度學習框架》Go深度學習框架
- 《Tensorflow:實戰Google深度學習框架》圖書推薦Go深度學習框架
- js實現深拷貝JS