Dosudo deep learning newsletter #1

We are Dosudo 矽谷軟體工程師 Deep learning 讀書會.  Welcome to join our biweekly meeting and here is our website. also check out our Deep Learning 線上聚會紀錄

Upcoming event:

Dosudo deep learning #5  – on July 15   17:00 (PDT time)

 

A.  Deep learning highlight 

  1.   Google 開源了Tensorflow物體辨識系統API

fig1

Google 近日在官方blog 貼出 “ Supercharge your Computer Vision models with the TensorFlow Object Detection API ” 的po文. 並開源了這套Google花費非常長時間訓練開發, 在Google內部使用的物體辨識系統 TensorFlow Object Detection API (Github). 這套系統可以在單張image辨識出多個物體, 並在COCO物體辨識 competition 名列第一名. 它的另一個特點是包含輕量化的版本可以運行在行動裝置上. 之後將簡單介紹如何安裝TensorFlow Object Detection API及如何使用.

原始post   中文post    Github   Paper link

 

2. 讓 AI 獲得多元感官統合能力 的Deep Aligned Representations

fig2

AI 在無論是物體辨識, 語音或自然語言處理的單項能力已經非常傑出甚至超越人類. 但人類感知這個世界的方式是統合各項能力. 例如聽到電話的鈴聲, 在視覺上辨識出電話, 在文字或言語上描述電話這些都應該是相關連的. MIT以及Google 的研究人員開始針對這方面進行研究並有些初步成果. 在MIT的Yusuf Aytar 這篇paper裡描述了將這些能力協調與統合的方法 (Deep Aligned Representations), 原理是基於CNN但設計了可以共享前一層神經元的網路學習架構.

Project website   原始post   中文post  Paper

 

3. 讓機器自己挑「對」資料樣本!Google雲端AI掌門人李飛飛發表機器學習新模型! 

fig3

非監督式學習(Unsupervised Learning) 一直是Deep learning的重點研究之一, 傳統以人工將資料如影像加上標籤的方式在越來越龐大的訓練資料甚至像影片這樣的資料變得越來越不可行. Google 李飛飛團隊在今年的CVPR提出一種能自動選擇訓練資料並標示影片的方法 Learning to learn from from noisy web videos. 透過一組標示數據來學習為新的未學習過的動作進行標示. 並以增強學習的Q-learning概念從網路資料選擇訓練樣本.

中文post  Paper

 

4. ㄧ個神經網路學習一切?? one model to learn them all

fig4

傳統訓練ANN或Deep learning network 都是以一組特定的資料進行訓練而針對單一任務的. 而至於Transfer learning則是將訓練好的模型參數轉移到新模型而幫助訓練新的訓練資料. 而在Google的這篇Paper中 one model to learn them all 中, 提出創造單一的深度學習模型而能應用在不同的任務上譬如圖像識別, 語音辨識等等. 並將這套系統(Tensor2Tensor)開源.

原始post   中文post   Github   paper

B. Hot deep learning news and materials

1. 史丹佛CS231n 2017最新課程:李飛飛詳解深度學習的框架實現與對比

2. 吳恩達成立創業公司 Deeplearning.AI    

3. 干货 | TensorFlow的55个经典案例  

4. 谷歌大脑揭秘:48名成员20大研究领域

5. 我的深度學習開發環境詳解:TensorFlow + Docker + PyCharm等  

6. Science journal: AI is changing how we do science. Get a glimpse

 

C. Doing Deep learning 

這一次要實作的是近日Google 開源的 Tensorflow Object detection API. 包括如何安裝及示範簡單的例子. 另外也已經有人做了Docker image, 如果有興趣的人可以自行試試看及參考官方安裝

安裝:

1. libraries installation

除了Tensorflow之外(如果尚沒有安裝tensorflow也請參考tensorflow的官方網站進行安裝), 還有一些library是需要事先安裝的, 包括 Protobuf (2.6), Pillow (1.0), lxml, Jupyter, matplotlib. 另外slim 是自帶在tensorflow的models裡的所以不需要另外安裝. 這裡以pip install 為例:

sudo pip install pillow

sudo pip install lxml

sudo pip install jupyter

sudo pip install matplotlib

2.  下載Protobufs

Tensorflow Object detection API 也會使用Protobufs, 如果沒有或需要升級請到google/protobuf 下載和你的系統相對應的protoc檔. 舉例來說如果是mac 系統就下載 protoc-3.3.0-osx-x86_64.zip. 解壓之後請先備份你的舊protoc, 然後將解壓的檔案覆蓋到對應目錄即可:

cp /usr/bin/protoc ~/protoc_bak

sudo cp protoc-3.3.0-osx-x86_64/bin/protoc /usr/bin/protoc

3.  下載tensorflow/models

從tensorflow官方github 下載

git clone https://github.com/tensorflow/models.git

4. 編譯Object detection API

進入剛剛下載的tensorflow/models 並輸入

protoc object_detection/protos/*.proto --python_out=.

 

Run example

完成了Tensorflow Object detection API 的安裝, 我們也可以試跑官方自帶的例子看看. 先輸入 jupyter notebook 在 tensorflow/models就可以進入jupyter, 在tensorflow/models/object_detection下找到 object_detection_tutorial.ipynb並執行, 就可以在jupyter notebook上試跑出結果. 

1

4

更改Training model

這個API其實包含了數個已經訓練完成的模型的凍結權重(Frozen weights), 所以不需訓練即可使用. 在以上的例子使用的是MobileNets 的 SSD (Single Shot Multibox Detector), 可以check object_detection_tutorial.ipynb的code:

MODEL_NAME = ‘ssd_mobilenet_v1_coco_11_06_2017'

如果要選擇其他的object Detection模型, 包括 SSD+Inception V2、R-FCN+ResNet101、Faster RCNN+ResNet101、Faster RCNN+Inception_ResNet, 可以從Tensorflow detection model zoo下載, 並把MODEL_NAME的值改掉就好.

MODEL_NAME = 'ssd_inception_v2_coco_11_06_2017'

MODEL_NAME = 'rfcn_resnet101_coco_11_06_2017'

MODEL_NAME = 'faster_rcnn_resnet101_coco_11_06_2017'

MODEL_NAME = 'faster_rcnn_inception_resnet_v2_atrous_coco_11_06_2017'

 

 

Edited by George.Wu

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s