每日最新頭條.有趣資訊

人人都在說 究竟什麽是機器學習技術

本文由騰訊數位獨家發布

機器學習使電腦能夠處理那些直到現在才被人們執行的任務,從自動駕駛汽車到翻譯語音,機器學習正在推動人工智能能力的爆炸式增長幫助軟體理解混亂和不可預測的現實世界。

但是,機器學習究竟是什麽,以及什麽使當前機器學習的繁榮成為可能呢?

什麽是機器學習?

在一個非常高的水準上,機器學習是教電腦系統如何在輸入數據時做出準確預測的過程。

這些預測可能回答是否一片水果的照片是一個香蕉或蘋果,發現人們過馬路的無人駕駛汽車,是否使用這個詞在句子與平裝書或酒店預訂,電子郵件是垃圾郵件,還是語音辨識準確足以產生YouTube影片的字幕。

與傳統電腦軟體的關鍵區別在於,一個人類開發人員沒有編寫代碼來指導系統如何區分香蕉和蘋果之間的區別。

取而代之的是一個機器學習模型,它被教授如何通過大量的數據訓練來可靠地區分這些水果,在這個例子中可能有大量的圖片被標記為包含一個香蕉或一個蘋果。

數據,以及大量的數據,是使機器學習成為可能的關鍵。

人工智能和機器學習有什麽區別?

機器學習可能在最近取得了巨大的成功,但它只是實現人工智能的一種方法。

在20世紀50年代人工智能領域誕生時,人工智能被定義為任何能夠執行通常需要人工智能的任務的機器。

人工智能系統通常至少會展示以下一些特徵:計劃、學習、推理、解決問題、知識表示、感知、運動和操縱,以及在較小程度上的社會智力和創造力。

與機器學習、有其他各種方法用於構建人工智能系統,包括進化計算算法進行隨機突變和兩代人之間組合為了“進化”最優解決方案,和專家系統,在電腦程式與規則,讓他們模仿人類專家的行為在一個特定的領域,例如一個駕駛飛機的自動駕駛儀系統。

機器學習的主要類型是什麽?

機器學習一般分為兩大類:監督和非監督學習。

什麽是監督學習?

這種方法主要是通過例子來教授機器。

在監督學習的培訓過程中,系統會暴露在大量被標記的數據中,例如,手寫的數字影像顯示了它們對應的數字。有了足夠的例子,一個受監督的學習系統將學會識別與每個數字相關聯的像素和形狀,並最終能夠識別出手寫的數字,能夠可靠地區分數字9和4或6和8。

然而,培訓這些系統通常需要大量的標簽數據,一些系統需要暴露在數百萬個示例中才能掌握一項任務。

結果,這些系統使用訓練數據集可以廣闊,與谷歌的開放影像數據集有大約九百萬的圖片,其標記的影片庫七百萬標記的影片和ImageNet YouTube-8M鏈接,這種早期的數據庫之一,擁有超過1400萬個分類影像。培訓數據集的規模在不斷擴大,Facebook最近宣布,它已經在Instagram上公開了35億張圖片,並將每個圖片上的標簽作為標簽。利用這些照片中的10億個來訓練影像識別系統,在ImageNet的基準測試中,它的準確率達到了85.4%。

在培訓中使用數據集的繁瑣過程通常是通過“眾包”服務進行的,比如亞馬遜土耳其機器人公司,它提供了全球範圍內大量低成本勞動力的獲取途徑。例如,ImageNet在兩年多的時間裡被將近5萬人放在一起,主要是通過亞馬遜的土耳其機器人。然而,Facebook使用公開數據來培訓系統的方法,可以提供一種替代方法,在不使用手動標簽的情況下,使用十億強數據集來訓練系統。

什麽是無監督學習?

相比之下,無監督的學習任務算法在數據中識別模式,試圖發現將數據劃分為類別的相似性。

一個例子可能是,Airbnb將社區出租的房屋聚集在一起,或者是谷歌新聞集團每天都在類似的話題上進行報導。

該算法並不是專門針對特定類型的數據進行設計的,它只是查找可以根據其相似性進行分組的數據,或者尋找異常突出的異常數據。

什麽是半監督學習?

由於半監督學習的興起,大量被標記的數據用於訓練機器學習系統的重要性可能會隨著時間的推移而減少。

正如名字所暗示的,這種方法混合了監督和非監督學習。該技術依賴於使用少量的標簽數據和大量未標記的數據來訓練系統。被標記的數據用於部分地訓練機器學習模型,然後部分訓練的模型被用來標記未標記的數據,一個稱為偽標記的過程。然後,該模型將對被標記和偽標記數據的混合進行培訓。

最近,生成的對抗性網絡(GANs),機器學習系統可以使用被標記的數據來生成全新的數據,例如從現有的影像中創建新的口袋妖怪影像,從而可以用來幫助訓練機器學習模型,從而提高了半監督學習的可行性。

如果半監督學習變得和監督學習一樣有效,那麽獲得大量的計算能力可能最終會比訪問大型的標簽數據集更重要,因為它能成功地培訓機器學習系統。

什麽是強化學習?

理解強化學習的一種方法是,當人們不熟悉規則或如何控制遊戲時,首先要考慮的是如何第一次學習如何玩舊的學校電腦遊戲。雖然他們可能是一個完全的新手,但最終,通過觀察他們按下的按鈕之間的關係,在螢幕上發生的事情以及他們的遊戲內得分,他們的表現將會變得越來越好。

強化學習的一個例子是谷歌DeepMind的深度Q-network,它在各種老式影片遊戲中擊敗了人類。系統從每個遊戲中提供像素,並確定關於遊戲狀態的各種資訊,比如螢幕上對象之間的距離。然後,它會考慮遊戲的狀態和它在遊戲中執行的動作與它所達到的分數相關。

在遊戲的許多循環過程中,最終系統建立了一個模型,在這個模型中,動作將最大化在哪種情況下的得分,例如,在影片遊戲突破的情況下,為了攔截球,球拍應該被移動到。

如何監督機器學習工作?

一切都始於訓練機器學習模型,這是一種數學函數,能夠反覆修改它的運作方式,直到它能在給定的新數據時做出準確的預測。

在培訓開始之前,您首先必須選擇要收集哪些數據,並決定哪些數據的特徵是重要的。

這是一個非常簡單的例子,在谷歌的解釋中,一個機器學習模型被訓練來識別啤酒和葡萄酒的區別,基於兩種特徵,即飲料的顏色和酒精含量(ABV)。

每一種飲料都被貼上啤酒或葡萄酒的標簽,然後收集相關的數據,用分光計來測量他們的顏色和液體比重計來測量他們的酒精含量。

需要注意的一個重要問題是,數據必須是平衡的,在這個例子中,有大致相同數量的啤酒和葡萄酒的例子。

然後,收集到的數據被分成更大的比例進行培訓,大約70%,而評估的比例則更小,剩下的30%。這個評估數據允許對訓練模型進行測試,以了解它在實際數據中可能執行的性能。

在培訓開始之前,通常還會有一個數據準備步驟,在此過程中,將執行重複數據刪除、規範化和錯誤糾正等過程。

下一步將是選擇一個適當的機器學習模型,從廣泛的可用性。每個人都有自己的優點和缺點,這取決於數據的類型,例如有些適合處理影像,有些是文本,有些則是純數字數據。

如何監督機器學習訓練工作?

基本上,培訓過程包括機器學習模型自動調整它的功能,直到它能準確地預測數據,在谷歌的例子中,當模型被賦予飲料的顏色和ABV時,正確地將飲料標記為啤酒或葡萄酒。

解釋培訓過程的一個好方法是考慮一個使用簡單機器學習模型的例子,即所謂的梯度下降的線性回歸。在下面的例子中,這個模型被用來估計有多少冰淇淋會根據外面的溫度來銷售。

想象一下,通過數據顯示冰淇淋的銷售和外部溫度,並在一個散射圖上標繪這些數據基本上是在創建離散點的散射。

為了預測未來會有多少冰淇淋在室外溫度下出售,你可以畫一條線穿過所有這些點的中間,類似於下面的插圖。

一旦完成,冰淇淋的銷售就可以在任何溫度下預測,通過找到一個點,在這個點上,這條線穿過一個特定的溫度,然後讀出相應的銷售額。

把它帶回來訓練機器學習模型,在這個例子中訓練一個線性回歸模型需要調整直線的垂直位置和斜率直到它位於散射圖的所有點的中間。

在訓練過程的每一步中,測量每一個點的垂直距離。如果直線的斜率或位置的變化導致這些點的距離增加,那麽直線的斜率或位置就會發生相反的變化,並采取新的測量方法。

通過這種方式,通過對斜率和直線位置的微小調整,這條線將一直移動,直到它最終落在一個適合於所有這些點分布的位置,如下面的影片所示。一旦這個訓練過程完成,這條線就可以用來準確預測溫度將如何影響冰淇淋的銷售,而且機器學習模型也可以被訓練。

等更複雜的機器學習模型在訓練神經網絡在幾個方面有所不同,相似之處在於,它還使用“梯度下降法”的方法,在“權重”的值修改輸入數據反覆調整,直到輸出值產生的模型盡可能接近想要的是什麽。

如何評估機器學習模型?

一旦模型的培訓完成,模型將使用在培訓期間未使用的剩餘數據進行評估,從而幫助評估其實際的性能。

為了進一步提高性能,可以調整訓練參數。一個例子可能會改變訓練過程中每一步“重量”的變化程度。

什麽是神經網絡,它們是如何訓練的?

一個非常重要的算法,用於監督和無人監督的機器學習,都是神經網絡。這些基礎的機器學習,使用簡單的線性回歸模型可以用來預測基於少量的數據特性,與啤酒和葡萄酒在谷歌的例子中,神經網絡是有用的在處理大型數據集的許多特性。

神經網絡的結構松散地受到大腦的啟發,它們是相互連接的算法層,稱為神經元,它們相互提供數據,而前一層的輸出是後續層的輸入。

每一層都可以被認為是識別整體數據的不同特徵。例如,考慮使用機器學習來識別0到9之間的手寫數字的例子。第一層的神經網絡可能測量影像中每個像素的顏色,第二層可以點形狀,如直線和曲線,下一層看起來較大的組件數量寫的例如,圓形循環底部的第6位。這將一直延續到最後一層,這將輸出一個給定的手寫數字在0到9之間的概率。

在培訓過程中,網絡學習如何識別數字的每個組成部分,通過逐漸調整數據在網絡層之間流動的重要性。這是有可能的,因為每個層之間的每一個連接都有一個附加的重量,它的值可以增加或減少來改變這個鏈接的重要性。在每個訓練周期結束時,系統將檢查神經網絡的最終輸出是否離我們想要的距離越來越近例如,網絡在識別一個手寫的數字6時變得越來越好或更差。為了縮小實際輸出和期望輸出之間的差距,系統將通過神經網絡向後工作,改變連接到各個層之間的所有鏈接的權重,以及一個稱為偏差的關聯值。這個過程被稱為反向傳播。

最終,這個過程將會解決這些權重和偏差的值,從而使網絡能夠可靠地執行給定的任務,例如識別手寫的數字,並且網絡可以被認為已經“學會”如何執行特定的任務。

什麽是深度學習,什麽是深層神經網絡?

機器學習的一個子集是深度學習,在那裡,神經網絡被擴展成龐大的網絡,有大量的層,這些層被使用大量的數據進行訓練。正是這些深層的神經網絡推動了電腦執行語音識別和電腦視覺等任務的能力的飛躍。

有各種各樣的神經網絡,有不同的優點和缺點。摘要神經網絡是一種特別適用於語言處理和語音識別的神經網絡,而卷積神經網絡在影像識別中更為常用。神經網絡的設計也在不斷發展,研究人員最近設計了一種更有效的設計,用於一種叫做長短期記憶或LSTM的有效類型的深層神經網絡,使其能夠在像谷歌翻譯這樣的按需系統中運行得足夠快。

進化算法的人工智能技術甚至被用來優化神經網絡,這要歸功於一種叫做神經進化的過程。最近,優步人工實驗室展示了這種方法,該實驗室發布了關於利用遺傳算法來訓練深層神經網絡以強化學習問題的論文。

為什麽機器學習如此成功?

雖然機器學習不是一種新技術,但近年來對該領域的興趣激增。

這種復甦是在一系列突破的背景下進行的,深度學習為語言識別和電腦視覺等領域的準確性創造了新的記錄。

使這些成功成為可能的主要是兩個因素,一個是大量的影像、語音、影片和文本,這些都是研究人員可以用來訓練機器學習系統的。

但更重要的是,由現代圖形處理單元(GPU)提供的大量並行處理能力,可以將它們連接到集群中,形成機器學習的動力。

今天,任何有互聯網連接的人都可以通過亞馬遜、谷歌和微軟等公司提供的雲服務來培訓機器學習模式。

隨著機器學習的使用逐漸消失,公司現在正在創建專門的硬體,以運行和培訓機器學習模型。其中一個定製芯片的例子是谷歌的張量處理單元(TPU),它的最新版本加速了使用谷歌的TensorFlow軟體庫構建的機器學習模型的速度,可以從數據中推斷資訊,以及它們可以被訓練的速率。

這些芯片不僅用於為谷歌的DeepMind和谷歌大腦提供模型,還包括支持谷歌翻譯和谷歌圖片中的影像識別的模型,以及允許公眾使用谷歌的TensorFlow研究雲構建機器學習模型的服務。第二代這些芯片在谷歌I/O開發者大會上發布了去年5月,與這些新陣列tpu能夠訓練一個谷歌機器學習模型用於翻譯一半的時間需要頂級gpu的陣列,和最近宣布的第三代tpu能夠加速進一步培訓和推理。

隨著硬體變得越來越專業化,機器學習軟體框架也得到了改進,在消費者級的手機和電腦上進行ML任務,而不是在雲數據中心,越來越普遍。在2018年的夏天,谷歌朝著在離線狀態下提供同樣品質的自動翻譯服務邁出了一步,在iOS和Android的谷歌翻譯應用中推出了59種語言的本地神經機器翻譯。

AlphaGo是什麽?

或許最著名的機器學習系統效能的展示,是谷歌DeepMind的2016年在圍棋上戰勝了人類大師的勝利,這一壯舉直到2026年才會出現。圍棋是一種古老的中國遊戲,它的複雜性讓電腦迷惑了幾十年。圍棋每回合大約有200次移動,而國際象棋則是20次。在圍棋的過程中,有很多可能的動作,從計算的角度來看,在每一場比賽中尋找最佳劇本的代價太大了。相反,AlphaGo通過在3000萬圍棋遊戲中扮演人類專家的動作,並將它們輸入到深度學習的神經網絡中,學會了如何玩遊戲。

培訓所需的深度學習網絡可能需要很長時間,需要大量的數據才能被消化,並在系統逐步完善其模型以達到最佳結果的過程中進行迭代。

然而,最近谷歌改進了AlphaGo Zero的訓練過程,這個系統對自己進行了“完全隨機”的遊戲,然後從結果中吸取了教訓。在去年著名的神經資訊處理系統(蘿卜)會議上,谷歌DeepMind的首席執行官傑米斯哈薩比斯透露,AlphaGo還掌握了國際象棋和日本的遊戲。

DeepMind繼續在機器學習領域開辟新的領域。在2018年7月,DeepMind報告說,它的人工智能代理已經自學了如何玩1999年的多玩家3D第一人稱射擊遊戲III競技場,足以擊敗人類玩家的團隊。這些特工學會了如何使用比人類玩家更多的資訊來玩遊戲,他們唯一的輸入是螢幕上的像素,他們在遊戲中嘗試隨機動作,並在每一場比賽中對他們的表現進行反饋。

最近,DeepMind展示了一款能夠在多個經典的雅達裡遊戲中具有超人性能的人工智能代理,這一改進超越了早期的方法,即每個人工智能代理只能在一款遊戲中表現出色。DeepMind的研究人員表示,如果人工智能研究能夠解決更複雜的現實世界,這些綜合能力將是非常重要的。

機器學習是用來幹什麽的?

機器學習系統在我們周圍使用,是現代互聯網的基石。

機器學習系統被用來推薦你想在亞馬遜上購買的產品,或者你想要在Netflix上觀看的影片。

每一個谷歌搜索都使用多個機器學習系統,通過對你的搜索結果的個性化來理解你的查詢中的語言,所以搜索“bass”的釣魚愛好者不會被吉他的結果所淹沒。類似地,Gmail的垃圾郵件和phishing-識別系統使用機器學習訓練的模型來保持你的收件箱清除流氓資訊。

機器學習能力最明顯的一個例子是虛擬助手,比如蘋果的Siri、亞馬遜的Alexa、谷歌的助手和微軟的Cortana。

每個人都嚴重依賴機器學習來支持他們的語音識別和理解自然語言的能力,同時也需要一個巨大的語料庫來回答問題。

但是,除了這些非常明顯的機器學習的表現之外,系統也開始在幾乎所有的行業中找到應用。這些開發項目包括:無人駕駛汽車的電腦視覺、無人機和交付機器人;聊天機器人和服務機器人的語音和語言識別與合成;在中國等國家進行監視的面部識別;幫助放射科醫生在x射線中找出腫瘤,幫助研究人員發現與疾病相關的基因序列,並識別可能在醫療保健中產生更有效藥物的分子;通過分析物聯網傳感器數據,對基礎設施進行預測維護;這是電腦視覺的基礎,它使無殼的亞馬遜成為可能,為商業會議提供了相當準確的轉錄和翻譯這個列表還在繼續。

深度學習可能最終為能夠直接從人類身上學習的機器人鋪平路線,英偉達的研究人員最近創建了一個深度學習系統,旨在教會機器人如何完成一項任務,僅僅是通過觀察一個人完成的工作。

機器學習系統是客觀的嗎?

正如您所期望的那樣,用於培訓系統的數據的選擇和寬度將影響它們適合的任務。

例如,2016年,蕾切爾Tatman,國家科學基金會的語言學的研究生研究員部門華盛頓大學,發現谷歌的語音識別系統進行更好的男性比女性的聲音當auto-captioning YouTube影片的樣本,結果她歸因於不平衡的訓練集的男性演講者的優勢。

隨著機器學習系統進入新的領域,如協助醫學診斷,系統可能傾向於為特定人群提供更好的服務或更公平的治療,這可能會成為一個更令人擔憂的問題。

哪一個是最好的機器學習課程?

這是一門為初學者提供的非常推薦的課程,讓他們自學機器學習的基本原理。這是一所免費的斯坦福大學和Coursera的課程,由人工智能專家和谷歌大腦創始人Andrew Ng提供。

另一項高評級的免費在線課程,因其覆蓋面的廣度和教學品質而受到稱讚,這是EdX和哥倫比亞大學對機器學習的介紹,儘管學生們確實提到,它需要對大學水準有扎實的數學知識。

如何開始機器學習?

旨在讓開發者自學機器學習的技術越來越普遍,從AWS的深度學習支持的相機深度到谷歌的樹莓派的AIY套件。

哪些服務可用於機器學習?

所有主要的雲平台亞馬遜網絡服務,微軟Azure和谷歌的雲平台,提供培訓和運行所需的硬體機器學習模型,與谷歌讓雲平台用戶測試其張量處理單元定製芯片的設計是為訓練和優化運行的機器學習模型。

這種基於雲的基礎設施包括存儲大量培訓數據所需的數據存儲、為分析準備數據的服務,以及可視化工具以清晰顯示結果。

較新的服務甚至簡化了定製機器學習模型的創建,谷歌最近公布了一項服務,該服務可以自動創建人工智能模型,即雲自動。這種拖放服務構建了自定義影像識別模型,並要求用戶沒有機器學習的專業知識,類似於微軟的Azure機器學習工作室。與此類似,亞馬遜最近推出了新的AWS服務,旨在加速培訓機器學習模式的進程。

數據科學家,谷歌的雲毫升引擎是一個機器學習管理服務,允許用戶培訓、部署和出口定製機器學習模型或者基於谷歌的開源TensorFlow毫升框架或開放Keras神經網絡框架,和現在可以使用Python庫sci-kit學習和XGBoost。

沒有數據科學背景的數據庫管理員可以使用Google的BigQueryML,這是一種beta服務,允許管理員使用SQL命令調用經過訓練的機器學習模型,允許在數據庫中進行預測,這比將數據導出到單獨的機器學習和分析環境要簡單得多。

對於那些不想建立自己的機器學習模型的公司來說,雲平台也提供基於人工智能的、按需服務的服務,比如語音、視覺和語言識別。微軟Azure在提供的點播服務中脫穎而出,緊隨其後的是谷歌雲平台和AWS。

與此同時,IBM除了提供更一般的按需服務外,還試圖出售針對特定行業的人工智能服務,這些服務的目標從醫療保健到零售,在IBM的“沃森”保護傘下將這些服務整合在一起。

在2018年初,谷歌將其機器學習驅動的服務擴展到廣告領域,發布了一套工具,用於製作更有效的廣告,包括數字和實體廣告。

蘋果不喜歡同樣的聲譽前沿語音識別,自然語言處理和電腦視覺為谷歌和亞馬遜,它是投資於提高人工智能服務,最近把谷歌的前首席負責整個公司的機器學習和人工智能策略,包括開發機器學習助理Siri和按需服務核心毫升。

2018年9月,英偉達推出了一個聯合硬體和軟體平台,該平台將安裝在數據中心,可以加速訓練機器學習模式的語音、影片和影像識別,以及其他與ml-相關的服務。

NVIDIA TensorRT超尺度推理平台使用的是NVIDIA Tesla T4 gpu,它可以在使用機器學習模型從數據中進行推斷時,提供高達40x的cpu性能,而TensorRT軟體平台則是為了優化訓練有素的神經網絡的性能而設計的。

哪些軟體庫可以從機器學習開始?

有各種各樣的軟體框架可以用來開始培訓和運行機器學習模型,通常用於編程語言Python、R、C++、Java和MATLAB。

著名的例子包括谷歌的TensorFlow、開源圖書館Keras、Python library Scikit-learn,深度學習框架CAFFE和Torch機器學習圖書館。

來源:zdnet

獲得更多的PTT最新消息
按讚加入粉絲團