深度學習基礎(一)起源

目錄

?

一、DP的前世

? 1.perceptron

? ?2.NN

? ?3.DP

二、DP的基礎知識

1.convolution

2.padding

3.pooling

4.Flatten

5.fully connected

6.dropout


一、DP的前世

深度學習發展至今經歷頗為曲折,上世紀起源,火熱起來也是20世紀初的時候,具體時間如下圖所示:

? ? ? ? ? ? ? ? ? ? ? ?

? 1.perceptron

? ? ? ?深度學習(DP)的基礎來源于19世紀50年代,起初是叫perceptron”(翻譯為感知機/感知器等),包含有輸入層、輸出層和一個隱藏層。輸入的特征向量通過隱藏層變換到達輸出層,由輸出層得到分類結果。但早期的單層感知機存在一個嚴重的問題——它對稍微復雜一些的函數都無能為力(如異或操作)。

?

? ?2.NN

? ? ? 19世紀80年代左右為實現復雜函數功能(如異或、非線性可分等問題),提出“multi-layer perceptron”(多層感知機)/neural network(神經網絡)來解決相應問題。主要為加入了隱層概念、非線性激活函數(sigmoid/tanh等)、back propagation(反向傳播算法)和Optimizer(優化算法,梯度下降、mini-batch等)。

? ? ? ?此時跨入NN時代,但由于神經網絡的層數和其實現的功能掛鉤:即隨著神經網絡層數的加深,Optimizer越來越容易陷入局部最優解和梯度消失。(具體來說,我們常常使用sigmoid作為神經元的輸入輸出函數。對于幅度為1的信號,在BP反向傳播梯度時,每傳遞一層,梯度衰減為原來的0.25。層數一多,梯度指數衰減后低層基本上接受不到有效的訓練信號。)

? ?3.DP

? ? ? ?直至2006年由Hition提出了深度學習的概念“解決”上述問題(實際上只是用一些巧妙的手段最大程度的緩解上述問題),迎來深度學習的熱潮,其隱藏層增至7層。后來為“解決”梯度消失,加入了ReLU等函數,形成了如今的DNN,如下圖所示。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

? ? ? ?再后來,由于圖像處理等需要局部的信息,這時引入卷積核和max-pooling等操作來解決相應的問題,所以產生了CNN;與此同時,由于要解決時序的問題,產生了RNN,后期的LSTM等都是RNN為解決時間上的梯度消失而生成的網絡。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??RNN示意圖

而在實際應用中,上述網絡層都是靈活連接,以便更好的解決實際生成問題。

二、DP的基礎知識

DP基礎知識較為繁雜,為簡單入門說起,就直接由經典的VGG16模型說起。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? VGG16模型示意圖

如上圖所示,模型包括輸入層、convolution、pooling、fully connected和輸出層,其中包括padding、Flatten和dropout等操作。

1.convolution

? ? ? ?卷積過程是基于一個小矩陣,也就是kernel(卷積核),在上面所說的每層像素矩陣上不斷按stride(步長)掃過去的,掃到數與卷積核對應位置的數相乘,然后求總和,每掃一次,得到一個值,全部掃完則生成一個新的矩陣。類似于濾波過程。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??convolution示意圖

2.padding

? ? ? ?一般使用的都是Zero padding,細心的人就會發現上述convolution過程中若輸入是 n X m 的大小,輸出應該為 (n-1)X(m-1)的大小才對,但是這樣會容易導致邊界上的特征丟失以及其他錯誤,所以常規做法就是在輸入Image的邊界上加入一圈0,這樣輸出也為n X m的大小。

? ? ? ?如下圖所示,紅色的為原來的輸入層,在進行convolution前在其邊界加一圈0,即灰色格子。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? padding示意圖

3.pooling

pooling相當于降維采樣,我的理解是為了減少計算量以及避免特征重復等問題。pooling有兩種,包括maxpooling和meanpooling,常用的是maxpooling。pooling的具體操作就是在一個小矩陣區域內,取該區域的最大值或平均值來代替該區域。

?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? pooling操作示意圖

4.Flatten

Flatten 是指將多維的矩陣拉開,變成一維向量來表示。

5.fully connected

fully connected,簡稱FC,即全連接層。其作用表現為“分類層”(個人覺得該描述不是十分準確,但又找不到更合適的描述),將上層數據映射到樣本標記空間的作用。其實FC和卷積層類似,只不過是特殊的卷積層,其卷積核大小為上層特征大小的卷積運算,卷積后的結果為一個節點,就對應全連接層的一個點。

6.dropout

dropout其實是為了解決過擬合問題的。其操作過程:在一次循環中先隨機選擇神經層中的一些單元并將其臨時隱藏,然后再進行該次循環中神經網絡的訓練和優化過程。在下一次循環中,又將隱藏另外一些神經元,如此直至訓練結束。

由于dropout較難理解,加入一個生動的例子來進行講解。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?dropout示意圖

參考文獻:

1.https://www.leiphone.com/news/201702/ZwcjmiJ45aW27ULB.html

2.書籍《深度學習之tensorflow》

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/256557.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/256557.shtml
英文地址,請注明出處:http://en.pswp.cn/news/256557.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ANSYS經典界面中梁單元實例全解析

轉載鏈接:http://www.jishulink.com/content/post/361389 文中紅色部分為自己添加!!! 轉載的文章中提到的梁單元截面是常用的工字形,那么要是不規則的截面形狀的話需要自己進行截面形狀繪制,具體可以參考…

ant的安裝和使用

1.ant的安裝 1.1 添加環境變量:ANT_HOMED:\software\ant\apache-ant-1.10.1 在path中添加:%ANT_HOME%\bin 1.2 測試是否安裝成功 在cmd中輸入ant,如果出現如下提示表示安裝成功 2.定義簡單的build.xml 2.1 創建HelloWord.java package test; …

深度學習之tensorflow (一) XORerr1 -修改

博客背景是學習《深度學習之TensorFlow》這本書籍中的作業,修改第七章的作業,把XOR-異或的錯誤代碼修改為正確的。 主要修改有三個地方: 隱藏層一的運算從sigmoid修改為add運算;輸出層的運算修改為sigmoid(原來是什么…

可調用對象

# -*- coding: utf-8 -*- #python 27 #xiaodeng #可調用對象 #http://www.cnpythoner.com/post/306.html#定義: #許多python對象都是可調用的,即:任何通過函數操作符()來調用的對象。 #callable()是一個布爾函數,確定一個對象是否…

Ansys ——自定義不規則形狀梁截面

目錄 導讀: 1、問題描述 2.CAD繪制截面,導出.sat文件格式 (1)在三維建模工作空間下繪制截面

Language-Directed Hardware Design for Network Performance Monitoring——Marple

網絡監控困難 1、僅僅通過去增加特定的監控功能到交換機是不能滿足運營商不斷變化的需求的。(交換機需要支持網絡性能問題的表達語言)2、他們缺乏對網絡深處的性能問題進行本地化的可見性,間接推斷網絡問題的原因3、當前的交換機監控并沒有提…

深度學習基礎(四)優化函數(梯度下降函數)

梯度下降函數也就是優化函數,在神經網絡訓練過程最重要的函數。重要程度類似于調校對于汽車的重要性,搭建模型和參數設置等操作“造好了一輛汽車”,優化函數“調校”。因為汽車最終的操控性和加速性能等指標很大程度取決于調校,調…

ANSYS 簡支梁的約束

在ansys中,梁的定義都是通過梁截面和軸線進行定義的,不同的梁的區別在ansys中的體現僅在于約束的處理上不同 1.簡支梁的約束 假設簡支梁的梁軸線是x軸,可以繞z軸彎曲,則簡支梁的約束: 起始點:X、Y、Z、RO…

js 實現 復制 功能 (zeroclipboard)

#復制功能因訪問權限和安全問題, 被瀏覽器禁了# 我要實現的功能:點擊復制按鈕,復制瀏覽器的當前頁面地址,加上用戶選擇的參數(用戶查找過濾),直接將該鏈接發給別人,點擊打開就是對應…

解決 kindle 書籍字體顏色偏淡問題的方法

現象 通過Markdown轉換而來的mobi格式書籍都有一個大問題:字體偏淡,放在kindle上看對比度很差。 原因分析: 導致這種問題的原因,可能是因為在制作電子書的過程中,這些內容是被標注了彩色或灰色。這可能更適合全彩屏幕的…

車智匯模式系統技術開發數據

用戶思維:對經營者和消費者的理解,以用戶為中心,學會換位思考,發掘用戶的真正想法和需求。以前是生產什么就賣什么(自己制作賣點),現在是了解用戶需要什么才做什么(實現賣點)。車智匯是一款以"云平臺智能終端&quo…

深度學習基礎(二)激活函數

激活函數(也被稱為激勵函數)的意義就是加入非線性因素,使得神經網絡具有非線性表達的能力。其必要條件是激活函數的輸入和輸出都是可微的,因為神經網絡要求處處可微。(可微是指函數的各個方向可導,可微大于等于可導) …

ANSYS——固定斜度的變截面變截面的定義、自由耦合和變截面的定義

目錄 1.變截面梁 2.自由度耦合 3.變截面的ANSYS GUI操作 4.疑問 以下兩個定義轉自:http://wenku.baidu.com/view/04e43ebbfd0a79563c1e722d.html 上述文章中還包含了一個實例,可以參考

Please ensure that adb is correctly located at……問題解決方案

啟動android模擬器時.有時會報The connection to adb is down, and a severe error has occured.的錯誤.在網友說在任務管理器上把所有adb.exe關閉掉.重啟eclipse.但試過不管用.所以在外國網站上找到一種可行的方法:1.先把eclipse關閉.2.在管理器轉到你的android SDK 的platfor…

2016.8.23

1 貼吧里看到一個關于因為游戲鬧翻的故事,大致情況是這樣的:某女初中的時候有個閨蜜。后來此人因為抑郁之類的精神問題被送到醫院,這讓女主很苦悶且脆弱又孤單,這時候她的閨蜜去醫院看望她,然后女主就喜歡上了這位閨蜜…

[Spring]01_環境配置

1.1 Spring jar包下載 (1)進入官網http://repo.spring.io (2)在資源庫界面點擊Artifacts標簽,然后點擊libs-release-local,展開后依次點擊org -> springframework -> spring。 然后,就可…

ANSYS——常見梁的后處理方法(彎曲應力、彎矩、軸力等的顯示)

目錄 a. 顯示變形 b. 顯示當量應力 c. 顯示彎曲應力 d. 支反力顯示 e. 將圖形存入文件

深度學習基礎(三)loss函數

loss函數,即損失函數,是決定網絡學習質量的關鍵。若網絡結構不變的前提下,損失函數選擇不當會導致模型精度差等后果。若有錯誤,敬請指正,Thank you! 目錄 一、loss函數定義 二、常見的loss算法種類 1.M…

C#中DataTable中的Compute方法使用收集

Compute函數的參數就兩個:Expression,和Filter。 Expresstion是計算表達式,關于Expression的詳細內容請看這里“http://msdn2.microsoft.com/zh-cn/library/system.data.datacolumn.expression(VS.80).aspx”。而Filter則是條件過濾器&#x…

Lazy延遲實例對象

懶對象,實現延遲實例對象。 轉載于:https://www.cnblogs.com/yj2010/p/5798622.html