怎麼判斷自己的狗是不是寵物狗(如何判斷一隻狗到底是不是一隻狗)
2023-05-24 15:20:37 1
當你走在大街上,迎面竄出來一隻狗。這時候,你的大腦會告訴你,這是一隻狗,而且可能具有攻擊性,請遠離它。對周遭任何環境的變化進行感知,是我們與生俱來的能力。
那麼,你有沒有想過,你的大腦是如何判斷出來這是一隻狗的呢?即使你從未與這隻狗見過面,也不曉得它的品種,但你過去「閱」狗無數,同樣與生俱來的學習能力,讓你可以根據它的大概輪廓外形、外貌長相,甚至奔跑的速度,就能判斷這是一隻狗。
而如果換作是近些年幫助人類做許多事情的AI,識別出來一隻狗的難度可能要超乎你的想像。比如,我們讓一隻哈士奇分別展現一下正面、背面、側面,亦或者讓它躺下、坐下、直立,AI識別這些可能都很無奈,那麼,你就需要告訴AI:這些都是哈士奇。
眾所周知,世界上可能有很類似的拆家方式,但並沒有兩隻完全一樣的哈士奇,所以,你還需要讓AI見識更多的哈士奇、見識更多的狗,讓它能夠對於狗有一個判斷,這叫長見識,也叫學習。對於AI來說,各種姿勢和各種拆家方式的哈士奇都是數據,也是AI的訓練集,只有經歷了長時間、多模型的訓練之後,AI才能真正擁有「智能」。
AI是如何看世界的?
當我們在公司出入工區,有些人需要刷卡,有些人則很瀟灑地走到閘機跟前,閘機就自動打開了。這是因為閘機有人工智慧的加持,它能夠獲取經過的人臉,再用人臉識別的算法去認證,在閘機眼前,你就成了「最瀟灑的仔」;當我們在一些電商平臺購物,跟客服溝通的過程中,你會發現你給的一些問題,客服能夠很快地進行回復,但這時候如果你仔細體會,你可能會發現,其實跟你聊天的並不是一個人,這是NLP技術在聊天機器人的一個應用;當我們在微信上接到語音信息後,機器可以把聲音轉化成文字,並呈現到屏幕上 。
在我們日常生活中,AI早已經走進了我們身邊,並觀察著我們的「一舉一動」。但我們所知的並非是AI 的全部,AI在各行各業,都發揮著越來越大的作用。
◉ 在金融領域,許多量化交易的公司,用AI算法從事股票買賣。保險公司在對購買保險的人進行評估時,會用AI算法來評估風險;
◉ 在製造業,AI也有著許多應用,比如在聯想自身的工廠,通過計算機視覺技術監測筆記本、手機的屏幕缺陷;
◉ 在科學研究方面,一些科學家利用AI做災難預測,還有一些科學家利用AI發現新材料和新化學品。
那麼,AI到底是什麼原理呢?我們以計算機視覺技術與人眼作比較,當人眼看到一隻狗,這隻狗會先進入我們的眼睛,經過視網膜成像,這張照片再經由大腦後方的視神經去解讀、去「認證」這到底是不是一隻狗,這個過程其實是神經在傳導信息,神經元與神經元之間的連接相當複雜。而如何讓AI借鑑人的神經去設計,其中就涉及到一個經典的模型——卷積神經網絡。
所謂卷積神經網絡,其實是拿卷積運算去模擬神經元的連接,當一張圖經過許多卷積運算之後,會生成新的一層網絡,然後再重複這個過程,一直到最後一層輸出一個結果。這個結果就是AI對於一隻狗的確認率,比如,AI會告訴你,你拍攝的這張圖像有90%的概率是一隻狗子,因為從它對這隻狗的認知來說,它也不能確定肯定以及一定地告訴你。整個計算過程,從最開始,AI可能辨別的是一些很基礎的信息或者特徵,比如狗的輪廓,越往後,其識別的信息或者特徵越複雜,比如,這隻狗的毛色、品種,或者它識別出這是一隻狗的鼻子或者耳朵,直到最後,它拿到信息——這是不是一隻狗,這就是AI看待世界的一種方式。
當然,不管我們如何去用AI算法去模擬人的神經,對比真正的神經元,它的計算單元的計算能力和單元之間的連接都相對比較「低配」。
如何讓「低配」的模擬神經元擁有更高識別率地去認識一隻狗,這就涉及到了「煉AI」。
如何煉AI,目前業界有兩個觀點。
一是以模型為中心,當前的人工智慧模型只是比較複雜的統計和模式匹配,距離理想的人工智慧還有很長的路要走。人工智慧的進步依賴於模型的不斷升級;
二是以數據為中心,一個機器學習團隊80%的工作應該放在數據準備上,確保數據質量是最重要的工作。如果更多地強調以數據為中心而不是以模型為中心,那麼機器學習的發展會更快。
如果把整個AI的開發者看作是一個金字塔結構,那麼金字塔塔尖的可能是名校的博士或者是大廠的資深研究員,他們更適合去設計出更好的模型;金字塔中下部的人,則應該把更多的精力放在以數據為中心,更好地準備數據、處理數據,標註數據之後使用別人做好的模型進行訓練,讓這些模型在各行各業發揮更多作用,這種做法會更有效率。
「煉AI」不僅是一個動詞,還是一個名詞,聯想研究院通過自研,開發出了一款開發AI的平臺,叫作「煉AI大師」。煉AI大師既支持能看懂Python代碼的專家級用戶使用,也支持沒有太多經驗的用戶去訓練AI。
當AI專家去煉AI時,他們會在煉AI大師上先申請一個預先配置好環境的工作空間,工作空間可以靈活的搭配計算資源。然後他們就可以在工作空間中寫代碼和運行程序了。煉AI大師的工作空間可以由用戶進一步的做環境定製化。如果用戶需要在定製化後的環境下同時用不同的超參數分別運行代碼,或者想把自己配置好的環境分享給同事去煉AI的話,那麼可以在平臺上對工作空間進行克隆、分享等操作,幫助AI專家節省環境配置的時間。
對於沒有太多經驗的用戶,煉AI大師也能幫助他更好地煉AI。我們知道,數據、算力和算法是AI的三大基石。在數據處理方面,煉AI大師能夠幫用戶創建數據集,並支持多類不同的場景。這些場景分門別類針對AI的不同任務,以圖片分類為例,辨別一隻狗的圖片到底是不是一隻狗,或者說它是一隻貓還是一隻鳥,都屬於圖片分類的任務。再以圖片分割為例,煉AI大師能夠幫助你描繪一個圖片裡的人的輪廓。此外,還有檢測一個物體在圖片裡的位置等不同的場景。
如果你想從宏觀上了解數據集,煉AI大師獨步江湖的數據可視化功能就派上用場了。用放大鏡工具,你可以看到數據集裡有什麼數據,煉AI大師能幫用戶將相似的圖片聚在一起,當一堆鳥的照片中混進去一隻貓,煉AI大師可以將這隻貓單獨「拎出來」。如果給某一個數據加上了某個標籤,那麼可以用標籤傳播功能給所有和這個數據相似的數據自動打上同樣的標籤。
我們在煉AI時分以下幾步。第一步是訓練,標準的訓練流程要先訓練模型,然後經過模型評估之後進入到部署階段並提供API服務讓別人使用。模型訓練是個漫長的過程,為了解決這個問題,煉AI大師內置了分布式訓練,比如用戶可以使用20個GPU去訓練一個模型,達到20倍的加速。
分布式訓練的主要瓶頸在於通信開銷,煉AI大師通過無等待後向傳播,在計算的同時儘早發送數據,並且在發送數據時進行梯度壓縮,減少通訊負載。還創新性的通過基於動態延遲的循梯度更新的策略,降低通信頻率,實現了接近線性的加速比。
煉AI大師提供了快速的自動化模型搜索(AutoML)功能
通常情況下,AutoML搜索一個模型可能要好幾天甚至好幾周,聯想研究院在設計煉AI大師時做了許多前期的工作。一般,大家是將常用的模塊(比如卷積層)先做好,然後像搭積木一樣組裝,再用啟發式的方式組裝出符合目標大小、精度的模型。而煉AI大師在做這一步時,更進了一步,相當於先構造一個空間,在這個空間的每個關鍵點,都事先搜索出了模型的架構。當用戶給到煉AI大師一個需求,煉AI大師就能看到用戶的需求落在該空間的點,並匹配現有的、離其最近的架構,動態生成一個滿足用戶需求的模型結構。相比較一般的開發AI的平臺,煉AI大師能夠在更快的時間內搜索到一個滿足用戶需求的模型。
1963年,美國的兩位科學家Held & Hein用兩隻貓做了一個實驗。
他們將兩隻剛出生的貓分別放在兩個不同的籃子裡,左邊的這隻貓,在一個籃子裡,雙腳不挨地,不能自主行走;右邊的這隻貓雙腳挨地,能夠自由地左右行走或者轉圈。當右邊的貓行走時,它會帶動左邊的貓一起。
兩個月之後,他們將兩隻貓「解救」了出來,右邊的貓像正常的貓一樣可以行走或者蹦跳,而左邊的貓卻跌跌撞撞,它不知道它的面前有沒有障礙,如果把它放在高處,它會直接摔下去,儘管它的眼睛可以成像,但它無法理解它看到的東西,所以,這隻貓跟瞎了沒有什麼區別。
這個實驗告訴我們兩個事情,第一,對於神經來說,反饋非常重要,當你與外界產生互動,外界的反饋會給你的大腦造成一些變化;第二,不管是人還是動物的神經元,他都會跟隨外界的反饋產生連接,連接可以隨著外界刺激建立,也可以隨著刺激減少而斷開,甚至有可能永久斷開。
基於這個啟發,煉AI大師做了一個模型壓縮的工作,先對模型進行稀疏化操作,然後把權重很小的部分去掉。這樣就可以在基本不損失精度的情況下將它的體積壓縮到很小,比如,在一個具體的實驗中,煉AI大師能夠將一個100多兆的模型壓縮到30多兆。
訓練好模型後還需要一個模型評估的過程,將與訓練集類似的新數據輸入模型,模型測試會自動根據分類、目標檢測等不同任務的評估指標,評估AI模型是否已經煉好。
已經煉好的模型可以在煉AI大師上直接一鍵啟動服務並對外提供API調用,也可以下載SDK並部署到各種設備上。
煉AI大師不僅服務於聯想自身從事算法開發的人員,也幫助聯想的客戶進行算力管理,一方面提高了客戶的算力利用率,另一方面節約了客戶運維和開發的人力。未來,聯想希望,煉AI大師能夠面向整個社會,讓更多人、更多企業學會煉AI,讓AI在更多的行業賦能,讓世界變得越來越美好。
,