衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

深入了解神經網絡

人工智能君 ? 來源:人工智能君 ? 作者:人工智能君 ? 2022-07-08 10:22 ? 次閱讀

本章將介紹用于解決實際問題的深度學習架構的不同模塊。前一章使用PyTorch的低級操作構建了如網絡架構、損失函數和優化器這些模塊。本章將介紹用于解決真實問題的神經網絡的一些重要組件,以及PyTorch如何通過提供大量高級函數來抽象出復雜度。本章還將介紹用于解決真實問題的算法,如回歸、二分類、多類別分類等。
本章將討論如下主題:
?詳解神經網絡的不同構成組件;
?探究PyTorch中用于構建深度學習架構的高級功能;
?應用深度學習解決實際的圖像分類問題。
3.1詳解神經網絡的組成部分
上一章已經介紹了訓練深度學習算法需要的幾個步驟。
1.構建數據管道。
2.構建網絡架構。
3.使用損失函數評估架構。
4.使用優化算法優化網絡架構的權重。
上一章中的網絡由使用PyTorch數值運算構建的簡單線性模型組成。盡管使用數值運算為玩具性質的問題搭建神經架構很簡單,但當需要構建解決不同領域的復雜問題時,如計算機視覺和自然語言處理,構建一個架構就迅速變得復雜起來。大多數深度學習框架,如PyTorch、TensorFlow和Apache MXNet,都提供了抽象出很多復雜度的高級功能。這些深度學習框架的高級功能稱為層(layer)。它們接收輸入數據,進行如同在前面一章看到的各種變換,并輸出數據。解決真實問題的深度學習架構通常由1~150個層組成,有時甚至更多。抽象出低層的運算并訓練深度學習算法的過程如圖3.1所示。

poYBAGLHlGaAeEG8AAD5hFaFo4k373.png

圖3.1
3.1.1層——神經網絡的基本組成
在本章的剩余部分,我們會見到各種不同類型的層。首先,先了解其中最重要的一種層:線性層,它就是我們前面講過的網絡層結構。線性層應用了線性變換:
Y=Wx+b
線性層之所以強大,是因為前一章所講的功能都可以寫成單一的代碼行,如下所示。
上述代碼中的myLayer層,接受大小為10的張量作為輸入,并在應用線性變換后輸出一個大小為5的張量。下面是一個簡單例子的實現:
可以使用屬性weights和bias訪問層的可訓練參數
線性層在不同的框架中使用的名稱有所不同,有的稱為dense層,有的稱為全連接層(fully connected layer)。用于解決真實問題的深度學習架構通常包含不止一個層。在PyTorch中,可以用多種方式實現。
一個簡單的方法是把一層的輸出傳入給另一層:
每一層都有自己的學習參數,在多個層的架構中,每層都學習出它本層一定的模式,其后的層將基于前一層學習出的模式構建。把線性層簡單堆疊在一起是有問題的,因為它們不能學習到簡單線性表示以外的新東西。我們通過一個簡單的例子看一下,為什么把線性層堆疊在一起的做法并不合理。
假設有具有如下權重的兩個線性層:
層 權重
Layer1 3.0
Layer2 2.0
以上包含兩個不同層的架構可以簡單表示為帶有另一不同層的單層。因此,只是堆疊多個線性層并不能幫助我們的算法學習任何新東西。有時,這可能不太容易理解,我們可以用下面的數學公式對架構進行可視化:
Y= 2(3X1) -2Linear layers
Y= 6(X1) -1Linear layers
為解決這一問題,相較于只是專注于線性關系,我們可以使用不同的非線性函數,幫助學習不同的關系。
深度學習中有很多不同的非線性函數。PyTorch以層的形式提供了這些非線性功能,因為可以采用線性層中相同的方式使用它們。
一些流行的非線性函數如下所示:
?sigmoid
?tanh
?ReLU
?Leaky ReLU
3.1.2非線性激活函數
非線性激活函數是獲取輸入,并對其應用數學變換從而生成輸出的函數。我們在實戰中可能遇到數個非線性操作。下面會講解其中幾個常用的非線性激活函數。
1.sigmoid
sigmoid激活函數的數學定義很簡單,如下:

pYYBAGLHlImAORw5AAAcERtbSOY338.png

簡單來說,sigmoid函數以實數作為輸入,并以一個0到1之間的數值作為輸出。對于一個極大的負值,它返回的值接近于0,而對于一個極大的正值,它返回的值接近于1。圖3.2所示為sigmoid函數不同的輸出。

poYBAGLHlHeAc0KjAABJ_t7RiYQ215.png

圖3.2
sigmoid函數曾一度被不同的架構使用,但由于存在一個主要弊端,因此最近已經不太常用了。當sigmoid函數的輸出值接近于0或1時,sigmoid函數前一層的梯度接近于0,由于前一層的學習參數的梯度接近于0,使得權重不能經常調整,從而產生了無效神經元。
2.tanh
非線性函數tanh將實數值輸出為-1到1之間的值。當tanh的輸出極值接近-1和1時,也面臨梯度飽和的問題。不過,因為tanh的輸出是以0為中心的,所以比sigmoid更受偏愛,如圖3.3所示。

pYYBAGLHlJ2AL8RjAABLvvoiKWw943.png

圖3.3
3.ReLU
近年來ReLU變得很受歡迎,我們幾乎可以在任意的現代架構中找到ReLU或其某一變體的身影。它的數學公式很簡單:
f(x)=max(0,x)
簡單來說,ReLU把所有負值取作0,正值保持不變。可以對ReLU函數進行可視化,如圖3.4所示。

poYBAGLHlKeAI2nYAABHxGJ09ns971.png

圖3.4
使用ReLU函數的一些好處和弊端如下。
?有助于優化器更快地找到正確的權重集合。從技術上講,它使隨機梯度下降收斂得更快。
?計算成本低,因為只是判斷了閾值,并未計算任何類似于sigmoid或tangent函數計算的內容。
?ReLU有一個缺點,即當一個很大的梯度進行反向傳播時,流經的神經元經常會變得無效,這些神經元稱為無效神經元,可以通過謹慎選擇學習率來控制。我們將在第4章中討論調整學習率的不同方式時,了解如何選擇學習率。
4.Leaky ReLU
Leaky ReLU嘗試解決一個問題死角,它不再將飽和度置為0,而是設為一個非常小的數值,如0.001。對某些用例,這一激活函數提供了相較于其他激活函數更優異的性能,但它不是連續的。

審核編輯 黃昊宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 神經網絡
    +關注

    關注

    42

    文章

    4781

    瀏覽量

    101176
  • 人工智能
    +關注

    關注

    1796

    文章

    47683

    瀏覽量

    240302
收藏 人收藏

    評論

    相關推薦

    神經網絡教程(李亞非)

      第1章 概述  1.1 人工神經網絡研究與發展  1.2 生物神經元  1.3 人工神經網絡的構成  第2章人工神經網絡基本模型  2.1 MP模型  2.2 感知器模型  2.3
    發表于 03-20 11:32

    labview BP神經網絡的實現

    是classes(層級嗎?),希望有前輩能夠詳細的幫我講解下這個范例!!!謝謝!!!!(本人已對BP神經網絡的理論知識有了了解
    發表于 02-22 16:08

    卷積神經網絡如何使用

    卷積神經網絡(CNN)究竟是什么,鑒于神經網絡在工程上經歷了曲折的歷史,您為什么還會在意它呢? 對于這些非常中肯的問題,我們似乎可以給出相對簡明的答案。
    發表于 07-17 07:21

    【案例分享】ART神經網絡與SOM神經網絡

    今天學習了兩個神經網絡,分別是自適應諧振(ART)神經網絡與自組織映射(SOM)神經網絡。整體感覺不是很難,只不過一些最基礎的概念容易理解不清。首先ART神經網絡是競爭學習的一個代表,
    發表于 07-21 04:30

    人工神經網絡實現方法有哪些?

    人工神經網絡(Artificial Neural Network,ANN)是一種類似生物神經網絡的信息處理結構,它的提出是為了解決一些非線性,非平穩,復雜的實際問題。那有哪些辦法能實現人工神經
    發表于 08-01 08:06

    卷積神經網絡原理及發展過程

    Top100論文導讀:深入理解卷積神經網絡CNN(Part Ⅰ)
    發表于 09-06 17:25

    如何構建神經網絡

    原文鏈接:http://tecdat.cn/?p=5725 神經網絡是一種基于現有數據創建預測的計算系統。如何構建神經網絡神經網絡包括:輸入層:根據現有數據獲取輸入的層隱藏層:使用反向傳播優化輸入變量權重的層,以提高模型的預測
    發表于 07-12 08:02

    基于BP神經網絡的PID控制

    最近在學習電機的智能控制,上周學習了基于單神經元的PID控制,這周研究基于BP神經網絡的PID控制。神經網絡具有任意非線性表達能力,可以通過對系統性能的學習來實現具有最佳組合的PID控制。利用BP
    發表于 09-07 07:43

    神經網絡移植到STM32的方法

    問題,一個是神經網絡的移植,另一個是STM32的計算速度。神經網絡的移植網絡采用的是最簡單的BP神經網絡,基本原理可以自己去了解一下,大概就
    發表于 01-11 06:20

    遷移學習

    神經網絡訓練方法卷積神經網絡介紹經典網絡結構介紹章節目標:深入了解神經網絡的組成、訓練和實現,掌握深度空間特征分布等關鍵概念,為深度遷移學習
    發表于 04-21 15:15

    機器學習簡介與經典機器學習算法人才培養

    神經網絡訓練方法卷積神經網絡介紹經典網絡結構介紹章節目標:深入了解神經網絡的組成、訓練和實現,掌握深度空間特征分布等關鍵概念,為深度遷移學習
    發表于 04-28 18:56

    卷積神經網絡CNN架構分析-LeNet

    對于神經網絡和卷積有了粗淺的了解,關于CNN 卷積神經網絡,需要總結深入的知識有很多:人工神經網絡 ANN卷積
    發表于 11-16 13:28 ?2825次閱讀
    卷積<b class='flag-5'>神經網絡</b>CNN架構分析-LeNet

    帶你了解深入深度學習的核心:神經網絡

    深度學習和人工智能是 2017 年的熱詞;2018 年,這兩個詞愈發火熱,但也更加容易混淆。我們將深入深度學習的核心,也就是神經網絡
    的頭像 發表于 04-02 09:47 ?9947次閱讀
    帶你<b class='flag-5'>了解</b><b class='flag-5'>深入</b>深度學習的核心:<b class='flag-5'>神經網絡</b>

    深度神經網絡與基本神經網絡的區別

    在探討深度神經網絡(Deep Neural Networks, DNNs)與基本神經網絡(通常指傳統神經網絡或前向神經網絡)的區別時,我們需要從多個維度進行
    的頭像 發表于 07-04 13:20 ?1061次閱讀

    BP神經網絡和人工神經網絡的區別

    BP神經網絡和人工神經網絡(Artificial Neural Networks,簡稱ANNs)之間的關系與區別,是神經網絡領域中一個基礎且重要的話題。本文將從定義、結構、算法、應用及未來發展等多個方面,詳細闡述BP
    的頭像 發表于 07-10 15:20 ?1307次閱讀
    威尼斯人娱乐城老品牌值得您信赖lm0 | 百家乐板路| 百家乐实战技术| 赌王百家乐官网的玩法技巧和规则 | 好望角百家乐官网的玩法技巧和规则 | 娱网百家乐补丁| 百家乐稳赢技法| 百家乐押注方法| 电子百家乐作假| 大三巴百家乐的玩法技巧和规则 | 58百家乐的玩法技巧和规则| 墨尔本百家乐的玩法技巧和规则| 澳门赌百家乐的玩法技巧和规则| 万人迷百家乐的玩法技巧和规则| 威尼斯人娱乐网网上百家乐的玩法技巧和规则| 百家乐15人桌| 大发888yulecheng| bet365会员注册| 十六浦娱乐城| 天柱县| 太阳城网上娱乐| 百家乐官网台布21点| 百家乐官网大小技巧| 网络百家乐官网怎样出千| 新锦江百家乐官网娱乐| 百家乐玩法教学视频| 百家乐庄6点| 大发888bet娱乐城| 通化大嘴棋牌游戏| 百家乐官网赌假的工具| 真钱百家乐官网送钱| 百家乐官网专打单跳投注法| 百家乐官网路珠价格| 百家乐自动算牌软件| 大发888娱乐场 东南网| 兴文县| 百家乐官网菲律宾| 澳门百家乐看路博客| 大发888资讯网net| 百家乐官网街机游戏下载| 金字塔百家乐官网的玩法技巧和规则|