• <xmp id="4g4m2"><menu id="4g4m2"></menu><menu id="4g4m2"><strong id="4g4m2"></strong></menu>
    <xmp id="4g4m2">
  • <menu id="4g4m2"></menu>
  • <dd id="4g4m2"></dd>
  • 只發布交易干貨的網站
    用實戰期貨交易系統和心得助你重塑交易認知

    正規期貨開戶 | 手續費只+1分

    90%交易者的手續費都被加收超1倍,一起看看最新的交易所手續費一覽表吧!

    cnn是什么(神經網絡cnn詳解)

    CNN在圖像處理和視頻處理領域有著廣泛的應用。讓我們了解CNN是如何運作的。

    在本文中,我將介紹有關卷積神經網絡如何演變的具體信息以及它們為何如此優秀的圖像。我們還將進行實際操作,我們將運用Keras構建卷積神經網絡。

    什么是卷積神經網絡(CNN)?

    卷積神經網絡與普通神經網絡類似。它們也由神經元組成,并學習權重和偏差。它們將圖像作為輸入,然后對體系結構中的某些屬性進行編碼。

    卷積神經網絡(convolutional neural network)示意網絡運用一種稱為卷積的數學運算。

    卷積是實值參數的兩個函數的運算。

    此操作在數學中稱為卷積

    在卷積神經網絡術語中,卷積的第一個參數通常稱為輸入,第二個參數稱為核,它們的輸出稱為特征映射。

    現在我將展現如何在我們的CNN中應用這個數學術語“卷積”。

    卷積如何在CNN中起作用

    因此,您可以看到綠色矩陣是輸入(由輸入圖像的像素組成的矩陣),黃色矩陣是核。所以在這里你可以看到核矩陣如何與輸入矩陣卷積以給我們一個特征映射。您可以看到特征圖的尺寸發生了一些變化。不用擔心我們會在一段工夫后具體介紹它。讓我們繼承下一個主題是Pooling。

    池化層

    池化層主要用于連續卷積層之間。它用于減少示意的空間大小,以減少參數的數量和網絡的計算。池化層獨立應用于輸入的每個深度切片,并減少輸入的空間維度。它主要用于減少適度擬合。假如我們在輸入上應用MAX POOLING,filter大小為2X2,步幅為2,那么它將在寬度和高度上對輸入大小進行下采樣,保持深度不受影響,這意味著它丟棄了75%的激活。現在下面是一個圖像,其中包含如何完成池化層。

    Max Pooling正在此圖像中施行

    這是運用最大池化進行下采樣的方式

    現在我們將討論用于計算輸出層尺寸的公式。

    計算輸出特征圖的尺寸的公式

    cnn是什么(神經網絡cnn詳解)

    在該公式中,p和s分別是padding 和striding。我們將逐一了解它的細節。

    padding

    padding 用于在邊緣周圍添加額外的像素。實際上,Padding所做的是確保角落處的像素得到所需的關注。注重,我的意思是在內核環繞輸入矩陣旋轉時的卷積中,中間的像素在卷積操作中出現不止一次時獲得更多權重,而角落像素僅觸及一個卷積操作。因此,padding 在原始矩陣周圍提供額外的一層或更多層,以便考慮角點像素。

    在此圖中Zero padding

    Striding

    在卷積神經網絡中Striding十分重要。我將在這里討論如何在兩個圖像的幫忙下完成Striding以使其清楚。

    Max Pooling,Striding為2

    所以在這張圖片中,我們可以看到,一步,我們正在跳兩格,而不是發送紅色框。運用更大Striding的一個主要原因是減少輸出特征圖中的參數數量。

    現在我們預備設想自己的CNN模型了。

    設想卷積神經網絡

    在這一部分中,我們將設想自己的卷積神經網絡。CNN由卷積層,池化層和全聯結層組成(我們可以在最后添加softmax以解決多類問題)。

    我們將運用的架構如下圖所示。我將運用Keras完成。現在,讓我們進入架構。所以我們將完成一個兩層卷積神經網絡,并且我運用了ReLU激活函數和最大池化技術。有兩個全聯結層,最后有softmax激活。

    CNN架構

    Python完成如下:

    model=Sequential()model.add(Conv2D(32,kernel_size=(5,5),strides=(1,1),activation='relu',input_shape=input_shape))model.add(MaxPooling2D(pool_size=(2,2),strides=(2,2)))model.add(Conv2D(64,(5,5),activation='relu'))model.add(MaxPooling2D(pool_size=(2,2)))model.add(Flatten())model.add(Dense(1000,activation='relu'))model.add(Dense(num_classes,activation='softmax'))model.compile(loss=keras.losses.categorical_crossentropy,optimizer=keras.optimizers.SGD(lr=0.01),metrics=['accuracy'])model.fit(x_train,y_train,batch_size=batch_size,epochs=epochs,verbose=1,validation_data=(x_test,y_test),callbacks=[history])

    在第一層,我們運用了32個大小為5X5的filter,具有步幅1和ReLU激活函數。接下來,我們添加了最大池進行池化。在該層中,我們運用了64個大小為5X5的過濾器,然后是最大池化層。然后我們運用了一個flattened 層。之后,我們分別運用了具有ReLU和softmax激活的兩個dense 層。然后我們運用交叉熵作為我們的損失函數和隨機梯度下降(SGD)來最小化損失。然后我們根據我們的用例練習模型。

    所以你看到運用Keras編寫CNN是很輕易的。請嘗試運用您自己的數據集完成。

    本文名稱:《cnn是什么(神經網絡cnn詳解)》
    本文鏈接:http://www.wuhansb.com/baike/247539.html
    免責聲明:投資有風險!入市需謹慎!本站內容均由用戶自發貢獻,或整編自互聯網,或AI編輯完成,因此對于內容真實性不能作任何類型的保證!請自行判斷內容真假!但是如您發現有涉嫌:抄襲侵權、違法違規、疑似詐騙、虛假不良等內容,請通過底部“聯系&建議”通道,及時與本站聯系,本站始終秉持積極配合態度處理各類問題,因此在收到郵件后,必會刪除相應內容!另外,如需做其他配合工作,如:設置相關詞匯屏蔽等,均可配合完成,以防止后續出現此類內容。生活不易,還請手下留情!由衷希望大家能多多理解,在此先謝過大家了~

    我要說說 搶沙發

    評論前必須登錄!

    立即登錄   注冊

    切換注冊

    登錄

    忘記密碼 ?

    切換登錄

    注冊

    我們將發送一封驗證郵件至你的郵箱, 請正確填寫以完成賬號注冊和激活

    簧色带三级