深度學習筆記

TensorFlow

  1. TensorFlow不只是一個實現機器學習算法的接口,也是一種框架,也可用於線性迴歸、邏輯迴歸、隨機森林等算法;
  2. TensorFlow使用數據流圖來規劃計算流程,每一個運算操做做爲一個節點node,節點之間的鏈接稱爲邊,邊中流動的數據稱爲張量,故而得名TensorFlow,預算操做能夠有本身的屬性,但必須被預先設置,或者能在建立計算圖時被推斷出來;
  3. TensorFlow有一套爲節點分配設備的策略,這是一個簡單的貪婪策略,不能確保找到全局最優解,但能夠快速找到一個不錯的節點運算分配方案;
  4. 故障出現的兩種狀況:一是信息從發送節點傳輸到接受節點失敗時,而是週期性的worker心跳檢測失敗時;
  5. TensorFlow提供的加速神經網絡訓練的並行計算模式:
    • 數據並行:經過將一個mini-batch的數據放在不一樣設備上計算沒實現梯度計算的並行化,計算性能損耗很是小,同步的方式優勢是沒有梯度干擾,缺點是容錯性差,異步的方式優勢是有必定容錯性,但由於梯度干擾,致使利用效率降低;
    • 模型並行:將計算圖的不一樣部分放在不一樣設備上運算;
    • 流水線並行:將計算作成流水線,在一個設備上連續並行執行,提升設備利用率;

卷積神經網絡CNN

  1. CNN具備極強泛化性,最大的特色在於卷積的權值共享結構,能大幅較少神經網絡的參數量,防止過擬合的同時下降了神經網絡模型的複雜度;
  2. CNN每一個卷基層中對數據的操做:
    • 圖像經過多個不一樣卷積核的濾波,加以偏置,提取出局部特徵,每一個卷積核映射出一個新的2D圖像;
    • 將卷積核的濾波結果進行非線性的激活函數處理,常爲ReLU函數;
    • 對激活結果進行池化操做(即降採樣),通常採用最大池化,保留最顯著特徵,提高模型的畸變容忍能力;
  3. 卷積核的大小即爲卷積核擁有的參數多少;
  4. 採用局部鏈接的方式,參數量獲得了縮減;
  5. 卷積的好處是無論圖片尺寸如何,咱們須要訓練的權值數量只和卷積核大小、卷積核數量有關,能夠用極少的參數量處理任意大小的圖片,雖然訓練的參數降低了,但隱含節點數量未降低,隱含節點數量只與卷積的步長相關;
  6. CNN要點:
    • 局部鏈接:下降參數量,減輕過擬合,下降訓練複雜度;
    • 權值共享:下降參數量,減輕過擬合,賦予對平移的容忍性;
    • 池化層中的降採樣:下降輸出參數量,賦予輕度形變的容忍性,調高模型的泛化能力;
  7. LeNet5的特性:
    • 每一個卷基層包含三個部分:卷積、池化、非線性激活函數;
    • 使用卷積提取空間特性;
    • 降採樣的平均池化層;
    • 雙曲正切或S型激活函數;
    • MLP(多層神經網絡)做爲最後的分類器;
    • 層與層之間的稀疏鏈接減小計算複雜度;
  8. LeNet5有三個卷積層、一個全鏈接層和一個高斯鏈接層;
    • 第一個卷積層6個卷積核,尺寸55,共(55+1)*6 = 156個參數
    • 第二個卷積層16個卷積核;
    • 第三個卷積層120個卷積核;
    • 全鏈接層84個隱含節點,激活函數Sigmoid;
  9. VGGNet-16網絡結構主要分爲6部分,前5段爲卷積網絡,最後一段爲全鏈接網絡;
    • 第一段:兩個卷積層和一個最大池化層,卷積核大小33,卷積核數量64,步長11,第一個卷積層輸入尺寸2242243,輸出尺寸22422464,第二個輸入輸出尺寸均爲22422464,池化層22,輸出尺寸112112*64;
    • 第二段:和第一段類似,輸出通道數變爲128,卷積網絡輸出尺寸5656128,池化層保持不變;
    • 第三段:三個卷積層和一個最大池化層,輸出通道變爲256,輸出尺寸2828256;
    • 第四段:和第三段類似,輸出通道變爲512,經過最大池化將圖片縮爲14*14;
    • 第五段:和第四段類似,池化層尺寸22,步長爲22,輸出尺寸77512;
    • 第六段:將第五段輸出結果進行扁平化,鏈接一個隱含節點數爲4096的全鏈接層,激活函數爲ReLU;

R-CNN

  1. 檢測系統三個模塊:
    • 生成類別無關區域提案;
    • 從每一個區域提取固定長度特徵向量的大型CNN;
    • 一組特定類別的線性SVM;
  2. 須要訓練數據的三個階段:
    • CNN微調;
    • 檢測器SVM訓練;
    • 檢測框迴歸訓練;
  3. 引入CNN來分類目標候選框,有很高的目標檢測精度,但有明顯缺點:
    • 訓練過程是多級流水線;
    • 訓練在時間和空間的開銷上極大;
    • 目標檢測速度很慢,由於爲每一個目標候選框進行CNN正向傳遞,不共享計算;

Fast R-CNN

  1. 訓練VGG16網絡比SPP-Net快3倍,測試速度快10倍,比R-CNN訓練快9倍,測試時間快213倍,有13個卷積層和3個fc層;
  2. 目標檢測難點:
    • 大量候選目標位置(提案)須要處理;
    • 候選框只提供粗略定位,必須對其精細化以實現精肯定位;
  3. 優勢:
    • 比R-CNN和SPPnet有更高的目標檢測精度mAP;
    • 訓練是使用多任務損失的但階段訓練;
    • 訓練能夠更新全部網絡層參數;
    • 不須要磁盤空間緩存特徵;
  4. 網絡架構流程:輸入圖像和多個感興趣區域ROI,傳送到全卷積網絡,經池化到固定大小的特徵圖中,而後經過全鏈接層FC映射到特徵向量,網絡對每一個ROI具備兩個輸出向量:Softmax機率和每類檢測框迴歸偏移量;

Faster R-CNN

  1. Faste R-CNN實現了接近實時檢測的速率,但忽略了生成區域提案框的時間,Faster R-CNN算法經過將RPN網絡集成到目標檢測網絡中共享卷積層,縮減了生成區域提案框的時間,計算提案框的邊界成本小;
  2. RPN是一種全卷積網絡FCN,能夠針對生成檢測提案框的任務端到端訓練;
  3. RPN中引入新「錨點」做爲多尺度和縱橫比的參考,避免了枚舉多個尺度或縱橫比得圖像或卷積;
  4. 爲統一RPN和Fast R-CNN網絡,提出一種訓練方案:保持提案框固定,微調區域提案和微調目標檢測之間交替進行;
  5. 組成模塊:
    • 提出區域提案的CNN網絡;
    • 使用區域提案的Fast R-CNN檢測器;
  6. RPN將一個任意大小的圖像做爲輸入,輸出矩形目標提案框的集合,每一個框由一個objectness得分;
  7. 爲生成區域提案框,在最後一個共享的卷積層輸出的卷積特徵映射上滑動小網絡,網絡鏈接到輸入卷積特徵映射的n*n的空間窗口,每一個滑動窗口映射到一個低維向量上,向量在輸出給兩個同級的全鏈接的層:檢測框迴歸層reg和檢測框分類層cls;
  8. 多尺度預測方式:
    • 基於圖像/特徵金字塔:以多尺度調整大小,爲每一個尺度計算特徵圖,有效卻耗時;
    • 在特徵圖上使用多尺度的滑動窗口;
  9. 具備共享特徵的網絡的解決方案:
    • 交替訓練;
    • 近似聯合訓練;
    • 非近似聯合訓練;
  10. cls檢測框分類層得分是排名最高的提案框準確的緣由;
相關文章
相關標籤/搜索