學習筆記TF012:卷積網路簡述

ImageNet ImageNet ,圖像標註信息資料庫。每年舉辦大規模視覺識別挑戰賽(ILSVRC)。基於ImageNet資料庫構建完成目標自動檢測分類任務系統。2012年,SuperVision提交卷積神經網路(CNN)。

CNN可用於任意類型數據張量(各分量與相關分量有序排列在多維網格),當前主要用於計算機視覺。語音識別,輸入按錄音時間順序排列聲音頻率單行網路張量。圖像寬高次序排列網格像素分量張量。

訓練CNN模型數據集Stanfords Gogs Dataset: vision.stanford.edu/adi 。包含不同品種狗圖像及品種標籤。模型目標:給定一幅圖像,預測狗品種。大量非訓練集圖像創建測試集。數據集:訓練集、測試集、驗證集。數據集中大部分構成訓練集。測試集了解模型對未訓練數據表現。交叉驗證集比較客觀,對圖像預處理(對比度調整、栽剪)劃分原始數據集,用完全相同輸入流水線。

卷積神經網路至少包含一個層(tf.nn.conv2d)。計算輸入f與一組可配置卷積核g的卷積,生成層輸出。卷積核(濾波器)應用張量所有點,輸入張量上滑動卷積核生成過濾波處理張量。圖像每個元素應用特殊卷積核,輸出刻畫所有邊緣新圖像。輸入張量是圖像,張量每個點對應像素紅、綠、藍色值。卷積核遍歷圖像像素,邊緣像素卷積輸出值增大。神經元簇依據訓練模式激活。訓練,多個不同層級聯,梯度下降法變體調節卷積核(濾波器)權值。

CNN架構,卷積層(tf.nn.conv2d)、非線性變換層(tf.nn.relu)、池化層(tf.nn.max_pool)、全連接層(tf.nn.matmul)。突出重要信息,忽略雜訊。批量載入圖像,同時處理多幅圖像。數據結構包含卷積運算整批圖像全部信息。TensorFlow輸入流水線(讀取解碼文件)針對整批數據多幅圖像處理專門格式,圖像所需信息([image_batch_size,image_height,image_width,image_channels])。

import tensorflow as tfnn image_batch = tf.constant([nn [#第1幅圖像nn [[0, 255, 0], [0, 255, 0], [0, 255, 0]],nn [[0, 255, 0], [0, 255, 0], [0, 255, 0]]nn ],nn [#第2幅圖像nn [[0, 0, 255], [0, 0, 255], [0, 0, 255]],nn [[0, 0, 255], [0, 0, 255], [0, 0, 255]]nn ]nn ])nn image_batch.get_shape()nn sess = tf.Session()nn sess.run(image_batch)[0][0][0]n

第1組維度圖像數量。第2組維度圖像高度。第3組維度圖像寬度。第4組維度顏色通道數量。每個像素索引映射圖像寬高維度。

參考資料:

《面向機器智能的TensorFlow實踐》

歡迎加我微信交流:qingxingfengzi

我的微信公眾號:qingxingfengzigz

我老婆張幸清的微信公眾號:qingqingfeifangz

推薦閱讀:

能不能給神經網路計算一個「學習進度」的指標?
如何看待Linkface被SenseTime收購?
PyTorch到底好用在哪裡?
語音識別領域的最新進展目前是什麼樣的水準?
如何評價中科院山世光老師開源的Seetaface人臉識別引擎?

TAG:TensorFlow | 机器学习 | 深度学习DeepLearning |