天天看點

小議“資料開放”

   各位朋友,大家新年好。

   2015年的第一天,我還是想繼續談談EasyPR。不過,今天我不想說代碼,也不想聊算法,而是想想談談資料的事情。尤其是關于“資料開放”這個對于車牌識别系統未來發展至關重要的主題。

   中國的車牌識别系統的現狀是商業和私有化,無論你願不願意承認,開源遠遠不是主流。這一方面有曆史發展的原因,另一個主要原因就是車牌資料的稀缺,研究者和團體很難找到開放的資料進行學習與研究。舉個例子,在google和百度裡搜尋“車牌資料”,很少能得到有用的内容。而僅有的一些網站,車牌資料更是被明碼标價。譬如,國内的一個網站“資料堂”(http://www.datatang.com/data/29148 ),對500張車牌圖檔的标價是300元,折合一張圖檔就要6毛錢!。

小議“資料開放”

 圖1 資料堂,一個資料的交易網站,裡面的車牌資料非常“昂貴” 

   我對這樣标價的感覺是“匪夷所思”(如果按照這樣的價格計算,在EasyPR裡已經開放的100多張測試圖檔豈不是價值60元人民币?每個下載下傳了EasyPR的人實際上都掙得了60元錢 :) )。從這裡可以看出車牌資料是多麼的不易弄到,相當稀缺。相反,資料開放的價值也就更大。

   一個車牌識别系統的核心分為機器學習算法與車牌訓練資料兩個部分。目前機器學習算法已經相當成熟(有很多現成的開源庫可以使用),但是,資料仍然是一個從0到1的問題。對于沒有資料的人來說,開發一個車牌識别系統是“無米之炊”。而對于有資料的人來說,他們不想開發,也不願将之分享。于是車牌識别界進入了一個怪圈:大量的人擁有資料但不利用這些資料,想利用這些資料的人找不到資料,而一些稍微能夠利用這些資料的人,則趕緊開發一個系統,然後圈上一大筆錢,再然後把算法閉源,資料閉源,不斷坐吃山空。從發展趨勢來說,這些是不利于中國的車牌識别系統長遠發展的。

   我在六個月前釋出了EasyPR這個開源車牌識别系統,意圖打破閉源體系的第一部分--代碼體系,但是第二部分--資料仍然是未解決的問題。從某種程度上來說,實作了代碼開源,那就OK了,為什麼還要需要做資料開源?根本原因在于,決定你系統好不好的,不是取決于算法,而是取決于資料。這個論斷,已經在“從機器學習談起”裡論述過。在很多地方已經展現的非常明顯(例如搜尋引擎),在很多地方即将展現(例如金融與社交)。

   随着我對EasyPR工作研究的進一步深入,我越來越發現兩個重要的問題。一個是訓練的資料永遠不夠,無法跟上算法的需要,另一個是不同識别系統使用的資料不同,無法進行比較。就第二點而言,哪怕是同一個系統,不同人開發的算法所針對的測試資料不一樣,都無法進行比較。是以,如果想從根本上改變目前車牌識别系統的效果,讓開源車牌識别系統可以發展的更加好,開放的資料集是必要的。這個資料集應該包括兩個部分:一個是通用的測試系統效果的資料集用來橫向比較不同系統或者縱向比較新老算法的差別差異,這些資料集不必非常多,但要有足夠大代表性以及區分度;另一個是訓練用的資料集,這些資料集用來提供足夠多的訓練資料,這個資料集要足夠的大,足夠的全。

   當然,要想收集這些資料是很困難的,尤其是一個人的情況,但衆多集力就不會那麼困難了。假設一個閉源的系統有100萬的訓練資料,那麼隻要我們有1000個人,每個人貢獻1000張圖檔就可以超過它。但是,為了把大家的力量集合到一起,首先就不能基于商業目的。如果為了商業目的,那麼主流的思想是競争與壟斷,而不是共享。是以必須非商業化。同時大家之間的關系應該是以學習,研究為主,這樣才能夠充分發揮網絡協作的精神。

   毫無疑問,我一個人來是肯定不夠的。但即便是一個團隊,也很難收集與處理這麼多的資料。是以,它應該是一個衆籌項目。為了保證這樣的一個過程,需要一個合理的協定來限制。

  這也是我在EasyPR中提出GDSL(General Data Share License,通用資料共享協定)的原因。相比開發一個項目,完成一個協定的困難更大。但這個過程相當有必要,因為這是開源車牌識别系統想在國内茁壯發展下去,基于資料分析的思想在國内能夠廣泛流傳的基石。一個協定需要考慮多種因素,目前的協定也僅僅隻是0.1版本,還有很多待完善的空間,歡迎任何有想法的朋友跟我交流。

  從無到有的建立一個協定的困難是難以想象的,而且也會抛棄掉很多前人的精華。基于他人的經驗才是“從機器學習談起”中智慧的方式。如果前人已經有相似的協定,那麼拿來直接用是最好的了。既然是參考開源項目,自然首先看的就是開源協定,例如apache,mit,GPL等。但是,開源協定保護的對象一般是代碼,或者通過這些代碼産生的“work”(可以了解為訓練出的模型)。開源協定并沒有提及對資料的保護。那麼資料界是否已經有了成熟的開放資料相關的協定内容?國外有一個開放資料的協定ODL(http://opendatacommons.org/licenses/),裡面有不少借鑒的内容,但那個協定的保護對象主要是結構化資料,而非圖檔這種非結構化資料,再加上ODL協定對“商業”友好。是以這是我起草一個新協定的原因,當然這個新協定應該充分借鑒原先協定的優點。

小議“資料開放”

  圖2 ODL官網,國外的很早提倡資料開放的一個協定,其資料以格式化資料為主

   在協定起草過程中,我參考了ImageNet(一個知名的測試機器學習與圖像識别的圖檔庫,http://www.image-net.org/ )裡資料使用的方式。在ImageNet裡存儲有1400萬圖檔,但這些圖檔的版權都不屬于ImageNet本身。使用者必須同意一些非商用的條款并且通過“研究人員認證”才能下載下傳這些圖檔。

   ImageNet通過嚴格的稽核保證了資料的有效使用,但也是以限制了很多業餘開發者的機會。我決定讓GDSL協定面向業餘開發者友好。

小議“資料開放”

  圖3 ImageNet,深度學習近年來的多項進展離不開ImageNet裡的資料

  綜合了以上的資訊,GDSL協定的一個初稿誕生了。在這個初稿中,借鑒了GPL協定的“傳染性”以及ODL協定的“開放性”,同時,由于資料是網友“捐贈”過來的,是以資料的使用者擁有複制與分享的權利(但是商用目的仍然是不允許的)。對于資料的“商用”的解釋為通過這些資料牟利,例如像上文提到的“資料堂”那樣将資料兜售,或者将資料作為車牌識别産品的贈品(産品本身要收錢)。與之相對的是,資料的“非商業使用”則是例如通過機器學習算法通過這些資料訓練出一個模型或者系統,然後銷售這個模型,這個屬于GDSL協定允許的範疇。從這個角度上說,本協定鼓勵對于資料的研究利用,而不是對資料的轉賣。當然,車牌圖檔有一定的隐私性,這也是前面若幹資料擁有者不開放資料的一個原因,是以GDSL協定對于資料的隐私有一定的處理要求與政策,具體可以看協定内部的說明。

   最後,簡單介紹一下基于GDSL協定的“通用資料測試集”(GDTS)和“開放共享資料集”。

   “通用資料測試集”(GDTS)是一個包含各類車牌圖檔的資料集。它的目标是提供一個判斷車牌識别系統的通用集合。是以,集合裡的圖檔來源廣泛,包括各種環境下,不同角度裡,以及惡劣環境下的車牌圖檔。通過GDTS,可以有效地對不同的車牌識别系統與算法進行區分與評判。

   “開放共享資料集”則包含海量的資料,它的主要目标是提供一個機器學習算法足夠充足的訓練資料。

   本篇文章對于“資料開放”的探讨僅是一個抛磚引玉,未來“資料開放”的真正形态以及生态圈或模式是否就是如此,現在還無法确定。但這是一個嘗試,作者認為,未來“資料利用”會分化成兩個世界,一個世界是大公司主導的資料界,例如支付寶,微信等等,它們擁有的大量資料來自于群眾,私有而不開放,通過這些海量資料,這些企業會成為未來世界的掌控者。另外一個就是社會圈裡的開放資料,例如政府開放出來的,群眾自發組成的,研究團隊釋出的。這些資料通過再開發,再利用,會産生資料的重新流通價值,促進生産效率的大幅優化。而車牌識别資料,則是屬于第二世界中的一個小者,同時也是資料共享界的一個嘗試。

   未來的世界屬于資料的世界。

繼續閱讀