貝葉斯,深度學習問題複習

貝葉斯
樸素貝葉斯分類器原理以及公式,出現估計概率值爲 0 怎麼處理(拉普拉斯平滑),缺點;
解釋貝葉斯公式和樸素貝葉斯分類。

https://editor.csdn.net/md/?articleId=106044348
在這裏插入圖片描述

0怎麼處理:
在這裏插入圖片描述

貝葉斯分類,這是一類分類方法,主要代表是樸素貝葉斯,樸素貝葉斯的原理,重點在假設各個屬性類條件獨立。然後能根據貝葉斯公式具體推導。考察給你一個問題,如何利用樸素貝葉斯分類去分類,比如:給你一個人的特徵,判斷是男是女,比如身高,體重,頭髮長度等特徵的的數據,那麼你要能推到這個過程。給出最後的分類器公式。

那你說說貝葉斯怎麼分類啊?比如說看看今天天氣怎麼樣?我:blabla,,,利用天氣的歷史數據,可以知道天氣類型的先驗分佈,以及每種類型下特徵數據(比如天氣數據的特徵:溫度啊,溼度啊)的條件分佈,這樣我們根據貝葉斯公式就能求得天氣類型的後驗分佈了。。。。面試官:en(估計也比較滿意吧)那你瞭解關於求解模型的優化方法嗎?一般用什麼優化方法來解?

深度學習
解釋一下CNN、介紹CNN、卷積公式,以及特點,假設面試官什麼都不懂,詳細解釋 CNN 的原理;

https://blog.csdn.net/None_Pan/article/details/105871835

問CNN的細節特點,哪些特點使得CNN這麼好用,哪些場景用CNN可以,抽象一下這些場景的特徵,可以降採樣但仍能保持主要信息;局部連接可以保證獲取局部信息;權值共享保證高效,

當圖像太大時,“合併層”部分將減少參數的數量。 空間池化也稱爲子採樣或下采樣,可降低每個地圖的維數,但保留重要信息。 空間池可以具有不同的類型:

首先考慮將圖像作爲輸入輸入到常規的完全連接的神經網絡中。 每個輸入(像素值)都連接到第一層中的每個神經元。 因此,第一層中的每個神經元都從圖像的每個部分獲取輸入。

使用卷積網絡,每個神經元僅從輸入圖像中的一小部分像素接收輸入。 這就是“局部連接”的意思,進入給定神經元的所有輸入實際上彼此接近。
局部連通性是每個神經只連接到輸入圖像子集的概念(與神經網絡完全連接的神經網絡不同)
這有助於減少整個系統中的參數數量,並使計算效率更高

“權重分配”是指當我們將此2x2濾鏡應用於3x3輸入時,我們會在整個輸入中重用該濾鏡給定的四個權重。 備選方案是每個過濾器應用程序都有其自己的輸入集(對於圖像的每個區域,它實際上是一個單獨的過濾器),總共提供16個權重,或者是一個具有4個節點的密集層提供36個權重。

以這種方式共享權重將大大減少我們必須學習的權重數量,從而使學習深度架構變得更加容易,並且還使我們能夠學習與正在考慮輸入的哪個區域無關的功能。

使用CNN用於:

影像數據
分類預測問題
迴歸預測問題
更一般而言,CNN可以很好地處理具有空間關係的數據。

CNN輸入傳統上是二維的,一個字段或矩陣,但也可以更改爲一維的,從而允許其開發一維序列的內部表示形式。

這使CNN可以更普遍地用於具有空間關係的其他類型的數據。例如,文本文檔中單詞之間存在順序關係。時間序列的時間步長之間有序關係。

儘管不是專門爲非圖像數據開發的,但CNN在諸如情感分析中使用的文檔分類以及相關問題等問題上取得了最新的成果。

嘗試使用CNN:

文字數據
時間序列數據
序列輸入數據

DNN和CNN相比有哪些區別,用過RNN麼?畫一下RNN的圖,你在深度學習過程中遇到過哪些問題?如果出現過擬合你怎麼辦?
術語“深層神經網絡”是指具有多個隱藏層的任何神經網絡。 卷積神經網絡是深度神經網絡的一種特殊類型,對圖像識別特別有用。 具體來說,卷積神經網絡使用卷積和池化層,這反映了大多數圖像的平移不變性。

在這裏插入圖片描述

dropout是什麼?它有什麼用?你會怎麼用它?當全連接跟dropout連着用需要注意什麼?你之前過擬合怎麼解決的?

它可以與大多數(也許是所有)神經網絡模型一起使用,尤其是多層感知器,卷積神經網絡和長短期記憶遞歸神經網絡等最常見的網絡類型。

對於LSTM,可能希望對輸入和循環連接使用不同的drop rate。

dropout rate

丟棄超參數的默認解釋是訓練層中給定節點的概率,其中1.0表示沒有丟失,而0.0表示沒有來自該層的輸出。

隱藏層中的有效缺失值在0.5到0.8之間。輸入層使用較大的輟學率,例如0.8。

使用更大的網絡

對於較大的網絡(更多的層或更多的節點),更容易過度擬合訓練數據是很常見的。

使用dropout正則化時,可以使用較大的網絡,且過擬合的風險較小。實際上,可能會需要一個大型網絡(每層更多的節點),因爲輟學可能會降低網絡的容量。

一條好的經驗法則是,將丟棄前的層中的節點數除以建議的丟棄率,並將其用作使用丟棄的新網絡中的節點數。例如,具有100個節點且建議的輟學率爲0.5的網絡在使用輟學時將需要200個節點(100 / 0.5)。

如果n是任一層中隱藏單元的數量,並且p是保留一個單元的概率[…]良好的輟學網應至少具有n / p個單元

與較小的數據集一起使用

像其他正則化方法一樣,對於訓練數據數量有限且模型可能過度擬合訓練數據的那些問題,dropout更爲有效。

有大量訓練數據的問題可能會因使用dropout而受益較少。

對於非常大的數據集,正則化幾乎沒有減少泛化誤差。在這些情況下,使用dropout和較大模型的計算成本可能會超過正則化的好處。

會明顯增加訓練時間,因爲引入dropout之後相當於每次只是訓練的原先網絡的一個子網絡,爲了達到同樣的精度需要的訓練次數會增多。

Right before the last layer. This is generally a bad place to apply dropout, because the network has no ability to “correct” errors induced by dropout before the classification happens. If I read correctly, you might have put dropout right before the softmax in the iris MLP.
When the network is small relative to the dataset, regularization is usually unnecessary. If the model capacity is already low, lowering it further by adding regularization will hurt performance. I noticed most of your networks were relatively small and shallow.
When training time is limited. It’s unclear if this is the case here, but if you don’t train until convergence, dropout may give worse results. Usually dropout hurts performance at the start of training, but results in the final ‘‘converged’’ error being lower. Therefore, if you don’t plan to train until convergence, you may not want to use dropout.

如果本身training loss就很大你怎麼辦?如果數據不變,怎麼調整網絡結構解決這個問題?(batch normalization)
參見之後的一篇文章。

梯度消失知道麼?爲什麼會出現梯度消失?

由於RNN是通過時間進行反向傳播訓練的,因此會展開爲多層的前饋網絡。 當梯度經過許多時間步長返回時,它傾向於增長或消失,與深前饋網絡中的情況相同

梯度越低,網絡更新權重就越困難,獲得最終結果所需的時間也就越長。

例如,1000個迭代可能足以獲取時間點t的最終權重,但由於此時的梯度非常低,不足以訓練時間點t-3的權重。但是,問題不僅在於網絡的一半沒有得到適當的培訓。

先前層的輸出用作其他層的輸入。因此,基於來自未訓練層的輸入,一直在進行時間點t的訓練。因此,由於梯度消失,整個網絡沒有得到正確的訓練。

綜上所述,如果wrec小,則梯度梯度消失,如果wrec大,則梯度梯度爆炸。

對於消失的梯度問題,您越深入網絡,您的梯度越低,權重訓練就越困難,這對整個網絡中所有其他權重都具有多米諾骨牌效應。

那是使用遞歸神經網絡的主要障礙。現在,讓我們檢查一下該問題的可能解決方案。

dnn和rnn中的梯度消失原理一樣麼?
反向傳播訓練的,因此會展開爲多層的前饋網絡。 當梯度經過許多時間步長返回時,它傾向於增長或消失,與深前饋網絡中的情況相同

https://zhuanlan.zhihu.com/p/76772734

dnn中是哪個部分導致梯度消失?(激活層如sigmoid)
隨着更多使用某些激活函數的層被添加到神經網絡中,損耗函數的梯度接近零,從而使網絡難以訓練。
某些激活函數(例如S型函數)會將較大的輸入空間壓縮爲介於0和1之間的較小的輸入空間。因此,S型函數的輸入的較大變化將導致輸出的較小變化。 因此,導數變小。多個小於1的數連乘之後,那將會越來越小,導致靠近輸入層的層的權重的偏導幾乎爲0,也就是說幾乎不更新,這就是梯度消失的根本原因。
rnn中怎麼解決梯度消失問題?(lstm的結構相對普通RNN多了加和,爲避免梯度消散提供了可能。線性自連接的memory是關鍵。)

https://blog.csdn.net/None_Pan/article/details/105828459

講一下CNN吧,有哪些重要的特點?

https://blog.csdn.net/program_developer/article/details/84937018?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159224238719725211940175%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=159224238719725211940175&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2blogfirst_rank_v1~rank_blog_v1-1-84937018.pc_v1_rank_blog_v1&utm_term=CNN

RNN可以處理哪些場景?爲什麼CNN要用權值共享?(每個卷積核相當於一個特徵提取器,它的任務是匹配局部圖像中的特徵,權值共享後,匹配的特徵方式都是一樣的,提取若干特徵後就知道學習的是啥了)

遞歸神經網絡(RNN)設計用於處理序列預測問題。

序列預測問題有多種形式,最好用支持的輸入和輸出的類型來描述。

序列預測問題的一些示例包括:

一對多:將觀察值作爲輸入映射到具有多個步驟的序列作爲輸出。
多對一:將多個步驟的序列作爲輸入映射到類別或數量預測。
多對多:多步驟序列作爲輸入映射到多步驟序列作爲輸出。
多對多問題通常稱爲序列對序列,或簡稱seq2seq。

有關序列預測問題類型的更多詳細信息,請參見以下文章:

遞歸神經網絡序列預測模型的溫和介紹
遞歸神經網絡傳統上難以訓練。

長期短期記憶(LSTM)網絡可能是最成功的RNN,因爲它克服了訓練循環網絡的問題,從而被廣泛用於各種應用中。

通常,RNN特別是LSTM在處理單詞和段落序列(通常稱爲自然語言處理)時獲得了最大的成功。

這包括以時間序列表示的文本序列和口語序列。它們還被用作需要序列輸出的生成模型,不僅需要文本輸出,而且還需要生成手寫等應用程序。

將RNN用於:

文字數據
語音數據
分類預測問題
迴歸預測問題
生成模型
就像在CSV文件或電子表格中看到的那樣,遞歸神經網絡不適用於表格數據集。它們也不適用於圖像數據輸入。

不要將RNN用於:

表格數據
影像數據
RNN和LSTM已針對時間序列預測問題進行了測試,但至少可以說結果很差。自迴歸方法,甚至線性方法通常也要好得多。 LSTM通常優於應用於相同數據的簡單MLP。

CNN裏面哪些層?講一下卷積。卷積的形式是啥樣?給定一個輸入,算輸出的feature map大小。卷積有啥用?池化有啥用?有哪些池化方式?池化除了降採樣還有啥用?(就不知道了)還有哪些層你用過?

池化層是CNN的另一個構建塊。 它的功能是逐步減小表示的空間大小,以減少網絡中的參數和計算量。 池化層在每個要素地圖上獨立運行。 池化中最常用的方法是最大池化

1:降低計算成本。

池化層可以減少前一層的大小,而無需任何其他參數,因此您只需收縮數據即可,而無需增加培訓成本。

1x1緩衝層對於減小上一步的大小特別有用,特別是如果您計劃在同一先前層上同時嘗試不同的卷積,而沒有緩衝的話,參數的數量將太大而無法處理。

2:使網絡更加通用。

合併有助於該層的泛化,因爲它有效地將多個值組合爲一個值,這減少了過擬合的機會,因爲在合併階段會丟失一些非常特殊的東西。
講講dropout。dropout內部是怎麼實現只讓部分信號通過並不更新其餘部分對於輸入的權值的?講講BN(BatchNormalization)爲什麼好?全連接有什麼用處?

dropout是在神經網絡中逐層實現的。

它可以與大多數類型的層一起使用,例如密集的完全連接層,卷積層和循環層,例如長短期存儲網絡層。

可以在網絡中的任何或所有隱藏層以及可見或輸入層上實現dropout。在輸出層上不使用它。

引入了一個新的超參數,該參數指定了該圖層的輸出被丟棄的概率,或者相反,該參數指定了該圖層的輸出被保留的概率。解釋是一個實現細節,可能因紙張和代碼庫而異。

公共值是用於將每個節點的輸出保留在隱藏層中的概率爲0.5,而用於保留來自可見層的輸入的接近1.0的值(如0.8)。

在最簡單的情況下,每個單元都以固定的概率p保持獨立於其他單元的概率,其中p可以使用驗證集進行選擇,也可以簡單地設置爲0.5,對於大多數網絡和網絡來說,這似乎都接近於最佳值。任務。但是,對於輸入單元,保留的最佳概率通常接近於1,而不是接近0.5。

由於丟失,網絡的權重將比正常情況大。因此,在最終確定網絡之前,首先通過選擇的dropout率來縮放權重。然後可以正常使用網絡進行預測。

如果在訓練期間以概率p保留一個單元,則在測試時該單元的輸出權重將乘以p

完全連接的層可以從上一層的所有特徵組合中學習特徵,其中卷積層依賴於具有較小接收場的局部空間相干性。
全連接網絡的主要優點是它們“與結構無關”。 也就是說,無需對輸入做出特殊假設(例如,輸入包含圖像或視頻)。
知道RNN麼?講講RNN大致的實現思路。

https://blog.csdn.net/None_Pan/article/details/105828459

細講下lstm的結構,這樣設計爲什麼好?(門關閉,當前信息不需要,只有歷史依賴;門打開,歷史和當前加權平均)你覺得梯度消失靠引入一些新的激活層可以完全解決麼?爲什麼?
LSTM代表長期短期記憶。它們是一種特殊的神經網絡,稱爲遞歸神經網絡。神經網絡是一種機器學習技術,您可以在其中堆疊包含節點的圖層。輸入數據(特徵)進入輸入層的節點,並且信息以加權方式組合並傳遞到下一層,依此類推,直到它從輸出層出來。現在,將預期的輸出(目標)與模型的輸出進行比較,並相應地更新權重。

神經網絡是一項非常強大的技術,可用於圖像識別和許多其他應用。限制之一是,沒有與模型關聯的內存。這對於連續數據(例如文本或時間序列)來說是個問題。

RNN通過包含充當一種內存的反饋外觀來解決該問題。因此,模型的過去輸入留下了足跡。 LSTM通過創建短期和長期存儲組件來擴展該思想。

因此,LSTM是任何具有序列的工具。由於單詞的含義取決於其前面的單詞。這爲NLP和敘事分析利用神經網絡鋪平了道路。

LSTM可用於文本生成。例如,您可以在作者的文本上訓練模型,然後該模型將能夠生成模仿作者風格和興趣的新句子。

https://machinelearningmastery.com/how-to-fix-vanishing-gradients-using-the-rectified-linear-activation-function/

有一個弱分類器和大量未被標記過的圖像數據,如何人工標記圖像來對分類器進行提升
The training procedure is carried out as follows:

A larger-capacity and highly accurate “teacher” model with all available labelled data sets are trained first.
Teacher model predicts the labels and corresponding soft-max scores for all the unlabelled data
For pretraining the lightweight, computationally highly efficient “student” classification model, the top-scoring examples are considered
Student model with all the available labelled data is fine-tuned.
However, using semi-supervised data alone won’t be sufficient to achieve a state-of-the-art result at billion scales. To improve on this model, researchers at Facebook introduced semi-weak supervision approach.

Researchers used the weakly supervised teacher model to select pretraining examples from the same data set of one billion hashtagged images.

To create highly accurate models, the teacher model is made to predict labels for the same weakly supervised data set of 65 million publicly available Instagram videos with which it was pre-trained.

For example, consider a tail class like “African Dwarf Kingfisher” bird. One might have a hard time finding a dataset containing labelled images of this bird. There may not be a sufficient number of weakly-supervised/tagged examples. However, chances are that a lot of untagged images of this bird is likely to exist in the unlabelled dataset.

As discussed above, the teacher model trained with labels is able will identify enough images from the unlabeled data and classify the right kind of bird.

The teacher model obtained by pre-training on weakly-supervised data followed by fine-tuning on task-specific data has shown promising results. The student model obtained by training on the data selected by the teacher model is significantly better than the one obtained by training directly on the weakly-supervised data. This particular approach is what has led to achieving state-of-the-art results.

The results show that the weakly supervised teacher model, with 24x greater capacity than the student model, provided 82.8% top-1 accuracy on the validation set.
介紹下RNN和它的優缺點
遞歸神經網絡的優勢
RNN優於ANN的主要優勢在於RNN可以對數據序列(即時間序列)進行建模,因此可以假定每個樣本都依賴於先前的樣本

循環神經網絡甚至與卷積層一起使用以擴展有效像素鄰域。

遞歸神經網絡的缺點

漸變消失和爆炸問題。
訓練RNN是一項非常困難的任務。
如果使用tanh或relu作爲激活函數,則不能處理很長的序列。

讓我推導BP反向傳播、隨機梯度下降法權重更新公式

https://zhuanlan.zhihu.com/p/32819991

激活函數的選擇(sigmoid->ReLu->LReLU->PReLU )
用於分類器時,Sigmoid函數及其組合通常效果更好。
由於梯度消失問題,有時要避免使用sigmoid和tanh函數。
ReLU函數是一個通用的激活函數,目前在大多數情況下使用。
如果神經網絡中出現死神經元,那麼PReLU函數就是最好的選擇。
請記住,ReLU函數只能在隱藏層中使用。

https://editor.csdn.net/md/?articleId=105852869

你瞭解神經網絡嗎?我:瞭解一些,講感知機,然後是BP網絡。簡單講了一下原理。

參考之前的單獨介紹的文章

*圖像處理題:如何找相似圖片。我說用感知哈希算法,計算漢明距離,他說這種方法精度不行;我說那就用SIFT算法吧,他說SIFT效果還可以,但計算有點繁重,有沒有輕量級的方法?我想起來去年在美圖秀秀實習時,曾經做過一種圖像濾波算法,有一步是把像素點用K-means聚類。我就說先把圖片灰度化,然後用K-means聚類,把聚類後的各個中心點作爲一張圖片的特徵向量如果兩張圖片的特徵向量相近則說明這兩張圖片相似。貌似我這個答案有點出乎他的意料,他意味深長地說了個“行吧~~~~”(個人覺得顏色直方圖匹配是個他期待的常規回答)*

介紹卷積神經網絡,和 DBN 有什麼區別?
一般而言,DBN是生成神經網絡,將限制的玻爾茲曼機器(RBM)堆疊在一起。 您可以將RBM視爲生成式自動編碼器; 如果您想要一個深層的信念網,則應該堆疊RBM,而不是簡單的自動編碼器,因爲Hinton和他的學生Yeh證明了堆疊RBM會產生S型信念網。

在當前有關基準計算機視覺數據集(例如MNIST)的文獻中,卷積神經網絡的性能優於DBN。 如果數據集不是計算機視覺的,那麼DBN絕對可以表現更好。 從理論上講,DBN應該是最好的模型,但是目前很難準確估計聯合概率。

DBN代表深度信仰網絡。它們是將來自神經網絡的思想與概率圖形模型相結合的一種方式。

但是,在2012年,同一小組的研究表明,深層的CNN可以在圖像識別任務上,甚至無需進行無監督的預訓練就能學習甚至更好的表示。從那時起,CNN一直是最強大的深度學習模型,並且無疑是對象檢測的最佳模型。

我對“爲什麼”的理解在於學習算法。 DBN的無監督預訓練的學習算法涉及堆疊,一次貪婪地學習各個層。與在CNN和其他模型中使用的所有層的梯度下降相比,這實際上導致參數比所有層的梯度下降次優,在這些模型中,所有參數都被共同調整,因此可以得出全局上乘的參數。

Deep CNN, Deep RNN, RBM的典型應用與侷限,看Hinton講義和Paper去吧

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