人工智能面試題總結

1、深度學習框架TensorFlow中都有哪些優化方法?
答:GradientDescentOptimizer
       AdagradOptimizer
       Optimizer
      優化最小代價函數
2、深度學習框架TensorFlow中常見的激活函數都有哪些?
 答:relu,sigmoid,tanh
3、深度學習框架TensorFlow中有哪四種常用交叉熵?
答: tf.nn.weighted_cross_entropy_with_logits
       tf.nn.sigmoid_cross_entropy_with_logits
       tf.nn.softmax_cross_entropy_with_logits
       tf.nn.sparse_softmax_cross_entropy_with_logits
4、什麼叫過擬合,產生過擬合的原因?避免過擬合方法?
答:過擬合簡單說,就是在機器學習中,模型訓練效果好,但對新的測試數據預測很差。

產生過擬合原因:

  • 數據有噪聲
  • 訓練數據不足,有限的訓練數據
  • 訓練模型過度導致模型非常複雜

避免過擬合方法(常見):

  • early stopping,在發生擬合之前提前結束訓練。
  • 數據集擴增,最大的滿足全樣本。
  • 正則化,引入範數概念,增強模型泛化能力。
  • droput,每次訓練時丟棄一些節點,增強泛化能力
  • batch normalization
  • 減小模型複雜度

L1和L2的區別

  • L1範數爲向量中各個元素的絕對值之和,符合拉普拉斯分佈,可以使權值稀疏。
  • L2範數爲向量中各個元素的平方和的1/2次方,符合高斯分佈,可以防止過擬合。
  • Lp範數爲向量中各個元素的p次方和的1/p次方。

6、什麼是核函數?

核函數是將線性不可分的特徵隱射到高維特徵空間,從而讓支持向量機在這個高維空間線性可分,也就是使用核函數可以向高維空間映射並解決非線性的分類問題。包括線性核函數,多項式核函數,高斯核函數等,其中高斯核函數最爲常用。

7、深度學習框架TensorFlow中常見的核函數都有哪些?

SVM高斯核函數,應爲如果想要分割非線性數據集,改變線性分類器隱射到數據集,就要改變SVM損失函數中的核函數

線性核函數;多項式核函數

8、樸素貝葉斯方法的優勢是什麼?

  •     樸素貝葉斯有穩定的分類效率
  •     對於小規模的數據表現很好,能處理多分類問題,可以再數據超出內存時,去增量訓練
  •     對缺失數據不太敏感,算法比較簡單,常用於文本分類。

9、什麼是監督學習的標準方法?

      所有的迴歸算法和分類算法都屬於監督學習。並且明確的給給出初始值,在訓練集中有特徵和標籤,並且通過訓練獲得一個模型,在面對只有特徵而沒有標籤的數據時,能進行預測。

    監督學習和非監督學習?

  • 監督學習:通過已有的一部分輸入數據與輸出數據之間的對應關係,生成一個函數,將輸入映射到合適的輸出,例如 分類。
  • 非監督學習:直接對輸入數據集進行建模,例如聚類。
  • 半監督學習:綜合利用有類標的數據和沒有類標的數據,來生成合適的分類函數。

  目前最廣泛被使用的分類器有人工神經網絡、支持向量機、最近鄰居法、高斯混合模型、樸素貝葉斯方法、決策樹和徑向基函數分類。

 無監督學習裏典型的例子就是聚類了。聚類的目的在於把相似的東西聚在一起,而我們並不關心這一類是什麼。因此,一個聚類算法通常只需要知道如何計算相似度就可以開始工作了。
 

10、在機器學習中,模型的選擇是指什麼?

       根據一組不同複雜度的模型表現,從某個模型中挑選最好的模型。選擇一個最好模型後,在新的數據上來評價其預測誤差等評價和指標。

  11、談談判別式模型和生成式模型?

  • 常見的判別模型有:K近鄰、SVM、決策樹、感知機、線性判別分析(LDA)、線性迴歸、傳統的神經網絡、邏輯斯蒂迴歸、boosting、條件隨機場。通過決策函數來進行判別。
  • 常見的生成模型有:樸素貝葉斯、隱馬爾可夫模型、高斯混合模型、文檔主題生成模型(LDA)、限制玻爾茲曼機。通過聯合概率密度分佈函數來進行預測。
     

11、圖形數據庫Neo4J的優劣勢?

優勢:1.更快的數據庫操作,前提是數據量足夠大。

          2. 數據更加直觀,相應的SQL語句更加好寫。

          3.更靈活,不管有什麼新的數據需要儲存,都是一律的節點,只需要考慮節點屬性和邊屬性。

         4.數據庫的操作不會隨着數據庫的增大有明顯的降低。

劣勢:1.極慢的插入速度。

          2.超大的節點。當一個節點的邊非常多,有關這個節點的操作速度就會大大下降

12、LR和SVM的聯繫與區別是什麼?

  •     都是分類算法,如果不考慮核函數,LR和SVM都是線性分類算法,也就是說他們的分類決策面都是線性的。
  •     LR和SVM都是監督學習算法
  •     LR和SVM的損失函數不同
  •     SVM只考慮局部的邊界線附近的點 ,LR考慮全局,遠離的點對邊界線的確定也起作用。

13、什麼是聚類,聚類的應用場景?

     聚類是指根據一定的準則,把一份事物按照這個準則歸納成互不重合的幾份,機器學習中,聚類指按照一個標準,這個標準通常是相似性,把樣本分成幾份,是得相似程度高的聚在一起,相似程度低的互相分開。

     聚類的應用場景,求職信息完善(有大約10萬份優質簡歷,其中部分簡歷包含完整的字段,部分簡歷在學歷,公司規模,薪水,等字段有些置空頂。希望對數據進行學習,編碼與測試,挖掘出職位路徑的走向與規律,形成算法模型,在對數據中置空的信息進行預測。)

 

14、機器學習中,爲何要經常對數據做歸一化?

    歸一化後加快的梯度下降對最優解的速度。
    歸一化有可能提高精度。

15、歸一化的好處

  • 歸一化加快了梯度下降求解最優解的速度
  • 歸一化還可能會提高精度。

16、歸一化的種類

  • 線性歸一化。利用max和min進行歸一化,如果max和min不穩定,則常用經驗值來替代max和min。
  • 標準差歸一化。利用所有樣本的均值和方差將樣本歸一化爲正態分佈。
  • 非線性歸一化。比如指數、對數、三角函數等。

17、歸一化和標準化的區別

標準化是依照特徵矩陣的列處理數據,其通過求z-score的方法,將樣本的特徵值轉換到同一量綱下。歸一化是依照特徵矩陣的行處理數據,其目的在於樣本向量在點乘運算或其他核函數計算相似性時,擁有統一的標準,也就是說都轉化爲“單位向量”。

對於深度網絡而言,歸一化的目的是方便比較,可以加快網絡的收斂速度;標準化是將數據利用z-score(均值、方差)的方法轉化爲符合特定分佈的數據,方便進行下一步處理,不爲比較。

18、熵

熵是指樣本的隨機程度。樣本越無序,熵越大, 信息越多。

19、SGD 中 S(stochastic)代表什麼

Stochastic Gradient Descent 隨機梯度下降。GD即Full-Batch,SGD即爲Mini-Batch。隨機性表現在訓練數據的shuffle。

20、Softmax Loss推倒

21、Rectified Linear Unit, ReLU 激活`函數缺點以及優點比較

22、ReLU比Sigmoid、Tanh好的原因

 

23、引入非線性激活函數的原因? 

 

  1. 指數函數運算量大。ReLU節省運算量。(計算量小)
  2. Sigmoid容易引發梯度消失問題,因爲Sigmoid函數在兩端的導數趨近於0.(解決梯度消失問題)
  3. ReLU使得一部分神經元死亡,這樣可以使得網絡變得比較稀疏,緩解了過擬合的發生。(避免過擬合)

24、若使用線性激活函數,則無論神經網絡有多少層,輸出都是輸入的線性組合。

好的激活函數有以下特點:

  •     非線性:即導數不是常數。
  •     幾乎處處可微:可微性保證了在優化中梯度的可計算性。
  •     計算簡單。
  •     非飽和性(saturation):飽和指的是在某些區間梯度接近於零(即梯度消失),使得參數無法繼續更新的問題。
  •     單調性(monotonic):即導數符號不變。
  •     輸出範圍有限:有限的輸出範圍使得網絡對於一些比較大的輸入也會比較穩定
  •     接近恆等變換(identity):即約等於x。這樣的好處是使得輸出的幅值不會隨着深度的增加而發生顯著的增加
  •     參數少:大部分激活函數都是沒有參數的。    
  •     歸一化(normalization):這個是最近纔出來的概念,對應的激活函數是SELU。類似於Batch Normalization

25、什麼造成了梯度消失和梯度膨脹? 

深度網絡的鏈式連乘法則,使得反向傳播時到達前幾層時,權值更新值非常小或非常大。可以通過ReLU解決一部分。

26、 各大指標

混淆矩陣

包含四部分的信息:
1. True negative(TN),稱爲真陰率,表明實際是負樣本預測成負樣本的樣本數
2. False positive(FP),稱爲假陽率,表明實際是負樣本預測成正樣本的樣本數
3. False negative(FN),稱爲假陰率,表明實際是正樣本預測成負樣本的樣本數
4. True positive(TP),稱爲真陽率,表明實際是正樣本預測成正樣本的樣本數
ROC曲線

二分類標籤的輸出概率需要定義一個閾值p,p值的選取反映了分類器的分類性能。ROC曲線的橫軸爲FP(將真實負樣本預測爲了正樣本,越低越好),縱軸爲TP(將真實正樣本預測爲正樣本,越高越好)

  •  (0,0):假陽率和真陽率都爲0,即分類器全部預測成負樣本
  • (0,1):假陽率爲0,真陽率爲1,全部完美預測正確,happy
  • (1,0):假陽率爲1,真陽率爲0,全部完美預測錯誤,悲劇
  • (1,1):假陽率和真陽率都爲1,即分類器全部預測成正樣本
  • TPR=FPR,斜對角線,預測爲正樣本的結果一半是對的,一半是錯的,隨機分類則,若ROC曲線處於對角線之下,則分類性能差於隨機分類器。希望該曲線向左上角凸。

AUC指標

AUC(Area under the ROC curve),適用於二元分類問題,AUC實際上就是ROC曲線下的面積。AUC直觀地反映了ROC曲線表達的分類能力。

  •     AUC = 1,代表完美分類器
  •     0.5 < AUC < 1,優於隨機分類器
  •     0 < AUC < 0.5,差於隨機分類器

求解步驟:

  •     獲得樣本的輸出概率和標籤值。
  •     對於不同的從高到低的閾值,計算不同的TP和FP。
  •     繪製ROC曲線,計算面積。

AUC含義:從所有真實的正樣本中取一個數據,判斷這個樣本是正樣本的概率是p1,從所有真實的負樣本中取一個數據,判斷這個樣本是正樣本的概率是p2。對於分類器來說p1越大越好,p2越小越好。則p1大於p2的概率稱之爲AUC。

mAP

計算步驟

  1. 得到所有測試樣本的id、輸出概率和真實標籤值。
  2. 對輸出概率進行排序。
  3. 假設有M個recall值,分別計算不同recall下的準確率。
  4. 取M個準確率的平均值。

 27、卷積神經網絡

1)卷積算法的時間複雜度

因爲在圖像的每個位置都要計算一遍卷積核,所以圖像像素數爲M,卷積核大小爲N,則卷積的時間複雜度爲O(M*N)

2)池化層的作用

  • 保留主要特徵的同時進行降維和減少計算量,防止過擬合,提高模型泛化能力。
  • 增加一定的不變性,在池化窗口內。包括平移、旋轉、尺度不變性 

3)CNN特性

  • CNN的四個特點:局部連接、權值共享、池化操作、多層次結構。
  • 局部連接使網絡可以提取數據的局部特徵;權值共享降低了網絡的訓練難度,一個Filter只提取一個特徵;池化操作與多層次結構一起,實現了數據的降維,將低層次的局部特徵組合成爲較高層次的特徵,從而對整個圖片進行表示。

28、爲什麼很多做人臉的Paper會最後加入一個Local Connected Conv?

      人臉在不同的區域存在不同的特徵(眼睛/鼻子/嘴的分佈位置相對固定),當不存在全局的局部特徵分佈時,Local-Conv更適合特徵的提取。

 29、循環神經網絡LSTM爲何比RNN好

      LSTM可以防止梯度消失或者爆炸

30、生成對抗網絡

       簡稱GAN。該網絡包含2個部分,一個稱之爲生成器generator,主要作用是生成圖片,並且儘量使得其看上去是來自於訓練樣本的。另一方是discriminator,其目標是判斷輸入圖片是否屬於真實訓練樣本。

TensorFlow

31、如何理解TensorFlow的計算圖?

TensorFlow分爲二部分,一部分是構造部分,用來構造網絡;一部分是執行部分,用來執行網絡中的計算。

 圖像相關開放性知識

32、怎樣在一張街拍圖像中識別明星的衣着服飾信息?

        我們需要把服裝與背景、人物、建築等等元素區別開來,確定是否有衣服以及衣服在什麼位置。接下來需要對衣服進行分析,提取出服裝的屬性、特徵等等。最後再根據這些特徵,在龐大的數據庫裏搜索同款或者類似的服裝圖片。

33、上衣純色,裙子花色,怎樣做區分?

       方差判斷,梯度變化。

34、怎樣判斷一張廣告圖片中是否有文字信息?是否用到OCR技術?怎樣應用?

       場景文字檢測與識別,先用CNN等對文字進行定位,然後再使用LSTM、OCR進行文字識別。

35、給一張二值化圖片(包含一個正方形),怎樣識別圖片中的正方形?如果圖片污損嚴重,怎樣識別並恢復?

        首先檢測輪廓,然後對輪廓進行分析(角點)。
36、簡述圖像識別在移動互聯網中的應用

       人臉識別、識別各類東西、檢索各類圖像。
38、圖像處理領域相關頂級論文

  •     Image and Vision Computing (IVC)
  •     Pattern Recognition (PR)
  •     ICCV: IEEE International Conference on Computer Vision
  •     CVPR: IEEE Conf on Comp Vision and Pattern Recognition
  •     NIPS: Neural Information Processing Systems
     

參考連接:https://blog.csdn.net/qq_42491855/article/details/82595497

                  https://blog.csdn.net/QiangLi_strong/article/details/80760889

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章