目錄[隱藏][顯示]
- 1. 深度學習到底是什麼?
- 2. 深度學習與機器學習有何區別?
- 3.您目前對神經網絡的理解是什麼?
- 4. 感知器到底是什麼?
- 5. 什麼是深度神經網絡?
- 6. 究竟什麼是多層感知器 (MLP)?
- 7. 激活函數在神經網絡中起什麼作用?
- 8. 梯度下降到底是什麼?
- 9. 成本函數到底是什麼?
- 10. 深度網絡如何勝過淺層網絡?
- 11. 描述前向傳播。
- 12. 什麼是反向傳播?
- 13. 在深度學習的背景下,你如何理解梯度裁剪?
- 14. Softmax 和 ReLU 函數是什麼?
- 15. 可以在所有權重設置為 0 的情況下訓練神經網絡模型嗎?
- 16. epoch 與批次和迭代有何區別?
- 17. 什麼是 Batch Normalization 和 Dropout?
- 18. 隨機梯度下降與批量梯度下降有何區別?
- 19. 為什麼在神經網絡中包含非線性至關重要?
- 20.什麼是深度學習中的張量?
- 21. 你會如何選擇深度學習模型的激活函數?
- 22. CNN 是什麼意思?
- 23. CNN 層數是多少?
- 24. 過擬合和欠擬合的影響是什麼,如何避免它們?
- 25. 在深度學習中,什麼是 RNN?
- 26.描述亞當優化器
- 27. 深度自動編碼器:它們是什麼?
- 28. Tensorflow 中的張量是什麼意思?
- 29. 計算圖的解釋
- 30. 生成對抗網絡(GAN):它們是什麼?
- 31. 在設計架構時,您將如何選擇要包含在神經網絡中的神經元和隱藏層的數量?
- 32. 深度強化學習採用了哪些類型的神經網絡?
- 結論
深度學習並不是一個全新的想法。 人工神經網絡是稱為深度學習的機器學習子集的唯一基礎。
深度學習是人類大腦的模仿,就像神經網絡一樣,因為它們是為了模仿人類大腦而創建的。
這已經有一段時間了。 這些天來,每個人都在談論它,因為我們沒有像現在這樣多的處理能力或數據。
在過去的 20 年裡,深度學習和機器學習是隨著處理能力的急劇提高而出現的。
為了幫助您準備在尋找理想工作時可能遇到的任何問題,這篇文章將引導您完成一些深度學習面試問題,從簡單到復雜。
1. 深度學習到底是什麼?
如果你參加一個 深入學習 面試,你無疑明白什麼是深度學習。 但是,面試官希望您提供詳細的答復以及針對此問題的說明。
為了訓練 神經網絡 對於深度學習,必須使用大量有組織或非結構化的數據。 為了找到隱藏的模式和特徵,它會執行複雜的程序(例如,區分貓的圖像和狗的圖像)。
2. 深度學習與機器學習有何區別?
作為被稱為機器學習的人工智能的一個分支,我們使用數據、統計和算法技術訓練計算機,以便它們隨著時間的推移變得更好。
作為一個方面 機器學習,深度學習模仿人腦中看到的神經網絡架構。
3.您目前對神經網絡的理解是什麼?
被稱為神經網絡的人工系統非常類似於人體中發現的有機神經網絡。
使用類似於 人類的大腦 函數,神經網絡是一組算法,旨在識別一段數據中的潛在相關性。
這些系統通過將自己暴露於一系列數據集和示例來獲取特定於任務的知識,而不是遵循任何特定於任務的規則。
這個想法是,系統不是對這些數據集進行預先編程的理解,而是學習區分特徵與輸入的數據。
神經網絡中最常用的三個網絡層如下:
- 輸入層
- 隱藏層
- 輸出層
4. 感知器到底是什麼?
在人腦中發現的生物神經元可與感知器相媲美。 感知器接收多個輸入,然後執行大量轉換和功能並產生輸出。
在二元分類中採用稱為感知器的線性模型。 它模擬具有各種輸入的神經元,每個輸入具有不同的權重。
神經元使用這些加權輸入計算一個函數並輸出結果。
5. 什麼是深度神經網絡?
深度神經網絡是一種人工神經網絡 (ANN),在輸入和輸出層 (DNN) 之間具有多個層。
深度神經網絡是深度架構神經網絡。 “深”一詞是指在單層中具有多個層次和單元的功能。 通過添加更多更大的層來捕獲更高級別的模式,可以創建更準確的模型。
6. 究竟什麼是多層感知器 (MLP)?
輸入、隱藏和輸出層存在於 MLP 中,就像神經網絡中一樣。 它的構建類似於具有一個或多個隱藏層的單層感知器。
單層感知器的二進制輸出只能對線性可分類(0,1)進行分類,而MLP可以對非線性類進行分類。
7. 激活函數在神經網絡中起什麼作用?
激活函數決定了一個神經元是否應該在最基本的水平上激活。 任何激活函數都可以接受輸入的加權和加上偏置作為輸入。 激活函數包括階躍函數、Sigmoid、ReLU、Tanh 和 Softmax。
8. 梯度下降到底是什麼?
最小化成本函數或誤差的最佳方法是梯度下降。 目標是找到函數的局部全局最小值。 這指定了模型應遵循的路徑以最小化錯誤。
9. 成本函數到底是什麼?
成本函數是評估模型執行情況的指標; 它有時被稱為“損失”或“錯誤”。 在反向傳播期間,它用於計算輸出層的誤差。
我們利用這種不准確性,通過將其推回神經網絡來推進神經網絡的訓練過程。
10. 深度網絡如何勝過淺層網絡?
除了輸入和輸出層之外,隱藏層還被添加到神經網絡中。 在輸入層和輸出層之間,淺層神經網絡使用單個隱藏層,而深層神經網絡使用多個層級。
淺層網絡需要幾個參數才能適應任何功能。 即使使用少量參數,深度網絡也可以更好地適應功能,因為它們包含多個層。
深度網絡現在是首選,因為它們在處理任何類型的數據建模方面的多功能性,無論是語音還是圖片識別。
11. 描述前向傳播。
在稱為前向傳播的過程中,輸入與權重一起傳輸到掩埋層。
在處理可以繼續到下一層之前,在每個埋層中計算激活函數的輸出。
該過程從輸入層開始,一直到最終的輸出層,因此得名前向傳播。
12. 什麼是反向傳播?
當在神經網絡中調整權重和偏差時,通過首先觀察值如何變化來使用反向傳播來降低成本函數。
了解每個隱藏層的梯度使得計算這種變化變得簡單。
該過程稱為反向傳播,從輸出層開始,然後向後移動到輸入層。
13. 在深度學習的背景下,你如何理解梯度裁剪?
Gradient Clipping 是一種解決反向傳播過程中出現的梯度爆炸問題的方法(在這種情況下,嚴重的不正確梯度會隨著時間的推移而累積,從而導致在訓練期間對神經網絡模型權重進行重大調整)。
梯度爆炸是在訓練過程中梯度變得太大時出現的一個問題,這會使模型變得不穩定。 如果梯度超出預期範圍,梯度值將逐個元素推至預定義的最小值或最大值。
梯度裁剪增強了神經網絡在訓練期間的數值穩定性,但對模型性能的影響很小。
14. Softmax 和 ReLU 函數是什麼?
一個稱為 Softmax 的激活函數產生一個介於 0 和 1 之間的輸出。每個輸出都被除以使得所有輸出的總和為 XNUMX。 對於輸出層,經常使用 Softmax。
整流線性單元,有時也稱為 ReLU,是最常用的激活函數。 如果 X 為正,則輸出 X,否則輸出零。 ReLU 經常應用於埋層。
15. 可以在所有權重設置為 0 的情況下訓練神經網絡模型嗎?
神經網絡永遠不會學會完成給定的工作,因此不可能通過將所有權重初始化為 0 來訓練模型。
如果所有權重都初始化為零,則 W [1] 中的每個權重的導數將保持不變,這將導致神經元迭代地學習相同的特徵。
不僅將權重初始化為 0,而且任何形式的常數都可能導致低於標準的結果。
16. epoch 與批次和迭代有何區別?
處理數據集和梯度下降技術的不同形式包括批處理、迭代和曆元。 Epoch 涉及具有完整數據集的一次性神經網絡,包括正向和反向。
為了提供可靠的結果,由於數據集太大而無法一次嘗試通過,因此經常多次傳遞數據集。
這種通過神經網絡重複運行少量數據的做法稱為迭代。 為保證數據集成功地遍歷神經網絡,可以將其劃分為若干個批次或子集,稱為批處理。
根據數據收集的大小,所有三種方法(紀元、迭代和批量大小)本質上都是使用 梯度下降算法.
17. 什麼是 Batch Normalization 和 Dropout?
Dropout 通過隨機刪除可見和隱藏的網絡單元(通常刪除 20% 的節點)來防止數據過度擬合。 它使網絡收斂所需的迭代次數增加了一倍。
通過對每一層的輸入進行歸一化,使其平均輸出激活為零,標準差為 XNUMX,批量歸一化是提高神經網絡性能和穩定性的一種策略。
18. 隨機梯度下降與批量梯度下降有何區別?
批量梯度下降:
- 完整的數據集用於構建批量梯度的梯度。
- 龐大的數據量和緩慢更新的權重使得收斂變得困難。
隨機梯度下降:
- 隨機梯度使用單個樣本來計算梯度。
- 由於更頻繁的權重變化,它的收斂速度明顯快於批量梯度。
19. 為什麼在神經網絡中包含非線性至關重要?
無論有多少層,神經網絡在沒有非線性的情況下都會表現得像感知器,使輸出線性依賴於輸入。
換句話說,具有 n 層和 m 個隱藏單元和線性激活函數的神經網絡等價於沒有隱藏層並且能夠單獨檢測線性分離邊界的線性神經網絡。
如果沒有非線性,神經網絡就無法解決複雜的問題並對輸入進行準確分類。
20.什麼是深度學習中的張量?
稱為張量的多維數組用作矩陣和向量的泛化。 它是深度學習的關鍵數據結構。 基本數據類型的 N 維數組用於表示張量。
張量的每個分量都具有相同的數據類型,並且該數據類型始終是已知的。 可能只有形狀的一部分——即有多少維度以及每個維度有多大——是已知的。
在輸入也完全已知的情況下,大多數操作會產生完全已知的張量; 在其他情況下,張量的形式只能在圖執行期間建立。
21. 你會如何選擇深度學習模型的激活函數?
- 如果必須預期的結果是實際的,那麼使用線性激活函數是有意義的。
- 如果必須預測的輸出是二元類概率,則應使用 Sigmoid 函數。
- 如果投影輸出包含兩個分類,則可以使用 Tanh 函數。
- 由於其易於計算,ReLU 函數適用於廣泛的情況。
22. CNN 是什麼意思?
專門評估視覺圖像的深度神經網絡包括卷積神經網絡(CNN,或 ConvNet)。 在這裡,不是在向量表示輸入的神經網絡中,輸入是多通道圖片。
多層感知器被 CNN 以一種特殊的方式使用,只需要很少的預處理。
23. CNN 層數是多少?
卷積層:主要層是卷積層,它有多種可學習的過濾器和一個感受野。 這個初始層接受輸入數據並提取其特徵。
ReLU 層:通過使網絡非線性,該層將負像素變為零。
池化層:通過最小化處理和網絡設置,池化層逐漸最小化表示的空間大小。 最大池化是最常用的池化方法。
24. 過擬合和欠擬合的影響是什麼,如何避免它們?
當模型學習到訓練數據中的複雜性和噪聲到對模型對新數據的使用產生負面影響的程度時,這被稱為過度擬合。
在學習目標函數時更容易適應的非線性模型更有可能發生。 可以訓練模型來檢測汽車和卡車,但它可能只能識別具有特定盒子形式的車輛。
鑑於它只接受過一種卡車的訓練,它可能無法檢測到平闆卡車。 在訓練數據上,該模型運行良好,但在實際世界中卻不行。
欠擬合模型是指沒有充分訓練數據或無法泛化到新信息的模型。 當使用不充分或不准確的數據訓練模型時,通常會發生這種情況。
欠擬合會影響準確性和性能。
重新採樣數據以估計模型精度(K 折交叉驗證)和使用驗證數據集來評估模型是避免過擬合和欠擬合的兩種方法。
25. 在深度學習中,什麼是 RNN?
遞歸神經網絡 (RNN) 是一種常見的人工神經網絡,縮寫為 RNN。 它們用於處理基因組、筆跡、文本和數據序列等。 對於必要的訓練,RNN 採用反向傳播。
26.描述亞當優化器
Adam 優化器,也稱為自適應動量,是一種優化技術,用於處理具有稀疏梯度的噪聲情況。
除了提供每個參數更新以加快收斂外,Adam 優化器還通過動量增強收斂,確保模型不會陷入鞍點。
27. 深度自動編碼器:它們是什麼?
深度自動編碼器是兩個對稱的深度信念網絡的統稱,通常包括四到五個淺層用於網絡的編碼一半和另一組四或五層用於解碼的一半。
這些層構成了深度信念網絡的基礎,並受到玻爾茲曼機的約束。 在每個 RBM 之後,深度自動編碼器將二進制更改應用於數據集 MNIST。
它們也可以用於其他數據集,在這些數據集中,高斯整流轉換比 RBM 更受歡迎。
28. Tensorflow 中的張量是什麼意思?
這是另一個經常被問到的深度學習面試問題。 張量是一個數學概念,可視化為高維數組。
張量是這些數據數組,它們作為神經網絡的輸入提供,具有各種維度和排名。
29. 計算圖的解釋
TensorFlow 的基礎是計算圖的構建。 每個節點都在節點網絡中起作用,其中節點代表數學運算,邊代表張量。
它有時被稱為“數據流圖”,因為數據以圖形的形式流動。
30. 生成對抗網絡(GAN):它們是什麼?
在深度學習中,生成建模是使用生成對抗網絡完成的。 這是一項無監督的工作,其結果是通過識別輸入數據中的模式來產生的。
鑑別器用於對生成器生成的實例進行分類,而生成器用於生成新的示例。
31. 在設計架構時,您將如何選擇要包含在神經網絡中的神經元和隱藏層的數量?
鑑於業務挑戰,構建神經網絡架構所需的神經元和隱藏層的精確數量無法通過任何硬性規則來確定。
在神經網絡中,隱藏層的大小應該落在輸入層和輸出層大小的中間。
但是,可以通過一些簡單的方法來獲得創建神經網絡設計的先機:
從一些基本的系統測試開始,根據先前在類似現實世界環境中使用神經網絡的經驗,看看什麼對任何特定數據集表現最好,這是應對每個獨特的現實世界預測建模挑戰的最佳方法。
可以基於對問題域的了解和先前的神經網絡經驗來選擇網絡配置。 在評估神經網絡的設置時,用於相關問題的層數和神經元數量是一個很好的起點。
神經網絡的複雜性應根據預計的輸出和準確性逐漸增加,從簡單的神經網絡設計開始。
32. 深度強化學習採用了哪些類型的神經網絡?
- 在稱為強化學習的機器學習範式中,該模型的作用是最大化累積獎勵的想法,就像活物一樣。
- 遊戲和自動駕駛汽車都被描述為涉及的問題 強化學習.
- 如果要表示的問題是遊戲,則屏幕用作輸入。 為了為下一階段產生輸出,該算法將像素作為輸入,並通過多層卷積神經網絡對其進行處理。
- 模型的行為結果,無論是好的還是壞的,都起到了強化的作用。
結論
多年來,深度學習越來越受歡迎,幾乎在每個行業領域都有應用。
公司越來越多地尋找能夠使用深度學習和機器學習方法設計複製人類行為的模型的有能力的專家。
提高技能並保持對這些尖端技術的了解的候選人可以找到廣泛的工作機會,並獲得豐厚的報酬。
現在你可以開始面試了,因為你已經很好地掌握瞭如何回答一些最常被要求的深度學習面試問題。 根據您的目標採取下一步行動。
參觀哈什多克 採訪系列 為面試做準備。
發表評論