人工智能之核心技術(shù) 深度學(xué)習(xí) 第一章 神經(jīng)網(wǎng)絡(luò)基礎(chǔ)

<p>?</p><p/><h1>人工智能之核心技術(shù) 深度學(xué)習(xí)</h1><p/><p>第一章 神經(jīng)網(wǎng)絡(luò)基礎(chǔ)</p><p class="image-package"><img class="uploaded-img" src="https://upload-images.jianshu.io/upload_images/30827302-37e6bcd220c19a33.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" width="auto" height="auto"/></p>


<p><strong>一、感知器模型</strong></p><p><strong>1.1 線性感知器(Perceptron)</strong></p><p><strong>結(jié)構(gòu)</strong>:
線性感知器是最簡單的神經(jīng)網(wǎng)絡(luò)單元,由 Frank Rosenblatt 在 1957 年提出。它模擬生物神經(jīng)元:接收多個(gè)輸入,加權(quán)求和后通過一個(gè)激活函數(shù)輸出結(jié)果。</p><p>數(shù)學(xué)表達(dá)式為:</p><p/><p>其中:</p><ul><li><p>???是第??個(gè)輸入</p></li><li><p>???是對應(yīng)的權(quán)重</p></li><li><p>???是偏置(bias)</p></li><li><p>???是激活函數(shù)(感知器中通常為階躍函數(shù))</p></li></ul><p><strong>原理</strong>:
感知器試圖學(xué)習(xí)一個(gè)線性決策邊界(超平面),將兩類數(shù)據(jù)分開。如果數(shù)據(jù)線性可分,感知器學(xué)習(xí)算法可以收斂到正確解。</p><p><strong>局限性</strong>:
感知器只能解決<strong>線性可分問題</strong>。經(jīng)典反例是?<strong>異或(XOR)問題</strong>:</p><p/><p/><p>這四點(diǎn)無法用一條直線完全分開(如下圖所示),因此單層感知器無法學(xué)習(xí) XOR。</p><pre>x1Perceptronx2y</pre><blockquote><p>???<strong>關(guān)鍵結(jié)論</strong>:單層感知器 = 線性分類器 → 無法處理非線性問題。</p></blockquote>
<p><strong>1.2 多層感知器(MLP, Multi-Layer Perceptron)</strong></p><p>為了解決感知器的局限性,人們引入了<strong>隱藏層</strong>,形成了多層感知器(MLP)。</p><ul><li><p>??<strong>結(jié)構(gòu)</strong>:輸入層 → 一個(gè)或多個(gè)隱藏層 → 輸出層</p></li><li><p>??<strong>核心思想</strong>:通過堆疊非線性變換,組合出復(fù)雜的決策邊界,從而擬合非線性函數(shù)(如 XOR)</p></li></ul><p><strong>XOR 的 MLP 解決方案</strong>(2 層):</p><ul><li><p>? 隱藏層有 2 個(gè)神經(jīng)元,分別學(xué)習(xí)“AND”和“OR”邏輯</p></li><li><p>? 輸出層組合它們實(shí)現(xiàn) XOR</p></li></ul><pre>x1h1h2x2y</pre><blockquote><p>??<strong>突破</strong>:MLP + 非線性激活函數(shù) → 可以逼近任意連續(xù)函數(shù)(萬能近似定理)</p></blockquote>
<p><strong>二、激活函數(shù)</strong></p><p>激活函數(shù)賦予神經(jīng)網(wǎng)絡(luò)<strong>非線性表達(dá)能力</strong>。如果沒有激活函數(shù),無論多少層,網(wǎng)絡(luò)都等價(jià)于一個(gè)線性模型。</p><p><strong>常見激活函數(shù)對比</strong></p><p/><p/><p><strong>激活函數(shù)圖像(示意)</strong></p><p class="image-package"><img class="uploaded-img" src="https://upload-images.jianshu.io/upload_images/30827302-ea4795938a4724d9.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" width="auto" height="auto"/></p><blockquote><p>???<strong>現(xiàn)代實(shí)踐建議</strong>:</p><ul><li><p>? 隱藏層優(yōu)先使用?<strong>ReLU</strong>?或?<strong>Leaky ReLU</strong></p></li><li><p>? 二分類輸出用?<strong>Sigmoid</strong></p></li><li><p>? 多分類輸出用?<strong>Softmax</strong></p></li></ul></blockquote>
<p><strong>三、神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)</strong></p><p><strong>3.1 各層作用</strong></p><p/><p/><p><strong>3.2 設(shè)計(jì)原則</strong></p><p><strong>(1)隱藏層數(shù)量</strong></p><ul><li><p>??<strong>淺層網(wǎng)絡(luò)</strong>(1~2 層):適用于簡單任務(wù)、小數(shù)據(jù)集</p></li><li><p>??<strong>深層網(wǎng)絡(luò)</strong>(>3 層):適用于復(fù)雜任務(wù)(圖像、語音),但需足夠數(shù)據(jù)和正則化</p></li></ul><blockquote><p>?? 并非越深越好!過深可能導(dǎo)致:</p><ul><li><p>? 梯度消失/爆炸</p></li><li><p>? 過擬合</p></li><li><p>? 訓(xùn)練困難</p></li></ul></blockquote><p><strong>(2)每層神經(jīng)元數(shù)量</strong></p><ul><li><p>? 輸入層神經(jīng)元數(shù) = 特征維度</p></li><li><p>? 輸出層神經(jīng)元數(shù) = 類別數(shù)(分類)或 1(回歸)</p></li><li><p>? 隱藏層神經(jīng)元數(shù):經(jīng)驗(yàn)法則</p></li><ul><li><p>? 通常介于輸入與輸出之間</p></li><li><p>? 常用:?或?</p></li><li><p>? 也可采用“金字塔”結(jié)構(gòu)(逐層減少)</p></li></ul></ul><blockquote><p>???<strong>實(shí)用技巧</strong>:</p><ul><li><p>? 從簡單結(jié)構(gòu)開始(如 1 隱藏層,64 神經(jīng)元)</p></li><li><p>? 用驗(yàn)證集調(diào)參(Grid Search / Random Search)</p></li><li><p>? 使用 Dropout、BatchNorm 提升泛化</p></li></ul></blockquote>
<p><strong>四、配套代碼實(shí)現(xiàn)(PyTorch)</strong></p><p>以下是一個(gè)完整的 MLP 實(shí)現(xiàn),用于解決 XOR 問題:</p><pre>import?torchimport?torch.nn?as?nnimport?torch.optim?as?optim#?XOR?數(shù)據(jù)X?=?torch.tensor([[0,?0],??????????????????[0,?1],??????????????????[1,?0],??????????????????[1,?1]],?dtype=torch.float32)y?=?torch.tensor([[0],?[1],?[1],?[0]],?dtype=torch.float32)#?定義?MLP?模型class?XOR_MLP(nn.Module):????def?init(self):????????super().init()????????self.hidden?=?nn.Linear(2,?4)??????#?輸入2維,隱藏層4神經(jīng)元????????self.output?=?nn.Linear(4,?1)??????#?輸出1維????????self.relu?=?nn.ReLU()????????self.sigmoid?=?nn.Sigmoid()????????#?二分類輸出????def?forward(self,?x):????????x?=?self.relu(self.hidden(x))????????x?=?self.sigmoid(self.output(x))????????return?x#?實(shí)例化模型、損失函數(shù)、優(yōu)化器model?=?XOR_MLP()criterion?=?nn.BCELoss()???????????????#?二元交叉熵optimizer?=?optim.SGD(model.parameters(),?lr=0.1)#?訓(xùn)練for?epoch?in?range(1000):????optimizer.zero_grad()????pred?=?model(X)????loss?=?criterion(pred,?y)????loss.backward()????optimizer.step()????if?epoch?%?200?==?0:????????print(f"Epoch?{epoch},?Loss:?{loss.item():.4f}")#?測試with?torch.no_grad():????output?=?model(X)????print("
預(yù)測結(jié)果:")????for?i?in?range(4):????????print(f"輸入:?{X[i].tolist()}?->?預(yù)測:?{output[i].item():.4f}?(真實(shí):?{y[i].item()})")</pre><p><strong>輸出示例</strong>:</p><pre>Epoch?0,?Loss:?0.7032Epoch?200,?Loss:?0.0321...預(yù)測結(jié)果:輸入:?[0.0,?0.0]?->?預(yù)測:?0.0123?(真實(shí):?0.0)輸入:?[0.0,?1.0]?->?預(yù)測:?0.9876?(真實(shí):?1.0)...</pre><p>? 成功解決 XOR!</p>
<p><strong>五、萬能近似定理(Universal Approximation Theorem)</strong></p><blockquote><p><strong>定理</strong>:一個(gè)具有<strong>單隱藏層</strong>和<strong>足夠多神經(jīng)元</strong>的前饋神經(jīng)網(wǎng)絡(luò),只要使用<strong>非線性激活函數(shù)</strong>,就可以以任意精度逼近任何定義在緊集上的連續(xù)函數(shù)。</p></blockquote><p>這意味著:<strong>理論上,一個(gè)隱藏層就足夠強(qiáng)大</strong>。但實(shí)踐中,深層網(wǎng)絡(luò)更高效(用更少參數(shù)表達(dá)復(fù)雜函數(shù))。</p>
<p><strong>總結(jié)</strong></p><p/><p/>
<h1>資料關(guān)注</h1><p>公眾號:咚咚王
gitee:https://gitee.com/wy18585051844/ai_learning</p><p class="image-package"><img class="uploaded-img" src="https://upload-images.jianshu.io/upload_images/30827302-8e14ae491831f35e.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" width="auto" height="auto"/></p><p>《Python編程:從入門到實(shí)踐》
《利用Python進(jìn)行數(shù)據(jù)分析》
《算法導(dǎo)論中文第三版》
《概率論與數(shù)理統(tǒng)計(jì)(第四版) (盛驟) 》
《程序員的數(shù)學(xué)》
《線性代數(shù)應(yīng)該這樣學(xué)第3版》
《微積分和數(shù)學(xué)分析引論》
《(西瓜書)周志華-機(jī)器學(xué)習(xí)》
《TensorFlow機(jī)器學(xué)習(xí)實(shí)戰(zhàn)指南》
《Sklearn與TensorFlow機(jī)器學(xué)習(xí)實(shí)用指南》
《模式識(shí)別(第四版)》
《深度學(xué)習(xí) deep learning》伊恩·古德費(fèi)洛著 花書
《Python深度學(xué)習(xí)第二版(中文版)【純文本】 (登封大數(shù)據(jù) (Francois Choliet)) (Z-Library)》
《深入淺出神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)+(邁克爾·尼爾森(Michael+Nielsen)》
《自然語言處理綜論 第2版》
《Natural-Language-Processing-with-PyTorch》
《計(jì)算機(jī)視覺-算法與應(yīng)用(中文版)》
《Learning OpenCV 4》
《AIGC:智能創(chuàng)作時(shí)代》杜雨+&+張孜銘
《AIGC原理與實(shí)踐:零基礎(chǔ)學(xué)大語言模型、擴(kuò)散模型和多模態(tài)模型》
《從零構(gòu)建大語言模型(中文版)》
《實(shí)戰(zhàn)AI大模型》
《AI 3.0》</p><p>?</p><p/><p/><p/><p/><p/>

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容