法院專案實踐隨筆(2) 神經網路

2021-08-16 02:20:43 字數 1951 閱讀 2186

什麼是神經網路?自己在學習的時候,查了很多資料,看了一些**,在最後發現,知乎裡面的一些大佬說的真的很詳細很生動,附上** 自己看過後也做了一些總結,一些很具體的計算公式就不貼了。

神經網路是一種模擬人腦的神經網路以期能夠實現類人工智慧的機器學習技術。人腦中的神經網路是乙個非常複雜的組織。**的大腦中估計有1000

億個神經元之多,先來看看真正的神經元:

(圖來自維基百科)

神經元大致可以分為樹突、突觸、細胞體和軸突。樹突為神經元的輸入通道,其功能是將其他神經元的動作電位傳遞至細胞體。其他神經元的動作電位藉由位於樹突分支上的多個突觸傳遞至樹突上。神經細胞可以視為有兩種狀態的機器,啟用時為「是」,不啟用時為「否」。神經細胞的狀態取決於從其他神經細胞接收到的訊號量,以及突觸的性質(抑制或加強)。當訊號量超過某個閾值時,細胞體就會被啟用,產生電脈衝。電脈衝沿著軸突並通過突觸傳遞到其它神經元。那麼機器學習中的神經網路是如何實現這種模擬的,並且達到乙個驚人的良好效果的?

2023年,心理學家mcculloch和數學家pitts參考了生物神經元的結構,發表了抽象的神經元模型mp。神經元模型是乙個包含輸入,輸出與計算功能的模型。輸入可以模擬為神經元的樹突,而輸出可以模擬為神經元的軸突,計算則可以模擬為細胞核。

連線是神經元中最重要的東西。每乙個連線上都有乙個權重。乙個神經網路的訓練演算法就是讓權重的值調整到最佳,以使得整個網路的**效果最好。而這樣的乙個神經元模型實際上是乙個分類器,他將

。與人腦不同,我們可以很直觀的看出上圖的直線位置在哪,但是機器不行。對於機器來說,要想找出這條直線,首先得隨機選出一條直線,然後將每個點帶進去,例入帶進去乙個圓點座標,看輸出是否是1,不是說明這條直線分錯邊了,需要修改,這時候就要一點點改變權值a,b,不斷地帶入點,不斷的修改,到最終所有點都正確,就能找到一條一分為二的直線了。

每個神經元內部做的計算過程,可以用這樣的公式表示:

其中,123通過w·x實現,4通過+b實現,5通過a()實現。通過上面的例子可能很難看出這5中變換,看下圖

可以看出,模仿區分圓形和三角形的方式,我們很難在二維平面上找到一條直線將這上面2條線段一分為二,但是通過神經元內部計算,我們可以將它轉換到3維空間中,這樣就可以找到乙個超平面來把它們一分為二。對於多層神經網路來說,就是這樣的計算過程y = a(w·a(w·x+b)+b),這樣變換的力度會更大。

當你還是個孩子的時候,你並不知道足球和籃球的區別,對當時的你而言,他們都是圓的。隨著越來越多資訊的湧入,你慢慢發現,大的那個是籃球,小的那個是足球;重的那個是籃球,輕的那個是足球;有曲線的是籃球,有五邊形塊的是足球;手上拍的是籃球,腳下踢得是足球;投進框的是籃球,射進門的是足球;科比玩的是籃球,梅西玩的是足球……你的大腦不斷的接受資訊,讓你對他們的分類越來越清晰。同樣,機器也是一樣,一開始就像乙個嬰兒,一張白紙,需要我們給他資訊,讓他學習,這就是訓練。

優化初始點的主要方法有:

bp演算法(即誤差反向傳播演算法)是在有導師指導下,適合於多層神經元網路的一種學習演算法,它建立在梯度下降的基礎上。反向傳播演算法主要由兩個環節(激勵傳播、權重更新)反覆迴圈迭代,直到網路的對輸入的響應達到預定的目標範圍為止。

y_ = a(w · a(w · x + b) + b)

收集訓練集

設計網路結構

資料預處理

權重初始化

訓練網路

神經網路實踐

inst2vec的實驗中,有許多難以理解的資料處理操作 比如,對資料進行shuffle,對引數進行l2正則化,截斷地產生正態分佈隨機數,對bias置為0,難以理解的原因 取樣上的策略,對為何採用這樣的策略不是很清楚 各種引數的影響 flags的鍋 tensorflow api的影響 tensorfl...

神經網路2

利用神經網路,採用合適的權重來實現邏輯電路中的與 或 非門等的實際計算 多個各種功能的神經元的疊加計算,有點類似agent的思想,將不同功能的單位組合起來實現同一目的 處理多種分類問題的模型,神經網路的優勢個人目前感覺就是我只需要收集簡單的資料資訊,神經網路自己進行挑選,計算,最終給出我們想要的結果...

深度學習隨筆 卷積神經網路

我主要看邱錫鵬的神經網路與深度學習來學習的 花書到時候會去看看 用全連線前饋網路來處理影象,會存在一下問題 引數太多 區域性不變性特性 這塊能用資料進行增強 而卷積神經網路是一種具有區域性連線,權重共享等特性的深層前饋神經網路。乙個典型的卷積神經網路是由卷積層,匯聚層,全連線層交叉堆疊而成。卷積神經...