1. 程式人生 > >深度學習面試題解(1-5)

深度學習面試題解(1-5)

開篇

今天面試了一下阿里高德,面試問題記錄一波,面試的時候問得還是超級細的,深度學習演算法和傳統的學習演算法都有問到,視訊面的時候我也是一塌糊塗,不過居然莫名其妙的過了。
1、梯度爆炸和梯度消失的問題,這裡面還順帶問了一下sigmoid函式梯度的最大值(0.25)
這部分我答的好像還不是很糟糕,放上我以前寫的部落格,作為大家的參考
https://blog.csdn.net/ding_xiaofei/article/details/81198850

2、BN(Batchnorm)
除了解決梯度消失和梯度爆炸還有那些優點
沒有它之前,需要小心的調整學習率和權重初始化,但是有了BN可以放心的使用大學習率,但是使用了BN,就不用小心的調參了,較大的學習率極大的提高了學習速度;
Batchnorm本身上也是一種正則的方式,可以代替其他正則方式如dropout等;
另外,個人認為,batchnorm降低了資料之間的絕對差異,有一個去相關的性質,更多的考慮相對差異性,因此在分類任務上具有更好的效果。(比賽中也經常使用到這個,保證分類的效果)

3、LSTM的結構
這個我是真的有點忘記了,這邊使用巨集毅大神的圖複習一下基本的LSTM概念。
具體的概念可以參考我的部落格
https://blog.csdn.net/ding_xiaofei/article/details/81214396
這邊主要說一下它的幾個門,門機制是LSTM的核心所在,首先是forget gate和input gate,都是sigmoid函式,決定了c要忘記什麼,要記住新來的什麼內容。output gate就是決定tanh(ct)裡面有什麼內容要輸出啦。輸出就是ht,ht會最終決定yt的輸出。

4、LSTM的引數個數,這個問題一上來就把我問懵了,本來lstm的結構我就記不太清了,猛得來一個這個問題
讓我們舉一個簡單的例子,先就計算一個cell裡面的引數個數,我們接受的xt是1000維的詞向量,我們的ht也是1000維的向量,這樣我們的輸入就是2000維,為了保證我們中間傳遞的維度也是1000維,我們的w應該是10002000維的,我們使用到引數的其實就是3個門和一個z,這裡是(1000

2000+1000)*4,後面加的1000代表的是引數b的個數。
詳細的解釋如下圖
在這裡插入圖片描述
來源於知乎
https://www.zhihu.com/question/263700757
經過這麼一折騰,我相信你應該無法忘記lstm的結構了。

5、說說GRU和LSTM的區別
GRU裡面只有兩個門,重置門rt和更新門zt
在這裡插入圖片描述

LSTM的結構是一定要會畫的,GRU最好也是要能會畫。

相關推薦

深度學習面試題解1-5

開篇 今天面試了一下阿里高德,面試問題記錄一波,面試的時候問得還是超級細的,深度學習演算法和傳統的學習演算法都有問到,視訊面的時候我也是一塌糊塗,不過居然莫名其妙的過了。 1、梯度爆炸和梯度消失的問題,這裡面還順帶問了一下sigmoid函式梯度的最大值(0.25

第五章1.5深度學習——卷積神經網路簡介

卷積神經網路(Convolutional Neural Network, CNN)是一種前饋神經網路, 在計算機視覺等領域被廣泛應用. 本文將簡單介紹其原理並分析Tensorflow官方提供的示例. 一、工作原理 卷積是影象處理中一種基本方法. 卷積核是一個

深度學習分割:1資料彙總

時間關係,備份一些深度學習分割演算法相關的部落格和介紹文章。 分割演算法綜述 介紹了幾個比較經典且非常重要的深度學習分割演算法。 原作地址:https://blog.csdn.net/weixin_41923961/article/details/80946586 更加全面的一篇

深度學習&PyTorch筆記 1線性迴歸模型

首先建立模型 class LinearRegression(nn.Module): def __init__(self): super(LinearRegression, self).__init__() # nn.Module 的初

深度學習實戰教程1--手機上跑目標檢測模型YOLO,從DarkNet到Caffe再到NCNN完整打通

https://github.com/lwplw 這篇打算就直入主題了,YOLO是什麼、DarkNet是什麼、Caffe是什麼、NCNN又是什麼…等等這一系列的基礎科普這裡就完全不說了,牽扯實在太多,通過其他帖子有一定的積累後,看這篇就相對容易了。 本文核心:把一個目標檢測模型跑

學習Linux-4.12核心網路協議棧1.5——協議棧的初始化(inet_init主要資料結構)

前面瞭解到網路初始化申請了兩塊skb快取記憶體和建立了一個/proc/net/protocols檔案,現在開始重頭戲,網路協議棧的初始化。這篇文章主要介紹網路棧中使用到的主要資料結構。 網路協議棧的核心實現和理論上的分層有些不一樣,在程式碼裡面的分層如下圖: 開始前,

吳恩達Coursera深度學習課程筆記1-1神經網路和深度學習-深度學習概論

這系列文章是我在學習吳恩達教授深度學習課程時為了加深自己理解,同時方便後來對內容進行回顧而做的筆記,其中難免有錯誤的理解和不太好的表述方式,歡迎各位大佬指正並提供建議。1、什麼是神經網路               在簡單的從房屋面積預測價格時,神經網路可以理解為將輸入的房屋

深度學習——入門筆記1

最近有個三天小長假,也沒有什麼繁瑣的事兒,正好用來學點東西。自己根據自己的特點,找了本實踐和理論結合的深度學習的書,也不想那麼多,看完再說。 以前喜歡做筆記,但是發現找起來太麻煩,所以這次嘗試著些部落格吧。 書籍連結:http://neuralnetworksanddeeplearning.

hadoop學習WordCount示例深度學習MapReduce過程1

        花了整整一個下午(6個多小時),整理總結,也算是對這方面有一個深度的瞭解。日後可以回頭多看看。         我們都安裝完Hadoop之後,按照一些案例先要跑一個WourdCount程式,來測試Hadoop安裝是否成功。在終端中用命令建立一個資料夾,簡單的

吳裕雄 python深度學習與實踐1

span 實踐 __init__ class col tar pri png self #coding = utf8 import threading,time count = 0 class MyThread(threading.Thread): def

spring-oauth-server實踐1-5為客戶mobile-client開通授權碼模式申請access_token,並使用access_token訪問需要鑒權的業務

有效 ron 服務提供者 http spring use tro 使用 info 1、為mobile用戶申請access_token access_token存在並有效時,4+1種方式再次申請到的access_token都是一樣的,有效期不變! 如果mo

GITHUB1.5GitHub提供的主要功能

pos bsp 自動生成 lan 一支 評論 手冊 倉庫 wiki Git 倉庫 一般情況下,我們可以免費建立任意個GitHub提供的Git 倉庫。但如果需要建立只對特定人物或只對自己公開的私有倉庫,則需要依照套餐類型支付每月最低7美元的使用費。 詳見 https://gi

Win10深度學習環境配置上篇:python3 + curl + pip + Jupyter notebook

好記性不如爛筆頭,純粹為自己的學習生活記錄點什麼! 本次記錄win10下安裝python3+curl+pip+jupyter,以及修改右鍵快捷開啟cmd 對於大多數的學習者,還是習慣選擇在ubuntu系統上學習深度學習,主要還是因為絕大多數演算法實現都是ubunt

基於深度學習的VQA視覺問答技術

mark一下,感謝作者分享! http://www.sohu.com/a/225043785_99992181 https://blog.csdn.net/sinat_26917383/article/details/73048045 https://blog.csdn.net/A

使用安卓手機開發深度學習簡易教程Python3+Keras

本教程基於安卓手機平臺,在PyDroid3軟體上,使用Python3語言配合Keras框架開發深度學習。本文章主要涉及在手機上開發環境的搭建,以及簡單的示例程式碼,如果想深入研究開發,還需要讀者自己花些功夫了。不廢話,開始教程。。 準備工作 1、手上需要有一個安卓手機,最近兩年

github上值得關注的機器學習深度學習大牛持續更新

前言: 因為想搜相關內容發現搜到的基本上都是前端大牛(這可能是由於js是github上最受歡迎的語言),所以打算自己mark一下同時方便他人,於是寫下這篇博文,本文持續更新,如果有童鞋覺得有不錯的賬號也可以評論推薦給我~我也會更新上去~ 大牛:(排名不分先後) 一: Wes McKinn

深度學習基礎系列十一| Keras中影象增強技術詳解

  在深度學習中,資料短缺是我們經常面臨的一個問題,雖然現在有不少公開資料集,但跟大公司掌握的海量資料集相比,數量上仍然偏少,而某些特定領域的資料採集更是非常困難。根據之前的學習可知,資料量少帶來的最直接影響就是過擬合。那有沒有辦法在現有少量資料基礎上,降低或解決過擬合問題呢?    

靜態匯入1.5

jdk1.5提出的就是在普通的import後面加上一個關鍵字static  需求 求兩個數的最大值 Math類中所有的方法都是靜態的那麼呼叫方法的時候直接使用類名.方法名 Import語句可以匯入一個類或者某個包中的所有類.  Import static語句匯入一個類中某

圖文筆記,帶你走進《未來簡史》1-5

    除了舉例驗證了人類對永生的渴望。     同時,這部分還介紹了科學界為永生而做出的具體努力和樂觀展望,即:基因工程、再生醫學和納米科技有望實現衰老組織的再生,至少達到使人長生不老。     接下來,作者設想了當人類壽命可以達到150歲,將給社會帶來的一些影響,比如:     (1)家庭結構

吳恩達 深度學習 程式設計作業4-4- Face Recognition for the Happy House & Art: Neural Style Transfer

吳恩達 Coursera 課程 DeepLearning.ai 程式設計作業系列,本文為《卷積神經網路》部分的第四周“特殊應用:人臉識別和神經風格遷移”的課程作業。 Part 1:Face Recognition for the Happy H