當前位置:
首頁 > 最新 > 通過 TensorFlow 進行的機器學習 如何幫助可口可樂實現移動購買憑證

通過 TensorFlow 進行的機器學習 如何幫助可口可樂實現移動購買憑證

?中秋你可口可樂了嗎?

在這篇客座文章中,可口可樂公司的 Patrick Brandt 將向我們介紹他們如何使用 AI 和 TensorFlow 實現無縫式購買憑證。

可口可樂的核心忠誠度計劃於 2006 年以 MyCokeRewards.com 形式啟動。「MCR.com」平台包含為每一瓶以 20 盎司規格銷售的可口可樂、雪碧、芬達和動樂產品,以及可以在雜貨店和其他零售商店購買的紙箱包裝產品創建唯一的產品編碼。用戶可以在 MyCokeRewards.com 上輸入這些產品編碼來參加推廣活動。

幾年後的 2016 年:可口可樂的忠誠度計劃仍然大受歡迎,用戶已經輸入了數以百萬計的產品編碼來參加促銷和抽獎。不過,移動瀏覽在 2006 年還不存在,而到了 2016 年底已佔據超過 50% 的份額。

為了響應這些瀏覽行為變化,Coke.com 作為一項移動優先網路體驗啟動,替代了原來的 MCR.com。將 14 字元編碼手動輸入到移動設備中著實是一種非常糟糕的用戶體驗,會影響我們的計劃取得成功。我們希望為移動受眾提供儘可能最好的體驗,人工智慧的最新進展帶來了全新的機遇。

實現無縫式購買憑證的任務

多年來,可口可樂一直嘗試使用現成的光學字元識別 (OCR) 庫和服務讀取產品編碼,但收效甚微。我們的印刷工藝一般使用低解析度點陣字體,瓶蓋或紙箱媒介在列印頭下面以非常快的速度運轉。

這就產生了低保真字元串,讓現成的 OCR 軟體無法讀取這些字元(有時人眼也很難閱讀)。OCR 對簡化移動用戶的編碼輸入過程至關重要:用戶應當能夠為編碼拍照,然後自動進行購買註冊來參加促銷。我們需要一個用途特定的 OCR 系統來識別我們的產品編碼。

瓶蓋和紙箱示例

我們的研究將我們引向了一種前景無限的解決方案:卷積神經網路。卷積神經網路是一系列「深度學習」神經網路中的一種,這些神經網路是現代人工智慧產品的核心。

Google 已使用卷積神經網路從街景圖像中提取出街道地址門牌號。卷積神經網路在識別手寫數字方面的表現也相當不錯。這些數字識別用例完美代表了我們一直嘗試解決的問題類型:從包含小字符集並且小字符集中所含字元的外觀千差萬別的圖像中提取字元串。

通過 TensorFlow 實現的卷積神經網路

過去,由於可用的訓練和推理庫極其複雜,開發像卷積神經網路一樣的深度神經網路一直都是一項巨大的挑戰。TensorFlow(Google 於 2015 年開放源代碼的一種機器學習框架)旨在簡化深度神經網路的開發。

TensorFlow 為不同種類的神經元層和熱門損失函數提供了高級介面,簡化了實現不同卷積神經網路模型架構的工作。快速迭代不同模型架構的能力大大縮短了我們公司構建自定義 OCR 解決方案所需的時間,因為我們可以在短短几天的時間內開發、訓練和測試不同的模型。

TensorFlow 模型也非常便攜:框架以原生方式支持在移動設備上(「邊緣上的 AI」)或在遠程託管於雲端的伺服器中執行模型。這就為許多不同平台(包括網路和移動設備)之間的模型執行帶來了一種「一勞永逸」的方式。

機器學習:熟能生巧

任何神經網路的智慧都不會超過用於訓練它的數據。我們知道自己需要大量帶標籤的產品編碼圖像來訓練一個卷積神經網路,從而幫助我們實現性能目標。

我們的訓練集分三個階段構建:

啟動前模擬圖像

啟動前真實圖像

我們的用戶在生產中標記的圖像

啟動前訓練階段的第一項工作是以編程方式生成數以百萬計的模擬產品編碼圖像。這些模擬圖像包括傾斜、光照、陰影和模糊強度變化。

在模型僅使用模擬圖像進行訓練時,它對真實圖像的預測準確率(即,可信度最高的 10 個預測中準確預測全部 14 個字元的頻率)為 50%。這為遷移學習提供了一個基線:最初使用模擬圖像訓練的模型是將要使用真實圖像訓練的更準確模型的基礎。

挑戰現在就成了使用充足的真實圖像豐富模擬圖像以實現我們的性能目標。我們為 iOS 和 Android 設備構建了一款用途特定的訓練應用,「訓練人員」可以使用這款應用為編碼拍照並添加標籤;這些帶標籤的圖像隨後遷移到雲存儲中進行訓練。

我們對瓶蓋和紙箱上的數千個產品編碼進行了生產測試,並將代碼分配給多個供應商,他們使用這款應用創建初始的真實訓練集。

即使是一個經過增強和豐富的訓練集,也無法替代最終用戶在各種環境條件下創建的圖像。我們知道掃描可能導致編碼預測不準確,因此我們需要提供一種能讓用戶迅速糾正這些預測的用戶體驗。

兩個組件對提供這種體驗至關重要:產品編碼驗證服務,它從我們最初的忠誠度平台於 2006 年啟動以來就一直在使用(用於驗證預測的編碼是否是真實編碼);預測演算法,用於執行回歸來確定 14 個字元位置上每個字元的可信度。

如果預測的編碼無效,置信度最高的預測和每個字元的可信度水平將返回到界面。低置信度字元將突出顯示,指導用戶更新需要注意的字元。

錯誤糾正界面讓用戶可以糾正無效預測並生成有用的訓練數據

這個界面創新實現了一個主動學習過程:反饋循環讓模型可以將糾正的預測返回訓練管道,逐步改進。我們的用戶可以通過這種方式隨著時間有組織地提高字元識別模型的準確率。

產品編碼識別管道

針對實現最大性能進行優化

為了滿足用戶對性能的期望,我們為產品編碼 OCR 管道建立了一些嚴格的要求:

快速:我們在產品編碼圖像發送到 OCR 管道後需要平均一秒的處理時間

準確:我們啟動時的目標是實現 95% 的字元串識別準確率,並保證模型可以通過主動學習隨著時間不斷改進

小型:OCR 管道需要足夠小,以便直接分發到移動應用上,並在模型隨著時間不斷改進時能夠適應無線更新

OCR 管道需要處理不同的產品編碼介質:數十種不同的字體類型、瓶蓋與紙箱包裝介質組合

最初,我們探索了一種為所有產品編碼介質使用一個卷積神經網路的架構。這種方式創建的模型過大,無法分發至移動應用,並且執行時間也比所需的時間長。我們在Quantiphi, Inc.的應用 AI 合作夥伴開始迭代不同的模型架構,並最終確定了一種使用多個卷積神經網路的架構。

這種新架構在不犧牲準確率的前提下顯著減小了模型大小,不過仍然無法滿足我們為移動應用提供無線更新支持的需要。

我們隨後使用了 TensorFlow 的預構建量化模塊,它可以通過減小相連神經元之間的權重保真度來減小模型大小。量化模塊將模型大小減小了 4 係數,但是當 Quantiphi 使用一種名稱為 SqueezeNet 的新方式取得突破後,模型大小顯著減小。

SqueezeNet 模型由加州大學伯克利分校和斯坦福大學的一組研究人員於 2016 年 11 月發布。它採用小型但高度複雜的設計,根據 Imagenet 等熱門基準的數據,它可以實現與大得多的模型相當的準確率水平。

在重新設計我們的字元識別模型架構以使用 SqueezeNet 卷積神經網路後,Quantiphi 將特定介質類型的模型大小減小了 100 係數。由於 SqueezeNet 模型本質上就比較小,可以構建更豐富的功能檢測架構,憑藉比我們第一批並非使用 SqueezeNet 訓練的模型顯著減小的大小實現明顯提高的準確率。

我們現在擁有一個可以在遠程設備上輕鬆更新的高度準確模型;我們在主動學習之前的最終模型的識別成功率接近 96%,可以帶來 99.7% 的字元識別準確率(每 1000 個字元預測中僅有 3 個出錯)。

具有不同類型遮擋、平移和照相機焦點問題的有效產品編碼識別示例

通過 AI 跨越邊界

人工智慧的發展和 TensorFlow 的成熟讓我們最終可以實現夢寐以求的購買憑證能力。自從 2017 年 2 月底啟動以來,我們的產品編碼識別平台已經為十多個促銷活動提供幫助並生成了超過 18 萬個掃描代碼;它現在已成為可口可樂北美地區所有網路促銷活動的核心組件。

遷移到由 AI 提供支撐的產品編碼識別平台對我們非常有價值,兩個主要原因包括:

及時實現無縫式購買憑證,與我們向移動優先營銷平台的整體轉變保持一致。

可口可樂避免了更新生產線中的印刷機以支持更高保真度字體(適合現有的現成 OCR 軟體)的要求,節省了數百萬美元的資金。

我們的產品編碼識別平台是以 AI 為支撐的新能力在可口可樂公司內的首次大規模執行。我們目前正在多個業務領域探索 AI 應用,從產品開發到電子商務零售優化,不一而足。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器學習 的精彩文章:

人人可以機器學習!谷歌教你零編程基礎玩轉機器學習‖github 教程
引發機器學習大爆炸的導火索
揭秘出行巨頭Uber的機器學習平台與團隊
人工智慧、機器學習和深度學習的區別是什麼?
一文清晰講解機器學習中梯度下降演算法

TAG:機器學習 |