首先,除了 orthogonal initialization 和 uniform initialization,現(xiàn)在常用的還有 Gaussian initialization。不常用的還有 identity initialization 和現(xiàn)在“已經被時代拋棄”的 pretraining with autoencoder。這些方法在不同的場景下都被人選擇了。個人感覺,比較復雜的 LSTM 用 orthogonal initialization 的人比較多,而在 research paper 討論一個小 task 時,我看到的大部分還是說用 uniform/Gaussian。這里可能的直觀的原因是后者的 layer 和 magnitude 比較少/小。
說到 layer 比較少,其實我是想說,orthogonal initialization,個人認為對于 LSTM (deep, high-dimensitional, non-convex)比較有效的原因是,(1)可以很方便地減緩 gradient vanishing/exploding problem 和 activation functions 的 saturation。因為 orthogonal matrix 的所有 vectors 都是 orthonormal 的,也就是不僅 orthogonal,還 magnitude 為 1. 這樣,在計算時候,乘上這個 matrix,就可以修正 vanishing 也可以重置 saturation。(2)這個問題應該是和 saddle point 有關系,復雜的 LSTM 受 saddle point structures 帶來的各種問題更嚴重,而基于 SVD/QR 的 orthogonal initialization 可以 decouple networks 之間的依賴,消除 non-global minima。(3)當然還有這幾種 initialization 都用來破壞 symmetry。
上面這是可被證實的,下面來點個人的猜測:這和 weight variation 也有關系。
綜上,有些人覺得這幾種方法沒區(qū)別,有人覺得有,完全是 case-by-case。我個人在實踐過程中,即使是小網(wǎng)絡,也覺得有區(qū)別。
有一個答案給的是一篇acl2016的論文,采用的神經網(wǎng)絡結構是 cnn + lstm +crf的經典架構,是一個很成熟的系統(tǒng)
目前來說,實體識別的應用領域,lstm+crf是一種標配了,短期內我認為只要在attention方面沒有很大的突破,這一框架都不會變化
要理解為什么lstm后面要接crf層,首先應該理解的是crf的功能
題主問這個問題,想必是明白lstm的output,我們姑且不討論原理,lstm在序列標注的問題,落實到題主說的ner,也就是一個seq2seq,在英文中,可以是對每一個input的單詞,對例如bieo的四個標簽進行預測,假設當前輸出的事100個words,那個輸出的就是100*4的一個概率預測,這應該就是答主的疑惑,我們直接用一個分類器,四個里面選一個就好了,為什么要再接crf呢?
那么,我們首先考慮我們使用lstm的初衷,就是為了考慮上下文來分析當前的tag標注,其實crf也是接近的原理,crf意會一點的描述其實有點像一張概率圖,在single crf中,你需要做的是盡可能的對每個對象挖掘多的特征,然后學習他們之間的一種“銜接”關系,在lstm后面加上crf,相當于對lstm抽象過的一種語言關系來進行crf訓練,可以使用那篇論文上的likehood函數(shù),當然使用labelwise的也可以,這也屬于調參的一部分
總之我個人的理解,crf相當于對lstm信息的再利用,利用效率高于一個簡單的分類器,實際情況也適合這一點,題主不妨找個實例測測玩玩,也就明白了
首先,除了 orthogonal initialization 和 uniform initialization,現(xiàn)在常用的還有 Gaussian initialization。
不常用的還有 identity initialization 和現(xiàn)在“已經被時代拋棄”的 pretraining with autoencoder。這些方法在不同的場景下都被人選擇了。
個人感覺,比較復雜的 LSTM 用 orthogonal initialization 的人比較多,而在 research paper 討論一個小 task 時,我看到的大部分還是說用 uniform/Gaussian。這里可能的直觀的原因是后者的 layer 和 magnitude 比較少/小。
說到 layer 比較少,其實我是想說,orthogonal initialization,個人認為對于 LSTM (deep, high-dimensitional, non-convex)比較有效的原因是,(1)可以很方便地減緩 gradient vanishing/exploding problem 和 activation functions 的 saturation。因為 orthogonal matrix 的所有 vectors 都是 orthonormal 的,也就是不僅 orthogonal,還 magnitude 為 1. 這樣,在計算時候,乘上這個 matrix,就可以修正 vanishing 也可以重置 saturation。
(2)這個問題應該是和 saddle point 有關系,復雜的 LSTM 受 saddle point structures 帶來的各種問題更嚴重,而基于 SVD/QR 的 orthogonal initialization 可以 decouple networks 之間的依賴,消除 non-global minima。(3)當然還有這幾種 initialization 都用來破壞 symmetry。
上面這是可被證實的,下面來點個人的猜測:這和 weight variation 也有關系。綜上,有些人覺得這幾種方法沒區(qū)別,有人覺得有,完全是 case-by-case。
我個人在實踐過程中,即使是小網(wǎng)絡,也覺得有區(qū)別。
有一個答案給的是一篇acl2016的論文,采用的神經網(wǎng)絡結構是 cnn + lstm +crf的經典架構,是一個很成熟的系統(tǒng)目前來說,實體識別的應用領域,lstm+crf是一種標配了,短期內我認為只要在attention方面沒有很大的突破,這一框架都不會變化要理解為什么lstm后面要接crf層,首先應該理解的是crf的功能題主問這個問題,想必是明白lstm的output,我們姑且不討論原理,lstm在序列標注的問題,落實到題主說的ner,也就是一個seq2seq,在英文中,可以是對每一個input的單詞,對例如bieo的四個標簽進行預測,假設當前輸出的事100個words,那個輸出的就是100*4的一個概率預測,這應該就是答主的疑惑,我們直接用一個分類器,四個里面選一個就好了,為什么要再接crf呢?那么,我們首先考慮我們使用lstm的初衷,就是為了考慮上下文來分析當前的tag標注,其實crf也是接近的原理,crf意會一點的描述其實有點像一張概率圖,在single crf中,你需要做的是盡可能的對每個對象挖掘多的特征,然后學習他們之間的一種“銜接”關系,在lstm后面加上crf,相當于對lstm抽象過的一種語言關系來進行crf訓練,可以使用那篇論文上的likehood函數(shù),當然使用labelwise的也可以,這也屬于調參的一部分總之我個人的理解,crf相當于對lstm信息的再利用,利用效率高于一個簡單的分類器,實際情況也適合這一點,題主不妨找個實例測測玩玩,也就明白了。
聲明:本網(wǎng)站尊重并保護知識產權,根據(jù)《信息網(wǎng)絡傳播權保護條例》,如果我們轉載的作品侵犯了您的權利,請在一個月內通知我們,我們會及時刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學習鳥. 頁面生成時間:2.998秒