1. 程式人生 > >CNN及常用框架

CNN及常用框架

一、神經網路:

增加少量隱層(淺層神經網路),增加中間層(深度神經網路,DNN)。神經網路應用在分類問題中效果好,LR或Linear SVM,線性分割都可用於分類。

二、卷積神經網路(CNN):

卷積神經網路依舊儲存了層級結構,但層的功能和形式發生了變化。

分別有:資料輸入層、卷積計算層、激勵層、池化層、全連線層

1、資料輸入層(Input layer)

(1)去均值:把輸入資料各個維度都中心化到0(只計算訓練集上的均值)(對應下圖2的平移)

(2)歸一化:幅度歸一化到同樣的範圍(RGB的範圍本身是在一定的範圍 裡0~255,所以一般不需要歸一化)(對應於下圖3)

(3)PCA/白化:用PCA降維;白化是對資料每個特徵軸上的幅度歸一化

下圖是進行去相關和白化的操作


2卷積計算層(CONV layer)

a.區域性關聯。每個神經元看做一個filter,通過視窗(receptive field)滑動,filter對區域性資料計算。有多少個filter,depth就是多少。

b.固定每個神經元連線權重,可以看做一個模板,每個神經元只關注一個特性

c.需要估計權重個數減少:AlexNet  1億=>3.5w

d.一組固定的權重和不同視窗內資料做內積:卷積

詳細可參考此論文:http://blog.csdn.net/v_july_v/article/details/51812459

(3)激勵層(ReLU)

把卷積層輸出結果做非線性對映(Sigmoid、Tanh、ReLU、Leaky ReLU、ELU、Maxout)

現在主要用的是ReLU(The Rectified Linear Unit,修正線性單元):收斂快,求梯度簡單,較脆弱,所以要小心使用(比如在中間列印一下梯度,是不是變為0了,以防止飽和)。以下是它的函式曲線

ReLU優化有一個缺點,就是一旦進入到左邊的區域,就會掛掉,下面對ReLU做了一點小的修改。

一般首選ReLU,如果ReLU失效,則會使用Leaky ReLU或Maxout;不用Sigmoid,某些情況下tanh倒是有不錯的結果,但是很少。

4池化層(Pooling Layer):Max pooling和average pooling

夾在連續的卷積層中間,用於壓縮資料和引數的量,減少過擬合

5全連線層(FC layer)

兩層之間所有的神經元都有權重連線,通常全連線在卷積神經網路尾部。儘量使用最後全連線層的學習去還原原來的資訊

(6)輸出層

總結:

一般CNN結構依次為:

  1. INPUT
  2. [[CONV -> RELU]* -> POOL?] *M
  3. [FC -> RELU] *K
  4. FC

卷積神經網路的優缺點:

優點:

共享卷積核,對高維資料處理無壓力;

無需手動選取特徵,訓練好權重,即得特徵

分類效果好

缺點:

需要調參,需要大樣本量,訓練最好要GPU

物理含義不明確

典型的CNN:LeNet、AlexNet、ZF Net、Google Net、VGGNet(速度沒有Google Net快,但是影象轉化學習效果很好)、ResNet

CNN常用框架:Caffe、Torch、TensorFlow

相關推薦

CNN常用框架

一、神經網路: 增加少量隱層(淺層神經網路),增加中間層(深度神經網路,DNN)。神經網路應用在分類問題中效果好,LR或Linear SVM,線性分割都可用於分類。 二、卷積神經網路(CNN): 卷積神經網路依舊儲存了層級結構,但層的功能和形式發生了變化。 分別有:資料

CNN常用框架

1. 神經網路 1.1 神經網路——是什麼?   神經網路沒有一個嚴格的正式定義。它的基本特點,是試圖模仿大腦的神經元之間傳遞,處理資訊的模式。還是有些抽象,那麼看看下面這張圖。        輸入層和輸出層之間有多個隱層hidden layer,輸入層、輸出層和隱層都有若干個節

七月演算法深度學習筆記4 -- CNN常用框架

這套筆記是跟著七月演算法五月深度學習班的學習而記錄的,主要記一下我再學習機器學習的時候一些概念比較模糊的地方,具體課程參考七月演算法官網: http://www.julyedu.com/ 神經網路的結構 神經網路包含輸入層,輸出層,及中間的隱層 神經網路在做說明事情呢?

深度學習演算法基礎和常用框架 | CNN常用框架

神經網路與卷積神經網路 層級結構 資料處理 訓練演算法 優缺點 實際搭建與訓練CNN 典型CNN 訓練與fine-tuning 常用框架與應用 常用框架 廣泛應用 基礎 LR SVM只能做到這種程度,核函式

5月深度學習班第4課CNN,典型網絡結構與常用框架

images 什麽 內容 targe idt html tuning strong 人臉識別 CNN與常用框架 主要內容?神經網絡與卷積神經網絡 1.層級結構   2.數據處理   3.訓練算法   4.優缺點?實際搭建與訓練CNN 1.典型CNN   2.訓練與fin

推薦幾個精致的web UI框架常用前端UI框架

web spm ued jquery 解決 模塊 str github 控件 以下是幾個精致的web UI框架 1.Aliceui Aliceui是支付寶的樣式解決方案,是一套精選的基於 spm 生態圈的樣式模塊集合,是 Arale 的子集,也是一套模塊化的樣式命名和組織規

CNN前向、反向傳播常用結構

CNN偉大之處在於通過感受野和權值共享減少了神經網路需要訓練的引數的個數。 影象的空間聯絡是區域性的,就像人是通過一個區域性的感受野去感受外界影象一樣,每一個神經元都不需要對全域性影象做感受,每個神經元只感受區域性的影象區域,然後在更高層,將這些感受不同區域性的神經元綜合起來就可以得到全

nodejs常用框架express的中介軟體 app.use 和 app.get 方法

用node開發專案,express是常用的框架,下面介紹下核心用法中介軟體和 app的use、get方法: 中介軟體的實現很簡單: // 一個簡單的中介軟體 function middleware(req, res, next){ // req 引數可以接受一些請求的引數(req.q

集合框架一(知識體系常用方法)

知識體系 [] shm nsa ret eal ray lis 個數 知識體系 Collection接口   --List接口     --存儲數據有序,可以存儲重復元素       --ArrayList(主要實現類)底層以數組實現       --LinkedList:

iOS—常用iOS、Mac框架和庫常用中文開發部落格

DateTimeKit - 一個超讚的時間處理的庫,Joda-Time ! 他能幫你輕鬆處理時區,處理時間加減,計算到期時間等等場景下的問題。SwiftDate - 特別完整、強大的日期時間操作管理類庫。它幾乎涵蓋了已知開源日期類庫所有優秀特性。 他能幫你輕鬆處理時區,處理時間加減,計算到期時間等等場景下

推薦幾個精緻的web UI框架常用前端UI框架

以下是幾個精緻的web UI框架 1.Aliceui Aliceui是支付寶的樣式解決方案,是一套精選的基於 spm 生態圈的樣式模組集合,是 Arale 的子集,也是一套模組化的樣式命名和組織規範,是寫 CSS 的更好方式。 2.Amazeui Amaze

web UI框架常用前端UI框架

1.Aliceui Aliceui是支付寶的樣式解決方案,是一套精選的基於 spm 生態圈的樣式模組集合,是 Arale 的子集,也是一套模組化的樣式命名和組織規範,是寫 CSS 的更好方式。 2.Amazeui Amaze UI 是一個輕量級、 Mobile f

Git使用:安裝,使用常用命令整理

reset short 配置文件 res 命名 nbsp class 名詞 如果 對於程序猿而言,git是最常接觸的工具之一,因此需要熟練快速掌握其技巧。 git安裝: windwos: 【原創】Windows平臺下Git的安裝與配置 Ubuntu:git與github在

Java EE開發四大常用框架

javaee spring hibernate struts 我們對Java EE的框架有過很多介紹, 本文將對Java EE中常用的四個框架做一下系統的歸納,希望大家喜歡。 StrutsStruts是一個基於Sun Java EE平臺的MVC框架,主要是采用Servlet和JSP技術來實現的

內置數據結構 :列表常用操作

xtend 也會 count insert 返回 所在 .so 數據 start 列表是一個序列:用於順序的存儲數據, 通常在定義的時候,使用中括號,在轉化可叠代對象為列表時用list 函數 1,訪問列表元素: List[0] 通過下標訪問

DAY-8 Linux基礎常用命令(4)

打開 ip地址 grep 軟件包 linux基礎 tro mks 官網 vim 一、制作swap分區(命令) swapon –s 查看當前激活狀態的swap分區 free –m 以m為單位查看分區 swapoff關閉分區 swapon打開分區 添加swap分區——mks

DAY-9 Linux基礎常用命令(5)

mod conf 自己的路 linux操作 解包 二進制安裝 netstat iptables usr 一、Samba(類似共享網盤) 1、功能:Linux操作系統給win用戶共享文件用 2、如何部署 》》準備環境:iptables –F(清除防火墻)、systemctl

iptables 用法常用模塊總結

iptables 範圍 著圖 針對 規則 用法 是否 傳輸數據 net iptables傳輸數據包的過程:   1. 當一個數據包進入網卡時,它首先進入PREROUTING鏈,內核根據數據包目的IP判斷是否需

JSP內置對象常用的方法

並且 tex str ddc exceptio mime ins 路徑 ddr 1.out: println():向客戶端輸出各種類型的數據 newLine():輸出一個換行符 close():關閉輸出流 fiush():輸出緩沖區數據 clearBuffer():清

javascript字符串屬性常用方法總結

ring 方法總結 search lower 指定 you 數組 參數 world length屬性:str.length; 常用方法: 1. str.charAt(n) 查找字符串中的第n個字符,如果不在0~str.length-1之間,則返回一個空字符串 2 .st