超级干货 :如何创造性地应用深度学习视觉模型于非视觉任务(附代码)
作者:Max Pechyonkin;翻譯:和中華;校對:丁楠雅
本文約2900字,建議閱讀10分鐘。
本文將介紹3個非視覺領域的應用實例。
導讀
眾所周知,目前深度學習在計算機視覺領域已經有很好的應用落地,再加上遷移學習,可以很容易的訓練出一個用于視覺任務的模型。但是現實中還有很多任務的原始數據是非視覺類型的,面對這樣的問題,我們還可以借用強大的深度學習視覺模型嗎,本文作者將用3個具體案例來展示這一切都是可能的。
?
介紹
近年來,深度學習已經徹底改變了計算機視覺。由于有遷移學習和優秀的學習資源,任何人都可以在數天甚至數小時內,利用預先訓練好的模型并將其應用于自己的領域從而獲得最先進的結果。隨著深度學習變得商品化,人們的需求也隨之變成了它在不同領域的創造性應用。
遷移學習教程:
https://machinelearningmastery.com/transfer-learning-for-deep-learning/
深度學習教程:
https://course.fast.ai/
今天,計算機視覺領域的深度學習已經在很大程度上解決了視覺對象分類、目標檢測和識別問題。在這些領域,深度神經網絡的表現優于人類。
?
即使數據不是可視化的,你仍然可以利用深度學習視覺模型,主要是指CNN。要做到這一點,你必須將數據從非視覺型轉換為圖像,然后使用某個針對圖像預訓練過的模型來處理你的數據。你將會對這種方法的強大感到驚訝!
?
在本文中,我將介紹3個創造性地使用深度學習的案例,展示一些公司如何將深度學習視覺模型應用于非視覺領域。在每個案例中,都會對一個非計算機視覺問題進行轉換和說明,以便利用適于圖像分類的深度學習模型。
案例一:石油工業
在石油工業中,“磕頭機”常用于從地下開采石油和天然氣。它們由一個連接在游梁上的發動機提供動力。游梁將發動機的旋轉運動轉化為抽油桿的垂直往復運動,使得抽油桿像泵一樣將油輸送到表面。
?
磕頭機,也稱為抽油機。來源:https://commons.wikimedia.org
像任何復雜的機械系統一樣,抽油機也容易發生故障。為了幫助診斷,人們在抽油機上安裝一個測功計,用于測量桿上的負載。測量后,繪制出一張測功計泵卡,其顯示發動機旋轉周期各部分的負載。
?
測功計泵卡樣例。來源:https://www.researchgate.net/
?
當抽油機出故障時,測功計泵卡的形狀會改變。通常會邀請專業技術人員來檢查卡,并就泵的哪個部位出現故障以及需要采取什么措施來修復它作出判斷。這個過程非常耗時,并且需要非常狹窄的專業知識才能有效解決。
?
另一方面,這個過程看起來像是可以自動化的,這就是之前為什么傳統的機器學習系統被試過,只是沒有取得好的效果,準確率僅為60%左右。
?
將深度學習應用到這個領域的公司之一是貝克休斯(Baker Hughes)。在他們的案例中,測功計泵卡被轉換成圖像,然后作為輸入傳給ImageNet預訓練好的模型中。結果令人印象深刻——只需采用預訓練好的模型并用新數據對其進行微調,準確率就從60%上升到了93%。對模型進一步優化,其準確率可達97%。
?
貝克休斯部署的系統示例。左側是輸入圖像,右側是故障模式的實時分類。系統在便攜式設備上運行,其分類時間顯示在右下角。來源:https://www.youtube.com
?
它不僅擊敗了以前基于傳統機器學習的方法,而且現在該公司不需要抽油機技術人員花時間來診斷問題,從而可以提高效率。他們可以立即開始修復機械故障。
?
要了解更多信息,你還可以閱讀一篇討論類似方法的論文。
案例二:在線欺詐檢測
計算機用戶在使用計算機時有獨特的模式和習慣。當你瀏覽一個網站時你使用鼠標的方式或者編寫郵件時你在鍵盤上敲擊的方式都是獨一無二的。
?
在這個案例中,Splunk解決了一個問題,即通過使用計算機鼠標的方式對用戶進行分類。如果你的系統能夠根據鼠標使用模式唯一地識別用戶,那它就可以用于欺詐檢測。想象一下:欺詐者竊取某人的登錄名和密碼,然后登錄并在網上商店購物。欺詐者使用電腦鼠標的方式是獨一無二的,系統將很容易檢測到這種異常情況,并防止欺詐交易發生,同時也會通知賬戶的真正所有者。
?
使用一段特殊的javascript代碼,就可以收集所有的鼠標活動。該軟件每5-10毫秒記錄一次鼠標活動。因此,每個用戶每頁面大約會產生5000–10000個數據點。該數據有兩大挑戰:首先,這對每個用戶來說都是大量的數據;第二,每個用戶的數據集將包含不同數量的數據點,這不是很方便,因為通常而言,不同長度的序列需要用到更精巧的深度學習架構。
?
他們的解決辦法是將每個用戶在每個網頁上的鼠標活動轉換為單個圖像。在每幅圖像中,鼠標移動由一條線表示,顏色編碼了鼠標移動的速度,而左擊和右擊則由綠色和紅色圓圈表示。這種處理初始數據的方法解決了上述兩個問題:首先,所有圖像的大小都相同;其次,可以使用處理圖像的深度學習模型了。
?
在每幅圖像中,鼠標移動由一條顏色編碼鼠標速度的線表示,而左擊和右擊則由綠色和紅色圓圈表示。來源:https://www.splunk.com
Splunk使用TensorFlow加Keras構建了一個分類用戶的深度學習系統。他們做了兩個實驗:
?
實驗一:某個金融服務網站用戶的組別分類——訪問類似頁面時,區分他們是普通客戶還是非客戶。
僅用了一個由2000張圖片組成的較小的訓練集,在對基于VGG16修改的網絡結構進行了2分鐘的訓練后,系統就能以80%以上的準確率識別這兩個類別。
?
實驗二:單個用戶分類。
該任務是對于給定的用戶,通過鼠標活動預測它是此用戶的還是模仿者的。這回僅有一個360張圖片的小訓練集。基于VGG16,但考慮到數據集更小和過擬合(可能使用了dropout和batch normalization),他們對網絡結構進行了修改。經過3分鐘的訓練,準確率就達到了78%左右,考慮到該任務的挑戰性,這個結果令人印象非常深刻。
?
想了解更多信息,請參閱下面這篇描述系統和實驗的完整文章。
文章鏈接:
https://www.splunk.com/blog/2017/04/18/deep-learning-with-splunk-and-tensorflow-for-security-catching-the-fraudster-in-neural-networks-with-behavioral-biometrics.html
案例三:鯨魚的聲音檢測
在這個例子中,谷歌使用卷積神經網絡來分析錄音并檢測其中的座頭鯨。這對研究而言很有用,例如跟蹤單個鯨魚的運動、歌曲的特性、鯨魚的數量等。有趣的不是研究目的,而是谷歌如何處理數據以用于需要圖像的卷積神經網絡。
?
將音頻數據轉換成圖像的方法是使用時頻譜。時頻譜是音頻數據基于頻率特征的視覺表示。
一個男性聲音說“十九世紀”的時頻譜例子。來源:https://commons.wikimedia.org
?
在將音頻數據轉換成時頻譜之后,谷歌的研究人員使用了Resnet-50架構來訓練這個模型。達到的性能如下:
?
精度90%:90%被模型歸類為鯨魚歌聲的音頻剪輯被正確歸類
召回率90%:如果有一首鯨魚歌聲的錄音,有90%的幾率它會被貼上這樣的標簽。
?
這一結果令人印象深刻,對鯨魚的研究也一定有幫助。
?
讓我們把焦點從鯨魚轉到處理音頻數據上。創建時頻譜時,根據音頻數據的類型,你可以選擇要使用的頻率。針對人類語音、座頭鯨歌聲或工業設備錄音等將需要不同的頻率,因為在這些不同場景下,最重要的信息包含在不同的頻段中。必須使用領域知識來選擇該參數。例如,如果你使用的是人類語音數據,那么第一選擇應該是梅爾倒頻譜。
?
目前有很好的軟件包可用于音頻。librosa是一個免費的音頻分析python庫,可以使用CPU生成時頻譜。如果你在TensorFlow上開發并且想在GPU上做時頻譜計算,也是可以的。
librosa相關鏈接:
https://librosa.github.io/librosa/
?
請參考下面這篇谷歌人工智能的原始博客文章,以了解更多關于谷歌如何處理座頭鯨數據的信息。
谷歌博客文章:
https://ai.googleblog.com/2018/10/acoustic-detection-of-humpback-whales.html
?
總而言之,本文概述的一般方法遵循兩個步驟。
首先,找到一種將數據轉換成圖像的方法;
第二,使用經過預訓練的卷積網絡或從頭訓練一個。
第一步要比第二步更難,需要思考你的數據是否可以轉換成圖像,這是你展現創造性的地方。我希望上述提供的示例對解決你的問題有幫助。如果你還有其他的例子或問題,請寫在下面的評論中。
參考引用
IoT for Oil & Gas?—?The Power of Big Data and ML (Cloud Next ’18)
https://www.youtube.com/watch?v=6_kdEguYwwg&feature=youtu.be&t=1692
Beam Pump Dynamometer Card Prediction Using Artificial Neural Networks
https://www.knepublishing.com/index.php/KnE-Engineering/article/download/3083/6587
Splunk and Tensorflow for Security: Catching the Fraudster with Behavior Biometrics
https://www.splunk.com/blog/2017/04/18/deep-learning-with-splunk-and-tensorflow-for-security-catching-the-fraudster-in-neural-networks-with-behavioral-biometrics.html
Acoustic Detection of Humpback Whales Using a Convolutional Neural Network
https://ai.googleblog.com/2018/10/acoustic-detection-of-humpback-whales.html
本文最初發表在作者網站pechyonkin.me上。
作者聯系方式
Twitter:
https://twitter.com/max_pechyonkin
LinkdIn:
https://www.linkedin.com/authwall?trk=gf&trkInfo=AQFpHL3mlkPKnQAAAWiThnDAgtn1tdrvz57ag0PVaE7smdQF3iJOA2Eapss4-q9395VIOxi_DSeBALr0q2KXAxHqmEkhqzFKFdkMWgCcWSkILT7gOlMbd9XT5Jqctr4d-DFLHGk=&originalReferer=&sessionRedirect=https%3A%2F%2Fwww.linkedin.c
原文標題:
Deep Learning Vision for Non-Vision Tasks
原文鏈接:
https://towardsdatascience.com/deep-learning-vision-non-vision-tasks-a809df74d6f
編輯:黃繼彥
譯者簡介:和中華,留德軟件工程碩士。由于對機器學習感興趣,碩士論文選擇了利用遺傳算法思想改進傳統kmeans。目前在杭州進行大數據相關實踐。加入數據派THU希望為IT同行們盡自己一份綿薄之力,也希望結交許多志趣相投的小伙伴。
「完」
轉自:數據派THU?;
版權聲明:本號內容部分來自互聯網,轉載請注明原文鏈接和作者,如有侵權或出處有誤請和我們聯系。
關聯閱讀
原創系列文章:
1:從0開始搭建自己的數據運營指標體系(概括篇)
2 :從0開始搭建自己的數據運營指標體系(定位篇)
3 :從0開始搭建自己的數據運營體系(業務理解篇)
4 :數據指標的構建流程與邏輯
5 :系列 :從數據指標到數據運營指標體系
6: ??實戰 :為自己的公號搭建一個數據運營指標體系
7:??從0開始搭建自己的數據運營指標體系(運營活動分析)
8:上班一周了,【就業季】對2018年交滿意的答卷...
數據運營?關聯文章閱讀:??
運營入門,從0到1搭建數據分析知識體系? ??
推薦 :數據分析師與運營協作的9個好習慣
干貨 :手把手教你搭建數據化用戶運營體系
推薦 :最用心的運營數據指標解讀
干貨 : 如何構建數據運營指標體系
從零開始,構建數據化運營體系
干貨 :解讀產品、運營和數據三個基友關系
干貨 :從0到1搭建數據運營體系
數據分析、數據產品?關聯文章閱讀:
干貨 :數據分析團隊的搭建和思考
關于用戶畫像那些事,看這一文章就夠了
數據分析師必需具備的10種分析思維。
如何構建大數據層級體系,看這一文章就夠了
干貨 : 聚焦于用戶行為分析的數據產品
80%的運營注定了打雜?因為你沒有搭建出一套有效的用戶運營體系
從底層到應用,那些數據人的必備技能
讀懂用戶運營體系:用戶分層和分群
做運營必須掌握的數據分析思維,你還敢說不會做數據分析
合作請加qq:365242293??
更多相關知識請回復:“ 月光寶盒 ”;
數據分析(ID :?ecshujufenxi?)互聯網科技與數據圈自己的微信,也是WeMedia自媒體聯盟成員之一,WeMedia聯盟覆蓋5000萬人群。
總結
以上是生活随笔為你收集整理的超级干货 :如何创造性地应用深度学习视觉模型于非视觉任务(附代码)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微软 ERP 的定价及其它
- 下一篇: 编程设计电影海报的色彩/统计电影海报颜色