日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Tensorflow快餐教程(9) - 卷积

發布時間:2024/8/23 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Tensorflow快餐教程(9) - 卷积 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

摘要:?卷積的計算方法

卷積

卷積就是滑動中提取特征的過程

在數學中,卷積convolution是一種函數的定義。它是通過兩個函數f和g生成第三個函數的一種數學算子,表征函數f與g經過翻轉和平移的重疊部分的面積。其定義為:
h(x)=f(x)?g(x)=?f(t)g(x?t)dth(x)=f(x)?g(x)=∫?∞∞f(t)g(x?t)dt

也可以用星號表示:h(x)=(f?g)(x)h(x)=(f?g)(x)
卷積的第一個參數(上例中的f),通常叫做輸入。第二個參數(函數g)叫做核函數kernel function。輸出有時候叫特征映射feature map.

也可以定義離散形式的卷積:
h(x)=(f?g)(x)=t=?f(t)g(x?t)h(x)=(f?g)(x)=∑t=?∞∞f(t)g(x?t)

g(x-t)是變化的,而f(t)是固定不動的。我們可以將卷積理解成是g(x-t)滑動過程中對f(t)進行采樣。

我們一般可以用f(x)=wx+bf(x)=wx+b來作為核函數提取特征

我們來舉個小例子說明一下卷積對于特征提取的過程。

假設有一個5*5的矩陣做為輸入:

array([[1., 1., 1., 1., 1.],[1., 1., 1., 1., 1.],[1., 1., 1., 1., 1.],[1., 1., 1., 1., 1.],[1., 1., 1., 1., 1.]], dtype=float32)

y=wx+b我們取w為3*3的全1矩陣,b=0。
這樣我們計算左邊第一個3*3的小塊,得1?1+1?1+1?1+1?1+1?1+1?1+1?1+1?1+1?1=91?1+1?1+1?1+1?1+1?1+1?1+1?1+1?1+1?1=9
以此類推,最后我們得到一個
[[9,9,9],
[9,9,9],
[9,9,9]]
的矩陣。
相當于我們把一個55的黑白矩陣壓縮成了33的灰度矩陣。

全是1的話大家看不太清楚,我們選一個對角矩陣再來計算一下:

array([[1., 0., 0., 0., 0.],[0., 1., 0., 0., 0.],[0., 0., 1., 0., 0.],[0., 0., 0., 1., 0.],[0., 0., 0., 0., 1.]], dtype=float32)

計算卷積之后的結果為:

[[3,2,1], [2,3,2], [1,2,3]]

圖像縮小了之后,仍然是主對角線最黑。基本特征還是被提取出來了。

填充Padding

從前面對角線的例子可以看出,由于圖片中間的點被計算的次數多,而邊緣上的點計算的次數少,所以明明右上角和左下角都是0,提取完特征之后被中間的1給影響了。
我們可以選擇給這個55的矩陣外邊加上一圈padding,將其變成77的矩陣。

我們再重新計算一下卷積,獲取下面一個5*5的新矩陣:

[[2,2,1,0,0],[2,3,2,1,0],[1,2,3,2,1],[0,1,2,3,2],[0,0,1,2,2]]

這樣邊緣的0就被識別出來了。Padding的最主要作用就是讓邊界變得更清晰。

步幅Stride

上面我們求卷積的時候,每次向右移到一步,這個移動距離就是Stride。
比如我們想把圖片壓縮得更狠一點,取得更高的壓縮率,我們就可以加大步幅。

卷積用Tensorflow實現

上面知識儲備已足,我們開始用Tensorflow來計算卷積吧。

首先是輸入,按照Tensorflow的要求,我們得把5*5的,resize成[1,5,5,1]格式的,如下:

>>> c array([[[[1.],[0.],[0.],[0.],[0.]],[[0.],[1.],[0.],[0.],[0.]],[[0.],[0.],[1.],[0.],[0.]],[[0.],[0.],[0.],[1.],[0.]],[[0.],[0.],[0.],[0.],[1.]]]], dtype=float32)

然后我們還需要準備卷積核,先生成一個3*3全1矩陣:

>>> a2 = sess.run(tf.ones([3,3])) >>> a2 array([[1., 1., 1.],[1., 1., 1.],[1., 1., 1.]], dtype=float32)

然后將其reshape成[3,3,1,1]格式的:

>>> a3 = sess.run(tf.reshape(a2,[3,3,1,1])) >>> a3 array([[[[1.]],[[1.]],[[1.]]],[[[1.]],[[1.]],[[1.]]],[[[1.]],[[1.]],[[1.]]]], dtype=float32)

步幅我們設成[1,1,1,1],其實就是x軸1,y軸1,前面和后面的1先不用管它。padding設成'SAME':

>>> a1 = tf.nn.conv2d(c,a3,strides=[1,1,1,1],padding='SAME') >>> sess.run(a1) array([[[[2.],[2.],[1.],[0.],[0.]],[[2.],[3.],[2.],[1.],[0.]],[[1.],[2.],[3.],[2.],[1.]],[[0.],[1.],[2.],[3.],[2.]],[[0.],[0.],[1.],[2.],[2.]]]], dtype=float32)

結果看起來不爽的話,我們再重新將其reshape成[5,5]的:

>>> a5 = tf.reshape(a4,[5,5]) >>> sess.run(a5) array([[2., 2., 1., 0., 0.],[2., 3., 2., 1., 0.],[1., 2., 3., 2., 1.],[0., 1., 2., 3., 2.],[0., 0., 1., 2., 2.]], dtype=float32)

嗯,是不是跟我們手動計算的一樣呢?恭喜你,已經學會卷積啦!

池化層

池化層跟卷積也很像,但是計算要簡單得多。池化主要有兩種,一種是取最大值,一種是取平均值。而卷積是要做矩陣內積運算的。

我們以2*2最大池化為例,處理一下上節加了padding的卷積

[[2,2,1,0,0],[2,3,2,1,0],[1,2,3,2,1],[0,1,2,3,2],[0,0,1,2,2]]

最大池化就是取最大值,比如[[2,2],[2,3]]就取3。結果如下:

[[3,3,2,1],[3,3,3,2],[2,3,3,3],[1,2,3,3,]]

可以看到,池化雖然進一步丟失了信息,但是基本規律還是不變的。

池化被認為可以提高泛化性,對于微小的變動不敏感。比如對于少量的平移,旋轉或者縮放保持同樣的識別。但是,池化層不是必須的。

在Tensorflow中,可以用tf.nn.max_pool來實現最大池功能。

首先我們要把圖片resize成(-1,高,寬,1)這樣格式的:

>>> b = tf.reshape(a,[-1,5,5,1]) >>> c = sess.run(b) array([[[[1.],[0.],[0.],[0.],[0.]],[[0.],[1.],[0.],[0.],[0.]],[[0.],[0.],[1.],[0.],[0.]],[[0.],[0.],[0.],[1.],[0.]],[[0.],[0.],[0.],[0.],[1.]]]], dtype=float32)

然后我們用步幅為2。2*2窗口計算max pooling。
命令如下:

d =tf.nn.max_pool(c,ksize=[1,2,2,1], strides=[1,2,2,1], padding='SAME')

四元組中我們不必管第一個和最后一個,中間兩個是高和寬。ksize和步幅皆如此。
運行結果是一個3*3的對角陣:

>>> sess.run(d) array([[[[1.],[0.],[0.]],[[0.],[1.],[0.]],[[0.],[0.],[1.]]]], dtype=float32)

卷積網絡的結構

卷積神經網絡也叫卷積網絡,是一種善于處理網格數據的網絡。典型應用是處理一維網格數據語音和二維網格數據圖像。只要是在網絡結構中使用了哪怕一層的卷積層,就叫做卷積神經網絡。

與之前介紹的神經網絡都是全連接網絡,即每一層的每個節點都是上一層的所有節點相連接。
而卷積網絡一般是五種連接結構的組合:

  • 輸入層:一般認為就是原圖片
  • 卷積層:與全連接網絡不同,卷積層中每一個節點的輸入只是上一層神經網絡的一小塊,常用的塊大小為33或者55。一般來說,通過卷積層處理過的節點的矩陣的深度會變深
  • 池化層:Pooling層不會改變矩陣的深度,但是會使矩陣變小。可以理解為池化層是把高分辨率的圖片轉化成低分辨率的圖片
  • 全連接層:最后的分類工作一般還是由一至兩個全連接層來實現的。
  • Softmask層:可以得到當前樣例屬于不同分類的概率情況
  • 卷積網絡簡史

    上節深度學習簡史中我們提到過,第一個卷積網絡模型于1989年由Yann LeCun提出。卷積網絡的主要概念如為什么要卷積,為什么要降采樣,什么是徑向基函數RBF(Radial Basis Function)等。

    10年后的1998年,Yann LeCun設計了LeNet網絡。在論文《Gradient-Based Learning Applied to Document Recognition》中提出了LeNet-5的模型,結構如下:

    論文原文在:http://yann.lecun.com/exdb/publis/pdf/lecun-98.pdf

    但是,正如我們前面介紹的,當時還是SVM輝煌的時代。
    轉折點要到十幾年后的2012年,Hinton的學生Alex Krizhevsky發明的AlexNet之時。AlexNet在2012年的圖像分類競賽中將Top-5錯誤率從上一年的25.8%降到15.3%.

    AlexNet成功之后,大家的研究熱情空前高漲。主要方向有網絡加深和功能增強。

  • 網絡加深:深度學習的優勢就是突破了加深層數的關鍵點。那么就可以構建比AlexNet層數更多的網絡。代表作是2014年ImageNet比賽的亞軍牛津大學的VGGNet,它的層數可以達到16~19層。從而將Top-5錯誤率從AlexNet的15.3%降到了7.32%.
  • 功能增強:代表作是GoogLeNet。GoogLeNet參考了NIN(Network In Network)的思想,將原來的線性卷積層改成了多層感知機。同時,將全連接層改進為全局平均池化。功能增強之后,GoogLeNet力壓VGGNet,獲得2014年ImageNet的冠軍,將Top-5錯誤率降到6.67%. 雖然功能有增強,但是在層數上GoogLeNet也毫沒客氣地增加到22層。后來在GoogLeNet的基礎上又推出Inception V3, V4等網絡。
  • 既加深也增強:代表作是2015年的ImageNet分類冠軍,由微軟亞洲研究院發明的ResNet殘差網絡。ResNet在2015年的成績把錯誤率降到3.57%.
  • 話說ImageNet真是個群英薈萃的地方。2012年第一名是Alex。2013的第一名是Matthew Zeiler,之前講過他提出的AdaGrad。
    值得一提的是,在最近幾年的ImageNet中,華人屢創佳績。比如2016年的冠軍被公安部第三研究所搜神團隊獲得,成績是錯誤率2.99%。


    作者:lusing

    原文鏈接

    本文為云棲社區原創內容,未經允許不得轉載。


    總結

    以上是生活随笔為你收集整理的Tensorflow快餐教程(9) - 卷积的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 成人免费毛片观看 | 不卡一二三 | 人妻激情偷乱频一区二区三区 | 波多野结衣福利视频 | www.一区二区三区 | 欧美日日操 | 在线观看麻豆 | 国产91丝袜在线播放0 | 男女男精品视频 | 极品少妇在线 | 日本a在线免费观看 | 免费在线观看黄色片 | 日韩精品一区二区三区不卡在线 | 四虎亚洲精品 | 四虎影视免费永久大全 | 五月激情网站 | 久久在草| 狠狠婷婷 | 免费在线观看黄色av | 天天国产视频 | 免费看国产片在线观看 | 久久久久亚洲av片无码 | 毛片在线免费观看网站 | 成全影视在线观看第8季 | 国产在线精 | 国产精品白丝喷水在线观看 | 亚洲人成色777777精品音频 | 亚洲精品中文在线 | 亚洲一区二区黄片 | www.欧美精品 | 亚洲色欲色欲www | 欧美成人三级视频 | 成年人在线播放 | 白浆网站 | 欧美大色一区 | 国产91沙发系列 | 天堂在线免费观看视频 | 精品人妻一区二区三区四区久久 | 在线免费观看日韩 | 日本人视频69式jzzij | 爱福利视频网 | 国产精品日本 | 亚洲日本精品视频 | 91亚洲精品久久久蜜桃 | 免费在线观看国产精品 | av无限看| 欧美久久影院 | 丁香六月天婷婷 | 999热视频 | 女人被灌满精子 | 黄色变态网站 | 亚洲精品小视频在线观看 | 操亚洲| 久久久无码一区二区三区 | 在线播放91| xxx性日本| 噼里啪啦动漫高清在线观看 | 九九精品在线播放 | 色多多视频污 | 亚洲精品成a人在线观看 | 欧美成人一二三区 | 亚洲一区二区三区四区视频 | 国产精品一卡二卡在线观看 | 精品欧美激情精品一区 | 亚洲在线a | 国产特黄大片aaaa毛片 | 青青国产精品视频 | 我爱av好色 | 亚洲福利在线视频 | 国产精品99久久 | 成人在线观看小视频 | 天堂新版8中文在线8 | 青草福利在线 | 毛片网站在线免费观看 | 福利久久久 | 亚洲一级片网站 | 亚洲欧美91 | 日韩精品人妻无码一本 | 高清中文字幕mv的电影 | 日韩在线欧美在线 | 91免费视频黄 | 国产精品视频网 | 激情偷乱人成视频在线观看 | 免费看操片 | 亚洲88av| 亚洲AV无码成人精品区明星换面 | 性开放耄耋老妇hd | 伦伦影院午夜理伦片 | 亚洲国产精品综合久久久 | 欧美一级高清片 | 无码一区二区波多野结衣播放搜索 | av成人亚洲 | 国产最新av | free性中国hd国语露脸 | 毛片在线网站 | 国产精品久久久久久亚洲 | 亚洲精品激情 | 激情国产一区 | 豆花在线观看 |