BAT機器學習面試1000題系列(136-140題)

136.深度學習常用方法

@SmallisBig,來源:blog.csdn.net/u01049616

全連接DNN(相鄰層相互連接、層內無連接):

AutoEncoder(儘可能還原輸入)、Sparse Coding(在AE上加入L1規範)、RBM(解決概率問題)—–>特徵探測器——>棧式疊加 貪心訓練

RBM—->DBN

解決全連接DNN的全連接問題—–>CNN

解決全連接DNN的無法對時間序列上變化進行建模的問題—–>RNN—解決時間軸上的梯度消失問題——->LSTM

137.神經網路模型(Neural Network)因受人類大腦的啟發而得名。

神經網路由許多神經元(Neuron)組成,每個神經元接受一個輸入,對輸入進行處理後給出一個輸出,如下圖所示。請問下列關於神經元的描述中,哪一項是正確的?

A.每個神經元只有一個輸入和一個輸出

B.每個神經元有多個輸入和一個輸出

C.每個神經元有一個輸入和多個輸出

D.每個神經元有多個輸入和多個輸出

E.上述都正確

  答案:(E)

  每個神經元可以有一個或多個輸入,和一個或多個輸出。

138.下圖是一個神經元的數學表示

  這些組成部分分別表示為:

  - x1, x2,…, xN:表示神經元的輸入。可以是輸入層的實際觀測值,也可以是某一個隱藏層(Hidden Layer)的中間值

  - w1, w2,…,wN:表示每一個輸入的權重

  - bi:表示偏差單元/偏移量(bias unit)。作為常數項加到激活函數的輸入當中,類似截距(Intercept)

  - a:作為神經元的激勵函數(Activation),可以表示為

  - y:神經元輸出

  考慮上述標註,線性等式(y = mx + c)可以被認為是屬於神經元嗎:

  A. 是

  B. 否

  答案:(A)

  一個不包含非線性的神經元可以看作是線性回歸函數(Linear Regression Function)。

139.在一個神經網路中,知道每一個神經元的權重和偏差是最重要的一步。如果知道了神經元準確的權重和偏差,便可以近似任何函數,但怎麼獲知每個神經的權重和偏移呢? A 搜索每個可能的權重和偏差組合,直到得到最佳值

B 賦予一個初始值,然後檢查跟最佳值的差值,不斷迭代調整權重

C 隨機賦值,聽天由命

D 以上都不正確的

答案:(C)選項C是對梯度下降的描述。

140.梯度下降演算法的正確步驟是什麼?

  1.計算預測值和真實值之間的誤差

  2.重複迭代,直至得到網路權重的最佳值

  3.把輸入傳入網路,得到輸出值

  4.用隨機值初始化權重和偏差

  5.對每一個產生誤差的神經元,調整相應的(權重)值以減小誤差

答案:正確步驟排序是:4, 3, 1, 5, 2

推薦閱讀:

為什麼隨機梯度下降方法能夠收斂?
[讀論文]Big Batch SGD: Automated Inference using Adaptive Batch Sizes
詳解softmax函數以及相關求導過程
隨機梯度下降和正則項之間如何處理?
當我們在談論 Deep Learning:DNN 與它的參數們(貳)

TAG:神经网络 | 深度学习DeepLearning | 梯度下降 |