Categories
程式開發

過去一年,機器學習和深度學習領域的頂級研究論文盤點


本文作者在過去一年編輯了大量探索機器學習和深度學習的文章(這裡有更多信息),因此想花點時間著重介紹最有趣的一些論文和研究,並分享了代碼實現鏈接,以便廣大開發者親自嘗試。 (每篇論文分別給出了代碼庫和論文兩個地址,點擊文字即可訪問)

本文最初發佈於Medium,經原作者授權由InfoQ中文站翻譯並分享。

對比表徵蒸餾

這篇模型蒸餾領域的論文利用對比目標族來捕獲相關性和高階輸出相關性。在這篇文章中,它們被用來將知識從一個神經網絡提取到另一個神經網絡。

HobbitLong/RepDistiller

該庫包含論文“對比表徵蒸餾(CRD)”的實現

這篇論文考慮了三個蒸餾階段:

  • 模型壓縮
  • 將知識從一種形態轉為另一種形態(如RGB到深度)
  • 將一系列網絡蒸餾成一個網絡

對比表徵蒸餾:我們常常希望將表徵性知識從一個神經網絡轉移到另一個神經網絡。例如,蒸餾

對比學習的主要思想是學習一個在某些度量空間中正對接近、負對遠離的表示。

通過可轉換結構搜索進行網絡修剪

這是一篇網絡修剪領域的論文。本文提出將神經網絡結構搜索直接應用於具有靈活通道和層大小的網絡。最小化修剪後,網絡的損失在學習通道的數量方面會有所幫助。

通過可轉換結構搜索進行網絡修剪

網絡修剪減少了超參數化網絡的計算成本,同時又不影響性能。

修剪後,網絡的特徵圖由K個基於概率分佈採樣的特徵圖片段組成,損失會反向傳播到網絡權值和參數化分佈。

D-X-Y/NAS-Projects

這個項目包含了以下在PyTorch中實現的神經結構搜索算法。更多的NAS資源……

本文提出的修剪方法分為三個階段:

  • 使用標準的分類訓練程序,訓練未修剪的大型網絡。
  • 通過可轉換結構搜索(TAS)來搜索小型網絡的深度和寬度,TAS旨在尋找網絡的最佳規模。
  • 利用簡單知識蒸餾(KD)方法將未剪枝網絡中的信息傳遞到搜索的小型網絡中。

用於對象檢測的數據擴充策略學習

雖然這本身不是一個模型架構,但本文提出創建可以應用於對象檢測數據集的轉換,這些轉換可以轉移到其他對象檢測數據集,這些轉換通常在訓練時應用,使用的策略的訓練代碼如下:

tensorflow/tpu

首先,確保在谷歌云上使用Tensorflow 1.13+。此外,還需要安裝一些包。

該模型將增強策略定義為訓練過程中隨機選擇的n個策略集合,該模型中應用的一些操作包括對顏色通道進行扭曲,對圖像進行幾何扭曲,僅對邊框標註中的像素內容進行扭曲。

用於對象檢測的數據擴充策略學習

數據擴充是訓練深度學習模型的重要組成部分,儘管數據擴充已被證明。

XLNet:面向語言理解的廣義自回歸預訓練

XLNet是轉換器領域非常令人興奮的研究方向。 XLNet是一種廣義的自回歸預訓練方法,它通過最大化因子分解順序所有排序的期望來實現雙向上下文學習。它不使用固定的前向或後向分解順序。

zihangdai/xlnet

XLNet是一種基於廣義排序語言的無監督語言表示學習方法。

該方法最大化了一個序列的所有可能的因子分解順序排列的期望對數似然。由於這些排列,每個位置的上下文可以由來自左邊和右邊的標記組成。由於每個位置都要學習利用所有位置的上下文信息,所以要捕獲雙向上下文。

XLNet:面向語言理解的廣義自回歸預訓練

通過對雙向上下文建模實現基於自編碼的去噪預訓練,與BERT類似。

Transformer-XL:一種超出固定長度上下文的注意力語言模型(ACL 2019)

Transformer-XL(意為超長)允許學習超過固定長度的依賴,而又不破壞時間一致性。它結合了片段級遞歸機制和位置編碼方案。 TransformerXL學習的依賴關係,比RNN長80%,比普通轉換器長450%。它可以在TensorFlow和PyTorch上使用。

Transformer-XL:一種超出固定長度上下文的注意力語言模型

轉換器有學習長期依賴關係的潛力,但受到固定長度上下文的限制。

論文作者將遞歸引入到他們的深層自註意力網絡中。它們重用前一片段中獲得的隱藏狀態,而不是從頭計算每個新片段的隱藏狀態。被重用的隱藏狀態充當遞歸片段的記憶。

kimiyoung/transformer-xl

這個存儲庫包含了論文中的PyTorch和TensorFlow代碼

這在片段之間建立了一種遞歸聯繫。由於信息是通過遞歸聯繫傳遞的,所以對長期依賴關係進行建模成為可能。作者還介紹了一個更有效的相對位置編碼公式,該公式可以推廣到比訓練中觀察到的更長的注意力長度。

無傳感器深度預測:利用單目視頻的無監督學習結構(AAAI 2019)

本文研究了場景深度和機器人自我運動的無監督學習,其中監督由單目視頻提供。這是通過在學習過程中引入幾何結構來實現的。它包括對場景和單個對象、攝像機的自我運動以及從單目視頻輸入中學習的對象運動建模。作者還介紹了一種在線優化方法。

tensorflow/model

這是一種基於單目視頻的無監督深度和自適應的學習方法。

作者介紹了一種與自我運動網絡結構相同的對象運動模型。不過,它專門用於預測單個3D物體的運動。

無傳感器深度預測:利用單目視頻的無監督學習結構

從RGB輸入中預測場景深度對於室內外機器人導航都是一項具有挑戰性的任務。

它以RGB圖像序列作為輸入,由預先計算的實例分割掩膜補充。運動模型的工作是學習預測三維空間中每個物體的變換向量,這會在相應的目標幀中創建觀察到的對像外觀。

Auto-Keras:一個高效的神經結構搜索系統

本文提出了一個框架,使貝葉斯優化指導網絡形態,從而獲得有效的NAS。基於他們的方法,作者們構建了一個名為Auto-Keras的開源AutoML系統。

keras-team/autokeras

Official Website: autokeras.com
Auto-Keras是一種用於自動化機器學習的開源軟件庫(AutomML)……

該方法的主要構建塊是在貝葉斯優化算法的指導下,通過變換神經結構來探索搜索空間。由於NAS空間不是歐幾里德空間,作者通過設計一個神經網絡核函數來解決這一挑戰。核函數是將一個神經結構變轉換為另一個神經結構的編輯距離。

Auto-Keras:一個高效的神經結構搜索系統

神經結構搜索(NAS)被提出用於自動調整深度神經網絡。

深度感知視頻幀插值(CVPR 2019)

本文提出了視頻幀插值方法,通過探測深度信息來檢測遮擋。作者開發了一種深度感知的流投影層,該層整合了對距離較近的物體進行採樣的直接流,而不是對距離較遠的物體進行採樣的直接流。

baowenbo/DAIN
Wenbo Bao, Wei-Sheng Lai, Chao Ma, Xiaoyun Zhang, Zhiyong Gao, and Ming-Hsuan Yang IEEE Con​​ference on Computer Vision…

層次化特徵學習是通過從相鄰像素處獲取上下文信息來實現的。然後,基於光流和局部插值核,通過扭曲輸入幀、深度圖和上下文特徵生成輸出幀。

深度感知視頻幀插值

視頻幀插值的目的是在原始幀之間合成不存在的幀。

作者提出了一種深度感知視頻幀插值(DAIN)模型,該模型有效地利用光流、局部插值核、深度圖和上下文特徵來生成高質量的視頻幀。

OpenPose:利用部位親和域的多人二維姿態估計

OpenPose是一個開源的實時系統,用於多人2D姿態估計,包括身體、腳、手和麵部關鍵點。本文提出了一種實時檢測圖片和視頻中二維人體姿態的方法。

CMU-Perceptual-Computing-Lab/openpose_train

OpenPose Training包括OpenPose的訓練代碼,以及一些可能的試驗性模型

該方法採用非參數表示,即部分親和域(PAFs)。這篇論文的部分作者來自IEEE。該方法以圖像作為CNN的輸入,預測出檢測人體部分的置信度圖和部分關聯的PAFs。本文還介紹了一個具有15K人足實例的足數據集。

OpenPose:利用部位親和域的多人二維姿態估計

實時多人2D姿態是讓機器了解人的重要一步。

FastFCN:重新思考語義分割模型主幹中的擴展卷積

本文提出了一種新的聯合上採樣模塊Joint Pyramid Upsampling(JPU),它代替了傳統的佔用大量時間和內存的擴展卷積。它的工作原理是將高分辨率圖的提取功能轉化為聯合上採樣問題。

wuhuikai/FastFCN

FastFCN的官方實現:重新思考語義分割主幹中的擴展卷積。

該方法以全連通網絡(FCN)為主幹,利用JPU對低分辨率最終特徵圖進行上採樣,得到高分辨率特徵圖,用JPU替換擴展卷積不會導致任何性能損失。

FastFCN:重新思考語義分割模型主幹中的擴展卷積

現代的語義分割方法通常在主幹中採用擴展卷積來提取。

小結

希望這篇文章能讓你對過去一年機器學習和深度學習研究領域有一些深入了解。我盡量把原始論文的鏈接和代碼都包含了進來,廣大開發者可以進行嘗試以檢驗效果。

英文原文:2019’s Top Machine and Deep Learning Research Papers