棒棒生

讓學習變成一種習慣


  • 首頁

  • 分類

  • 關於

  • 歸檔

  • 標籤

Mixtures of Factor Analyzers

發表於 2018-02-11 | 分類於 ML

這篇使用 Bishop PRML 的 notations, 同使參考 Zoubin Ghahramani and Geoffrey E. Hinton (沒錯, 就是那位 Hiton, 另外, 第一作者也是神人級別, 劍橋教授, Uber 首席科學家) 1997 年的論文 “The EM Algorithm for Mixtures of Factor Analyzers“, 實作了 Mixtures of Factor Analyzers, 臥槽! 都20年去了! My python implementation, github. 關於 EM 的部分會比較精簡, 想看更多描述推薦直接看 PRML book.

文章主要分三個部分

  1. 什麼是 Factor Analysis, 以及它的 EM 解
  2. 推廣到 mixtures models
  3. 語者識別中很關鍵的 ivector 究竟跟 FA 有什麼關聯?

直接進入正題吧~

閱讀全文 »

Path-Planning-Udacity-Term3-Project1

發表於 2018-02-06 | 分類於 ML

停了半年 的 Udacity Self Driving Car (SDC) Program, 終於又開始了. 做為 Term3 的第一個 Project, 我抱著高度的期待. 不過完成後, 有點小失望. 失望的原因是這個 project 跟課程上的連結感覺不是那麼明顯. 例如課程上有講到 A*, hybrid A* 的算法, 但 project 是模擬 highway drive, 因此 A* 比較不適合 (適合在 parking lot 場景). 另外也有提到怎麼降低 jerk (加速度的微分, 主要是不舒適的來源), 當參考內容是很好, 不過在寫 Project 時感覺也不大需要.

這篇就是個紀錄, 會很水. 方法很簡單, 一張圖解決:

閱讀全文 »

Maximum Mutual Information in Speech Recognition

發表於 2017-12-16 | 分類於 ML

Maximum Mutual Information (MMI) 序列的鑑別性訓練方法從早期的 GMM-HMM, 到現今就算使用了深度學習同樣十分有用, 如 Kaldi chain model 在 DNN-HMM 的基礎上加上序列鑑別訓練, 性能會再進一步提升. 前一陣子讀了俞棟、鄧力的這本 語音識別實踐, 對我來說整理得滿好的, 就是數學部分的推導有點簡潔了些, 所以這篇就基於該書的推導, 補齊了較詳細的步驟, 並且嘗試使用 Computational graph 的方式理解 MMI 的訓練. 那麼就開始吧!

用自己畫的 MMI 的計算圖譜當封面吧 :)

閱讀全文 »

TF Notes (3), Computational Graph in Tensorflow

發表於 2017-11-29 | 分類於 ML

這篇介紹 computational graph (計算圖譜), 主要來源參考自李宏毅教授的課程內容. 並且我們使用 tensorflow 的求導函數 tf.gradients 來驗證 computational graph. 最後我們在 MNIST 上驗證整個 DNN/CNN 的 backpropagation 可以利用 computational graph 的計算方式訓練.

閱讀全文 »

Notes for KKT Conditions

發表於 2017-11-14 | 分類於 Optimization

2011年自己做的筆記, 放上來以免檔案丟失, 也方便隨時參考. 參考自 “Numerical Optimization” by Jorge Nocedal and Stephen J. Wright. 但是打算只用 Lagrange Multiplier Theorem 理解 KKT. :)

就像是一般微積分裡學到的一樣, 對於一個函式 $f(x)$ 若 $x^\ast$ 為一 minimal/maximum point, 則必要條件為 $f’(x^\ast)=0$. 而在 constraint optimization 版本必要條件變成 KKT conditions. 說更清楚一點就是, 若 $x^\ast$ 為一 minimal/maximum point (+滿足某些神秘條件) , 則必要條件為在 $x^\ast$ 滿足 KKT Conditions.

神秘條件稱為 Constraint Qualifications, 常見的為 LICQ, 在 Convex opt 裡為 Slater’s condition. wiki KKT

具體來說,我們要探討的是對於以下的問題,如果 $x^\ast$ 為一 minimal point 且滿足式 (2) 的條件, 則會發生什麼事情 (我們找的是必要條件)

$$\begin{align} \min f(x) \\ \mbox{subject to } \begin{array}{rcl} c_i(x)=0,i \in \mathbf{E} \\ c_i(x)\geq 0, i \in \mathbf{I} \\ \end{array} \end{align}$$
閱讀全文 »

TF Notes (2), Speedup and Benchmark with Two GPU Cards

發表於 2017-11-01 | 分類於 ML

這篇文章實作了官網的 同步式 data Parallelism 方法 ref,並且與原本只用一張GPU做個比較。實驗只使用兩張卡,多張卡方法一樣。主要架構如下圖 by TF 官網:

兩張卡等於是把一次要計算的 mini-batch 拆成兩半給兩個 (相同的) models 去並行計算 gradients,然後再交由 cpu 統一更新 model。詳細請自行參考官網。下面直接秀 Codes 和結果。

閱讀全文 »

A Toy Example for Teacher Student Domain Adaptation

發表於 2017-10-22 | 分類於 ML

看了這篇 2017 Microsoft AI and Research 的文章 “Large-Scale Domain Adaptation via Teacher-Student Learning“ 覺得滿有意思的,加上很容易實作,因此就分析一下這篇的可行性。

設計了一個 MNIST Toy Example 來展示 T/S Learning 的能力,自己也想知道這個方法有多可靠。相關的實驗 code 請參考 github

閱讀全文 »

Word Embeddings (Encoder-Decoder 架構)

發表於 2017-09-07 | 分類於 ML

From Sparse Vector to Embeddings with Encoder–Decoder Structure

  1. 求 Embeddings
  2. Encoder–Decoder 結構

字典向量

若我們字典裡有 $N$ 個 words, 第 $i$ 個字 $w^i$ 應該怎麼表示呢?

通常使用 one-hot vector 來表示: 把 $w^i$ 變成一個長度 $N$ 的向量 $x^i$。

閱讀全文 »

AutoEncoder

發表於 2017-08-26 | 分類於 ML

使用 MNIST and notMNIST 做了一個 AutoEncoder with Fully Connected DNN 的實驗。

依序將實驗結果根據如下步驟顯示出來,程式碼可以參考 [github]

閱讀全文 »

Notes for Model Predictive Control

發表於 2017-06-28 | 分類於 ML

從一開始決定上課後,經過了半年終於來到 Udacity Term2 最後一個 Project 了。只能說盡量讓自己把每一個做的 project 都寫一篇 blog 記錄,但這陣子時間真的不夠用,所以這篇就從 high level 的角度瀏覽一下內容。

閱讀全文 »
1…891011
Chih-Sheng Chen

Chih-Sheng Chen

106 文章
5 分類
219 標籤
© 2025 Chih-Sheng Chen
由 Hexo 強力驅動
主題 - NexT.Mist
[object Object] [object Object]