Posts

Showing posts from December, 2017

清大 GAN Workshop 簡記

Image
MOST Workshop on Generative Adversarial Networks and GAN Project Competition December 22-23, 2017, National Tsing Hua University 兩種模型 Discriminative model => 傳統分類問題 Generative model => 生成模型 (不只有GAN,傳統上還有 HMM…等很多生成模型) 學習的分類 Supervised learning (傳統的定義) Unsupervised learning (傳統的定義) Structure learning (如漫畫獵人的黑暗大陸一樣,GAN如領路人帶我們走進這個新的領域) Generative Adversarial Networks (GAN) 一般對生成模型的說明,是以Ian Goodfellow最初論文中的「做假鈔與警察」的比喻。Generator就是做假鈔的人,要想辦法無中生有做出假鈔,而Discriminator就是警察,要想辦法在真鈔、假鈔間辨認出真假。做假鈔的人與警察在對抗中,兩者都會慢慢成長,最後假鈔會十分像真鈔,而警察的分辦能力也會很強。 原始GAN的主要缺陷 (Ian Goodfellow) 沒有 conditional-generation ( https://youtu.be/f1KUUz7v8g4?t=14m28s ) 訓練穩定性不好 (無法像CNN一樣在收斂後能有穩定結果) 跨架構 (architectures) 跨資料集 (datasets) 跨domains (time domain, frequency domain, …) 沒有好的評估方式(生成結果還是要藉由人來判斷好壞) GAN 用來生成資料如果不能產生新的分佈,不太有幫助 有趣的研究 最讓我印象深刻的是 nVidia 的 progressive GAN ,生成了以假亂真的真人照片 Karras, Tero, et al. “Progressive growing of gans for improved quality, stability, and variation.” arXiv p...

(Reading note) Delving deeper into convolutional neural networks for camera relocalization

(Research Note) Delving deeper into convolutional neural networks for camera relocalization from Jacky Liu Quoternion 的 Double covering 問題

How to keep yourself updated with new research?

Image
Jacky Liu version: “v1.0” (2017/02/22) We all know that keeping ourself up-to-date is so important when doing research. But how? Waiting someone to organize the information for you? If you are the boss, this could be your option. Checking all related websites everyday? Obviously, we don’t have so much time to do so. Therefore, in this article, I’d like to provide you with some useful tools to keep yourself updated with less effort. Google alerts You could think “Google alerts” as your personal secretary that helps you “google” any keyword that you are interested in every day. For example, I’d like to keep update about “slam”. Just type “slam” into the search column and press “Bild alerts” button. And you will find “SLAM” appear in your subscription list. After pressing the “pencil” button, detail setting for this keyword could be adjusted. Under my alert setting, Google will send me an e-mail every night at 10 o’clock. Email summaries keyword related news and blog ...

Keras 訓練中即時資訊顯示

Image
前言 Keras 是個 Python 深度學習函式庫,一般常見底層是 TensorFlow 在使用 keras 時,如果要即時觀察訓練的 loss, accuracy 等參數變化,一般直接使用 TensorBoard callback,不過我發現 TensorBoard 不太符合我的需求。 我希望能更簡單的在同一張圖表上同時畫上 training loss 與 validation loss,而正好找到方便的工具 - Hualos - Keras Total Visualization project ,十分符合我的需求,效果如下圖: Hualos 運作方式 Hualos 其實是一個簡單的 webserver,keras 在 fit 等訓練函式裡加入 RemoteMonitor callback,這樣在每個 epoch 完成後,keras 就會往 Hualos 的 ip 位置傳送資訊(loss, accuracy, …),Hualos 在收到資訊後,就會即時更新網頁內容,如上圖的效果一般。 Hualos 使用方式 (下載專案) 將專案 clone 至欲裝設 Hualos web server 的機器上 (由於專案有空白頁面的己知bug未修復,我暫時把程式碼修改後,放到我的GitHub帳號下,原專案請至 Hualos - Keras Total Visualization project ) git clone https://github.com/HTLife/hualos (設定web server ip) hualos/api.py 第72行 server = WSGIServer(( "" , 9000 ), app) 將ip改為0.0.0.0讓外部得以連入,port 改成想用的 (如過keras是裝在docker裡,可以與tensorboard共用6006) server = WSGIServer(( '0,0,0,0' , 6006 ), app) (設定keras callback) 在keras程式碼中設定callback,ip改為上面server的ip (model.fit_generator中為避免看起來太複雜,省略了其它參數,讀者需自行設定) reCallBack...