當前位置:
首頁 > 知識 > 深度學習和機器學習

深度學習和機器學習

作者:智心

著作權歸作者所有。AI開發者獲得授權轉載,禁止二次轉載

註:封面圖片來自網路

1、無監督學習的方法有哪些?

Answer:

強化學習、K-means聚類、自編碼、受限波爾茲曼機;

2、描述對空洞卷積(dilated convolution)的理解。

Answer:

基於FCN的語義分割問題,需要保持輸入圖像與輸出特徵圖的尺寸相同。

若使用池化層,則降低了特徵圖size,需要在高層階段使用上採樣,由於池化會損失信息,所以,此方法導致精度降低;

若使用較小的卷積核尺寸,雖然可以實現輸入輸出特徵圖的尺寸相同,但輸出特徵圖的各個節點感受野小;

若使用較大的卷積核尺寸,由於需要增加特徵圖通道數,此方法會導致計算量較大;

所以,引入空洞卷積,在卷積後的特徵圖上進行0填充擴大特徵圖尺寸,這樣既因為有卷積核而增大感受野,也因為0填充而保持了計算點不變。

3、增大感受野的方法?

Answer:

空洞卷積、池化操作、較大卷積核尺寸的卷積操作。

4、梯度下降法和牛頓法的優缺點?

Answer:

(1)優點:

梯度下降法:可用於數量較大的情況;

牛頓法:收斂速度更快;

(2)缺點:

梯度下降法:每一步可能不是向著最優解的方向;

牛頓法:每次迭代時間長,需要計算一階和二階導數;

5、如何解決訓練樣本類別不平衡的問題?

Answer:

現象:訓練樣本中,正負樣本數量的比例較大。

解決方法:

(1)過採樣。增加正例樣本數量,使得正負樣本數量接近,然後再進行學習;

(2)欠採樣。去除反例樣本數量,使得正負樣本數量接近,然後再進行學習;

(3)設置閾值。基於原始數據集學習,當使用已訓練好的分類器進行預測時,將正負樣本數量的比例作為閾值嵌入到決策過程中。

6、目標檢測領域的常見演算法有哪些?

Answer:

(1)單階段檢測器:YOLO、YOLO9000、SSD、DSSD、RetinaNet

(2)雙階段檢測器:R-CNN、Fast R_CNN、Faster R-CNN

7、Momentum優化演算法的原理和作用?

Answer:

(1)原理:在梯度下降演算法中引入指數加權平均數,在更新梯度方向的過程中,在一定程度上保留了之前梯度更新的方向,同時利用當前mini_batch的梯度方向微調最終的更新方向。

(2)作用:在一定程度上增加梯度更新方向的穩定性,從而使得收斂速度更快。

8、什麼是群卷積?

Answer:

假設上一層的特徵圖通道數為N,群卷積數目為M,則每個群卷積層上的特徵圖通道數為N/M,然後將其分配在不同的GPU上,待卷積完成後將輸出疊加在一起。

9、什麼是反卷積?

Answer:

卷積的逆過程,GANs基於反卷積操作生成圖片。

10、什麼是梯度消失和梯度爆炸?

Answer:

引發以上現象的原因是:激活函數的選擇。

(1)梯度消失:令bias=0,則神經網路的輸出結果等於各層權重參數的積再與輸入數據集相乘,參數值較小時,則權重參數呈指數級減小。

(2)梯度爆炸:令bias=0,則神經網路的輸出結果等於各層權重參數的積再與輸入數據集相乘,參數值較大時,則權重參數呈指數級增長。

11、從變化矩陣和變換效果等方面闡述相似變換、仿射變換、投影變換的區別。

Answer:

等距變換:圖像旋轉 平移

相似變換:圖像旋轉 平移 縮放(放大或縮小原圖)

仿射變換:圖像旋轉 平移 縮放 切變(雖改變圖像的形狀,但未改變圖像中的平行線)

投影變換:圖像旋轉 平移 縮放 切變 射影(不僅改變可圖像的形狀,而且改變了圖像中的平行線)

12、簡要描述SVM。

Answer:

SVM,全稱是support vector machine,中文名叫支持向量機。SVM是一個面向數據的分類演算法,它的目標是為確定一個分類超平面,從而將不同的數據分隔開。

擴展描述:

支持向量機學習方法包括構建由簡至繁的模型:線性可分支持向量機、線性支持向量機及非線性支持向量機。當訓練數據線性可分時,通過硬間隔最大化,學習一個線性的分類器,即線性可分支持向量機,又稱為硬間隔支持向量機;當訓練數據近似線性可分時,通過軟間隔最大化,也學習一個線性的分類器,即線性支持向量機,又稱為軟間隔支持向量機;當訓練數據線性不可分時,通過使用核技巧及軟間隔最大化,學習非線性支持向量機。

13、簡要介紹TensorFlow的計算圖。

Answer:

Tensorflow是一個通過計算圖的形式來表述計算的編程系統,計算圖也叫數據流圖,可以把計算圖看做是一種有向圖,Tensorflow中的每一個計算都是計算圖上的一個節點,而節點之間的邊描述了計算之間的依賴關係。

14、為什麼XGBoost要用泰勒展開,優勢是什麼?

Answer:

XGBoost使用了一階和二階偏導, 二階導數有利於梯度下降的更快更准. 使用泰勒展開取得二階倒數形式, 可以在不選定損失函數具體形式的情況下用於演算法優化分析.本質上也就把損失函數的選取和模型演算法優化/參數選擇分開了. 這種去耦合增加了XGBoost的適用性。

15、經常在網上搜索東西的朋友都知道,當你不小心輸入一個不存在的單詞時,搜索引擎會提示你是不是要輸入某一個正確的單詞,比如當你在Google中輸入「Julw」時,系統會猜測你的意圖:是不是要搜索「July」,如下圖所示,請針對這一現象解釋其實現原理。

Answer:

這叫做拼寫檢查。根據谷歌一員工寫的文章How to Write a Spelling Corrector顯示,Google的拼寫檢查基於貝葉斯方法。請說說的你的理解,具體Google是怎麼利用貝葉斯方法,實現」拼寫檢查」的功能。

用戶輸入一個單詞時,可能拼寫正確,也可能拼寫錯誤。如果把拼寫正確的情況記做c(代表correct),拼寫錯誤的情況記做w(代表wrong),那麼」拼寫檢查」要做的事情就是:在發生w的情況下,試圖推斷出c。換言之:已知w,然後在若干個備選方案中,找出可能性最大的那個c,也就是求的最大值。而根據貝葉斯定理,有:由於對於所有備選的c來說,對應的都是同一個w,所以它們的P(w)是相同的,因此我們只要最大化即可。其中:

P(c)表示某個正確的詞的出現」概率」,它可以用」頻率」代替。如果我們有一個足夠大的文本庫,那麼這個文本庫中每個單詞的出現頻率,就相當於它的發生概率。某個詞的出現頻率越高,P(c)就越大。比如在你輸入一個錯誤的詞「Julw」時,系統更傾向於去猜測你可能想輸入的詞是「July」,而不是「Jult」,因為「July」更常見。

P(w|c)表示在試圖拼寫c的情況下,出現拼寫錯誤w的概率。為了簡化問題,假定兩個單詞在字形上越接近,就有越可能拼錯,P(w|c)就越大。舉例來說,相差一個字母的拼法,就比相差兩個字母的拼法,發生概率更高。你想拼寫單詞July,那麼錯誤拼成Julw(相差一個字母)的可能性,就比拼成Jullw高(相差兩個字母)。值得一提的是,一般把這種問題稱為「編輯距離」。

所以,我們比較所有拼寫相近的詞在文本庫中的出現頻率,再從中挑出出現頻率最高的一個,即是用戶最想輸入的那個詞。

推薦崗位1:數據堂-圖像識別演算法實習生

推薦崗位2:騰訊-機器學習方向(可內推,深圳、上海、廣州、北京)

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 AI研習社 的精彩文章:

時序預測中深度學習介紹
在 Netflix 評論中做情感分析的深度學習模型

TAG:AI研習社 |