小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

深度學(xué)習(xí)簡易入門

 西北望msm66g9f 2018-05-20

作者 : jennyxia , 騰訊 MelonTeam 團隊

深度學(xué)習(xí)是機器學(xué)習(xí)中的一個重要的方向,深度學(xué)習(xí)其實就是神經(jīng)網(wǎng)絡(luò)學(xué)習(xí),這里“深度”就是說神經(jīng)網(wǎng)絡(luò)中眾多的層。

那么深度學(xué)習(xí)是用來干嘛的呢?簡單說,那就是...

分類

關(guān)于什么是機器學(xué)習(xí)的解釋,Quora上有一個買菜大媽都能看的懂的回答。翻譯一下就是,吃遍南山區(qū)所有芒果的大媽,自己總結(jié)出個大顏色黃的比較好吃,所以買芒果的時候,直接挑選了這種。那什么是機器學(xué)習(xí)呢,就是你告訴機器每一個芒果的特征(顏色,大小,軟硬等),并且告訴機器其輸出(好不好吃),剩下的就等機器去學(xué)習(xí)出一套規(guī)則,這些芒果就是你的訓(xùn)練集。而當(dāng)你再丟芒果進去的時候,已然熟悉基本法的機器就會直接告訴你這個芒果好不好吃,這種能自動對輸入的東西進行分類的機器,就叫做分類器。

分類器的目標就是讓正確分類的比例盡可能高。一般我們需要首先收集一些樣本,人為標記上正確分類結(jié)果,然后用這些標記好的數(shù)據(jù)訓(xùn)練分類器,訓(xùn)練好的分類器就可以在新來的特征向量上工作了。

神經(jīng)元

我們再來看看神經(jīng)網(wǎng)絡(luò)是怎么工作的。

最簡單地把這兩組特征向量分開的方法是什么呢?當(dāng)然是在兩組數(shù)據(jù)中間畫一條豎直線,直線左邊是-,右邊是+,分類器就完成了。以后來了新的向量只要代入公式,h = ax + b ,凡是落在直線左邊的都是-,落在右邊的都是+。這是二維空間的分類,而當(dāng)特征有很多種時,我們就要在n維空間做分類,大家可以想象一下,就是用一個n-1維超平面把n維空間一分為二,兩邊分屬不同的兩類,,這種分類器就叫做神經(jīng)元,a是權(quán)值,a0是偏移。

這么一畫是不是就很像人腦的神經(jīng)元呀,我們就用這些神經(jīng)元組成網(wǎng)絡(luò)去學(xué)習(xí)訓(xùn)練集的數(shù)據(jù),求出最優(yōu)的權(quán)值(weights)和偏置(biases)以便最終正確地分類。

神經(jīng)網(wǎng)絡(luò)

上圖就是一個簡單神經(jīng)網(wǎng)絡(luò)的架構(gòu),網(wǎng)絡(luò)中最左邊的一層被稱作輸入層,其中的神經(jīng)元被稱為輸入神經(jīng)元(input neurons)。最右邊的一層是輸出層(output layer),包含的神經(jīng)元被稱為輸出神經(jīng)元(output neurons)。網(wǎng)絡(luò)中間的一層被稱作隱層(hidden layer),在一些網(wǎng)絡(luò)中往往有多個隱層。我們可以看到,輸入向量連到許多神經(jīng)元上,這些神經(jīng)元的輸出又連到一堆神經(jīng)元上,這一過程可以重復(fù)很多次。數(shù)值向量在不同神經(jīng)元之間傳導(dǎo)。

但是,我們剛剛分析了神經(jīng)元,神經(jīng)元的變換是完全的線形的,如果神經(jīng)網(wǎng)絡(luò)的每層都只是做線性變換,多層輸入疊加后也還是線性變換。因為線性模型的表達能力不夠,所以需要激活函數(shù)來引入非線性因素。舉個栗子,常用的激活函數(shù)sigmoid函數(shù),可以將實數(shù)壓縮到[0,1]之間。激活函數(shù)是神經(jīng)網(wǎng)絡(luò)強大的基礎(chǔ),好的激活函數(shù)(根據(jù)任務(wù)來選擇)還可以加速訓(xùn)練。

接下來,確定了神經(jīng)網(wǎng)絡(luò)的連接方式、網(wǎng)絡(luò)的層數(shù)、每層的節(jié)點數(shù),建好網(wǎng)絡(luò)模型之后,我們要開始學(xué)習(xí)這個神經(jīng)網(wǎng)絡(luò)的每個連接上的權(quán)值了。

訓(xùn)練網(wǎng)絡(luò)(training)

訓(xùn)練過程就是用訓(xùn)練數(shù)據(jù)的input經(jīng)過網(wǎng)絡(luò)計算出output,再和label計算出loss,再計算出gradients來更新weights的過程。label就是訓(xùn)練集里預(yù)先加上的分類標記,loss就是你算出的結(jié)果與正確結(jié)果(正確為1,錯誤為0)的誤差,或者叫損失。

那么training其實就是通過梯度下降法盡可能縮小loss的過程。如下圖所示,我們希望loss值可以降低到右側(cè)深藍色的最低點。

具體步驟如下:

  • 正向傳遞:算當(dāng)前網(wǎng)絡(luò)的預(yù)測值 (Relu是一種激活函數(shù),Wh1、Wh2、W0是權(quán)重,b是偏移量)

  • 計算loss:

  • 計算梯度:從loss開始反向傳播計算每個參數(shù)(parameters)對應(yīng)的梯度(gradients)。這里用Stochastic Gradient Descent (SGD) 來計算梯度,即每次更新所計算的梯度都是從一個樣本計算出來的。

  • 更新權(quán)重:這里用最簡單的方法來更新,即所有參數(shù)都

  • 預(yù)測新值:訓(xùn)練過所有樣本后,打亂樣本順序再次訓(xùn)練若干次。訓(xùn)練完畢后,當(dāng)再來新的數(shù)據(jù)input,就可以利用訓(xùn)練的網(wǎng)絡(luò)來預(yù)測了。這時的output就是效果很好的預(yù)測值了。

PS 以上理論知識和公式來自斯坦福大學(xué)計算機視覺實驗室推出的課程CS231n: Convolutional Neural Networks for Visual Recognition

調(diào)戲Tensorflow Playground

接下來,摩拳擦掌想要試一試深度學(xué)習(xí)的朋友們可以試著調(diào)戲一下TensorFlow Playground。TensorFlow游樂場是一個通過網(wǎng)頁瀏覽器就可以訓(xùn)練的簡單神經(jīng)網(wǎng)絡(luò),并實現(xiàn)了可視化訓(xùn)練過程的工具。下圖就是TensorFlow游樂場默認設(shè)置的截圖。

左邊的每組數(shù)據(jù),都是不同形態(tài)分布的一群點。每一個點,都與生俱來了2個特征:x1和x2,表示點的位置。數(shù)據(jù)中的點有2類:橙色和藍色。我們這個神經(jīng)網(wǎng)絡(luò)的目標,就是通過訓(xùn)練,知道哪些位置的點是橙色、哪些位置的點是藍色。如何確定網(wǎng)絡(luò)結(jié)構(gòu)呢?到底用不用隱層呢?還是一個隱層?兩個隱層或更多?每個層的尺寸該多大?這些都可以在TP上調(diào)整,而且立刻就能看到直觀的結(jié)果??烊ピ囋嚢蓗

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多