介紹
深度學習正在從根本上改變我們周圍的一切。許多人認為只有成為專家才能在應用中運用深度學習,實際上并非如此。
在上一篇文章中討論了6個初學者在幾分鐘內就可以建立的深度學習應用。我很高興看到很多讀者由此受到啟發,所以在其后又增加了一些深度學習的應用。如果錯過了我上一篇文章,建議您先去讀一下。
本文中我們將學習如何利用深度學習建立例如圖像自動標注、服裝推薦、音樂制作等其他很多應用。這些應用中的任何一個都可以在幾分鐘內完成。
PS. 本文假定你了解Python的基本知識,如果不了解的話,請參考this tutorial(https://www.analyticsvidhya.com/blog/2016/01/complete-tutorial-learn-data-science-python-scratch-2/) 然后再從這兒開始。
內容列表
1.使用現有API的應用
- 利用Clarifai API實現圖像自動標注
- 利用Indico API 實現服裝推薦系統
2.開源應用
- 運用深度學習制作音樂
- 檢測“辦公室不宜(Not Safe For Work)”圖像
3.實現超分辨率
- 其他常用資源
1 使用現有API的深度學習應用
1.1 自動圖像標注(Clarifai API)
圖像標注是具有突破性意義的深度學習應用之一。和文本數據不一樣,機器解析圖像數據要困難得多,機器需要更深入地理解像素數據。因此我們通過圖像標注來分析圖像,由此得到圖像分類并且辨識出相應的對象。
這就是我們使用圖像標注來分析圖像的原因。圖像標注能告訴我們圖像分類和辨識對象是什么。
下面是一個通過深度學習預測圖像標注的例子:
下面就讓我們來看看Clarifai提供的API是如何給上面的每幅圖標注特征的。
系統需求和說明:
1.Python(2或者3)
2.互聯網連接(能獲取API端點)
第一步:在Clarifai網站上注冊,獲取API key。然后在開發者頁面(https://indico.io/demos/clothing-matching)找到API的證書
第二步:在終端輸入以下命令安裝Clarifai的Python客戶端
第三步:使用Clarifai客戶端來配置系統
這一步需要提供客戶端ID和客戶端密鑰。這些能在開發者頁面找到。
第四步:生成文件Application.py,加入下面標注圖像的代碼。請記住把代碼中<your_image>替換成你想標注的圖像的路徑。
然后用以下命令運行代碼
你將會得到如下輸出:
這個JSON輸顯示了預測的結果。你可以在outputs->data-> concept->name里找到相關的標注。
1.2 服裝推薦(Indico API)
推薦系統正逐漸成為一種巨大的財富。隨著產品種類的增加,企業十分需要一種能夠智能鎖定產品潛在消費者的工具。深度學習恰恰能在這方面很好地幫助我們。
我并不是個時髦的人,但我發現人們會“浪費”大量時間在選擇穿哪件衣服上。要是能有個人工智能代理知道我們的喜好,并能給我們建議最佳搭配該多好呀!
幸運的是,深度學習正讓這個成為可能。
你可以在here(https://indico.io/demos/clothing-matching)找到這個應用的演示。
official article (https://indico.io/blog/fashion-matching-tutorial/)文中有更詳細的描述。現在讓我們看看如何建立這個推薦系統:
系統需求和說明
1.Python 2
2.互聯網連接(獲取API端點)
第一步: 在Indico website(https://indico.io/pay-per-call)上注冊獲取你自己的API key
第二步:在命令行窗口輸入以下命令,安裝Indico的python客戶端
第三步:從Github(https://github.com/IndicoDataSolutions/SuperCell)下載Repository。解壓并進入“matching clothes”目錄
第四步:在main.py文件中加入如下代碼。記住將YOUR_API_KEY替換成在第一步中獲取的你自己的KEY
在末尾將 ‘if __name__ == “__main__”'替換成如下代碼
輸入以下命令運行代碼
你將會得到如下輸出:
這段輸出表示上面例子中匹配的概率。
2 深度學習的開源應用
2.1 使用深度學習進行音樂制作
音樂制作是深度學習最酷的應用之一。下面這個應用如果能運用得當的話,將帶來突破性的發展。
和自然中的其他事物一樣,音樂是和諧的。音樂具備一種我們能捕捉和理解的模式。而這些音樂模式對計算機來說是可以學習的,并能被用來產生新的音樂旋律。這就是音樂制作背后的原理。
This open source application(https://deepjazz.io/)就是基于這一點建立的。下面是它所產生的音樂的一個例子。
訪問網站聽聽音樂效果(https://soundcloud.com/deepjazz-ai/deepjazz-on-metheny-128-epochs)
現在讓我們來復制這個結果吧!
系統需求:
1.Python (2 或 3)
第一步:安裝關聯軟件
首先安裝Theano,注意必須安裝最新版的Theano, 可以在here(http://deeplearning.net/software/theano/install.html#bleeding-edge-install-instructions)找到安裝指南。
然后用以下命令安裝Keras:
然后按照here(https://keras.io/backend/)提供的指南,把Keras的后端從tensorflow 變成Theano。
最后一個關聯軟件是Music21。參照this(http://web.mit.edu/music21/doc/installing/index.html)鏈接進行安裝。
第二步: 運行以下命令生成音樂
2.2 檢測“辦公室不宜(Not Safe For Work)”圖像
雖然審查制度是個頗具爭議的話題,但是它仍然是為瀏覽者過濾出帶有攻擊性的成人內容的重要組成部分。以下應用主要聚焦于過濾出NFSW類型的內容和辨認色情圖像方面。系統返回的分數能表示NFSW的傾向性,從而過濾出在一定閾值之上的圖像。
下面是三張預測圖像和系統給出的NFSW分數。
讓我們來看看如何建立這樣一個應用。
系統需求:
1.Python 2
第一步:在系統中安裝Docker(https://docs.docker.com/engine/installation/)并且用以下命令建立一個圖像
第二步:從Github下載repository并且解壓(https://github.com/yahoo/open_nsfw)
第三步:在你的下載目錄下運行以下命令。 給出你要分析的圖像路徑
2.3 超級分辨率
我們經常在電影中看到這樣的鏡頭:放大圖像后看到了最精細的細節,然后據此抓住了罪犯或者找到關鍵證據。
但事實并非如此,當你放大圖像時,圖像往往是變得模糊不清。為了處理這個問題(使夢想變為現實),我們可以使用深度學習來提高圖像分辨率,幫助我們得到清晰的放大效果。
下面這個應用就是以上場景的實現,這里有一個輸出的例子。
現在來看看如何建立這個應用。
系統需求
1.Python 3
第一步:在系統中安裝docker
第二步:打開 .bashrc 文件并輸入以下代碼
第三步:現在提升你的圖像,在下面的代碼中加入圖像的文件名
3
其他常用的資源
深度學習一直不斷帶給我們驚喜,伴隨著無數應用的開發,各行各業利用這項技術展開競爭大有星火燎原之勢。在本文結束之前,我很愿意再列舉些可能對您有啟發的資源。
Course material on “Applications of Deep Learning”
Projects done by students of Stanford’s CS231n ’16 batch
Projects done by students of Stanford’s CS224d ’16 batch
List of Deep Learning Startups
原文轉自:https://mp.weixin.qq.com/s/8kDmqOgJUhM50llaJaGkng