自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

終于把卷積神經(jīng)網(wǎng)絡(luò)算法搞懂了!!!

人工智能
卷積神經(jīng)網(wǎng)絡(luò)(CNN)是一種專門用于處理具有網(wǎng)格結(jié)構(gòu)數(shù)據(jù)(如圖像)的深度學習模型。CNN 的核心是通過卷積操作來提取圖像中的局部特征,并通過池化操作降低數(shù)據(jù)的維度。

大家好,我是小寒

今天給大家分享一個強大的算法模型,卷積神經(jīng)網(wǎng)絡(luò)算法

卷積神經(jīng)網(wǎng)絡(luò)(CNN)是一種專門用于處理具有網(wǎng)格結(jié)構(gòu)數(shù)據(jù)(如圖像)的深度學習模型。

CNN 的核心是通過卷積操作來提取圖像中的局部特征,并通過池化操作降低數(shù)據(jù)的維度。

卷積神經(jīng)網(wǎng)絡(luò)在很多計算機視覺任務(wù)中都表現(xiàn)出色,比如圖像分類、目標檢測和圖像生成等。

圖片圖片

相關(guān)原理

卷積神經(jīng)網(wǎng)絡(luò)由若干層堆疊而成,通常包括卷積層池化層以及全連接層。

卷積層

卷積層是 CNN 的核心,它使用卷積核(或稱過濾器)對輸入進行卷積操作,以提取輸入數(shù)據(jù)的局部特征。

圖片圖片

  • 卷積操作
    卷積層使用卷積核(或過濾器)在輸入數(shù)據(jù)上進行局部滑動,計算加權(quán)和來生成特征圖。
    這個過程使卷積層能夠識別輸入數(shù)據(jù)中的局部模式,如邊緣、角點等。
  • 共享權(quán)重
    卷積核的參數(shù)是共享的,也就是說,在整個輸入數(shù)據(jù)中,所有位置使用相同的卷積核。
    這種權(quán)重共享機制大大減少了模型的參數(shù)數(shù)量,避免過擬合,并提高了模型的訓(xùn)練效率。
  • 參數(shù)
    卷積層通常有三個重要參數(shù):
  1. 卷積核大小(filter size):通常為 3x3 或 5x5,用來定義卷積核的尺寸。
  2. 步長(stride),表示卷積核在輸入上移動的步幅。步長為 1 時,卷積核每次移動一個像素;步長為 2 時,卷積核每次移動兩個像素。
  3. 填充(padding),為了控制輸出的大小,填充會在輸入數(shù)據(jù)的邊緣補充零,從而保持輸出尺寸不變。

下圖顯示了使用 3x3 的卷積核和步長為1 進行卷積操作。

圖片圖片

卷積層的作用

  • 提取局部特征
  • 通過共享權(quán)重減少參數(shù)數(shù)量

池化層

池化層用于對卷積層生成的特征圖進行下采樣,減少數(shù)據(jù)的空間維度和計算量,同時保留重要的特征。

常見的池化方法有最大池化和平均池化。

  • 最大池化(Max Pooling)
    最常用的池化方法。在局部區(qū)域內(nèi)取最大值作為該區(qū)域的輸出。
    例如,對于一個 2x2 的局部區(qū)域,最大池化會輸出這四個值中的最大值。
  • 平均池化(Average Pooling)
    在局部區(qū)域內(nèi)取平均值作為輸出。

圖片圖片


全連接層

全連接層通常位于卷積神經(jīng)網(wǎng)絡(luò)的最后幾層,用于將卷積和池化層提取的特征進行整合,并輸出預(yù)測結(jié)果。

全連接層與傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)層類似,每一個節(jié)點與上一層的所有節(jié)點都有連接。通過這些連接,全連接層可以將前面提取的特征整合起來,并通過權(quán)重和偏置項計算出最終的輸出。

扁平化

扁平化將二維或三維特征圖轉(zhuǎn)換為一維向量,從而可以將卷積層和池化層連接到全連接層。

圖片圖片


全連接層

全連接層通過處理卷積層和池化層提取的特征來執(zhí)行最終的分類或回歸任務(wù)。

圖片圖片


案例分享

下面是一個使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)進行手寫數(shù)字識別的示例代碼。

import tensorflow as tf
from tensorflow.keras import layers, models
from tensorflow.keras.datasets import mnist
import matplotlib.pyplot as plt

# 加載MNIST數(shù)據(jù)集
(train_images, train_labels), (test_images, test_labels) = mnist.load_data()
train_images = train_images.reshape((60000, 28, 28, 1)).astype('float32') / 255
test_images = test_images.reshape((10000, 28, 28, 1)).astype('float32') / 255
train_labels = tf.keras.utils.to_categorical(train_labels)
test_labels = tf.keras.utils.to_categorical(test_labels)

# 構(gòu)建CNN模型
model = models.Sequential()
# 第一個卷積層,32 個濾波器,3x3 濾波器尺寸,ReLU激活函數(shù)
model.add(layers.Conv2D(32, (3, 3), activatinotallow='relu', input_shape=(28, 28, 1)))
# 第二個卷積層,64 個濾波器
model.add(layers.Conv2D(64, (3, 3), activatinotallow='relu'))
# 池化層,2x2 池化
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Dropout(0.25))
# 將多維特征圖展平
model.add(layers.Flatten())

# 全連接層,128個神經(jīng)元
model.add(layers.Dense(128, activatinotallow='relu'))
model.add(layers.Dropout(0.5))
model.add(layers.Dense(10, activatinotallow='softmax'))


model.compile(optimizer='adam',
              loss='categorical_crossentropy',
              metrics=['accuracy'])

history = model.fit(train_images, train_labels, epochs=5, batch_size=64, validation_split=0.1)
test_loss, test_acc = model.evaluate(test_images, test_labels)
print(f"Test accuracy: {test_acc}")

# 繪制訓(xùn)練過程中的準確率和損失
plt.figure(figsize=(12, 4))
plt.subplot(1, 2, 1)
plt.plot(history.history['accuracy'], label='Training Accuracy')
plt.plot(history.history['val_accuracy'], label='Validation Accuracy')
plt.legend()
plt.title('Training and Validation Accuracy')

plt.subplot(1, 2, 2)
plt.plot(history.history['loss'], label='Training Loss')
plt.plot(history.history['val_loss'], label='Validation Loss')
plt.legend()
plt.title('Training and Validation Loss')
plt.show()

圖片圖片

責任編輯:武曉燕 來源: 程序員學長
相關(guān)推薦

2024-10-28 00:38:10

2024-11-15 13:20:02

2025-02-21 08:29:07

2024-10-05 23:00:35

2024-10-17 13:05:35

神經(jīng)網(wǎng)絡(luò)算法機器學習深度學習

2024-09-12 08:28:32

2024-12-12 00:29:03

2024-07-24 08:04:24

神經(jīng)網(wǎng)絡(luò)激活函數(shù)

2024-11-07 08:26:31

神經(jīng)網(wǎng)絡(luò)激活函數(shù)信號

2024-12-02 01:10:04

神經(jīng)網(wǎng)絡(luò)自然語言DNN

2024-09-26 07:39:46

2024-09-23 09:12:20

2024-10-16 07:58:48

2024-12-03 08:16:57

2024-11-14 00:16:46

Seq2Seq算法RNN

2024-07-17 09:32:19

2021-06-22 09:46:52

神經(jīng)網(wǎng)絡(luò)人工智能深度學習

2024-08-01 08:41:08

2025-02-17 13:09:59

深度學習模型壓縮量化

2024-11-05 12:56:06

機器學習函數(shù)MSE
點贊
收藏

51CTO技術(shù)棧公眾號