91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

3天內(nèi)不再提示

神經(jīng)網(wǎng)絡設計和功能

jf_pJlTbmA9 ? 來源:jf_pJlTbmA9 ? 作者:jf_pJlTbmA9 ? 2023-07-10 10:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

摘要

本文是系列文章的第二部分,重點介紹卷積神經(jīng)網(wǎng)絡(CNN)的特性和應用。CNN主要用于模式識別和對象分類。在第一部分文章《卷積神經(jīng)網(wǎng)絡簡介:什么是機器學習?——第一部分》中,我們比較了在微控制器中運行經(jīng)典線性規(guī)劃程序與運行CNN的區(qū)別,并展示了CNN的優(yōu)勢。我們還探討了CIFAR網(wǎng)絡,該網(wǎng)絡可以對圖像中的貓、房子或自行車等對象進行分類,還可以執(zhí)行簡單的語音識別。本文重點解釋如何訓練這些神經(jīng)網(wǎng)絡以解決實際問題。

神經(jīng)網(wǎng)絡的訓練過程

本系列文章的第一部分討論的CIFAR網(wǎng)絡由不同層的神經(jīng)元組成。如圖1所示,32 × 32像素的圖像數(shù)據(jù)被呈現(xiàn)給網(wǎng)絡并通過網(wǎng)絡層傳遞。CNN處理過程的第一步就是提取待區(qū)分對象的特性和結(jié)構(gòu),這需要借助濾波器矩陣實現(xiàn)。設計人員對CIFAR網(wǎng)絡進行建模后,由于最初無法確定這些濾波器矩陣,因此這個階段的網(wǎng)絡無法檢測模式和對象。

為此,首先需要確定濾波器矩陣的所有參數(shù),以最大限度地提高檢測對象的精度或最大限度地減少損失函數(shù)。這個過程就稱為神經(jīng)網(wǎng)絡訓練。本系列文章的第一部分所描述的常見應用在開發(fā)和測試期間只需對網(wǎng)絡進行一次訓練就可以使用,無需再調(diào)整參數(shù)。如果系統(tǒng)對熟悉的對象進行分類,則無需額外訓練;當系統(tǒng)需要對全新的對象進行分類時,才需要額外進行訓練。

進行網(wǎng)絡訓練需要使用訓練數(shù)據(jù)集,并使用類似的一組測試數(shù)據(jù)集來測試網(wǎng)絡的精度。例如CIFAR-10網(wǎng)絡數(shù)據(jù)集為十個對象類的圖像集合:飛機、汽車、鳥、貓、鹿、狗、青蛙、馬、輪船和卡車。我們必須在訓練CNN之前對這些圖像進行命名,這也是人工智能應用開發(fā)過程中最為復雜的部分。本文討論的訓練過程采用反向傳播的原理,即向網(wǎng)絡連續(xù)展示大量圖像,并且每次都同時傳送一個目標值。本例的目標值為圖像中相關的對象類。在每次顯示圖像時,濾波器矩陣都會被優(yōu)化,這樣對象類的目標值就會和實際值相匹配。完成此過程的網(wǎng)絡就能夠檢測出訓練期間從未看到過的圖像中的對象。

1681808509479191.png

圖1.CIFAR CNN架構(gòu)。

1681808506954709.png

圖2.由前向傳播和反向傳播組成的訓練循環(huán)。

過擬合和欠擬合

在神經(jīng)網(wǎng)絡的建模過程中經(jīng)常會出現(xiàn)的問題是:神經(jīng)網(wǎng)絡應該有多少層,或者是神經(jīng)網(wǎng)絡的濾波器矩陣應該有多大?;卮疬@個問題并非易事,因此討論網(wǎng)絡的過擬合和欠擬合至關重要。過擬合由模型過于復雜以及參數(shù)過多而導致。我們可以通過比較訓練數(shù)據(jù)集和測試數(shù)據(jù)集的損失來確定預測模型與訓練數(shù)據(jù)集的擬合程度。如果訓練期間損失較低并且在向網(wǎng)絡呈現(xiàn)從未顯示過的測試數(shù)據(jù)時損失過度增加,這就強烈表明網(wǎng)絡已經(jīng)記住了訓練數(shù)據(jù)而不是在實施模式識別。此類情況主要發(fā)生在網(wǎng)絡的參數(shù)存儲空間過大或者網(wǎng)絡的卷積層過多的時候。這種情況下應當縮小網(wǎng)絡規(guī)模。

損失函數(shù)和訓練算法

學習分兩個步驟進行。第一步,向網(wǎng)絡展示圖像,然后由神經(jīng)元網(wǎng)絡處理這些圖像生成一個輸出矢量。輸出矢量的最大值表示檢測到的對象類,例如示例中的“狗”,該值不一定是正確的。這一步稱為前向傳播。

目標值與輸出時產(chǎn)生的實際值之間的差值稱為損失,相關函數(shù)則稱為損失函數(shù)。網(wǎng)絡的所有要素和參數(shù)均包含在損失函數(shù)中。神經(jīng)網(wǎng)絡的學習過程旨在以最小化損失函數(shù)的方式定義這些參數(shù)。這種最小化可通過反向傳播的過程實現(xiàn)。在反向傳播的過程中,輸出產(chǎn)生的偏置(損失 = 目標值-實際值)通過網(wǎng)絡的各層反饋,直至達到網(wǎng)絡的起始層。

因此,前向傳播和反向傳播在訓練過程中產(chǎn)生了一個可以逐步確定濾波器矩陣參數(shù)的循環(huán)。這種循環(huán)過程會不斷重復,直至損失值降至一定程度以下。

優(yōu)化算法、梯度和梯度下降法

為說明訓練過程,圖3顯示了一個包含x和y兩個參數(shù)的損失函數(shù)的示例,這里z軸對應于損失。如果我們仔細查看該損失函數(shù)的三維函數(shù)圖,我們就會發(fā)現(xiàn)這個函數(shù)有一個全局最小值和一個局部最小值。

目前,有大量數(shù)值優(yōu)化算法可用于確定權(quán)重和偏置。其中,梯度下降法最為簡單。梯度下降法的理念是使用梯度算子在逐步訓練的過程中找到一條通向全局最小值的路徑,該路徑的起點從損失函數(shù)中隨機選擇。梯度算子是一個數(shù)學運算符,它會在損失函數(shù)的每個點生成一個梯度矢量。該矢量的方向指向函數(shù)值變化最大的方向,幅度對應于函數(shù)值的變化程度。在圖3的函數(shù)中,右下角(紅色箭頭處)由于表面平坦,因此梯度矢量的幅度較小。而接近峰值時的情況則完全不同。此處矢量(綠色箭頭)的方向急劇向下,并且由于此處高低差明顯,梯度矢量的幅度也較大。

1681808501810374.png

圖3.使用梯度下降法確定到最小值的不同路徑。

因此我們可以利用梯度下降法從任意選定的起點開始以迭代的方式尋找下降至山谷的最陡峭路徑。這意味著優(yōu)化算法會在起點計算梯度,并沿最陡峭的下降方向前進一小步。之后算法會重新計算該點的梯度,繼續(xù)尋找創(chuàng)建一條從起點到山谷的路徑。這種方法的問題在于起點并非是提前定義的,而是隨機選擇的。在我們的三維地圖中,某些細心的讀者會將起點置于函數(shù)圖左側(cè)的某個位置,以確保路徑的終點為全局最小值(如藍色路徑所示)。其他兩個路徑(黃色和橙色)要么非常長,要么終點位于局部最小值。但是,算法必須對成千上萬個參數(shù)進行優(yōu)化,顯然起點的選擇不可能每次都碰巧正確。在具體實踐中,這種方法用處不大。因為所選擇的起點可能會導致路徑(即訓練時間)較長,或者目標點并不位于全局最小值,導致網(wǎng)絡的精度下降。

因此,為避免上述問題,過去幾年已開發(fā)出大量可作為替代的優(yōu)化算法。一些替代的方法包括隨機梯度下降法、動量法、AdaGrad方法、RMSProp方法、Adam方法等。鑒于每種算法都有其特定的優(yōu)缺點,實踐中具體使用的算法將由網(wǎng)絡開發(fā)人員決定。

訓練數(shù)據(jù)

在訓練過程中,我們會向網(wǎng)絡提供標有正確對象類的圖像,如汽車、輪船等。本例使用了已有的CIFAR-10數(shù)據(jù)集。當然,在具體實踐中,人工智能可能會用于識別貓、狗和汽車之外的領域。這可能需要開發(fā)新應用,例如檢測制造過程中螺釘?shù)馁|(zhì)量必須使用能夠區(qū)分好壞螺釘?shù)挠柧殧?shù)據(jù)對網(wǎng)絡進行訓練。創(chuàng)建此類數(shù)據(jù)集極其耗時費力,往往是開發(fā)人工智能應用過程中成本最高的一步。編譯完成的數(shù)據(jù)集分為訓練數(shù)據(jù)集和測試數(shù)據(jù)集。訓練數(shù)據(jù)集用于訓練,而測試數(shù)據(jù)則用于在開發(fā)過程的最后檢查訓練好的網(wǎng)絡的功能。

結(jié)論

本系列文章的第一部分《人工智能簡介:什么是機器學習?——第一部分》介紹了神經(jīng)網(wǎng)絡并對其設計和功能進行了詳細探討。本文則定義了函數(shù)所需的所有權(quán)重和偏置,因此現(xiàn)在可以假定網(wǎng)絡能夠正常運行。在后續(xù)第三部分的文章中,我們將通過硬件運行神經(jīng)網(wǎng)絡以測試其識別貓的能力。這里我們將使用ADI公司開發(fā)的帶硬件CNN加速器的MAX78000人工智能微控制器來進行演示。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • ADI
    ADI
    +關注

    關注

    151

    文章

    46104

    瀏覽量

    277089
  • 神經(jīng)網(wǎng)絡

    關注

    42

    文章

    4838

    瀏覽量

    107728
  • 機器學習
    +關注

    關注

    66

    文章

    8553

    瀏覽量

    136919
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    NMSIS神經(jīng)網(wǎng)絡庫使用介紹

    NMSIS NN 軟件庫是一組高效的神經(jīng)網(wǎng)絡內(nèi)核,旨在最大限度地提高 Nuclei N 處理器內(nèi)核上的神經(jīng)網(wǎng)絡的性能并最??大限度地減少其內(nèi)存占用。 該庫分為多個功能,每個功能涵蓋特定
    發(fā)表于 10-29 06:08

    神經(jīng)網(wǎng)絡教程(李亞非)

      第1章 概述  1.1 人工神經(jīng)網(wǎng)絡研究與發(fā)展  1.2 生物神經(jīng)元  1.3 人工神經(jīng)網(wǎng)絡的構(gòu)成  第2章人工神經(jīng)網(wǎng)絡基本模型  2.1 MP模型  2.2 感知器模型  2.3
    發(fā)表于 03-20 11:32

    卷積神經(jīng)網(wǎng)絡如何使用

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

    【案例分享】ART神經(jīng)網(wǎng)絡與SOM神經(jīng)網(wǎng)絡

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

    TensorFlow常用Python擴展包

    TensorFlow 能夠?qū)崿F(xiàn)大部分神經(jīng)網(wǎng)絡功能。但是,這還是不夠的。對于預處理任務、序列化甚至繪圖任務,還需要更多的 Python 包。下面列出了一些常用的 Python 包:Numpy:這是用
    發(fā)表于 07-28 14:35

    如何構(gòu)建神經(jīng)網(wǎng)絡?

    原文鏈接:http://tecdat.cn/?p=5725 神經(jīng)網(wǎng)絡是一種基于現(xiàn)有數(shù)據(jù)創(chuàng)建預測的計算系統(tǒng)。如何構(gòu)建神經(jīng)網(wǎng)絡神經(jīng)網(wǎng)絡包括:輸入層:根據(jù)現(xiàn)有數(shù)據(jù)獲取輸入的層隱藏層:使用反向傳播優(yōu)化輸入變量權(quán)重的層,以提高模型的預測
    發(fā)表于 07-12 08:02

    基于BP神經(jīng)網(wǎng)絡的PID控制

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

    AI芯片正擴展到智能手機、個人電腦、汽車等領域

    ·庫伯(Gordon Cooper)說:“蘋果把神經(jīng)網(wǎng)絡植入了iPhone X中,現(xiàn)在每個人都想擁有神經(jīng)網(wǎng)絡功能。”
    的頭像 發(fā)表于 04-19 14:36 ?5073次閱讀

    前向多層人工神經(jīng)網(wǎng)絡的原理功能和算法等詳細資料免費下載

    ANN的主要功能之一 —— 模式識別 ( Pattern Recognition ) 模式識別是人類的一項基本智能行為,在日常生活中,我們幾乎時刻在進行著“模式識別”。 廣義地說,存在于時間
    發(fā)表于 08-10 08:00 ?12次下載

    分析深度學習技術(shù)現(xiàn)狀,研判深度學習發(fā)展趨勢

    深度神經(jīng)網(wǎng)絡節(jié)點功能不斷豐富。為了克服目前神經(jīng)網(wǎng)絡存在的局限性,業(yè)界探索并提出了新型神經(jīng)網(wǎng)絡節(jié)點,使得神經(jīng)網(wǎng)絡
    的頭像 發(fā)表于 04-13 11:06 ?1.7w次閱讀

    機器視覺新突破,神經(jīng)網(wǎng)絡讓圖像處理速度大幅提升

    據(jù)外媒報道,維也納大學的研究人員研發(fā)了一種兼顧神經(jīng)網(wǎng)絡功能的圖像傳感器,該傳感器可以使圖像分析速度相較傳統(tǒng)方式提升近2萬倍。
    的頭像 發(fā)表于 03-06 15:58 ?3332次閱讀

    計算機的發(fā)展概況及常用的碼制與微型計算機的工作過程詳細說明

    自1946年第一臺電子計算機出現(xiàn)至今,經(jīng)歷了電子管計算機、晶體管計算機、集成電路計算機、大規(guī)模/超大規(guī)模集成電路計算機,并開始了以神經(jīng)網(wǎng)絡功能為基礎的第五代計算機的研究。
    發(fā)表于 06-30 08:00 ?0次下載
    計算機的發(fā)展概況及常用的碼制與微型計算機的工作過程詳細說明

    6種線束設計階段降成本方案

    汽車線束指整車所有的線束, 含電器盒在內(nèi)。汽車線束由導線、連接器、端子、護套、膠帶、熱縮管、熔斷器、繼電器、波紋管、PVC 管及保險盒等附件組成, 起到汽車神經(jīng)網(wǎng)絡功能、傳遞信號及執(zhí)行電能作用。
    發(fā)表于 04-23 16:47 ?2907次閱讀
    6種線束設計階段降成本方案

    遞歸神經(jīng)網(wǎng)絡是循環(huán)神經(jīng)網(wǎng)絡

    。 遞歸神經(jīng)網(wǎng)絡的概念 遞歸神經(jīng)網(wǎng)絡是一種具有短期記憶功能神經(jīng)網(wǎng)絡,它能夠處理序列數(shù)據(jù),如時間序列、文本、語音等。與傳統(tǒng)的前饋神經(jīng)網(wǎng)絡不同
    的頭像 發(fā)表于 07-04 14:54 ?2270次閱讀

    rnn是遞歸神經(jīng)網(wǎng)絡還是循環(huán)神經(jīng)網(wǎng)絡

    RNN(Recurrent Neural Network)是循環(huán)神經(jīng)網(wǎng)絡,而非遞歸神經(jīng)網(wǎng)絡。循環(huán)神經(jīng)網(wǎng)絡是一種具有時間序列特性的神經(jīng)網(wǎng)絡,能夠處理序列數(shù)據(jù),具有記憶
    的頭像 發(fā)表于 07-05 09:52 ?1657次閱讀