學習筆記TF012:卷積網路簡述
ImageNet ImageNet ,圖像標註信息資料庫。每年舉辦大規模視覺識別挑戰賽(ILSVRC)。基於ImageNet資料庫構建完成目標自動檢測分類任務系統。2012年,SuperVision提交卷積神經網路(CNN)。
CNN可用於任意類型數據張量(各分量與相關分量有序排列在多維網格),當前主要用於計算機視覺。語音識別,輸入按錄音時間順序排列聲音頻率單行網路張量。圖像寬高次序排列網格像素分量張量。
訓練CNN模型數據集Stanfords Gogs Dataset: http://vision.stanford.edu/aditya86/ImageNetDogs/ 。包含不同品種狗圖像及品種標籤。模型目標:給定一幅圖像,預測狗品種。大量非訓練集圖像創建測試集。數據集:訓練集、測試集、驗證集。數據集中大部分構成訓練集。測試集了解模型對未訓練數據表現。交叉驗證集比較客觀,對圖像預處理(對比度調整、栽剪)劃分原始數據集,用完全相同輸入流水線。
卷積神經網路至少包含一個層(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 |