1. 程式人生 > >不同的領域、框架,這是一份超全的深度學習模型GitHub集合

不同的領域、框架,這是一份超全的深度學習模型GitHub集合

一直以來,研究者與開發者都經常在 GitHub 寶庫中搜索比較有意思的專案與實現,但我們可能需要一個確切的主題,並做一些篩選。近日有開發者釋出了一個模型聚合平臺,我們可以分領域在上面搜尋到當前最為流行的開源模型。作者根據 GitHub 專案收藏量、專案所屬領域、實現框架等特點對這些模型分類,因此我們能快速定位合適的模型。

專案地址:https://modelzoo.co/

深度學習近來是機器學習最流行的子領域,因為針對高維資料擁有強大的建模能力,它在很多不同的任務與領域都綻放了奪目的光彩,例如計算機視覺、自然語言處理與智慧體學習等。深度學習模型是一種表示學習方法,即根據模型學習表示的本身,而不僅僅如同傳統機器學習那樣將表示對映到輸出。

目前深度學習主要通過不同層級的神經元從原始資料自動抽取特徵,它學習到的表示往往比傳統 ML 手動設計的表示有更好的效能。目前 GitHub 上受關注的 ML 實現大部分都是深度學習模型,它們以不同的層級結構與網路架構建立起一個個解決具體問題的模型。例如 2D 卷積層以分層的形式堆疊就能由簡單到複雜抽取二維資料(如影象)的特徵,而迴圈單元的堆疊就適合處理機器翻譯等序列標註問題。再加上殘差連線、門控機制和注意力機制等模組就能針對具體任務學習特定知識。

這些層級表徵的深度模型在近來有非常多的研究,很多開發者與研究者都分享了他們的程式碼與創意。ModelZoo 旨在為搜尋優秀深度模型提供一個集中式的平臺,並希望為復現論文、構建複雜神經網路、學習模型程式碼與直接使用預訓練模型提供資源。

Model Zoo 是新構建的平臺,因此它包含的模型庫將不斷髮展。如果讀者發現有其它一些優秀的模型還沒有收錄進去,可以在網站上提交併通知作者。此外,這個網站的開發者目前還只是新加坡的一名本科生,他希望能借這樣一個平臺幫助更多的學習者。

Model Zoo 所收集的所有模型都能在 GitHub 中找到,作者 Jing Yu 根據 GitHub 專案收藏量、專案所屬領域、實現框架等特徵對模型做了整理,此外我們也能使用關鍵詞搜尋確定需要查詢的模型。每一個模型都在頁面上展示了對應 GitHub 專案的 README 文件,因此讀者可快速判斷專案的基本資訊與要求。此外,作者還構建了 Newsletter 模組,每月整理一次當月最流行與重要的模型。

640?wx_fmt=png

目前,該專案內的深度學習模型有五大分類:計算機視覺、自然語言處理、生成模型、強化學習和無監督學習。這些類別或領域相互之間是有交叉的,例如很多生成模型都可以歸為無監督學習,實際上很多模型確實歸為了多個類別。

640?wx_fmt=png

目前收錄的實現框架有 Tensorflow、Caffe、Caffe2、PyTorch、MXNet、Keras。雖然還有很多框架沒有收錄,例如 CycleGAN 的原實現因為使用的是 Lua 語言與 Torch 框架,即使該專案的收藏量達到了 6453,這個平臺同樣沒有收錄。

640?wx_fmt=png

可以從 Browse Frameworks 和 Browse Categories 分別進入以上的框架分類介面和模型分類介面,並按其分類進行瀏覽。下方的搜尋框支援模型名稱的搜尋。

640?wx_fmt=png

模型基本是按 GitHub 的收藏量(如 Magenta 的 10164 star)排序的,預覽介面還包含專案簡介、實現框架和分類等資訊。點選後可進入專案細節(即對應 GitHub 專案的 README 文件)。後文我們將針對各領域簡要介紹其中最流行的專案:

計算機視覺

  • GitHub star:10164

  • 實現框架:TensorFlow

Magenta 是一個用於探索機器學習在藝術、音樂創作中的作用的研究專案,因為應用眾多作者將其劃分為計算機視覺與強化學習領域。其主要涉及為生成歌曲、影象、素描等開發新的深度學習和強化學習演算法。但它也在嘗試構建智慧工具和介面,以幫助藝術家和音樂家擴充套件他們使用這些模型的方式。Magenta 由來自谷歌大腦團隊的一些研究員和工程師啟動,但也有很多其他人為該專案做出了重要的貢獻。

640?wx_fmt=png

目前該專案有非常多的應用實現與演示,讀者可檢視 https://magenta.tensorflow.org/blog。

Mask-RCNN

  • GitHub star:6104

  • 實現框架:Keras

Mask R-CNN 是一個兩階段的框架,第一個階段掃描影象並生成候選區域(proposals,即有可能包含一個目標的區域),第二階段分類候選區域並生成邊界框和掩碼。Mask R-CNN 擴充套件自 Faster R-CNN,由同一作者在去年提出。Faster R-CNN 是一個流行的目標檢測框架,Mask R-CNN 將其擴充套件為例項分割框架。

640?wx_fmt=png

該專案是 Mask R-CNN 的在 Python3、Keras 和 TensorFlow 上的實現。該模型可以為影象中的目標例項生成邊框和分割掩碼。其架構基於特徵金字塔網路(FPN)和 ResNet101 骨幹網路。

該 repo 包含:Mask R-CNN 建立在 FPN 和 ResNet101 上的原始碼;資料集 MS COCO 的訓練程式碼;MS COCO 的預訓練權重;視覺化檢測流程的每個步驟的 Jupyter notebook;多 GPU 訓練的 ParallelModel 類;在 MS COCO 指標(AP)上的評估;訓練自定義資料集的示例。

640?wx_fmt=png

自然語言處理

WaveNet

  • GitHub star:3692

  • 實現框架:TensorFlow

下圖展示了 WaveNet 的主要結構,這是一個完全卷積的神經網路,其中的卷積層有不同的擴張係數(dilation factors),這讓其感受野可根據層級深度指數式地增長並可覆蓋數千個時間步驟。此外 Wave Net 還是第一個提出因果卷積的模型,從直觀上來說,它類似於將卷積運算「劈」去一半,令其只能對過去時間步的輸入進行運算。其實後來很多使用卷積網路處理序列標註問題的模型都借鑑了 WaveNet 所提出的這兩個結構。

640?wx_fmt=png

DeepMind 提出的 WaveNet 神經網路架構可以直接生成新的音訊波形,在文字到語音轉換和音訊生成中有優越的表現。在訓練時間,其輸入序列是由人類說話者錄製的真實波形。訓練之後,我們可以對這個網路進行取樣以生成合成話語。在取樣的每一個時間步驟,都會從該網路所計算出的概率分佈中取出一個值。然後這個值會被反饋進入輸入,併為下一個步驟生成一個新的預測。像這樣一次一步地構建樣本具有很高的計算成本,但這對生成複雜的、聽起來真實感強的音訊而言至關重要。

Sentence Classification with CNN

  • GitHub star:3416

  • 實現框架:TensorFlow

論文《Convolutional Neural Networks for Sentence Classification》的簡化版 TensorFlow 實現。

640?wx_fmt=png

生成模型

DCGAN-tensorflow

  • GitHub star:4263

  • 實現框架:TensorFlow

Goodfellow 等人提出來的 GAN 是通過對抗過程估計生成模型的新框架。在這種框架下,我們需要同時訓練兩個模型,即一個能捕獲資料分佈的生成模型 G 和一個能估計資料來源於真實樣本概率的判別模型 D。生成器 G 的訓練過程是最大化判別器犯錯誤的概率,即判別器誤以為資料是真實樣本而不是生成器生成的假樣本。因此,這一框架就對應於兩個參與者的極小極大博弈(minimax game)。而 DCGAN 主要使用卷積神經網路作為生成器 G 與判別器 D 的架構,因此能生成比較清晰與優秀的影象。

論文《Deep Convolutional Generative Adversarial Networks》的 TensorFlow 實現,這是一個穩定的生成對抗網路。

640?wx_fmt=png

上圖展示了生成器 G 的架構,它使用四個轉置卷積進行上取樣,即將 100 維的隨機變數恢復到影象。這個專案為了防止判別器器網路收斂過快,當判別器迭代一次生成器網路會連續迭代兩次,這和原論文不太一樣。

Image-to-Image Translation with Conditional Adversarial Networks

  • GitHub star:4242

  • 實現框架:PyTorch

因為 CycleGAN 的原實現是用 Lua 寫的,因此很多研究者使用該專案復現影象到影象的轉換。CycleGAN 的主要想法是訓練兩對生成器-判別器模型以將影象從一個領域轉換為另一個領域。在這過程中我們要求迴圈一致性,即在對影象應用生成器後,我們應該得到一個相似於原始 L1 損失的影象。因此我們需要一個迴圈損失函式(cyclic loss),它能確保生成器不會將一個領域的影象轉換到另一個和原始影象完全不相關的領域。

該專案是配對、非配對的影象到影象轉換的 PyTorch 實現。

強化學習

Deep Reinforcement Learning for Keras

  • GitHub star:2639

  • 實現框架:Keras

640?wx_fmt=gif

keras-rl 讓人們可以輕鬆使用當前最佳的深度強化學習演算法,使用 Keras 實現,並結合了 OpenAI Gym 來構建專案。

目前該專案實現了以下演算法:

  • Deep Q Learning (DQN)

  • Double DQN

  • Deep Deterministic Policy Gradient (DDPG)

  • Continuous DQN (CDQN or NAF)

  • Cross-Entropy Method (CEM)

  • Dueling network DQN (Dueling DQN)

  • Deep SARSA

DQN-tensorflow

  • GitHub star:1610

  • 實現框架:TensorFlow

論文《Human-Level Control through Deep Reinforcement Learning》的 TensorFlow 實現。

640?wx_fmt=png

該實現包括:Deep Q-network 和 Q-learning

  • 經驗重放記憶

  • 減少持續更新的相關性

  • 用於 Q-learning 目標的網路由於區間問題而經過修改

  • 減少目標和預測 Q 值之間的關聯

無監督學習

MUSE: Multilingual Unsupervised and Supervised Embeddings

  • GitHub star:1298

  • 實現框架:PyTorch

640?wx_fmt=png

MUSE 是一個多語言詞嵌入的 Python 庫,其目的是為社群提供當前最佳的基於 fastText 的多語言詞嵌入,以及用於訓練和評估的大規模高質量雙語詞典。

該專案使用了兩種方法,一種是使用雙語詞典或相同字串的監督方法,另一種是沒有使用任何平行資料的無監督方法。

Domain Transfer Network (DTN)

  • GitHub star:654

  • 實現框架:TensorFlow

論文《Unsupervised Cross-Domain Image Generation》的 TensorFlow 實現,下圖是其模型架構概覽。

640?wx_fmt=png

以上是各類別主要流行的模型簡介,還有很多優秀的專案並沒有展示,讀者根據該平臺與具體的需求篩選模型。

∞∞∞

640?wx_fmt=jpeg&wx_lazy=1

IT派 - {技術青年圈}持續關注網際網路、區塊鏈、人工智慧領域640?wx_fmt=jpeg&wx_lazy=1

公眾號回覆“機器學習”

邀你加入{ IT派AI機器學習群 } 

相關推薦

不同領域框架深度學習模型GitHub集合

一直以來,研究者與開發者都經常在 GitHub 寶庫中搜索比較有意思的專案與實現,但我們可能需要

Android 屬性動畫框架 ObjectAnimatorValueAnimator 篇就夠了

前言 我們都知道 Android 自帶了 Roate Scale Translate Alpha 多種框架動畫,我們可以通過她們實現豐富的動畫效果,但是這些寬家動畫卻有一個致命的弱點,它們只是改變了 View 顯示的大小,而沒有改變 View 的響應區域。這時以 ObjectAnimator、ValueAni

免費的大資料學習資料就足夠

  朋友不在於多,知心就好;資料不在於多,精緻就好。一份專業的大資料學習資料才是學習大資料的利刃。小編分享的這套大資料學習資料將從學習大綱、書籍、視訊教程分別分享。  大資料學習資料之大資料學習大綱  階段一、 Java語言基礎  Java開發介紹、熟悉Eclipse開發工具

Android音訊錄製播放篇就夠了

github原始碼下載地址:https://github.com/geduo83/AudioRecorder csdn原始碼下載地址:https://download.csdn.net/download/geduo_83/10841496 音訊錄製、播放 最近在專案要用到錄音的功能,

NLP的年2017:深度學習或成主角

在過去幾年,深度學習(DL)的架構和演算法在很多領域都取得了里程碑似的進展,例如影象識別和語言處理。 起初,深度學習在自然語言處理(NLP)中的應用並不起眼,但後來卻出現了許多重量級的成果,例如命名實體識別(NER)、詞性標註(POS tagging)或文字情感分析(s

關於影像辨識所有你應該知道的深度學習模型

YOLO: You Only Look OnceYOLO 有個很討喜的名字,取自 You Only Live Once,但用在 Object detection 上則為 You only look once,意思是說 YOLO 模型的特性只需要對圖片作一次 CNN 便能夠判斷裡面的物體類別跟位置,大大提升辨識

如何在未來的大數據和機器學習領域獲得不錯的工作?

概率 數據可視化 har 背景 計算機 ros cat 自我提升 god 2018 年,AI 的發展腳步會加快,這一年將是 AI 技術重生和數據科學得以重新定義的一年。對於雄心勃勃的數據科學家來說,他們如何在與數據科學相關的工作市場中脫穎而出?2018 年會有足夠多的數據科

深入淺出maven系列(三)---maven構建ssh工程(父工程與子模組的拆分與耦合) 前節我們初識了maven並且掌握了maven的常規使用,這一節就來講講它的一個重要的場景也就是通過maven將一個ssh專案分隔為不同的幾個部門獨立開發很重要加油!!!

        前一節我們初識了maven並且掌握了maven的常規使用,這一節就來講講它的一個重要的場景,也就是通過maven將一個ssh專案分隔為不同的幾個部門獨立開發,很重要,加油!!! 一、maven父工

如何在未來的大資料和AI機器學習領域獲得不錯的工作?

AI 的發展腳步會加快,這一年將是 AI 技術重生和資料科學得以重新定義的一年。對於雄心勃勃的資料科學家來說,他們如何在與資料科學相關的工作市場中脫穎而出?2018 年會有足夠多的資料科學相關工作嗎?還是說有可能出現萎縮?接下來,讓我們來分析一下資料科學的趨勢,並一探如何在未來的大資料和機器學習 /

再來杭州城次有些不同

巨型颱風山竹逼近珠江三角,長江三角卻是風和日麗,已經是中秋的季節反而有點炎熱,這可能是處在山竹外圍下沉氣流影響下的結果吧。 山竹這次我是追不上了,那就聊聊杭州吧。 來到杭州已經整整一週了,說實話,杭州我已經來過好多次了,沒啥新鮮感了,但這一次和以往不同的是,

學會資料庫讀寫分離分表分庫——用Mycat篇就夠了!

轉:     https://www.cnblogs.com/joylee/p/7513038.html 系統開發中,資料庫是非常重要的一個點。除了程式的本身的優化,如:SQL語句優化、程式碼優化,資料庫的處理本身優化也是非常重要的。主從、熱備、分表分庫等都是系統

深度學習(目標檢測)---從RCNN到SSD應該是最目標檢測演算法盤點

目標檢測是很多計算機視覺任務的基礎,不論我們需要實現影象與文字的互動還是需要識別精細類別,它都提供了可靠的資訊。本文對目標檢測進行了整體回顧,第一部分從RCNN開始介紹基於候選區域的目標檢測器,包括Fast R-CNN、Faster R-CNN 和 FPN等。第二部分則重點討

校招季到來你可能需要求職作戰計劃!

  作者:黃小斜   今天和各位要參加校園招聘的小夥伴聊一下,如何制定校園招聘計劃。 現在是七月中旬,這段時間大家應該都已經在準備秋季招聘了,因為我之前也有說過秋招提前批大概在七月中下旬就會開始,而正式的招聘一般在八月底到九月之間會陸續召開,所以相當於這三個月的時間都會是持續

「2020 新手必備 」極速入門 Retrofit + OkHttp 網路框架到實戰篇就夠了!

老生常談 什麼是 Retrofit ? Retrofit 早已不是什麼新技術了,想必看到這篇部落格的大家都早已熟知,這裡就不囉嗦了,簡單介紹下: Retrofit 是一個針對 Java 和 Android 的設計的 REST 客戶機。它通過基於 REST 的 web 服務檢索和上傳 JSON (或其他結

乾貨來啦。Flask框架篇就夠了,關注不迷路Jeff帶你看原始碼。開發技術時時更新

[TOC] # 一、初識Flask ## 1.1 什麼是flask? ![img](https://img2018.cnblogs.com/blog/1825659/201910/1825659-20191009213327205-1932317939.png) Flask 本是作者 Ar

MySQL書單可以幫你搞定90%以上的面試題!

![](https://img2020.cnblogs.com/other/1813797/202005/1813797-20200513215639876-242058756.jpg)![](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAA

LocalDateTimeOffsetDateTimeZonedDateTime互轉篇絕對餵飽你

![](https://img-blog.csdnimg.cn/20210117101208962.png#pic_center) # 前言 你好,我是A哥(YourBatman)。 在JSR 310日期時間體系了,一共有三個API可用於表示日期時間: - LocalDateTime:本地日期時間 - O

keyListener用的健值表保留

use delphi zoom aps 鼠標右鍵 ble mode tom left 詳細的鍵值表: 常數名稱 十六進制值 十進制值 對應按鍵 VK_LBUTTON 01 1 鼠標的左鍵 VK_RBUTTON 02 2

你還記得2017年火爆的VR街機店年他們過得還好嗎?

驗收 量化 col 來看 這也 bdb 康斯坦丁 遊戲機 成本控制 對於當下太過急於成功、一夜暴富的人們來說,似乎總是會急不可耐地去抓住每一個有可能成為大勢的風口。在這份普遍存在的浮躁心理下,蘊含著極大的不確定性——既讓大眾認識到太多的創新產品和服務,也讓很多參與者痛並

6理解“屬性”概念

特質 管理 經驗 繼承 能夠 cte setter pro 工作任務 要理解好“屬性”這一概念,我覺得需要把以下幾個問題弄明白: 1、實例變量與public、protected、private 2、實例變量的繼承性 3、屬性擺放的位置,比如聲明文件、實現文件、匿名分類聲明文