神經網絡初學者必看指南

神經網絡是受生物神經網絡啟發(fā)的人工系統(tǒng)。這些系統(tǒng)通過在沒有任何任務特定規(guī)則的情況下暴露于各種數(shù)據(jù)集和示例來學習執(zhí)行任務。其思想是,該系統(tǒng)從傳遞的數(shù)據(jù)中生成識別特征,而無需對這些數(shù)據(jù)集進行預先編程的理解。神經網絡是基于閾值邏輯的計算模型。閾值邏輯是算法和數(shù)學的結合。神經網絡要么基于對大腦的研究,要么基于神經網絡在人工智能中的應用。這項工作使有限自動機理論得到了改進。典型神經網絡的組成部分包括神經元、被稱為突觸的連接、權重、偏差、傳播函數(shù)和學習規(guī)則。神經元將從具有激活a_j(t)、閾值\ta_j、激活函數(shù)f和輸出函數(shù)f_out}的前代神經元接收輸入p_j(t)。連接由連接、權重和偏差組成,它們決定神經元$i$如何將輸出轉移到神經元$j$。傳播計算輸入并輸出輸出,并將前置神經元函數(shù)與權重相加。神經網絡的學習基本上是指調整自由參數(shù),即權重和偏差。學習過程基本上有三個事件序列。
其中包括:
1.神經網絡是在一個新的環(huán)境中模擬的。
2.然后,作為該仿真的結果,神經網絡的自由參數(shù)被改變。
3.然后,由于其自由參數(shù)的變化,神經網絡以一種新的方式對環(huán)境做出響應。
有關神經網絡算法的內容,你可以在中培IT學院機器學習、深度學習、計算機圖像處理及知識圖譜應用與核心技術實戰(zhàn)課程中進階學習。

監(jiān)督與非監(jiān)督學習:神經網絡通過監(jiān)督學習進行學習;監(jiān)督機器學習涉及輸入變量x和相應的期望輸出變量y。在這里,我們介紹了了解環(huán)境的教師的概念。因此,我們可以說教師既有投入產出集。神經網絡不知道環(huán)境。輸入暴露于教師和神經網絡,神經網絡基于輸入生成輸出。然后將該輸出與教師所期望的輸出進行比較,同時產生誤差信號。然后逐步調整網絡的自由參數(shù),使得誤差最小。當算法達到可接受的性能水平時,學習停止。無監(jiān)督機器學習有輸入數(shù)據(jù)X,沒有相應的輸出變量。目標是對數(shù)據(jù)的底層結構進行建模,以了解更多關于數(shù)據(jù)的信息。監(jiān)督機器學習的關鍵詞是分類和回歸。對于無監(jiān)督機器學習,關鍵詞是聚類和關聯(lián)。
神經網絡的進化:Hebbian學習涉及神經可塑性。Hebbian學習是無監(jiān)督的,涉及長時程增強。Hebbian學習處理模式識別,exclusive或circuits處理if-then規(guī)則。反向傳播解決了鶴壁學無法處理的排他性或問題。這也使得多層網絡是可行和有效的。如果發(fā)現(xiàn)錯誤,則通過修改每個節(jié)點的權重來解決每個層的錯誤。這導致了支持向量機、線性分類器和最大池的發(fā)展。消失梯度問題影響使用反向傳播和遞歸神經網絡的前饋網絡。這就是所謂的深度學習?;谟布脑O計用于生物物理模擬和神經營養(yǎng)計算。他們有大規(guī)模的分量分析和卷積創(chuàng)建了一類新的模擬神經計算。這也解決了多層前饋神經網絡的反向傳播問題。卷積網絡用于在卷積層和最大池化層之間交替,其中連接層(完全或稀疏連接)具有最終分類層。學習是在沒有監(jiān)督的預訓練的情況下完成的。每個濾波器相當于一個必須訓練的權重向量。在處理小型和大型神經網絡時,必須保證偏移方差。發(fā)展網絡正在解決這一問題。其他一些學習技術包括糾錯學習、基于記憶的學習和競爭性學習。

神經網絡的類型
有七種類型的神經網絡可以使用。
多層感知器(MLP):一種具有三層或多層的前饋神經網絡,包括輸入層、一層或多層隱藏層和輸出層。它使用非線性激活函數(shù)。
卷積神經網絡(CNN):一種設計用于處理具有網格狀結構的輸入數(shù)據(jù)(如圖像)的神經網絡。它使用卷積層和池化層從輸入數(shù)據(jù)中提取特征。
遞歸神經網絡(RNN):一種可以對可變長度的輸入序列(如文本)進行操作的神經網絡。它使用權重進行結構化預測。
遞歸神經網絡(RNN):一種在有向循環(huán)中連接神經元的神經網絡,使其能夠處理順序數(shù)據(jù)。
長短期記憶(LSTM):一種RNN,旨在克服訓練RNN時的消失梯度問題。它使用存儲單元和門來選擇性地讀取、寫入和擦除信息。
序列到序列(Seq2Seq):一種使用兩個RNN將輸入序列映射到輸出序列的神經網絡,例如將一種語言翻譯成另一種語言。
淺層神經網絡:一種只有一個隱藏層的神經網絡,通常用于更簡單的任務或作為大型網絡的構建塊。
這些神經網絡是下面演示的基本神經網絡的應用。
例如,神經網絡將使用三個向量:屬性X的向量、類Y的向量和權重W的向量。代碼將使用100次迭代來將屬性擬合到類。預測被生成、加權,然后在通過權重向量W迭代后輸出。神經網絡處理反向傳播。
示例:
輸入:
X { 2.6, 3.1, 3.0,
3.4, 2.1, 2.5,
2.6, 1.3, 4.9,
0.1, 0.3, 2.3,};
y {1, 1, 1};
W {0.3, 0.4, 0.6};
輸出:
0.990628
0.984596
0.994117
實施:
import numpy as np
# array of any amount of numbers. n = m
X = np.array([[1, 2, 3],
[3, 4, 1],
[2, 5, 3]])
# multiplication
y = np.array([[.5, .3, .2]])
# transpose of y
y = y.T
# sigma value
sigm = 2
# find the delta
delt = np.random.random((3, 3)) - 1
for j in range(100):
# find matrix 1. 100 layers.
m1 = (y - (1/(1 + np.exp(-(np.dot((1/(1 + np.exp(
-(np.dot(X, sigm))))), delt))))))*((1/(
1 + np.exp(-(np.dot((1/(1 + np.exp(
-(np.dot(X, sigm))))), delt)))))*(1-(1/(
1 + np.exp(-(np.dot((1/(1 + np.exp(
-(np.dot(X, sigm))))), delt)))))))
# find matrix 2
m2 = m1.dot(delt.T) * ((1/(1 + np.exp(-(np.dot(X, sigm)))))
* (1-(1/(1 + np.exp(-(np.dot(X, sigm)))))))
# find delta
delt = delt + (1/(1 + np.exp(-(np.dot(X, sigm))))).T.dot(m1)
# find sigma
sigm = sigm + (X.T.dot(m2))
# print output from the matrix
print(1/(1 + np.exp(-(np.dot(X, sigm)))))
輸出:
[[ 0.99999294 ?0.99999379 ?0.99999353]
[ 0.99999987 ?0.99999989 ?0.99999988]
[ 1. ? ? ? ? ?1. ? ? ? ? ?1. ? ? ? ?]]
局限性:神經網絡用于監(jiān)督模型。它不處理無監(jiān)督的機器學習,也不對數(shù)據(jù)進行聚類和關聯(lián)。它還缺乏計算成本更高的神經網絡所能達到的精度?;贏ndrew Trask的神經網絡。此外,神經網絡不適用于X的行數(shù)和列數(shù)與Y和W的行數(shù)不匹配的任何矩陣。接下來的步驟是創(chuàng)建一個無監(jiān)督的神經網絡,并通過更多的迭代和線程來增加有監(jiān)督模型的計算能力。
無論你是在為第一次面試做準備,還是打算在不斷發(fā)展的科技環(huán)境中提高技能,中培IT學院的實踐課程都是你成功的關鍵。中培IT學院機器學習、深度學習、計算機圖像處理及知識圖譜應用與核心技術實戰(zhàn)課程涵蓋了神經網絡算法;Tensorflow DNN CNN構建;基于OpenCV計算機視覺識別;從0到1完成知識圖譜構建等內容,通過展示教師的實際科研成果,講述人工智能與知識圖譜的技術原理與應用系統(tǒng)開發(fā)方法、知識圖譜系統(tǒng)開發(fā)工具使用方法。使學員掌握知識圖譜基礎與專門知識,獲得較強的知識圖譜應用系統(tǒng)的分析、設計、實現(xiàn)能力,旨在以有時限的方式加速您的成長。
