當第一次試著程式設計時,我就愛上了這門藝術(是的,我相信程式設計既是科學又是藝術),。 我很快就迷上了如何通過設定邏輯規則和條件來控制程式的流程,if... else語句,switch,迴圈等等。
在接下來的幾年裡,我學會了通過建立模組和將**段抽象成函式和類的手段來保持**整潔。 我通過物件導向的分析和設計(ooa / d)增強了我的軟體開發技能。 我學習了**的重複使用和設計模式。 我學會了用uml圖形和示意圖來解釋我的程式。 我學會了將這些原則應用於不同的程式語言之中。
但是程式設計的經驗法則保持不變:定義規則和邏輯。 其餘的只是幫助實施和維護這些規則的技巧。
幾十年來,基於規則的**主導了我們建立軟體的方式。 我們分析乙個或一組問題,指定邊界,例項,程序,關係,並將它們轉換為確定軟體工作方式的規則。
雖然這種方法對我們來說很好,但卻導致了「笨」軟體,除非人類以某種方式更新其邏輯,否則該程式永遠不會改變其行為。 另外,它也不適用於規則不明確的情況,例如識別影象中的物件,在網路流量中發現惡意活動,或是在不平坦的地面上對機械人進行導航。
機器學習是現代人工智慧的基石,它顛覆了傳統程式設計模式。 機器學習有助於建立修正和改善其效能的軟體,而無需人類向其解釋如何完成任務。 這就是我們今天直接使用的, 以及許多即將發生的,創新背後的技術,包括你從**,數字助理,無人駕駛汽車,分析軟體等處看到的令人驚訝的建議。
機器學習是從示例中學習的軟體。 你不需要編寫機器學習的演算法,而是通過提供大量的相關資料,來訓練它們。 例如,不要試圖對機器演算法解釋乙隻貓看起來是什麼樣的,你需要通過提供數百萬張貓的來培訓它。 該演算法在這些影象中找到重複的模式,並為自己確定如何定義貓的外觀。在此之後,當你向該程式顯示新**時,它可以區分**中是否含有貓的成分。
許多人將機器學習等同於人工智慧。 然而,ai是乙個鬆散的概念,它可以應用於從複雜的、基於規則的軟體到尚未發明的,人類智慧型之間的任何事情。 實際上,機器學習是ai的乙個特別分支,它基於資料而並非規則來建立程式。
機器學習有幾種不同風格的演算法。 其中最流行的是「監督學習」,進一步說,就是你使用帶有標籤資料的訓練演算法,將一組輸入物件(通常為向量)對映到一組期望的輸出值中(也稱為監督訊號)。 上面所講的貓的示例就是監督學習的乙個例子。 另乙個例子是語音識別,你可以通過提供聲音波形來對應其中的書面字型。
你提供給監督學習的演算法樣本越多,其分析新資料的能力就越精確。 而這也是監督學習的主要挑戰。 建立帶有標記樣本的大資料非常耗時,同時也需要大量的人力。 一些平台,如亞馬遜的mechanical turk提供資料標籤服務。
在「無監督學習」中,機器學習的另乙個分支,則沒有參考資料,一切都沒有標籤。 換句話說,你提供輸入,但不提供輸出。 該演算法對未標記的資料進行整理,提取推論並找出模式。 無人監督學習對於人類無法定義的,隱藏模式的情況尤其有用。
例如,你允許機器學習演算法監視你的網路活動。 然後,它將根據其找到的模式設定正常網路活動的基準。根據這個標準,它將檢測並且記錄異常網路活動。
與監督學習相比,無監督的學習更接近於機器自我學習的過程。 然而,無監督學習的問題是其結果往往是不可**的。 這就是為什麼它通常需要結合人的直覺來引導其保持正確方向,因為它一切都是自學的。 例如,上述網路安全的例子,網路活動中有許多原因會使其偏離規範,然而這並不是惡意製造的。 但機器學習的演算法並不知道。在開始的時候,人類分析人員必須糾正其決定,直到它學會判斷異常並作出更好的決策。
另乙個不太知名的機器學習領域是「強化學習」。在強化學習中,程式設計師定義了狀態,期望目標,允許的行動以及約束。 該演算法通過嘗試將各種不同的允許行動進行組合來了解如何實現目標。 當你知道目標是什麼,但無法定義達到目標的路徑時,此方法特別有效。
強化學習在許多設定中被使用。 在更著名的案例中,google deepmind的alphago,掌握了複雜的棋盤遊戲go的機器學習程式。 該公司正在採用同樣的方法來提高英國電網的效率。 uber也在使用相同的技術來教ai**玩俠盜獵車手車(或更準確地說,讓它們自己學習)。
雖然機器學習是人工智慧的乙個分支,但深度學習是機器學習的專門分支。 深度學習使用神經網路,乙個具有人類大腦結構和功能的複製品。
深入學習解決了上一代學習演算法中存在的乙個主要問題。先前, 隨著資料的增長,演算法平台的效率和效能趨於停滯。 現在,深度學習演算法在獲得更多資料的同時,其效能也在不斷改進。深度學習演算法並不是直接通過將輸入對映到輸出的方式,而是依賴於幾層處理單元。 每個層將其輸出傳遞到下乙個層,進行處理,然後再傳遞到下一層。 在某些模型中,計算可能會在處理層之間來回流動多次。現已證明深度學習在各種任務中非常有效,包括影象字幕,語音識別和語言翻譯。
雖然機器學習對未來應用的發展至關重要,但並不是沒有自己的挑戰。
一方面,機器學習演算法的開發和部署在很大程度上依賴於大量的計算和儲存資源來執行其任務。 這種依賴關係使得它們在執行時受限於雲服務和大資料。 因此,在執行邊緣計算機整合解決方案時(edge intelligence)它們更具挑戰性。
機器學習的另乙個問題 - 特別是深度學習 - 是它的不透明度性。 隨著演算法變得越來越複雜,人類越來越難以解釋它們是基於什麼,做出決定的。 在許多情況下,這可能不是問題。 但是,當你想要對演算法做出關鍵決定時,使它們具有透明性並且讓人一目了然是非常重要的。
此外還存在一些偏見問題。 機器學習往往會吸收嵌入到它們在接受培訓時,資料中包含的一些的習慣和傾向。 在某些情況下,尋找和消除偏見很容易,而在其他情況下,它的嵌入度極深,人類往往難以察覺。
然而,這些挑戰都不可能阻止ai和機器學習成為我們這個時代的通用技術(這個術語曾經被用於蒸汽機和電力這樣的發明)。 不管我們往哪個方向發展,機器學習都將會對我們產生深刻影響。
什麼是機器學習
機器學習 machine learning 是研究計算機怎樣模擬或實現人類的學習行為,以獲取新的知識或技能,重新組織已有的知識結構使之不斷改善自身的效能。它是人工智慧的核心,是使計算機具有智慧型的根本途徑,其應用遍及人工智慧的各個領域,它主要使用歸納 綜合而不是演譯。學習能力是智慧型行為的乙個非常重...
什麼是機器學習
廣州的天氣總是陰晴不定,經常上午陽光燦爛,下午突然烏雲密布,狂風亂作,然後就是傾盆大雨。每次看見烏雲和大風,人們就知道要下大雨了。為什麼我們看見烏雲感受到大風,就知道要下雨了呢?我們能做出這些有效的預判,是因為我們已經積累了許多經驗,而通過對經驗的利用,就能對新情況做出有效 那麼,這樣利用經驗做出判...
什麼是機器學習?
簡單的一句話 讓機器從資料中學習,進而得到乙個更加符合現實規律的模型,通過對模型的使用使得機器比以往表現的更好,這就是機器學習。詳解 資料 從現實生活抽象出來的一些事物或者規律的特徵進行數位化得到。學習 在資料的基礎上讓機器重複執行一套特定的步驟 學習演算法 進行事物特徵的萃取,得到乙個更加逼近於現...