<menu id="ycqsw"></menu><nav id="ycqsw"><code id="ycqsw"></code></nav>
<dd id="ycqsw"><menu id="ycqsw"></menu></dd>
  • <nav id="ycqsw"></nav>
    <menu id="ycqsw"><strong id="ycqsw"></strong></menu>
    <xmp id="ycqsw"><nav id="ycqsw"></nav>
  • 人工智能初步最新進展(訓練人工智能的方法)


    說起人工智能,大家總把它和科幻電影中的機器人聯系起來,而實際上這些科幻場景與現如今的人工智能沒什么太大關系。

    人工智能確實跟人類大腦很相似,但它們的顯著差異在于人工智能是人造的——人工智能不必具備生物特性。

    學了這些基礎算法,人工智能就算入門了

    人工智能的目標是使計算機可以如人腦一樣工作,但這并不意味著人工智能需要在方方面面都向人腦看齊。某個人工智能算法與人腦真實功能的匹配程度稱為“生物似真性”。

    艾倫腦科學研究所(Allen Institute of Brain Science)的首席科學官Christof Koch曾斷言大腦“是已知宇宙中最復雜的東西”。而在人工智能的學科背景下,大腦本質上就是一種深奧、繁復的技術,我們有必要對它進行研究,通過逆向工程來解析它的工作原理和機制,從而模仿它的功能。

    學了這些基礎算法,人工智能就算入門了

    在進一步深入學習之前,還要介紹一些與人工智能算法交互的通用概念。人工智能算法也稱為“模型”, 本質上是一種用以解決問題的技術。現在已經有很多特性各異的人工智能算法了,最常用的有神經網絡、支持向量機、貝葉斯網絡和隱馬爾科夫模型等。

    對于人工智能從業者來說,如何將問題建模為人工智能程序可處理的形式是至關重要的,因為這是與人工智能算法交互的主要方式。接下來我們將以人類大腦與現實世界的交互方式為引,展開關于問題建?;局R的講解。

    01

    對輸入/輸出建模

    機器學習算法實際上就是給定輸入,產生輸出,而輸出又受到算法本身的長短期記憶影響。下圖展示了長短期記憶如何參與產生輸出的過程。

    學了這些基礎算法,人工智能就算入門了

    機器學習算法抽象圖示

    如圖所示,算法接受輸入,產生輸出。大多數機器學習算法的輸入和輸出是完全同步的,只有給定輸入,才會產生輸出,而不像人腦,既可以對輸出做出響應,偶爾也能夠在沒有輸入的情況下自行產生輸出。

    到目前為止,我們一直在抽象地談論輸入/輸出模式,你一定很好奇輸入/輸出到底長什么樣兒。實際上,輸入和輸出都是向量形式,而向量本質上就是一個如下所示的浮點數組:

    Input:[-0.245,.283,0.0]
    Output:[0.782,0.543]
    

    絕大多數機器學習算法的輸入和輸出數目是固定的,就像計算機程序中的函數一樣。輸入數據可以被視作函數參數,而輸出則是函數的返回值。就上例而言,算法會接受3個輸入值,返回兩個輸出值,并且這些數目一般不會有什么變化,這也就導致對特定的算法而言,輸入和輸出模式的元素數量也不會改變。

    要使用這種算法,就必須將特定問題的輸入轉化為浮點數數組,同樣,問題的解也會是浮點數數組。說真的,這已經是大多數算法所能做的極限了,機器學習算法說穿了也就是把一個數組轉換為另一個數組罷了。

    在傳統編程實踐中,許多模式識別算法有點兒像用來映射鍵值對的哈希表,而哈希表在很大程度上與字典又有些相似之處,因為它們都是一個條目對應一個含義。哈希表一般長下面這樣兒:

    ● “hear” ->“to perceive or apprehend by the ear”;

    ● “run” ->“to go faster than a walk”;

    ● “write” ->“to form (as characters or symbols) on a surface with an instrument (as a pen)”。

    上例這個哈希表是一些單詞到定義的映射,其中將字符串形式的鍵映射為同樣是字符串形式的值。你給出一個鍵(單詞),哈希表就會返回一個值(對應單詞的定義),這也是大多數機器學習算法的工作原理。

    在所有程序中,哈希表都由鍵值對組成,機器學習算法輸入層的輸入模式可以類比為哈希表中的“鍵”,而輸出層的返回模式也可以類比為哈希表中的“值”——唯一的不同在于機器學習算法比一個簡單的哈希表更為復雜。

    還有一個問題是,如果我們給上面這個哈希表傳入一個不在映射中的鍵會怎么樣呢?比如說傳入一個名為“wrote”的鍵。其結果是哈希表會返回一個空值,或者會嘗試指出找不到指定的鍵。而機器學習算法則不同,算法并不會返回空值,而是會返回最接近的匹配項或者匹配的概率。比如你要是給上面這個算法傳入一個“wrote”,很可能就會得到你想要的“write”的值。

    機器學習算法不僅會找最接近的匹配項,還會微調輸出以適應缺失值。當然,上面這個例子中沒有足夠的數據給算法來調整輸出,畢竟其中只有3個實例。在數據有限的情況下,“最接近的匹配項”沒有什么實際意義。

    上面這個映射關系也給我們提出了另一個關鍵問題:對于給定的接受一個浮點數組返回另一個浮點數組的算法來說,如何傳入一個字符串形式的值呢?下面介紹一種方法,雖然這種方法更適合處理數值型數據,但也不失為一種解決辦法。

    詞袋算法是一種編碼字符串的常見方法。在這個算法模型中,每個輸入值都代表一個特定單詞出現的次數,整個輸入向量就由這些值構成。以下面這個字符串為例:

    Of Mice and Men
    Three Blind Mice
    Blind Man's Bluff
    Mice and More Mice

    由上例我們可以得到下面這些不重復的單詞,這就是我們的一個“字典”:

    Input 0 :and
    Input 1 :blind
    Input 2 :bluff
    Input 3 :man's
    Input 4 :men
    Input 5 :mice
    Input 6 :more
    Input 7 :of
    Input 8 :three

    因此,例子中的4行字符串可以被編碼如下:

    Of Mice and Men [0 4 5 7]
    Three Blind Mice [1 5 8]
    Blind Man's Bluff [1 2 3]
    Mice and More Mice [0 5 6]

    我們還必須用0來填充字符串中不存在的單詞,最終結果會是下面這樣:

    Of Mice and Men [1,0,0,0,1,1,0,1,0]
    Three Blind Mice [0,1,0,0,0,1,0,0,1]
    Blind Man's Bluff [0,1,1,1,0,0,0,0,0]
    Mice and More Mice [1,0,0,0,0,2,1,0,0]

    請注意,因為我們的“字典”中總共有9個單詞,所以我們得到的是長度為9的定長向量。向量中每一個元素的值都代表著字典中對應單詞出現的次數,而這些元素在向量中的編號則對應著字典中有效單詞的索引。構成每個字符串的單詞集合都僅僅是字典的一個子集,這就導致向量中大多數值是0。

    如上例所示,機器學習程序最大的特征之一是會把問題建模為定長浮點數組。下面用一個例子來演示如何進行這種建模。

    02

    向算法傳入圖像

    圖像是算法的常見輸入源。本節我們將介紹一種歸一化圖像的方法,這種方法雖然不太高級,但效果很不錯卻。

    以一個300像素×300像素的全彩圖像為例,90 000個像素點乘以3個RGB色彩通道數,總共有270 000個像素。要是我們把每個像素都作為輸入,就會有270 000個輸入——這對大多數算法來說都太多了。

    因此,我們需要一個降采樣的過程。下圖是一幅全分辨率圖像。

    學了這些基礎算法,人工智能就算入門了

    一幅全分辨率圖像

    我們要把它降采樣為32像素×32像素的圖像,如圖所示。

    學了這些基礎算法,人工智能就算入門了

    降采樣后的圖像

    在圖片被壓縮為32像素×32像素之后,其網格狀模式使得我們可以按像素來生成算法的輸入。如果算法只能分辨每個像素點的亮度的話,那么只需要1 024個輸入就夠了——只能分辨亮度意味著算法只能“看見”黑色和白色。

    要是希望算法能夠辨識色彩,還需要向算法提供每個像素點的紅綠藍3色(RGB)光強的值,這就意味著每個像素點有3個輸入,一下子把輸入數據的數目提升到了3 072個。

    通常RGB值的范圍在0~255,要為算法創建輸入數據,就要先把光強除以255來得到一個“光強百分數”,比如光強度10經過計算就會變成0.039(10/255)。

    你可能還想知道輸出的處理辦法。在這個例子中,輸出應該表明算法認為圖片內容是什么。通常的解決方案是為需要算法識別的每種圖片創建一個輸出通道,訓練好的算法會在置信的圖片種類對應的輸出通道返回一個值1.0。

    03

    人工智能算法搶先讀

    學了這些基礎算法,人工智能就算入門了

    欲建高樓,必重基礎。算法是人工智能技術的核心。本書介紹了人工智能的基礎算法,全書共10章,涉及維度法、距離度量算 法、K均值聚類算法、誤差計算、爬山算法、模擬退火算法、Nelder-Mead算法和線性回歸算法等。

    本書使用你可以自己執行的、實際的數學計算,闡述了所有這些算法。本書的每一章都包含一個編程示例,這些示例提供了Java、C#、R、Python和C的多個語言實現版本。

    這些算法對應于數據中特定模式的處理和識別,同時也是像亞馬遜 (Amazon)和網飛(Netflix)這類網站中,各種推薦系統背后的邏輯。

    書中所有算法均配以具體的數值計算來進行講解,讀者可以自行嘗試。每章都配有程序示例,Github上有多種語言版 本的示例代碼可供下載。

    適合作為人工智能入門讀者以及對人工智能算法感興趣的讀者閱讀參考。

    學了這些基礎算法,人工智能就算入門了

    算法是人工智能技術的核心,大自然是人工智能算法的重要靈感來源。本書介紹了受到基因、鳥類、螞蟻、細胞和樹影響的算法,這些算法為多種類型的人工智能場景提供了實際解決方法。全書共10章,涉及種群、交叉和突變、遺傳算法、物種形成、粒子群優化、蟻群優化、細胞自動機、人工生命和建模等問題。書中所有算法均配以具體的數值計算來進行講解,每章都配有程序示例,讀者可以自行嘗試。

    學了這些基礎算法,人工智能就算入門了

    自早期以來,神經網絡就一直是人工智能的支柱。現在,令人興奮的新技術(例如深度學習和卷積)正在將神經網絡帶入一個全新的方向。在本書中,我們將演示各種現實世界任務中的神經網絡,例如圖像識別和數據科學。我們研究了當前的神經網絡技術,包括ReLU 激活、隨機梯度下降、交叉熵、正則化、Dropout 及可視化等。

    學了這些基礎算法,人工智能就算入門了

    版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。

    發表評論

    登錄后才能評論
    国产精品区一区二区免费