神經網絡的基本知識

感知機

  • 輸入:來自其他 n 個神經元傳遞過來的輸入信號

  • 處理:輸入信號通過帶權重的連接進行傳遞, 神經元接受到總輸入值將與神經元的閾值進行比較

  • 輸出:通過激活函數的處理以得到輸出

感知機由兩層神經元組成, 輸入層接受外界輸入信號傳遞給輸出層, 輸出層是M-P神經元(閾值邏輯單元)?

?

若感知機對訓練樣例 (x,y) 預測正確,則感知機不發生變化;否則根據錯誤程度進行權重的調整。

若兩類模式線性可分, 則感知機的學習過程一定會收斂;否則感知機的學習過程將會發生震蕩,單層感知機的學習能力非常有限, 只能解決線性可分問題。?


?多層感知機

輸出層與輸入層之間的一層神經元, 被稱之為隱層或隱含層, 隱含層和輸出層神經元都是具有激活函數的功能神經元。

感知機-多層前饋神經網絡


誤差逆傳播算法(Error BackPropagation, 簡稱BP)

?

?

?參數個數:d個輸入神經元連接q個隱層神經元?d*q,q個隱層神經元連接l個輸出神經元 q*l,再加?q+ l個閾值,最終結果是(d+l+q)*q+l。

工作流程:

(1)將輸入示例提供給輸入層神經元,逐層將信號前傳,直到產生輸出結果

(2)計算輸出層與真實值的誤差,將誤差使用BP算法傳播到整個網絡,對連接權重及閾值進行調整。

(3) 該迭代過程循環進行,直到達到某些停止條件為止。(例如訓練誤差達到了很小的值,或者整個數據集運行了20輪)

多層前饋網絡表示能力 :只需要一個包含足夠多神經元的隱層, 多層前饋神經網絡就能以任意精度逼近任意復雜度的連續函數 。

多層前饋網絡局限 :神經網絡由于強大的表示能力, 經常遭遇過擬合。表現為:訓練誤差持續降低, 但測試誤差卻可能上升 。如何設置隱層神經元的個數仍然是個未決問題.。

實際應用中通常使用“試錯法”調整 緩解過擬合的策略 。

早停:在訓練過程中, 若訓練誤差降低, 但驗證誤差升高, 則停止訓練 。

正則化:在誤差目標函數中增加一項描述網絡復雜程度的部分, 例如連接權值與閾值的平方和。


卷積神經網絡

卷積:平移不變模式,提取局部特征。

池化:對圖像進行縮放。

卷積網絡一般框架:卷積層+激活函數+池化層+全連接層。

卷積+激活+池化:出現多次,用于提取特征。

全連接層:最后一次出現,用于分類。

?

輸入層?

輸入層:輸入層是對數據進行預處理的階段,將輸入的數據(圖像/文字)轉換成網絡能夠計算的數字。

?卷積層

卷積層(Convolutional layer),卷積神經網絡中每層卷積層由若干卷積單元(卷積核)組成,每個卷積單元的參數都是通過反向傳播算法優化得到的。

卷積運算的目的是提取輸入的不同特征,第一層卷積層可能只能提取一些低級的特征如邊緣、線條和角等層級,更多層的網絡能從低級特征中迭代提取更復雜的特征。

  • 卷積核(filter/kernel):用于對輸入圖像進行共享權值的遍歷
  • 步長(stride):卷積核在圖片上移動的大小
  • 填充(padding):滿足輸出的圖像的維度要求

激活層

往模型中加入非線性元素,可以更好地解決復雜的問題。

池化層

?池化層的主要的作用是壓縮數據和參數的量(保持最顯著的特征),通過去掉上一層的輸出中不重要的信息,進一步減少參數數量。Pooling的方法很多,常用方法有最大池化與均值池化。

全連接層(Fully Connected Layer,簡稱FC層)

  • 特征整合:全連接層將前一層的所有輸出與當前層的每個神經元連接,能夠整合前一層的局部或全局特征,生成新的特征表示。【將多層的特征映射成一個一維的向量】
  • 非線性變換:通過激活函數(如ReLU、Sigmoid等),全連接層引入非線性,增強模型的表達能力,使其能夠擬合更復雜的函數。
  • 輸出轉換:在分類任務中,全連接層通常作為最后的輸出層,將高維特征映射到類別空間。【對卷積層獲得的不同的特征進行加權,最終目的是得到一個可以對不同類別進行區分的得分】【輸出層就是獲得對應每個類別的得分】
  • 參數學習:全連接層通過大量可訓練參數(權重和偏置)學習數據的內在規律,提升模型的性能。
  • 輸入:前一層的所有輸出。

  • 輸出:每個神經元的加權和經過激活函數后的結果。

  • 參數:權重矩陣?WW和偏置向量?b,通過反向傳播優化。

?卷積網絡在本質上是一種輸入到輸出的映射,它能夠學習大量的輸入與輸出之間的映射關系,而不需要任何輸入和輸出之間的精確的數學表達式,只要用已知的模式對卷積網絡加以訓練,網絡就具有輸入輸出對之間的映射能力。卷積神經網絡的訓練過程與傳統神經網絡類似,也是參照了反向傳播算法。



循環神經網絡

循環神經網絡是一種對序列數據建模的神經網絡。

RNN不同于前向神經網絡,它的層內、層與層之間的信息可以雙向傳遞,更高效地存儲信息,通常用于處理信息序列的任務。

RNN主要用來處理序列數據,在傳統的神經網絡模型中,每層內的節點之間無連接,但是循環神經網絡中當前神經元的輸出與前面的輸出也有關,網絡會對前面的信息進行記憶并用于當前神經元的計算中。

...


LSTM

這里包含兩個部分。首先,sigmoid 層稱 “輸入門層” 決定將要存放在細胞狀態的信息量的大小。然后,一個 tanh 層創建一個新的候選值向量會被加入到狀態中。下一步,我們會將這兩個信息來產生對狀態的更新。


?激活函數


Softmax

Softmax 是一種常用的激活函數,主要用于多分類任務中,將神經網絡的輸出轉換為概率分布。

它的核心作用是將一組任意實數轉換為概率值,這些概率值的總和為 1,便于表示每個類別的預測概率。

Softmax 的特性:

  1. 輸出為概率分布

    • Softmax 的輸出是一個概率分布,每個類別的概率值在?[0,1]?之間,且所有類別的概率之和為 1。

    • 例如,對于 3 個類別,Softmax 的輸出可能是[0.2,0.7,0.1]。

  2. 放大差異

    • Softmax 通過指數運算放大高分值的類別,抑制低分值的類別,使得高分值的類別概率更接近 1,低分值的類別概率更接近 0。

  3. 可導性

    • Softmax 是連續可導的,便于通過梯度下降法優化模型。

Softmax 的應用場景

  1. 多分類任務

    • 在神經網絡的最后一層使用 Softmax,將輸出轉換為類別概率分布。

    • 例如,圖像分類任務中,Softmax 可以將卷積神經網絡的特征映射為每個類別的概率。

  2. 損失函數結合

    • Softmax 通常與交叉熵損失函數(Cross-Entropy Loss)結合使用,用于衡量預測概率分布與真實標簽之間的差異。

它通過指數運算和歸一化,將原始得分映射為概率值,便于模型訓練和預測。

我們希望模型輸出y(j)可以視為屬于類j的概率,然后選擇具有最大輸出值的類別argmaxy(j)作為我們的預測。softmax:最大概率的標簽,能夠將未規范化的預測變換為非負數,并且總和為1,同時能夠讓模型保持可導。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/72366.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/72366.shtml
英文地址,請注明出處:http://en.pswp.cn/web/72366.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

UE5與U3D引擎對比分析

Unreal Engine 5(UE5)和Unity 3D(U3D)是兩款主流的游戲引擎,適用于不同類型的項目開發。以下是它們的主要區別,分點整理: 1. 核心定位 UE5: 主打3A級高畫質項目(如主機/P…

C++相關基礎概念之入門講解(上)

1. 命名空間 C中的命名空間(namespace)是用來避免命名沖突問題的一種機制。通過將類、函數、變量等封裝在命名空間中,可以避免不同部分的代碼中出現相同名稱的沖突。在C中,可以使用namespace關鍵字來定義命名空間。 然后我們在調…

網絡協議棧

網絡協議棧的位置 用戶在應用層的各種請求最終會下達給操作系統,操作系統內除了進程管理、文件管理、內存管理、驅動管理之外,還有一個內嵌的軟件協議棧,協議棧將用戶的數據進行各種封包后,通過網卡將數據傳遞到網絡當中&#xf…

C#索引器基礎到實踐

1. 封裝和隱藏內部實現 數組是一個簡單的數據結構,它的內部實現是固定的(基于連續內存)。而索引器可以隱藏內部的實現細節,允許開發者使用更復雜的數據結構來存儲數據,同時對外提供類似數組的訪問方式。 示例: 假設你有一個類,內部使用 Dictionary 或 List 來存儲數據…

C++之list類(超詳細)

在上一節中我們學習了STL中的vector這個容器,這節我們來學習一下另外一個常用的容器——list。 文章目錄 前言 一、list的介紹 二、list的使用及相關接口 1.list的使用 2.list的迭代器使用 3.list的相關接口 3.1 list capacity 3.2 list element access 3.3…

mysql、oracle、SQLserver之間的區別和優勢

MySQL、Oracle和SQL Server都是常見的關系型數據庫管理系統(RDBMS),它們在某些方面有一些區別和優勢。 MySQL: MySQL是一種開源的RDBMS,由Oracle公司開發和維護。它具有快速、穩定和易于使用的特點。MySQL適用于中小型…

Python依賴包遷移到斷網環境安裝

首先,我應該確認兩臺電腦的操作系統都是Windows,所以架構和版本應該兼容。Python版本必須一致,否則可能會有問題。比如,如果電腦B用的是Python 3.8.5,電腦A也得裝同樣的版本,否則有些包可能不兼容。所以第一…

75.HarmonyOS NEXT ImageItemView組件深度剖析:手勢交互與動畫實現(二)

溫馨提示:本篇博客的詳細代碼已發布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下載運行哦! HarmonyOS NEXT ImageItemView組件深度剖析:手勢交互與動畫實現(二) 一、手勢系統架構 .gesture(GestureGroup(GestureMode.Exclusiv…

Qt 控件概述 QWdiget

Qt為我們提供了很多控件,這些控件拿過來就可以使用 目錄 QWidget 屬性 WindowFrame的影響 QWidget Qt中所有的組件都是繼承自QWidget Qt Creator中的右側可以看到QWidget的各種屬性 其中各種屬性都可以在Qt文檔中找到說明 ? 屬性 enabled:描述該組…

適合企業內訓的AI工具實操培訓教程(37頁PPT)(文末有下載方式)

詳細資料請看本解讀文章的最后內容。 資料解讀:適合企業內訓的 AI 工具實操培訓教程 在當今數字化時代,人工智能(AI)技術迅速發展,深度融入到各個領域,AIGC(人工智能生成內容)更是成…

Axios 請求取消:從原理到實踐

Axios 請求取消:從原理到實踐 在現代前端開發中,網絡請求是不可或缺的一部分。Axios 是一個基于 Promise 的 HTTP 客戶端,廣泛應用于瀏覽器和 Node.js 環境中。然而,在某些場景下,我們可能需要取消正在進行的請求&…

Spring Boot對接twilio發送郵件信息

要在Spring Boot應用程序中對接Twilio發送郵件信息,您可以使用Twilio的SendGrid API。以下是一個簡單的步驟指南,幫助您完成這一過程: 1. 創建Twilio賬戶并獲取API密鑰 注冊一個Twilio賬戶(如果您還沒有的話)。在Twi…

【最后203篇系列】015 幾種消息隊列的思考

背景 隊列還是非常重要的中間件,可以幫助我們:提高處理效率、完成更復雜的處理流程 最初,我覺得只要掌握一種消息隊列就夠了,現在想想挺好笑的。 過去的探索 因為我用python,而rabbitmq比較貼合快速和復雜的數據處…

TensorFlow 與 TensorFlow Lite:核心解析與層應用

1. 引言 TensorFlow 是 Google 開發的開源機器學習框架,支持從數據預處理、模型訓練到推理部署的完整生命周期。然而,在嵌入式和移動設備上,原生 TensorFlow 過于龐大,因此 Google 推出了輕量級版本——TensorFlow Lite&#xff…

DeepSeek大模型在政務服務領域的應用

DeepSeek大模型作為國產人工智能技術的代表,近年來在政務服務領域的應用呈現多點開花的態勢。通過多地實踐,該技術不僅顯著提升了政務服務的效率與智能化水平,還推動了政府治理模式的創新。以下從技術應用場景、典型案例及發展趨勢三個維度進…

電子電氣架構 --- 分布到集中的動カ系統及基于域控制器的架構

我是穿拖鞋的漢子,魔都中堅持長期主義的汽車電子工程師。 老規矩,分享一段喜歡的文字,避免自己成為高知識低文化的工程師: 所有人的看法和評價都是暫時的,只有自己的經歷是伴隨一生的,幾乎所有的擔憂和畏懼,都是來源于自己的想象,只有你真的去做了,才會發現有多快樂。…

深入理解C/C++堆數據結構:從原理到實戰

一、堆的本質與特性 1.1 什么是堆數據結構? 堆(Heap)是一種特殊的完全二叉樹,它滿足以下核心性質: 堆序性:每個節點的值都滿足特定順序關系 結構性:完全二叉樹的結構特性(除最后一…

Python學習第十七天

Django框架-SQLite3 介紹 Django內置了對 SQLite3 數據庫的支持。SQLite3 是一個輕量級的嵌入式數據庫引擎,非常適合開發、測試和小型項目。以下是關于 Django 中 SQLite3 的介紹和應用指南。(除了這些還支持mysql、oracle以及其他查詢文檔,…

Docker 》》Docker Compose 》》network 網絡 compose

docker 默認的網絡 三種模式 # 列出所有當前主機上或Swarm集群上的網絡 docker network ls#查看網絡詳情 docker network inspect network名稱# 清除未使用的docker網絡 docker network prune -f# 創建網絡 ocker network create -d bridge 網絡名稱 docker network create –s…

Python數字信號處理之最佳等波紋濾波器階數估計原理

Matlab中的階數估計函數 在MATLAB中,使用firpmord函數可以估算等波紋FIR濾波器的最小階數。該方法基于Parks-McClellan算法,通過通帶和阻帶的頻率邊界、幅度響應及允許的最大誤差來自動計算參數。 rp 3; % Passband ripple in dB rs 40; …