導航:首頁 > 網路問題 > hinton膠囊網路怎麼用

hinton膠囊網路怎麼用

發布時間:2023-03-21 08:45:19

❶ 2019年開設人工智慧本科專業的院校名單有哪些

人工智慧學制四年屬工科 在首批獲得人工智慧專業建設資格的35所高校中,在京高校共4所,分別為 北京科技大學 、北京交通大學、北京航空航天大學、 北京理工大學 。教育部的審批名單顯示,這些專業均屬於工學門類,修業年限為4年,並被特別標注為「新專業」。另外,與人工智慧行業發展密切相關的是,本次名單中還有101所高校新增機器人工程專業,96所高校新設智能科學與技術專業,50所高校新增智能製造工程專業。

北京交通大學在本科生中已開設人工智慧、機器學習等多門人工智慧相關課程。在本碩一體化體系中,研究生教學中已連續10餘年開設人工智慧基礎、知識工程、數據挖掘、機器學習等核心課程。人工智慧專業的課程體系已經具備雛形。北交大人工智慧專業將依託計算機科學與技術一級學科博士點、計算機應用技術北京市重點學科、「交通數據分析與挖掘」北京市重點實驗室和醫學智能研究所等學科平台,結合計算機學會人工智慧與模式識別專委會和人工智慧研究院的師資隊伍進行專業建設,探索「人工智慧+醫療」的復合專業建設新模式。「我校人工智慧教師團隊一直是國內人工智慧領域科學研究的重要活躍力量,在人工智慧技術研發與應用方面承擔並完成了多項重要科研項目,在交通握判、醫療等行業形成了較大規模應用,社會效益顯著。這些成果和經驗也帶入課堂教學、教材、實驗和畢業設計。」北交大招辦副主任閆立表示。

北京科技大學 增設人工智慧專業。學校招辦副主任王進介紹,該專業通過自動化類招生。學生在大一結束後進行專業分流,預設3至4個班(100人左右)。北科大人工智慧專業不是簡單的「從0到1」專業新增,它前身是2007就開始招生的智能科學與科學技術專業,在國內高校里較早進行智能控制領域專業人才培養。針對人工智慧專業,學校專門出台培養方案。本科階段核心課程包括數理基礎、信息技術基礎、人文社科基礎、工程基礎、人工智慧理論基礎等模塊課程;專業選修課程分為智能感知與認知和機器人與無人機系統兩個模塊。旨在培養具備人文社會科學素養,掌握扎實的自然科學知識,具有段棗改寬廣的國際視野和優良的專業綜合素質,具備信息獲取、傳遞、處理、決策及執行的完備知識體系,能從事人工智慧理論研究、智能信息處理技術研發、智能產品設計和人工智慧系統集成等方面的工作,具有團隊精神和管理與協調大型工程項目能力的復合型高級工程技術人才。

北京航空航天大學人工智慧專業計劃每年招收30名本科生,以計算機學院為承載學院,將聯合人工智慧研究院、數學與系統科學學院、經濟管理學院、自動化科學與電氣工程學院、大數據科學與腦機智能高精尖中心等單位進行整合,實施專業交叉培養模式。有關老師介紹,北航人工智慧專業的核心課程體系具有兩個顯著特點,首先,數學比重高。除了數學分析、概率、代數外,人工智慧專業還設置了最優化方法及智能計算中的數學。其中智能計算中的數學講授綜合運用數學知識解決學科專業核心問題,為學生建立數學與專業間的橋梁;其次,知識面寬泛。由於人工智慧具有顯著的學科交叉特性,因此人工智慧專業必修課中還包含了認知科學與控制科學相關課程。在必修課基礎上,人工智慧專業將規劃大數據智能、智能交互、智能計算體系結構、社會網路數據工程、統計機器學習等若干參考課程模塊,並鼓勵學生結合個人興趣與發展規劃,自主設計個性化的專業選修課程方案。

南京大學 人工智慧學院,初定首批招生規模為60至100名本科生,未來岩碧還會招收碩士生和博士生。學院院長周志華表示,按照目前高校計算機專業的寬口徑人才培養模式,150個學分中大約有60個學分是通識課,15個是畢業雙創課。人工智慧學院將採用全新的課程設置和培養模式。課程設置將會和一般的計算機專業有很大差別,除了為學生安排較強的數學基礎課程,幫助他們打牢基礎外,還將把人工智慧專業所涉及的各方面知識匯集,建立一個全面的教育課程體系。

西安交通大學 去年成立人工智慧學院。學校從2017年就開始籌備人工智慧本科生試驗班,並且成立了人工智慧本科專業課程設置工作組,完成了西安交大「2018版人工智慧本科專業課程設置」。按課程群分類設置,包括通識教育、數學與統計、科學與工程、人工智慧、計算機科學、機器人等11個課程群,共開設64門課程,其中必修課程41門、選修課程23門(完成所需學分需選修其中12門)。2018年,西安交大開始選拔第一批學生,「人工智慧拔尖人才培養試驗班」正式成立,秋季第一批入學的本科生按照「優中選優」的原則,50%左右通過高考招生選拔,50%左右通過校內新生選拔,在學習過程中施行動態管理與進出機制。最後選出55人作為新成立的西安交大人工智慧學院首批本科生。學院有關老師介紹,這55名學生分為兩個班,注重全面培養人工智慧綜合基礎知識,在軟體和硬體方面會兼顧。
人工智慧迎來春天
專業人才的「量產」,是否會在幾年內造成人才過剩?人工智慧專業未來的發展又將如何呢?

某就職於人工智慧領域研究院的業內人士表示,人工智慧目前是國家戰略,在這個指引下,不同於以往的計算機類的畢業生只能從事IT口的相關職業,未來人工智慧的思路和意識是可以滲透進各個行業的。這些人才的就業面會是非常寬泛的。各個行業與人工智慧形成合力是未來趨勢。每個行業中都要有能動手實現人工智慧、用好人工智慧的人。特別是下一階段5G的商用和普及,又有更多新的故事可以講。有可能再過一段時間,相關知識是每個人必備的素質。

3月底公布的2018年圖靈獎獲得者中,深度學習三巨頭Geoffrey Hinton等獲獎。深度學習獲得了最高榮譽。三位獲獎者在業內被稱為「當代人工智慧教父」,開創了深度神經網路,而這項技術已經成為計算科學的關鍵部分,為深度學習演算法的發展和應用奠定了基礎。不僅如此,Geoffrey Hinton還提出新的神經網路模型Capsule Network(膠囊網路),試圖找到解決深度學習缺陷的新方法。這位71歲的老人熬過上世紀最冷的人工智慧冬天,並且認定下一個「冬天」不會到來。Hinton認為,不會有人工智慧的寒冬,因為人工智慧已經在驅動著手機了。在過去人工智慧並不是人們日常生活的一部分,但現在它已經是了。

手機可能就是人工智慧離我們最近的工具。用美顏相機拍一張美美的自拍照,「刷臉」解鎖手機、指紋支付等都是人工智慧的范疇。人工智慧與各領域的結合也不斷加強,推動了許多新興學科領域的研究發展。人工智慧研究和應用進入新階段。相關理論和知識體系日漸成熟,技術應用逐漸走出實驗室,與各類傳統產業發生深度聯系。比如人工智慧+醫療。以肺結節輔助診斷為例,通過大數據的學習,人工智慧可以對肺結節CT影像進行智能檢測與識別,將探查到的疑似結節標記出來,既可以代替醫療人員進行重復的機械性工作、提高效率,也能幫助醫生提高診斷的准確度。

近年來,大數據和深度學習的融合及計算能力的提升使人工智慧技術取得突破性進展,推動人類社會從信息化時代走向智能化時代。人工智慧技術正在或即將促進製造業、服務業、金融、教育、傳媒、法律、醫療、家居、農業、汽車、環境等行業的升級重構。
專業人才儲備不再「頭痛醫頭」
因為之前沒有「人工智慧」這個本科專業,高校無法批量培養,而人工智慧行業在迅猛發展,目前的從業者大多來自計算機、軟體工程、電子信息等相關專業。原有的計算機專業的課程與現階段技術發展脫節、課程設置過於基礎和陳舊,在實際工作中愈加明顯。與此同時,社會上面向在職人員、高校學生的培訓班提高班,以「快餐」知識形式把人工智慧的技術、基礎理論,特別是動手實踐的一些任務拿來進行培訓,結果是課程缺乏大學通常應有的知識體系系統的完整性連貫性,屬於「頭痛醫頭」的層次。

就職於國內某知名人工智慧領域企業的李柯(化名)表示,人工智慧相關行業的人才缺口目前很大,專業人才培養需要與目前行業發展同步。首批35所院校增設人工智慧專業,也是證明了對相關領域的關注和重視。高校開設人工智慧本科專業對於增加人才儲備,提升全民意識,會有積極的幫助,讓大家更認同技術所能創造的價值。數理基礎過硬、計算機思維全面,編程動手能力強,思路開闊,對於新事物有極強好奇心,具備全面的分析問題、歸納思路、通過技術合理解決問題的能力和素質,是人工智慧業內人士對未來這個專業畢業生的期待。

李柯表示,人工智慧專業需要跨多學科領域的知識,需要有很好的數理基礎功底,對統計學、概率論等知識需要有很好的理解,同時對於計算機系統、演算法也需要有很好的基礎素養。另外,由於這個專業領域的發展非常迅速,更多更新的技術跟蹤實現也要有良好的英語閱讀的功底。有碩士或博士的經歷和錘煉會更容易在領域內獲得好的發展。目前如BAT、華為等為首的巨頭,以及大疆、商湯等一系列新興獨角獸企業,對於人工智慧人才的需求都非常巨大。相關行業新人通常是國內名校的計算機系、電子信息系的優秀博士、碩士。他們也是各家爭奪的重點。每年的畢業生搶人大戰很激烈。碩士起薪在25萬至35萬年薪,博士會更高,個別優秀博士可以到50萬至100萬年薪不等。另外這個行業里從業3年至5年的優秀人才,也能夠獲得60萬至100萬左右水平的年薪。崗位通常是研發崗。這類崗位壓力大,對技術跟蹤和實現需要有較強能力,同時對於實際任務中的難題解決,理論結合實際要求很高。

首批35所開設人工智慧本科專業高校名單

❷ 膠囊網路是什麼

❸ 人工神經網路會秒殺人類哪6大領域

人工神經網路會秒殺人類有關圖像和物體識別、電子游戲、語音生成和識別、藝術品和風格的模仿、預測、網站設計修改這六大領域。

神經網路可以研究某一特定藝術作品的筆觸、顏色和陰影的圖案。在此基礎上,它可以根據分析將原始的藝術作品轉化為新的圖像。

斯坦福大學的研究人員Timnit Gebru選取了5000萬張谷歌街景圖片,探索一個深度學習網路可以做些什麼。結果是,計算機學會了定位和識別汽車。它檢測到超過2200萬輛汽車,包括它們的製造、型號、體型和年份。這一系統獲得的洞見之一就是,選民隊伍的起點和終點在哪裡。根據這一分析,「如果在15分鍾車程中遇到的轎車數量高於皮卡車的數量,那麼這座城市可能會在下次總統選舉中投票給民主黨人(88%的幾率),」Timnit Gebru和他的合著者寫道。

在網站生成器中集成的人工智慧可以幫助網站更新,並對網站進行有用的修改,比人類更快速、更准確。這種系統的基本技術提供了關於網站外觀的普通用戶的意見,這可以告訴設計師網站設計的好壞。如今,網站建設者們要麼利用深層網路來修改設計,要麼計劃在不久的將來使用它們。該技術可以分析不同的模式,並根據以前的轉化率和其他重要指標,創造更好的結果。

❹ 卷積神經網路CNN在圖像識別問題應用綜述(20191219)

   這兩天在公司做PM實習,主要是自學一些CV的知識,以了解產品在解決一些在圖像識別、圖像搜索方面的問題,學習的主要方式是在知網檢索了6.7篇國內近3年計算機視覺和物體識別的碩博士論文。由於時間關系,後面還會繼續更新圖片相似度計算(以圖搜圖)等方面的學習成果
   將這兩天的學習成果在這里總結一下。你將會看到計算機視覺在解決特定物體識別問題(主要是卷積神經網路CNNs)的基礎過程和原理,但這里不會深入到技術的實現層面。

  計算機視覺(Computer vision)是一門研究如何使機器「看」的科學,更進一步的說,就是指用攝影機和計算機代替人眼對目標進行識別、跟蹤和測量等機器視覺,並進一步做圖像處理,用計算機處理成為更適合人眼觀察或傳送給儀器檢測的圖像。
                                         ————維基網路
  通常而言,計算機視覺的研究包括三個層次:
(1)底層特徵的研究:
  這一層次的研究主要聚焦如何高效提取出圖像對象具有判別性能的特徵,具體的研究內容通常包括:物體識別、字元識別等
(2)中層語義特徵的研究:
   該層次的研究在於在識別出對象的基礎上,對其位置、邊緣等信息能夠准確區分。現在比較熱門的:圖像分割;語義分割;場景標注等,都屬於該領域的范疇
(3)高層語義理解:
  這一層次建立在前兩層的基礎上,其核心在於「理解」一詞。 目標在於對復雜圖像中的各個對象完成語義級別的理解。這一層次的研究常常應用於:場景識別、圖像摘要生成及圖像語義回答等。
  而我研究的問題主要隸屬於底層特徵和中層語義特徵研究中的物體識別和場景標注問題。

人類的視覺工作模式是這樣的:
   首先,我們大腦中的神經元接收到大量的信息微粒,但我們的大腦還並不能處理它們。
   於是接著神經元與神經元之間交互將大量的微粒信息整合成一條又一條的線。
   接著,無數條線又整合成一個個輪廓。
   最後多個輪廓累加終於聚合我們現在眼前看到的樣子。
  計算機科學受到神經科學的啟發,也採用了類似的工作方式。具體而言,圖像識別問題一般都遵循下面幾個流程

  (1)獲取底層信息。獲取充分且清潔的高質量數據往往是圖像識別工作能否成功的關鍵所在
  (2)數據預處理工作,在圖像識別領域主要包括四個方面的技術:去噪處理(提升信噪比)、圖像增強和圖像修復(主要針對不夠清晰或有破損缺失的圖像);歸一化處理(一方面是為了減少開銷、提高演算法的性能,另一方面則是為了能成功使用深度學習等演算法,這類演算法必須使用歸一化數據)。
  (3)特徵提取,這一點是該領域的核心,也是本文的核心。圖像識別的基礎是能夠提取出足夠高質量,能體現圖像獨特性和區分度的特徵。
  過去在10年代之前我們主要還是更多的使用傳統的人工特徵提取方法,如PCALCA等來提取一些人工設計的特徵,主要的方法有(HOG、LBP以及十分著名的SIFT演算法)。但是這些方法普遍存在(a)一般基於圖像的一些提層特徵信息(如色彩、紋理等)難以表達復雜的圖像高層語義,故泛化能力普遍比較弱。(b)這些方法一般都針對特定領域的特定應用設計,泛化能力和遷移的能力大多比較弱。
  另外一種思路是使用BP方法,但是畢竟BP方法是一個全連接的神經網路。這以為這我們非常容易發生過擬合問題(每個元素都要負責底層的所有參數),另外也不能根據樣本對訓練過程進行優化,實在是費時又費力。
  因此,一些研究者開始嘗試把諸如神經網路、深度學習等方法運用到特徵提取的過程中,以十幾年前深度學習方法在業界最重要的比賽ImageNet中第一次戰勝了SIFT演算法為分界線,由於其使用權重共享和特徵降采樣,充分利用了數據的特徵。幾乎每次比賽的冠軍和主流都被深度學習演算法及其各自改進型所佔領。其中,目前使用較多又最為主流的是CNN演算法,在第四部分主要也研究CNN方法的機理。

  上圖是一個簡易的神經網路,只有一層隱含層,而且是全連接的(如圖,上一層的每個節點都要對下一層的每個節點負責。)具體神經元與神經元的作用過程可見下圖。

  在諸多傳統的神經網路中,BP演算法可能是性能最好、應用最廣泛的演算法之一了。其核心思想是:導入訓練樣本、計算期望值和實際值之間的差值,不斷地調整權重,使得誤差減少的規定值的范圍內。其具體過程如下圖:

  一般來說,機器學習又分成淺層學習和深度學習。傳統的機器學習演算法,如SVM、貝葉斯、神經網路等都屬於淺層模型,其特點是只有一個隱含層。邏輯簡單易懂、但是其存在理論上缺乏深度、訓練時間較長、參數很大程度上依賴經驗和運氣等問題。
  如果是有多個隱含層的多層神經網路(一般定義為大於5層),那麼我們將把這個模型稱為深度學習,其往往也和分層訓練配套使用。這也是目前AI最火的領域之一了。如果是淺層模型的問題在於對一個復雜函數的表示能力不夠,特別是在復雜問題分類情況上容易出現分類不足的弊端,深度網路的優勢則在於其多層的架構可以分層表示邏輯,這樣就可以用簡單的方法表示出復雜的問題,一個簡單的例子是:
  如果我們想計算sin(cos(log(exp(x)))),
  那麼深度學習則可分層表示為exp(x)—>log(x)—>cos(x)—>sin(x)

  圖像識別問題是物體識別的一個子問題,其魯棒性往往是解決該類問題一個非常重要的指標,該指標是指分類結果對於傳入數據中的一些轉化和扭曲具有保持不變的特性。這些轉化和扭曲具體主要包括了:
(1)噪音(2)尺度變化(3)旋轉(4)光線變化(5)位移

  該部分具體的內容,想要快速理解原理的話推薦看[知乎相關文章] ( https://www.hu.com/search?type=content&q=CNN ),
  特別是其中有些高贊回答中都有很多動圖和動畫,非常有助於理解。
  但核心而言,CNN的核心優勢在於 共享權重 以及 感受野 ,減少了網路的參數,實現了更快的訓練速度和同樣預測結果下更少的訓練樣本,而且相對於人工方法,一般使用深度學習實現的CNN演算法使用無監督學習,其也不需要手工提取特徵。

CNN演算法的過程給我的感覺,個人很像一個「擦玻璃」的過程。其技術主要包括了三個特性:局部感知、權重共享和池化。

  CNN中的神經元主要分成了兩種:
(a)用於特徵提取的S元,它們一起組成了卷積層,用於對於圖片中的每一個特徵首先局部感知。其又包含很關鍵的閾值參數(控制輸出對輸入的反映敏感度)和感受野參數(決定了從輸入層中提取多大的空間進行輸入,可以簡單理解為擦玻璃的抹布有多大)
(b)抗形變的C元,它們一起組成了池化層,也被稱為欠采樣或下采樣。主要用於特徵降維,壓縮數據和參數的數量,減小過擬合,同時提高模型的容錯性。
(c*)激活函數,及卷積層輸出的結果要經過一次激勵函數才會映射到池化層中,主要的激活函數有Sigmoid函數、Tanh函數、ReLU、Leaky ReLU、ELU、Maxout等。

  也許你會抱有疑問,CNN演算法和傳統的BP演算法等究竟有什麼區別呢。這就會引出區域感受野的概念。在前面我們提到,一個全連接中,較高一層的每個神經元要對低層的每一個神經元負責,從而導致了過擬合和維度災難的問題。但是有了區域感受野和,每個神經元只需要記錄一個小區域,而高層會把這些信息綜合起來,從而解決了全連接的問題。

  了解區域感受野後,你也許會想,區域感受野的底層神經元具體是怎麼聚合信息映射到上一層的神經元呢,這就要提到重要的卷積核的概念。這個過程非常像上面曾提到的「神經元與神經元的聯系」一圖,下面給大家一個很直觀的理解。

  上面的這個過程就被稱為一個卷積核。在實際應用中,單特徵不足以被系統學習分類,因此我們往往會使用多個濾波器,每個濾波器對應1個卷積核,也對應了一個不同的特徵。比如:我們現在有一個人臉識別應用,我們使用一個卷積核提取出眼睛的特徵,然後使用另一個卷積核提取出鼻子的特徵,再用一個卷積核提取出嘴巴的特徵,最後高層把這些信息聚合起來,就形成了分辨一個人與另一個人不同的判斷特徵。

  現在我們已經有了區域感受野,也已經了解了卷積核的概念。但你會發現在實際應用中還是有問題:
  給一個100 100的參數空間,假設我們的感受野大小是10 10,那麼一共有squar(1000-10+1)個,即10的六次方個感受野。每個感受野中就有100個參數特徵,及時每個感受野只對應一個卷積核,那麼空間內也會有10的八次方個次數,,更何況我們常常使用很多個卷積核。巨大的參數要求我們還需要進一步減少權重參數,這就引出了權重共享的概念。
   用一句話概括就是,對同一個特徵圖,每個感受野的卷積核是一樣的,如這樣操作後上例只需要100個參數。

  池化是CNN技術的最後一個特性,其基本思想是: 一塊區域有用的圖像特徵,在另一塊相似的區域中很可能仍然有用。即我們通過卷積得到了大量的邊緣EDGE數據,但往往相鄰的邊緣具有相似的特性,就好像我們已經得到了一個強邊緣,再擁有大量相似的次邊緣特徵其實是沒有太大增量價值的,因為這樣會使得系統里充斥大量冗餘信息消耗計算資源。 具體而言,池化層把語義上相似的特徵合並起來,通過池化操作減少卷積層輸出的特徵向量,減少了參數,緩解了過擬合問題。常見的池化操作主要包括3種:
分別是最大值池化(保留了圖像的紋理特徵)、均值池化(保留了圖像的整體特徵)和隨機值池化。該技術的弊端是容易過快減小數據尺寸,目前趨勢是用其他方法代替池化的作用,比如膠囊網路推薦採用動態路由來代替傳統池化方法,原因是池化會帶來一定程度上表徵的位移不變性,傳統觀點認為這是一個優勢,但是膠囊網路的作者Hinton et al.認為圖像中位置信息是應該保留的有價值信息,利用特別的聚類評分演算法和動態路由的方式可以學習到更高級且靈活的表徵,有望沖破目前卷積網路構架的瓶頸。

  CNN總體來說是一種結構,其包含了多種網路模型結構,數目繁多的的網路模型結構決定了數據擬合能力和泛化能力的差異。其中的復雜性對用戶的技術能力有較高的要求。此外,CNN仍然沒有很好的解決過擬合問題和計算速度較慢的問題。

   該部分的核心參考文獻:
《深度學習在圖像識別中的應用研究綜述》鄭遠攀,李廣陽,李曄.[J].計算機工程與應用,2019,55(12):20-36.

  深度學習技術在計算機圖像識別方面的領域應用研究是目前以及可預見的未來的主流趨勢,在這里首先對深度學習的基本概念作一簡介,其次對深度學習常用的結構模型進行概述說明,主要簡述了深度信念網路(DBN)、卷積神經網路(CNN)、循環神經網路(RNN)、生成式對抗網路(GAN)、膠囊網路(CapsNet)以及對各個深度模型的改進模型做一對比分析。

  深度學習按照學習架構可分為生成架構、判別架構及混合架構。
其生成架構模型主要包括:
  受限波爾茲曼機、自編碼器、深層信念網路等。判別架構模型主要包括:深層前饋網路、卷積神經網路等。混合架構模型則是這兩種架構的集合。深度學習按數據是否具有標簽可分為非監督學習與監督學習。非監督學習方法主要包括:受限玻爾茲曼機、自動編碼器、深層信念網路、深層玻爾茲曼機等。
  監督學習方法主要包括:深層感知器、深層前饋網路、卷積神經網路、深層堆疊網路、循環神經網路等。大量實驗研究表明,監督學習與非監督學習之間無明確的界限,如:深度信念網路在訓練過程中既用到監督學習方法又涉及非監督學習方法。

[1]周彬. 多視圖視覺檢測關鍵技術及其應用研究[D].浙江大學,2019.
[2]鄭遠攀,李廣陽,李曄.深度學習在圖像識別中的應用研究綜述[J].計算機工程與應用,2019,55(12):20-36.
[3]逄淑超. 深度學習在計算機視覺領域的若干關鍵技術研究[D].吉林大學,2017.
[4]段萌. 基於卷積神經網路的圖像識別方法研究[D].鄭州大學,2017.
[5]李彥冬. 基於卷積神經網路的計算機視覺關鍵技術研究[D].電子科技大學,2017.
[6]李衛. 深度學習在圖像識別中的研究及應用[D].武漢理工大學,2014.
[7]許可. 卷積神經網路在圖像識別上的應用的研究[D].浙江大學,2012.
[8]CSDN、知乎、機器之心、維基網路

❺ 人工智慧的發展前景怎麼樣

—— 以下數據及分析均來自於前瞻產業研究院《中國人工智慧行業市場前瞻與投資戰略規劃分析報告》。

當前,國內外互聯網巨頭紛紛將人工智慧作為下一次產業革命的突破口,積極加大投資布局,與此同時,隨著人工智慧技術進步和基礎設施建設不斷完善的推動下,全球人工智慧應用場景將不斷豐富,市場規模持續擴大。

「人工智慧」一詞最初是在1956年美國計算機協會組織的達特矛斯(Dartmouth)學會上提出的,人工智慧發展至今經歷過經費枯竭的兩個寒冬(1974-1980年、1987-1993年),也經歷過兩個大發展的春天(1956-1974年、1993-2005年)。從2006年開始,人工智慧進入了加速發展的新階段,並行計算能力、大數據和先進演算法,使當前人工智慧加速發展;同時,近年來人工智慧的研究越來越受到產業界的重視,產業界對AI的投資和收購如火如荼。

人工智慧技術邁入深度學習階段

機器學習是實現人工智慧的一種重要方法鉛啟,深度學習(Deep Learning)是機器學習(Machine Learning)的關鍵技術之一。深度學習自2006年由Jeffery Hinton實證以來,在雲計算、大數據和晶元等的支持下,已經成功地從實驗室中走出來,開始進入到了商業應用,並在機器視覺、自然語言處理、機器翻譯、路徑槐瞎如規劃等領域取得了令人矚目的成績,全球人工智慧也正式邁入深度學習階段。

與此同時,全球人工智慧領域對新技術的探索從未停止,新技術層出不窮,例如近年來一些新的類腦智能演算法提出來,將腦科學與思維科學的一些新的成果結合到神經網路演算法之中,形成不同於深度學習的神經網路技術路線,如膠囊網路等,技術的不斷進步是推動全球人工智慧的發展的不竭動力,這些新技術的研究和應用將加快全球人工智慧的發展進程。

主要經濟體加快人工智慧戰略布局

人工智慧作為引領未來的戰略性技術,目前全球主要經濟體都將人工智慧作為提升國家競爭力、維護國家安全的重大戰略。自2013年以來,包括美國、中國、歐盟、英國、日本、德國、法國、韓國、印度、丹麥、芬蘭、紐西蘭、俄羅斯、加拿大、新加坡、阿聯酋、義大利、瑞典、荷蘭、越南、西班牙等20多個國家和地區發布了人工智慧相關戰略、規劃或重大計劃,越來越多的國家加入到布局人工智慧的隊列中,從政策、資本、技術人才培養、應用基礎設施建設等方面為本國人工智慧的落地保駕護航。

❻ 神經網路中自適應的梯度下降優化演算法(二)

Adagrad演算法可以針對不同的參數自適應的採用不同的更新頻率,對低頻出現的特徵採用低的更新率,對高頻出現的特徵採用高的更新率,因此,對於稀疏的數據它表現的很好,很好的提升了SGD的魯棒性,在Google的通過Youtube視頻識別貓的神經網路訓練中有很好的表現。

梯度更新規則:

g(t,i)表示在t時刻目標函數對θ(i)的偏導數。SGD的每個參數的更新過程如下:

Adagrad的每個參數更新過程如下:

G(t)是一個對角矩陣,對角線上的每個元素是t時刻前所有θ(i)的梯度的平方和。ε通常取值在1e-8量級,它的存在是為了避免除數為0。一個有趣的現象是,如果沒有平方根操作,演算法的表現就非常糟糕。

Adagrad的主要缺點是,它的分母是平方梯度的累積,它的值會一直增加,最終導致學習率衰減到非常小,從而使得學習演算法無法進行下去。

TensorFlow實現:

tf.train.AdagradOptimizer(learning_rate, initial_accumulator_value=0.1, use_locking=False, name='Adagrad')

Adadelta演算法主要解決Adagrad的缺陷,它不再累加過去所有的梯度,而是僅累積過去固定個數的梯度。

Adadelta不是採用平方梯度的簡單累加,而是採用 歷史 平方梯度的衰減的平均。

γ通常等於0.9

分母相當於梯度的均方根(root mean squared, RMS),即將所有值平方求和,求其均值,再開平方,就得到均方根值。

梯度更新規則:

將學習率η設置為

,我們就不需要提前設定學習率。

RMSprop是Geoff Hinton提出的一種自適應學習率的方法,它與Adadelta方法都是為了解決Adagrad學習率急劇下降問題的。它與Adadelta方法是一致的。

梯度更新規則

超參數設定值:

Hinton建議設定γ=0.9, 學習率η=0.001。

TensorFlow實現:

tf.train.RMSPropOptimizer.__init__(learning_rate, decay, momentum=0.0, epsilon=1e-10, use_locking=False, name='RMSProp')

Adam也是對不同的參數自適應設置不同的學習率。它對 歷史 梯度和 歷史 平方梯度同時採用指數梯度衰減(exponentially decaying average)。

梯度更新規則

Adam作者觀察到,如果m(t)和v(t)初始化為零向量,並且衰減率很小時(比如β1和β2都非常接近於1時),在開始的迭代中,m(t)和v(t)總是向零偏移,所以需要做偏移校正。

然後用校正後的值進行梯度更新:

Adam作者建議β1=0.9,β2=0.999,ε=10^{-8}

,在實踐中,Adam比其它演算法的效果要好。

TensorFlow實現:

tf.train.AdamOptimizer(learning_rate=0.001, beta1=0.9, beta2=0.999, epsilon=1e-08, use_locking=False, name='Adam')

Adam更新規則中的梯度縮放與 歷史 梯度的L2范數成反比。

我們可以把這個規則泛化到Lp范數。

當p值增大的時候,Lp的值往往會變得不穩定,所以在實踐中L1和L2使用的比較普遍。但是Adamax作者發現L∞可以收斂到一個穩定值。

然後我們可以採用u(t)代替

來更新Adam中的梯度。

同時u(t)不需要做零偏校正。默認取值建議:

❼ 究竟深度學習在干什麼

深度學習的概念源於人工神經網路的研究。含多隱層的多層感知器就是一種深度學習結構。深度學習通過組合低層特徵形成更加抽象的高層表示屬性類別或特徵,以發現數據的分布式特徵表示。 [1]
深度學習的概念由Hinton等人於2006年提出。基於深度置信網路(DBN)提尺滲出非監督貪心逐層訓練演算法,為解決深層陵譽脊結構相關的優化難題帶來希望虛悔,隨後提出多層自動編碼器深層結構。此外Lecun等人提出的卷積神經網路是第一個真正多層結構學習演算法,它利用空間相對關系減少參數數目以提高訓練性能。 [1]

❽ 神經網路淺談

人工智慧技術是當前炙手可熱的話題,而基於神經網路的深度學習技術更是熱點中的熱點。去年穀歌的Alpha Go 以4:1大比分的優勢戰勝韓國的李世石九段,展現了深度學習的強大威力,後續強化版的Alpha Master和無師自通的Alpha Zero更是在表現上完全碾壓前者。不論你怎麼看,以深度學習為代表的人工智慧技術正在塑造未來。

下圖為英偉達(NVIDIA)公司近年來的股價情況, 該公司的主要產品是「圖形處理器」(GPU),而GPU被證明能大大加快神經網路的訓練速度,是深度學習必不可少的計算組件。英偉達公司近年來股價的飛漲足以證明當前深度學習的井噴之勢。

好,話不多說,下面簡要介紹神經網路的基本原理、發展脈絡和優勢。

神經網路是一種人類由於受到生物神經細胞結構啟發而研究出的一種演算法體系,是機器學習演算法大類中的一種。首先讓我們來看人腦神經元細胞:

一個神經元通常具有多個樹突 ,主要用來接受傳入信息,而軸突只有一條,軸突尾端有許多軸突末梢,可以給其他多個神經元傳遞信息。軸突末梢跟其他神經元的樹突產生連接,從而傳遞信號

下圖是一個經典的神經網路(Artificial Neural Network,ANN):

乍一看跟傳統互聯網的拓撲圖有點類似,這也是稱其為網路的原因,不同的是節點之間通過有向線段連接,並且節點被分成三層。我們稱圖中的圓圈為神經元,左邊三個神經元組成的一列為輸入層,中間神經元列為隱藏層,右邊神經元列為輸出層,神經元之間的箭頭為權重。

神經元是計算單元,相當於神經元細胞的細胞核,利用輸入的數據進行計算,然後輸出,一般由一個線性計算部分和一個非線性計算部分組成;輸入層和輸出層實現數據的輸入輸出,相當於細胞的樹突和軸突末梢;隱藏層指既不是輸入也不是輸出的神經元層,一個神經網路可以有很多個隱藏層。

神經網路的關鍵不是圓圈代表的神經元,而是每條連接線對應的權重。每條連接線對應一個權重,也就是一個參數。權重具體的值需要通過神經網路的訓練才能獲得。我們實際生活中的學習體現在大腦中就是一系列神經網路迴路的建立與強化,多次重復的學習能讓迴路變得更加粗壯,使得信號的傳遞速度加快,最後對外表現為「深刻」的記憶。人工神經網路的訓練也借鑒於此,如果某種映射關系出現很多次,那麼在訓練過程中就相應調高其權重。

1943年,心理學家McCulloch和數學家Pitts參考了生物神經元的結構,發表了抽象的神經元模型MP:

符號化後的模型如下:

Sum函數計算各權重與輸入乘積的線性組合,是神經元中的線性計算部分,而sgn是取符號函數,當輸入大於0時,輸出1,反之輸出0,是神經元中的非線性部分。向量化後的公式為z=sgn(w^T a)(w^T=(w_1,w_2,w_3),a=〖(a_1,a_2,a_3)〗^T)。

但是,MP模型中,權重的值都是預先設置的,因此不能學習。該模型雖然簡單,並且作用有限,但已經建立了神經網路大廈的地基

1958年,計算科學家Rosenblatt提出了由兩層神經元組成(一個輸入層,一個輸出層)的神經網路。他給它起了一個名字–「感知器」(Perceptron)

感知器是當時首個可以學習的人工神經網路。Rosenblatt現場演示了其學習識別簡單圖像的過程,在當時引起了轟動,掀起了第一波神經網路的研究熱潮。

但感知器只能做簡單的線性分類任務。1969年,人工智慧領域的巨擘Minsky指出這點,並同時指出感知器對XOR(異或,即兩個輸入相同時輸出0,不同時輸出1)這樣的簡單邏輯都無法解決。所以,明斯基認為神經網路是沒有價值的。

隨後,神經網路的研究進入低谷,又稱 AI Winter 。

Minsky說過單層神經網路無法解決異或問題,但是當增加一個計算層以後,兩層神經網路不僅可以解決異或問題,而且具有非常好的非線性分類效果。

下圖為兩層神經網路(輸入層一般不算在內):

上圖中,輸出層的輸入是上一層的輸出。

向量化後的公式為:

注意:

每個神經元節點默認都有偏置變數b,加上偏置變數後的計算公式為:

同時,兩層神經網路不再使用sgn函數作為激勵函數,而採用平滑的sigmoid函數:

σ(z)=1/(1+e^(-z) )

其圖像如下:

理論證明: 兩層及以上的神經網路可以無限逼近真實的對應函數,從而模擬數據之間的真實關系 ,這是神經網路強大預測能力的根本。但兩層神經網路的計算量太大,當時的計算機的計算能力完全跟不上,直到1986年,Rumelhar和Hinton等人提出了反向傳播(Backpropagation,BP)演算法,解決了兩層神經網路所需要的復雜計算量問題,帶動了業界使用兩層神經網路研究的熱潮。

但好景不長,演算法的改進僅使得神經網路風光了幾年,然而計算能力不夠,局部最優解,調參等一系列問題一直困擾研究人員。90年代中期,由Vapnik等人發明的SVM(Support Vector Machines,支持向量機)演算法誕生,很快就在若干個方面體現出了對比神經網路的優勢:無需調參;高效;全局最優解。

由於以上原因,SVM迅速打敗了神經網路演算法成為主流。神經網路的研究再一次進入低谷, AI Winter again 。

多層神經網路一般指兩層或兩層以上的神經網路(不包括輸入層),更多情況下指兩層以上的神經網路。

2006年,Hinton提出使用 預訓練 」(pre-training)和「微調」(fine-tuning)技術能優化神經網路訓練,大幅度減少訓練多層神經網路的時間

並且,他給多層神經網路相關的學習方法賦予了一個新名詞–「 深度學習 」,以此為起點,「深度學習」紀元開始了:)

「深度學習」一方面指神經網路的比較「深」,也就是層數較多;另一方面也可以指神經網路能學到很多深層次的東西。研究發現,在權重參數不變的情況下,增加神經網路的層數,能增強神經網路的表達能力。

但深度學習究竟有多強大呢?沒人知道。2012年,Hinton與他的學生在ImageNet競賽中,用多層的卷積神經網路成功地對包含一千類別的一百萬張圖片進行了訓練,取得了分類錯誤率15%的好成績,這個成績比第二名高了近11個百分點,充分證明了多層神經網路識別效果的優越性。

同時,科研人員發現GPU的大規模並行矩陣運算模式完美地契合神經網路訓練的需要,在同等情況下,GPU的速度要比CPU快50-200倍,這使得神經網路的訓練時間大大減少,最終再一次掀起了神經網路研究的熱潮,並且一直持續到現在。

2016年基於深度學習的Alpha Go在圍棋比賽中以4:1的大比分優勢戰勝了李世石,深度學習的威力再一次震驚了世界。

神經網路的發展歷史曲折盪漾,既有被捧上神壇的高潮,也有無人問津的低谷,中間經歷了數次大起大落,我們姑且稱之為「三起三落」吧,其背後則是演算法的改進和計算能力的持續發展。

下圖展示了神經網路自發明以來的發展情況及一些重大時間節點。

當然,對於神經網路我們也要保持清醒的頭腦。由上圖,每次神經網路研究的興盛期持續10年左右,從最近2012年算起,或許10年後的2022年,神經網路的發展將再次遇到瓶頸。

神經網路作為機器學習的一種,其模型訓練的目的,就是使得參數盡可能的與真實的模型逼近。理論證明,兩層及以上的神經網路可以無限逼近真實的映射函數。因此,給定足夠的訓練數據和訓練時間,總能通過神經網路找到無限逼近真實關系的模型。

具體做法:首先給所有權重參數賦上隨機值,然後使用這些隨機生成的參數值,來預測訓練數據中的樣本。假設樣本的預測目標為yp ,真實目標為y,定義值loss,計算公式如下:

loss = (yp -y) ^2

這個值稱之為 損失 (loss),我們的目標就是使對所有訓練數據的損失和盡可能的小,這就轉化為求loss函數極值的問題。

一個常用方法是高等數學中的求導,但由於參數不止一個,求導後計算導數等於0的運算量很大,所以常用梯度下降演算法來解決這樣的優化問題。梯度是一個向量,由函數的各自變數的偏導數組成。

比如對二元函數 f =(x,y),則梯度∇f=(∂f/∂x,∂f/∂y)。梯度的方向是函數值上升最快的方向。梯度下降演算法每次計算參數在當前的梯度,然後讓參數向著梯度的反方向前進一段距離,不斷重復,直到梯度接近零時截止。一般這個時候,所有的參數恰好達到使損失函數達到一個最低值的狀態。下圖為梯度下降的大致運行過程:

在神經網路模型中,由於結構復雜,每次計算梯度的代價很大。因此還需要使用 反向傳播 (Back Propagation)演算法。反向傳播演算法利用了神經網路的結構進行計算,不一次計算所有參數的梯度,而是從後往前。首先計算輸出層的梯度,然後是第二個參數矩陣的梯度,接著是中間層的梯度,再然後是第一個參數矩陣的梯度,最後是輸入層的梯度。計算結束以後,所要的兩個參數矩陣的梯度就都有了。當然,梯度下降只是其中一個優化演算法,其他的還有牛頓法、RMSprop等。

確定loss函數的最小值後,我們就確定了整個神經網路的權重,完成神經網路的訓練。

在神經網路中一樣的參數數量,可以用更深的層次去表達。

由上圖,不算上偏置參數的話,共有三層神經元,33個權重參數。

由下圖,保持權重參數不變,但增加了兩層神經元。

在多層神經網路中,每一層的輸入是前一層的輸出,相當於在前一層的基礎上學習,更深層次的神經網路意味著更深入的表示特徵,以及更強的函數模擬能力。更深入的表示特徵可以這樣理解,隨著網路的層數增加,每一層對於前一層次的抽象表示更深入。

如上圖,第一個隱藏層學習到「邊緣」的特徵,第二個隱藏層學習到「邊緣」組成的「形狀」的特徵,第三個隱藏層學習到由「形狀」組成的「圖案」的特徵,最後的隱藏層學習到由「圖案」組成的「目標」的特徵。通過抽取更抽象的特徵來對事物進行區分,從而獲得更好的區分與分類能力。

前面提到, 明斯基認為Rosenblatt提出的感知器模型不能處理最簡單的「異或」(XOR)非線性問題,所以神經網路的研究沒有前途,但當增加一層神經元後,異或問題得到了很好地解決,原因何在?原來從輸入層到隱藏層,數據發生了空間變換,坐標系發生了改變,因為矩陣運算本質上就是一種空間變換。

如下圖,紅色和藍色的分界線是最終的分類結果,可以看到,該分界線是一條非常平滑的曲線。

但是,改變坐標系後,分界線卻表現為直線,如下圖:

同時,非線性激勵函數的引入使得神經網路對非線性問題的表達能力大大加強。

對於傳統的樸素貝葉斯、決策樹、支持向量機SVM等分類器,提取特徵是一個非常重要的前置工作。在正式訓練之前,需要花費大量的時間在數據的清洗上,這樣分類器才能清楚地知道數據的維度,要不然基於概率和空間距離的線性分類器是沒辦法進行工作的。然而在神經網路中,由於巨量的線性分類器的堆疊(並行和串列)以及卷積神經網路的使用,它對雜訊的忍耐能力、對多通道數據上投射出來的不同特徵偏向的敏感程度會自動重視或忽略,這樣我們在處理的時候,就不需要使用太多的技巧用於數據的清洗了。有趣的是,業內大佬常感嘆,「你可能知道SVM等機器學習的所有細節,但是效果並不好,而神經網路更像是一個黑盒,很難知道它究竟在做什麼,但工作效果卻很好」。

人類對機器學習的環節干預越少,就意味著距離人工智慧的方向越近。神經網路的這個特性非常有吸引力。

1) 谷歌的TensorFlow開發了一個非常有意思的神經網路 入門教程 ,用戶可以非常方便地在網頁上更改神經網路的參數,並且能看到實時的學習效率和結果,非常適合初學者掌握神經網路的基本概念及神經網路的原理。網頁截圖如下:

2) 深度學習領域大佬吳恩達不久前發布的《 神經網路和深度學習 》MOOC,現在可以在網易雲課堂上免費觀看了,並且還有中文字幕。

3) 《神經網路於深度學習》(Michael Nielsen著)、《白話深度學習與TensorFlow》也是不錯的入門書籍。

❾ 膠囊網路(一)

膠囊是一組神經元,其輸出代表同一實體的不同屬性。
膠囊網路的每一層都包含許多膠囊。
我們描述了一個膠囊的版本,其中每個膠囊都有一個邏輯單元來表示實體的存在和一個4x4矩陣,它可以學習表示實體和觀察者之間的關系(姿態)。
一個層中的膠囊通過將其自身的位姿矩陣乘以能夠學會表示部分-整體關系的可訓練的視點不變變換矩陣來為上面層中許多不同膠囊的位姿矩陣投票。
每個票數都由分配系數加權。使用期望最大化演算法迭代地更新每幅圖像的這些系數,這樣每個膠囊的輸出將被路由到上面一層中接收到一組類似投票的膠囊。
通過在每一對相鄰的包膜層之間的展開的EM迭代中反向傳播,對變換矩陣進行區分訓練。在smallNORB基準測試中,膠囊與最先進的相比減少了45%的測試錯誤。與我們的卷積神經網路相比,膠囊對白盒對抗攻擊也表現出更強的抵抗力。

卷積神經網路基於一個簡單的事實,即視覺系統需要在圖像的所有位置使用相同的知識。這是通過綁定特徵檢測器的權重來實現的,這樣在一個位置學習到的特徵在其他位置也可以使用。卷積膠囊擴展了跨位置的知識共享,包括描述熟悉形狀的部分-整體關系的知識。視點變化對像素強度有復雜的影響,但對表示物體或物體部分與觀察者之間關系的位姿矩陣有簡單的線性影響。膠囊的目的是充分利用這種潛在的線性,既用於處理視點變化,也用於改進分割決策。

膠囊使用高維符合濾波:一個熟悉的對象可以通過尋找其位姿矩陣的一致投票來檢測。這些選票來自已經被檢測到的部分。一個部件通過將它自己的位姿矩陣乘以一個學習過的變換矩陣來產生一個投票,這個變換矩陣表示部件和整體之間的視點不變關系。當視點改變時,各部分和整體的姿態矩陣將以協調的方式改變,以便來自不同部分的投票之間的任何一致意見將持續存在。

在一團不相關的選票中找到密集的高維投票簇,這是解決將部分分配給整體問題的一種方法。這不是小事,因為我們不能像對低維平移空間網兄轎格化那樣對高維位姿空間網格化,以方便卷積。解決這一挑戰,我們使用一個快速的迭代過程稱為路由協議更新的概櫻塵清率部分分配給一個完整的基於距離的選票來自這部分的選票來自其他部分分配給整個。這是一個強大的分割原則,允許熟悉的形狀的知識推導分割,而不是僅僅使用低層次的線索,如接近或一致的顏色或速度。膠囊和標准神經網路的一個重要區別是,膠囊的激活是基於對多個傳入的姿態預測的比較,而在標准神經網路中,它是基於對單個傳入的活動向量和學習的權值向量的比較。

神經網路通常使用簡單的非線性,其中非線性函數應用於線性濾波器的標量輸出。
他們也可以使用softmax非線性將整個對數向脊前量轉換為概率向量。膠囊使用一種更為復雜的非線性,將一層中膠囊的整個激活概率和姿態轉換為下一層的激活概率和姿態。

膠囊網由幾層膠囊組成。第L層的膠囊集合記為L,每個膠囊有4x4位元矩陣M和激活概率a。這些類似於標准神經網路中的活動:它們依賴於電流輸入,不被存儲。
在L層的每個膠囊i和L + 1層的每個膠囊j之間是一個4x4可訓練的變換矩陣Wij。
這些Wij(以及每個膠囊的兩個習得偏差)是唯一存儲的參數,它們是有區別地習得的。膠囊的姿態矩陣轉換,維琪投票Vij = MiWij膠囊的姿態矩陣j。所有的膠囊層的姿態和激活在層L + 1使用非線性路由程序計算,得到即輸入Vij和ai對所有i ∈ ΩL, j ∈ ΩL+1.

非線性過程是期望最大化過程的一個版本。它迭代地調整L+1層中膠囊的均值、方差和激活概率以及所有i ∈ ΩL, j ∈ ΩL+1之間的分配概率。在附錄1中,我們簡單直觀地介紹了協議路由,並詳細描述了它與擬合高斯混合的EM演算法之間的關系。

在最近改善神經網路處理視點變化能力的多種嘗試中,有兩大主流。
一個流試圖實現視點的不變性,而另一個流試圖實現視點的等方差。
Jaderberg等人(2015)提出的《空間變壓器網路》(Spatial Transformer Networks)通過根據仿射變換的選擇改變cnn的采樣來尋求視點不變性。
De Brabandere等人(2016)擴展了空間變壓器網路,在推理過程中根據輸入調整濾波器。它們為特徵圖中的每個局部生成不同的過濾器,而不是對所有的過濾器應用相同的轉換。他們的方法是傳統模式匹配框架(如標準的CNNs)向輸入協方差檢測邁出的一步(LeCun et al., 1990)。Dai等人(2017)對空間變壓器網路進行了改進,推廣了濾波器的采樣方法。我們的工作有很大的不同,因為單元不是根據過濾器的匹配分數激活的(在推理過程中固定或動態改變)。在我們的例子中,一個膠囊被激活,只有當轉換的姿態來自下面的層相互匹配。這是捕獲協方差的一種更有效的方法,並導致模型具有更少的參數,從而更好地泛化。

CNNs的成功促使許多研究人員將嵌入到CNNs中的翻譯等方差擴展到旋轉等方差(Cohen & Welling (2016), Dieleman等人(2016),Oyallon & Mallat(2015))。
諧波網路中最近的方法(Worrall et al.(2017))通過使用圓形諧波濾波器和使用復數返回最大響應和方向來實現旋轉等變特徵映射。這與「膠囊」的基本表徵思想相同:通過假設一個位置上只有一個實體實例,我們可以使用幾個不同的數字來表示它的屬性。他們使用固定數量的流的旋轉命令。通過強制沿任何路徑的旋轉順序和相等,它們實現了貼片方向的旋轉等方差。這種方法比數據增加方法、復制特徵圖或復制過濾器更具有參數效率(Fasel & Gatica-Perez(2006)、Laptev等人(2016))。我們的方法編碼一般的視點等方差,而不是僅僅仿射二維旋轉。對稱網路(Gens & Domingos(2014))使用迭代的Lucas-Kanade優化來找到最低級特徵支持的姿勢。它們的主要缺點是迭代演算法總是以相同的姿態開始,而不是以自底向上投票的均值開始。

Lenc & Vedaldi(2016)提出了一種特徵檢測機制(DetNet),它與仿射變換是等變的。DetNet被設計用於檢測在不同視點變化下的圖像中的相同點。這與我們的工作是正交的,但是DetNet可能是實現第一級還原的好方法,它激活了主膠囊層。

我們的路由演算法可以看作是一種注意機制。這個觀點中,這與Gregor等人(2015)的工作有關,他們在生成模型中使用高斯核來關注編碼器生成的feature map的不同部分,從而提高了解碼器的性能。Vaswani等人(2017)在為查詢生成編碼時,使用softmax函數注意機制來匹配翻譯任務的部分查詢序列和部分輸入序列。它們顯示了使用循環架構對以前的轉換工作的改進。我們的演算法關注的是相反的方向。競爭並不存在於較低級別的膠囊之間,而較高級別的膠囊可能會參與競爭。它是在較高級別的膠囊之間,一個較低級別的膠囊可以發送它的投票。

Hinton等人(2011)在轉換自動編碼器中使用了一個變換矩陣,該編碼器學會了從稍微不同的視角將立體圖像對轉換為立體圖像對。但是,該系統需要從外部提供轉換矩陣。最近,協議路由被證明對高度重疊的數字分割是有效的(Sabour等(2017)),但該系統存在一些缺陷,我們在本文中已經克服了這些缺陷

基於Sabour等人(2017)的工作,我們提出了一種新型膠囊系統,其中每個膠囊都有一個物流單元來表示實體的存在,以及一個4x4位姿矩陣來表示該實體的位姿。我們還基於EM演算法在膠囊層之間引入了一種新的迭代路由過程,該過程允許將每個低層膠囊的輸出路由到上層的膠囊,從而使活動膠囊接收到一組類似的姿態投票。這個新系統在smallNORB數據集上取得了比最先進的CNN更好的精度,減少了45%的錯誤。我們也證明了它在對抗白盒攻擊時比基線CNN更加強大。

SmallNORB是開發新的精確形狀識別模型的理想數據集,因為它缺少野外圖像的許多附加特徵。既然我們的capsule模型在NORB上工作得很好,我們計劃實現一個有效的版本,在更大的數據集(比如ImageNet)上測試更大的模型。

❿ AI面試題第二彈(神經網路基礎)

提取主要特徵,減小網路參數量,減小計算量

層層傳遞的梯度>1 梯度爆炸

層層傳遞的梯度<1 梯度消失

與權重有很大關系,激活函數的影響較小。

每次訓練一層隱節點,訓練時將上一層隱節點的輸出作為輸入,而本層隱節點的輸出作為下一層隱節點的輸入,此過程就是逐層「預訓練」(pre-training);在預訓練完成後,再對整個網路進行「微調」(fine-tunning)。Hinton在訓練深度信念網路(Deep Belief Networks中,使用了這個方法,在各層預訓練完成後,再利用BP演算法對整個網路進行訓練。

這個方案主要是針對梯度爆炸提出的,其思想是設置一個梯度剪切閾值,然後更新梯度的時候,如果梯度超過這個閾值,那麼就將其強制限制在這個范圍之內。這可以防止梯度爆炸。

比較常見的是l1l1l1正則,和l2l2l2正則,在各個深度框架中都有相應的API可以使用正則化

反向傳播中,經過每一層的梯度會乘以該層的權重。

舉個簡單例子:

為了得到一致假設而使假設變得過度復雜稱為過擬合(overfitting), 過擬合表現在訓練好的模型在訓練集上效果很好,但是在測試集上效果差 。也就是說模型的泛化能力弱。

過擬合主要由兩個原因造成,數據集太小或模型太復雜

(1). 數據集擴增(Data Augmentation)

(2). 改進模型

·Early Stopping。在模型效果比較好的時候便提前停止訓練

 ·正則化(regularization)

L1:稀疏參數

L2:更小參數

·Dropout

·多任務學習

深度學習中兩種多任務學習模式:隱層參數的硬共享和軟共享

硬共享機制是指在所有任務中共享隱藏層,同時保留幾個特定任務的輸出層來實現。硬共享機制降低了過擬合的風險。多個任務同時學習,模型就越能捕捉到多個任務的同一表示,從而導致模型在原始任務上的過擬合風險越小。

軟共享機制是指每個任務有自己的模型,自己的參數。模型參數之間的距離是正則化的,以便保障參數相似性。

見後文

leaky relu

輸入是x輸出是y,正常的流程是:我們首先把x通過網路前向傳播,然後把誤差反向傳播以決定如何更新參數讓網路進行學習。使用Dropout之後,過程變成如下:

(1)首先隨機(臨時)刪掉網路中一半的隱藏神經元,輸入輸出神經元保持不變(圖中虛線為部分臨時被刪除的神經元)

(2) 然後把輸入x通過修改後的網路前向傳播,然後把得到的損失結果通過修改的網路反向傳播。一小批訓練樣本執行完這個過程後,在沒有被刪除的神經元上按照隨機梯度下降法更新對應的參數(w,b)。

(3)然後繼續重復這一過程:

恢復被刪掉的神經元(此時被刪除的神經元保持原樣,而沒有被刪除的神經元已經有所更新)

從隱藏層神經元中隨機選擇一個一半大小的子集臨時刪除掉(備份被刪除神經元的參數)。

對一小批訓練樣本,先前向傳播然後反向傳播損失並根據隨機梯度下降法更新參數(w,b) (沒有被刪除的那一部分參數得到更新,刪除的神經元參數保持被刪除前的結果)。

不斷重復這一過程。

沒有對數據進行歸一化

忘記檢查輸入和輸出

沒有對數據進行預處理

沒有對數據正則化

使用過大的樣本

使用不正確的學習率

在輸出層使用錯誤的激活函數

網路中包含壞梯度

初始化權重錯誤

過深的網路

隱藏單元數量錯誤

網路設計不合理(任務-網路不匹配)

機器學習有個很重要的假設:就是假設訓練數據和測試數據是滿足獨立同分布的,這保障了通過訓練數據獲得的優秀模型也能夠在測試集獲得好的效果。但是在機器學習訓練中輸入層的每個批量(X,Y)中X的分布是不一致的,並且神經網路的隱藏層的輸入分布在每次訓練迭代中發生變化。 BatchNorm就是在深度神經網路訓練過程中使得每一層神經網路的輸入保持相同分布的。

BN的基本思想其實相當直觀:因為深層神經網路在做非線性變換前(激活前)的 輸入值 (就是那個x=WU+B,U是輸入) 隨著網路深度加深或者在訓練過程中,其分布逐漸發生偏移或者變動,之所以訓練收斂慢,一般是整體分布逐漸往非線性函數的取值區間的上下限兩端靠近 (對於Sigmoid函數來說,意味著激活輸入值WU+B是大的負值或正值),所以這 導致反向傳播時低層神經網路的梯度消失 ,這是訓練深層神經網路收斂越來越慢的 本質原因 , 而BN就是通過一定的規范化手段,把每層神經網路任意神經元這個輸入值的分布強行拉回到均值為0方差為1的標准正態分布 ,其實就是把越來越偏的分布強制拉回比較標準的分布,這樣使得激活輸入值落在非線性函數對輸入比較敏感的區域,這樣輸入的小變化就會導致損失函數較大的變化,意思是 這樣讓梯度變大,避免梯度消失問題產生,而且梯度變大意味著學習收斂速度快,能大大加快訓練速度。

但是接下來的問題是:如果都通過BN,那麼不就跟把非線性函數替換成線性函數效果相同了,意味著網路的非線性表達能力下降了, 所以BN為了保證非線性的獲得,對變換後的滿足均值為0方差為1的x又進行了scale加上shift操作(y=scale*x+shift), 每個神經元增加了兩個參數scale和shift參數,這兩個參數是通過訓練學習到的,意思是通過scale和shift把這個值從標准正態分布左移或者右移一點並長胖一點或者變瘦一點,每個實例挪動的程度不一樣,這樣等價於激活前的值經過標准正太分布歸一化後再從正中心周圍的線性區往非線性區動了動。核心思想應該是想找到一個線性和非線性的較好平衡點,既能享受非線性的較強表達能力的好處,又避免太靠非線性區兩頭使得網路收斂速度太慢

Batch Normalization 好處:(1)提高了訓練速度,收斂速度也大大加快(2)另外調參過程也簡單多了,對於初始化要求沒那麼高,而且可以使用大的學習率等 (3)可以防止梯度消失(4)BN類似於Dropout的一種防止過擬合的正則化表達方式,可以有效防止過擬合,不用太依賴dropou和正則化

以下情況最好不要使用BN:(1)數據不平衡(2)batch_size太小

batch_size是機器學習中的一個重要參數,決定了梯度下降的方向,如果數據集比較小,完全可以採用全數據集的形式計算梯度,由全數據集確定的梯度方向能夠更好地代表樣本總體,從而更准確地朝向極值所在的方向。對於大型數據集則需要使用mini-batch_size,因為隨著數據集的海量增長和內存限制,一次性載入所有的數據進來變得越來越不可行。

當batch_size=1,即在線學習,模型難以達到收斂 。

合理增加batch_size好處 :

(1)內存利用率提高了,大矩陣乘法的並行化效率提高

(2)跑完一次 epoch(全數據集)所需的迭代次數減少,對於相同數據量的處理速度進一步加快。

(3)在一定范圍內,一般來說 Batch_Size 越大,其確定的下降方向越准,引起訓練震盪越小

盲目增大 Batch_Size 壞處 :

(1)內存利用率提高了,但是內存容量可能撐不住了

(2)跑完一次 epoch(全數據集)所需的迭代次數減少,要想達到相同精度所需要的 epoch 數量越來越多,花費的時間越長

(3)大的batchsize收斂到sharp minimum,而小的batchsize收斂到flat minimum,後者具有更好的泛化能力。

總之batchsize在變得很大(超過一個臨界點)時,會降低模型的泛化能力。在這個臨界點之下,模型的性能變換隨batch size通常沒有學習率敏感

    目標所在的真實框(ground truth) 與演算法預測的目標所在的框(bounding box)的交集與並集的比值,我們會用IOU閾值來判定預測的bounding box是否有效。一般閾值會設定在0.5,當IOU的值大於等於0.5時,我們會把這個預測的bounding box 歸為正類,而小於0.5的歸為負類。

牛頓法使用的是目標函數的二階導數,在高維情況下這個Hessian(n*n維度)矩陣非常大,計算復雜度是n*n,計算和存儲都是問題

(1) 通過控制卷積核個數實現升維或者降維,從而減少模型參數和計算量

(2) 用於不同channel上特徵的融合

(3)1x1的卷積相當於全連接層的計算過程,並且加入了非線性激活函數,從而增加了網路的非線性,使得網路可以表達更加復雜的特徵。

它能夠把輸入的連續實值變換為0和1之間的輸出,如果是非常大的負數,那麼輸出就是0;如果是非常大的正數,輸出就是1

缺點:

(1)函數的飽和區,導致梯度幾乎為0,造成梯度消失問題

(2)Sigmoid 的 output 不是0均值,具體解釋見 https://blog.csdn.net/tyhj_sf/article/details/79932893

(3)其解析式中含有冪運算,計算機求解時相對來講比較耗時。對於規模比較大的深度網路,這會較大地增加訓練時間。

它解決了Sigmoid函數的不是零均值輸出問題,然而,梯度消失(gradient vanishing)的問題和冪運算的問題仍然存在。

(1)在正區間解決了梯度消失的問題

(2)函數簡單,計算速度快,收斂速度遠快於sigmoid和tanh

缺點:

(1)Relu函數輸出不是0均值

(2)神經元壞死問題:指的是某些神經元可能永遠不會被激活,導致相應的參數永遠不能被更新,有兩個主要原因導致這種狀況發生

        (1) 非常不幸的參數初始化,這種情況比較少見 

        (2) learning rate太高導致在訓練過程中參數更新太大,不幸使網路進入這種狀態。解決方法是可以採用Xavier初始化方法,以及避免將learning rate設置太大或使用adagrad等自動調節learning rate的演算法

為了解決ReLU函數帶來的神經元壞死問題 , 提出了將ReLU的前半段設為αx,α通常設為0.01,,另外一種直觀的想法是基於參數的方法PReLU函數, α可由方向傳播演算法學習出來。

ELU也是為解決ReLU存在的問題而提出,顯然,ELU有ReLU的基本所有優點,以及:(1)不會有神經元壞死現象(2)函數輸出均值接近於0

但是ELU的小問題就是計算量稍微有點大。

1、使用不同的激活函數,比如Relu,Leak-Relu,PRelu,elu等激活函數代替sigmoid函數

2、使用Batch Normalizaion(批量歸一化)

3、使用殘差網路

4、預訓練加微調

1、梯度裁剪

2、權重正則化

兩個3x3的卷積核的感受野比5x5的卷積核的感受野大,在保持相同感受野的同時,用3x3的卷積核可以提升網路的深度,可以很明顯的減少計算量。

1、局部連接

2、權值共享:減小參數量

3、池化操作:增大感受野

4、多層次結構:可以提取low-level以及high-level的信息

1、數據集太小,數據樣本不足時,深度學習相對其它機器學習演算法,沒有明顯優勢。

2、數據集沒有局部相關特性,目前深度學習表現比較好的領域主要是圖像/語音/自然語言處理等領域,這些領域的一個共性是局部相關性。圖像中像素組成物體,語音信號中音位組合成單詞,文本數據中單片語合成句子,這些特徵元素的組合一旦被打亂,表示的含義同時也被改變。對於沒有這樣的局部相關性的數據集,不適於使用深度學習演算法進行處理。舉個例子:預測一個人的健康狀況,相關的參數會有年齡、職業、收入、家庭狀況等各種元素,將這些元素打亂,並不會影響相關的結果。

作用 :對輸入的特徵圖進行壓縮,

一方面使特徵圖變小,簡化網路計算復雜度;

一方面進行特徵壓縮,提取主要特徵。

通常來講,max-pooling的效果更好,雖然max-pooling和average-pooling都對數據做了下采樣,但是 max-pooling感覺更像是做了特徵選擇,選出了分類辨識度更好的特徵,提供了非線性 。 pooling的主要作用一方面是去掉冗餘信息,一方面要保留feature map的特徵信息,在分類問題中,我們需要知道的是這張圖像有什麼object,而不大關心這個object位置在哪,在這種情況下顯然max pooling比average pooling更合適。在 網路比較深的地方,特徵已經稀疏了,從一塊區域里選出最大的,比起這片區域的平均值來,更能把稀疏的特徵傳遞下去 。

average-pooling更強調對整體特徵信息進行一層下采樣,在減少參數維度的貢獻上更大一點,更多的體現在 信息的完整傳遞這個維度 上,在一個很大很有代表性的模型中,比如說DenseNet中的模塊之間的連接大多採用average-pooling,在減少維度的同時,更有利信息傳遞到下一個模塊進行特徵提取。

average-pooling在 全局平均池化操作 中應用也比較廣,在ResNet和Inception結構中最後一層都使用了平均池化。有的時候在模型接近 分類器的末端使用全局平均池化還可以代替Flatten操作 ,使輸入數據變成一位向量。

CNN網路中另外一個不可導的環節就是Pooling池化操作,因為Pooling操作使得feature map的尺寸變化,假如做2×2的池化(步長也為2),假設那麼第l+1層的feature map有16個梯度,那麼第l層就會有64個梯度,這使得梯度無法對位的進行傳播下去。其實解決這個問題的思想也很簡單,就是把1個像素的梯度傳遞給4個像素,但是需要保證傳遞的loss(或者梯度)總和不變。根據這條原則,mean pooling和max pooling的反向傳播也是不同的

mean pooling的前向傳播就是把一個patch中的值求取平均來做pooling,那麼反向傳播的過程也就是把 某個元素的梯度等分為n份分配給前一層,這樣就保證池化前後的梯度(殘差)之和保持不變 ,圖示如下 :

(2) max pooling

max pooling也要滿足梯度之和不變的原則 ,max pooling的前向傳播是把patch中最大的值傳遞給後一層,而其他像素的值直接被舍棄掉。那麼 反向傳播也就是把梯度直接傳給前一層某一個像素,而其他像素不接受梯度,也就是為0。 所以max pooling操作和mean pooling操作不同點在於需要記錄下池化操作時到底哪個像素的值是最大,也就是max id,這個變數就是記錄最大值所在位置的,因為在反向傳播中要用到,那麼假設前向傳播和反向傳播的過程就如下圖所示 :

28、細粒度分類

29、LSTM&RNN

30、解釋LSTM結構(相對於RNN)的好處

31、RNN的梯度消失原因和解決辦法

32、Object Detection

33、Unet的介紹

34、FCN和Unet的區別

35、RCNN系列的演算法流程和區別

36、Fast RCNN中 bbox 回歸的損失函數什麼

37、解釋 ROI Pooling 和 ROI Align

38、Mask RCNN中 mask branch 如何接入 Faster RCNN中

39、解釋 FPN

40、解釋 ROI Align

41、簡述 YOLO 和 SSD

42、簡述 Hough 直線檢測、Sobel 邊緣檢測演算法流程

43、Mask RCNN中的anchors如何判定為正負樣本

44、簡述 NMS 演算法流程

45、attention起源是用在哪裡?pixel還是frame,是soft還是hard

46、anchor的正負樣本比是多少

47、演算法和激活函數等

48、BN的原理和作用

49、BN層反向傳播,怎麼求導

50、BN 的作用和缺陷,以及針對batch_size小的情況的改進(GN)

51、BN層,先加BN還是激活,有什麼區別

52、手推BP

53、優化演算法舉例和他們的區別(SGD、SGDM、RMSprop、Adam)

54、隨機梯度下降和梯度下降

55、訓練不收斂的原因有哪些

56、簡述 SVM 流程、核函數尋參及常見的核函數舉例

57、batch_size 和 learning rate 的關系(怎麼平衡和調整二者)

58、解釋過擬合和欠擬合,以及解決方法

59、激活函數有哪些,各自區別

60、損失函數有哪些

61、Sigmoid 和 ReLu 對比(各自優缺點)

62、為什麼不用sigmoid而用relu?做出了哪些改進?

63、梯度消失和梯度爆炸的原因和解決方法

64、Precision 和 Recall 的定義

65、精確率高、召回率低是為什麼

66、SVM,線性回歸和邏輯回歸的原理及區別

67、PCA原理,PCA和SVD的區別和聯系

68、正則化怎麼選擇,有哪些方式

69、L1、L2范數,區別

70、boost、Adaboost

71、dropout和batch normalization

72、講一下決策樹和隨機森林

73、講一下GBDT的細節,寫出GBDT的目標函數。 GBDT和Adaboost的區別與聯系

74、偏差、方差

75、距離度量公式哪些,區別

76、多標簽識別怎麼做

77、data argumentation怎麼處理的

78、數據不均衡怎麼處理、只有少量帶標簽怎麼處理

79、權重初始化方法都有哪些

80、權值衰減這個參數怎麼設置

81、分類問題有哪些評價指標?每種的適用場景。

82、無監督學習了解哪些

83、圖像處理Opencv

84、邊緣檢測運算元有哪些

85、霍夫變換

86、直方圖是什麼

87、canny運算元是怎麼做的

88、圖像的特徵提取有哪些演算法,適用范圍、優缺點

參考:

https://blog.csdn.net/bluesliuf/article/details/89389117

https://zhuanlan.hu.com/p/107279000

https://zhuanlan.hu.com/p/56475281

閱讀全文

與hinton膠囊網路怎麼用相關的資料

熱點內容
在貼吧里如何查看網路連接 瀏覽:874
無限網路連接搜不到網路 瀏覽:867
LTE網路中的eNB指什麼 瀏覽:392
哪個省的網路黑子最多 瀏覽:145
5g網路對手機有要求嗎 瀏覽:197
為什麼網路貓線頭插進去會有火花 瀏覽:494
小貓咪網路什麼意思 瀏覽:418
收不到無線也沒網路 瀏覽:963
1g網路技術是哪個國家發明的 瀏覽:303
wifi需要認證網路 瀏覽:753
米粉卡不能設置網路 瀏覽:856
數據網路自動連接不上怎麼辦 瀏覽:688
新手機沒網路怎麼激活 瀏覽:628
繽瑞網路如何開通 瀏覽:87
電腦網路空間無限寬 瀏覽:211
網路與新媒體和醫學哪個好 瀏覽:702
共享單車網路連接 瀏覽:951
計算機網路設計課程設計實踐作業 瀏覽:689
無線網路的貓往哪個孔上插 瀏覽:809
駕照網路考試復核成功後做些什麼 瀏覽:35

友情鏈接