在數據為王的人工智慧時代如何收集機器學習數據
我最近因為學習機器學習並且想要做一些實踐項目而打算收集一些數據來做機器學習,但是發現,數據不是你想找,想找就能找的。在機器學習方面,用於訓練的數據對於整個機器學習進程的重要意義自然不言而喻,而數據問題涉及到收集、存儲、表示以及規模和錯誤率等多個方面。關於數據,我想談一談數據的收集問題。
如何收集數據呢?我們絕大部分情況下,收集數據的途徑無非以下幾種:
一、在網上收集下載公開的免費數據
這是很多人的第一反應,當然,這是很正常的,既免費又好的數據誰不想要?然而實際情況並不樂觀,免費數據要麼是難以尋找,要麼是數據量太小,要麼就是不符合需求。比如,我想做中文的自然語言處理方面的一些機器學習,然而瀏覽了大量的網站之後,發現所能找到的僅有的數據都是關於英文的數據,而用來做中文方面的中文數據難以尋找。有些網站寫著免費下載中文數據,然而那裡並沒有數據。
如果是純文本的數據還好說,自己寫一個爬蟲程序,然後運行。比如,如果是實現新聞文本分類的,那麼從各大新聞網站直接爬取即可。即使這樣,很多想要的功能還是難以實現,比如做機器翻譯,需要中英文文本對照,自然狀態下並沒有這樣的數據。
二、購買專業數據公司的數據
這種方法的優劣我不做評價,畢竟你有數據我有錢,大家都高興。專業的數據公司國內互聯網上就有一家算得上是挺知名的,還有各個大公司大企業等,他們自身因為在所在行業的地位,通過各種手段能夠收集到大量的數據。他們有足夠的人手來管理數據,所以數據的質量一般都是有保證的。這個方法其實當然是很不錯的,只要你有錢就行。
我看過那家數據公司的數據購買價格,數據量稍微量多一點就是上萬元的價格,作為一名普通的程序猿,購買數據的話基本上可以幾個月不吃不喝了。
不過,在語音識別方面的大多數數據集都是有版權的,收集的公司因為這些數據獲得了大量的利益,但在這一領域裡,許多可用的數據集都是比較舊的。
三、自己根據需要和實際情況製造或從身邊收集數據
既然購買數據辣么貴,辣么我們自己搞定行不行?O(∩_∩)O
在所需數據量不大的情況下,比如只是幾十或者幾百個,完全可以通過這種方法來獲得數據,然後自己就安心地去訓練機器去吧。優點很明顯,成本低,隨意性高;但是缺點也是很突出的,一個人的精力是有限的,個人的力量不可能收集成千上萬乃至幾十萬幾百萬的數據量,而實際機器學習的應用往往就是需要如此之多的數據。少量的數據做一些簡單的模型(如線性回歸或者特徵較少的對數幾率回歸等)尚可,對於類似於使用神經網路實現圖像識別的機器學習任務,這種方法顯然不合適。
四、自己出錢讓別人根據需求一起幫你收集所需要的數據
這種方法相比上面那一種來說,最重要的一點就在於人多力量大,眾人拾柴火焰高嘛。當然別人不是白白幫你的,你需要給他們一些報酬,不過相比於購買數據,如果你給每個人的報酬合適的話,成本也算很低了。
這樣子確實比較興師動眾,你一個人為了做一些實驗,然後讓一大群人來幫你,前提也是能有一群人願意幫你,只要你人緣好,然後能說動他們,不過缺點也正是在於此,而且還需要注意數據的質量。不過這種方法綜合下來算是成本較低的,但是需要付出多種類型的成本,除了錢以外,還有比如時間成本、人力組織成本以及人際關係網路等。
我們還有其他的收集數據的方法,只不過一般情況下並不可行。比如,我們自己開發一款瀏覽器或者新聞APP來收集用戶的閱讀偏好,通過這些數據來實現一個推薦系統,或者拍照APP收集用戶拍攝的照片,並分類,實現一個圖像識別和分類的系統等。為了做語音識別,通過已有的可用API和軟體,進行文字轉語音或者語音轉文本從而得到訓練數據,再用這些數據來訓練機器學習模型。類似的方法還有很多,但是基本上要麼是不現實(如通過有大量用戶的APP收集數據),要麼是不太正義(比如APP收集數據很多情況下侵犯個人隱私),要麼就是不符合「科研精神」(數據是造出來的而不是來源於真實世界中)。
但是,長期下去僅僅依靠以上的方法也總歸不是個事啊。開源軟體是一個大社區,那裡有著來自世界各地的計算機軟體高手寫的各種各樣的代碼,只要我們遵守開源協議,將程序下載、編譯、安裝,然後我們就可以盡情的自由使用了,這個過程很容易,然而在人工智慧方面卻遇到了問題。
人工智慧是數據驅動的,我們有開源的TensorFlow, Caffe, CNTK, Torch等人工智慧引擎,但是,沒有數據就沒有機器學習模型,也就等於沒有了軟體,因為引擎僅僅是引擎,不能成為成品,而且軟體的定義是程序+數據,二者缺一不可。我們通常所理解的軟體僅僅指程序,那是狹義的軟體,這也是以前數據「不重要」的特性導致的,然而現在不同了,僅僅有代碼我們的程序無法發揮作用,所以我們需要新的開源模式,將數據也包含進來,其相關的信息也需要一同開源。(詳見參考鏈接【1】)
不過,總是等待也不是辦法,就我已經搜集到的信息,我想分享一些人工智慧方面開源的數據集,部分內容鑒於原作者因為版權問題禁止轉載,我就寫到一起,列出來一個列表,詳細列表請點擊本人博客的原文鏈接查看。這個列表裡面的數據如果不出意外應該都是免費的。
在數據為王的人工智慧時代如何收集機器學習數據參考鏈接:
【1】《人工智慧的開源模式已經過時,我們需要新的開源模式》
http://www.jiqizhixin.com/article/2218
推薦閱讀:
※OpenAI Gym 在windows下的配置和使用
※人工智慧會毀滅人類嗎?
※基於1000多萬個化學反應,加速合成人類所需的化合物
※人工智慧開始風生水起
※AI for Marketing | 人工智慧,如何重構數字營銷新"智」序?
TAG:機器學習 | 深度學習DeepLearning | 人工智慧 |