傻瓜神經網路入門指南

2022-01-11 00:22:53 字數 1667 閱讀 8663

現在網路上充斥著大量關於神經網路的訊息,但是,什麼是神經網路?其本質到底是什麼?你是不是對這個熟悉又陌生的詞感到困惑?

什麼是神經網路?

想要透徹的了解神經網路,我們首先要知道什麼是機器學習。為了更好的理解機器學習,我們首先談談人的學習,或者說什麼是「經典程式設計」。

在經典的程式設計中,作為一名開發人員,我需要了解所要解決的問題的各個方面,以及我要以什麼規則為基礎。

舉個例子來說,假設我要設計乙個能夠區別正方形和圓形的程式。處理方法則是編寫乙個可以檢測到角的程式,然後計算角的數量。如果程式能檢測到4個角,那麼圖形為正方形;如果角的個人為0,則為圓形。

那麼這個機器學習有何關係?一般來說,機器學習=從示例中學習。

在機器學習中,該如何區別正方形和圓形呢?這時候,我們就要設計乙個學習系統,將許多形狀及類別不同的圖形作為輸入,然後我們希望機器能夠自己學習形狀及類別,然後識別出不同圖形的不同特性。

一旦機器學會了這些屬性,我們就可以輸入乙個新的圖形(機器以前沒見過的圖形),然後機器對這些圖形進行分類。

什麼是神經網路?

在神經網路中,神經元是乙個很奇特的名字,比較類似於函式。在數學和計算機領域,函式可以接受某個輸入,經過一系列的邏輯運算,輸出結果。

更重要的是,我們可以將神經元看做乙個學習單元。

因此,我們需要理解什麼是學習單元,然後再了解神經網路的基本構建塊,即神經元。

為了更好的理解,假設我們試圖理解部落格文章中單詞數量與人們實際從部落格中讀取單詞數量之間的關係。請記住一點,在機器學習領域,我們從示例中學習。

因此,我們用x表示機器收集到文章的單詞數量,用y表示人們實際讀到的單詞數,它們之間的關係用f表示。

然後,我只需要告訴機器(程式)我希望看到的關係(比如直線關係),機器再將會理解它所需要繪製的線。

我在這裡得到了什麼?

那麼,神經網路到底是什麼?如果乙個神經元是乙個函式,那麼神經網路就是乙個函式網路,也就是說,我們有很多個這樣的功能(比如學習單元),這些學習單元的輸入和輸出相互交織,相互之間也有反饋。

作為一名神經網路的設計人員,我的主要工作就是:

1.如何建模輸入和輸出?例如,如果輸入是文字,我可以用什麼建模?數字?還是向量?

2.每個神經元有哪些功能?(它們是線性?還是指數?...)

3.神經網路的架構是什麼?(即哪個函式的輸出是哪個函式的輸入?)

4.我可以用哪些通俗易懂的詞來描述我的網路?

一旦我回答了以上這些問題,我就可以向網路「展示」大量具有正確輸入和輸出的例子,神經網路學習後,當我再次輸入乙個新的輸入時,神經網路就會有個正確的輸出。

神經網路的學習是件永無止境時,這個領域的知識呈**性增長,每時每刻都會有新的知識和內容更新。

神經網路加速指南

分析各步驟耗時 1 cpu上的操作耗時 嘗試將操作放在gpu上進行,如np.argmax的操作 2 cpu 耗時 嘗試減少傳輸tensor的大小 3 資料預處理耗時 1 resample操作嘗試放到gpu上處理?2 先crop後resample?4 呼叫不同的包耗時不同 如scipy skimage...

神經網路 卷積神經網路

這篇卷積神經網路是前面介紹的多層神經網路的進一步深入,它將深度學習的思想引入到了神經網路當中,通過卷積運算來由淺入深的提取影象的不同層次的特徵,而利用神經網路的訓練過程讓整個網路自動調節卷積核的引數,從而無監督的產生了最適合的分類特徵。這個概括可能有點抽象,我盡量在下面描述細緻一些,但如果要更深入了...

神經網路 卷積神經網路

1.卷積神經網路概覽 來自吳恩達課上一張,通過對應位置相乘求和,我們從左邊矩陣得到了右邊矩陣,邊緣是白色寬條,當畫素大一些時候,邊緣就會變細。觀察卷積核,左邊一列權重高,右邊一列權重低。輸入,左邊的部分明亮,右邊的部分灰暗。這個學到的邊緣是權重大的寬條 都是30 表示是由亮向暗過渡,下面這個圖左邊暗...