欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

機(jī)器學(xué)習(xí)、深度學(xué)習(xí)面試過程中會遇到的問題

新機(jī)器視覺 ? 來源:oldpan博客 ? 作者:Oldpan ? 2022-07-12 10:39 ? 次閱讀

導(dǎo)讀

本文總結(jié)了一些秋招面試中會遇到的問題和一些重要的知識點,適合面試前突擊和鞏固基礎(chǔ)知識。

前言

最近這段時間正臨秋招,這篇文章是老潘在那會找工作過程中整理的一些重要知識點,內(nèi)容比較雜碎,部分采集于網(wǎng)絡(luò),簡單整理下發(fā)出來,適合面試前突擊,當(dāng)然也適合鞏固基礎(chǔ)知識。另外推薦大家一本叫做《百面機(jī)器學(xué)習(xí)》的新書,2018年8月份出版的,其中包括了很多機(jī)器學(xué)習(xí)、深度學(xué)習(xí)面試過程中會遇到的問題,比較適合需要準(zhǔn)備面試的機(jī)器學(xué)習(xí)、深度學(xué)習(xí)方面的算法工程師,當(dāng)然也同樣適合鞏固基礎(chǔ)~有時間一定要需要看的書籍:

  • 程序員的數(shù)學(xué)系列,適合重溫知識,回顧一些基礎(chǔ)的線性代數(shù)、概率論。
  • 深度學(xué)習(xí)花書,總結(jié)類書,有基礎(chǔ)知識的講解,比較全面。
  • 統(tǒng)計學(xué)習(xí)方法,總結(jié)類書,篇幅不長,都是核心。
  • Pattern Recognition and Machine Learning,條理清晰,用貝葉斯的方式來講解機(jī)器學(xué)習(xí)。
  • 機(jī)器學(xué)習(xí)西瓜書,適合當(dāng)教材,內(nèi)容較廣但是不深。

常見的常識題

  • L1正則可以使少數(shù)權(quán)值較大,多數(shù)權(quán)值為0,得到稀疏的權(quán)值;L2正則會使權(quán)值都趨近于0但非零,得到平滑的權(quán)值;
  • AdaBoost算法中,被錯分的樣本的權(quán)重更新比例的公式相同;
  • Boosting和Bagging都是組合多個分類器投票的方法,但Boosting是根據(jù)單個分類器的正確率決定其權(quán)重,Bagging是可簡單地設(shè)置所有分類器權(quán)重相同;
  • EM算法不能保證找到全局最優(yōu)值;
  • SVR中核函數(shù)寬度小欠擬合,寬度大容易過擬合
  • PCA和LDA都是經(jīng)典的降維算法。PCA是無監(jiān)督的,也就是訓(xùn)練樣本不需要標(biāo)簽;LDA是有監(jiān)督的,也就是訓(xùn)練樣本需要標(biāo)簽。PCA是去除掉原始數(shù)據(jù)中冗余的維度,而LDA是尋找一個維度,使得原始數(shù)據(jù)在該維度上投影后不同類別的數(shù)據(jù)盡可能分離開來。

PCA是一種正交投影,它的思想是使得原始數(shù)據(jù)在投影子空間的各個維度的方差最大。假設(shè)我們要將N維的數(shù)據(jù)投影到M維的空間上(M 388b682a-011e-11ed-ba43-dac502259ad0.jpgPCA和LDA

  • 參考鏈接:PCA和LDA的對比

KNN K近鄰

關(guān)于K近鄰算法的知識有很多,比如算法執(zhí)行的步驟、應(yīng)用領(lǐng)域以及注意事項,不過相信很多人對K近鄰算法的使用注意事項不是很清楚。在這篇文章中我們針對這個問題進(jìn)行解答,帶大家來好好了解一下k近鄰算法的注意事項以及K近鄰算法的優(yōu)點與缺點。

  • K近鄰算法的注意事項

K近鄰算法的使用注意事項具體就是使用距離作為度量時,要保證所有特征在數(shù)值上是一個數(shù)量級上,以免距離的計算被數(shù)量級大的特征所主導(dǎo)。在數(shù)據(jù)標(biāo)準(zhǔn)化這件事上,還要注意一點,訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集一定要使用同一標(biāo)準(zhǔn)的標(biāo)準(zhǔn)化。其中的原因總的來說就有兩點內(nèi)容,第一就是標(biāo)準(zhǔn)化其實可以視為算法的一部分,既然數(shù)據(jù)集都減去了一個數(shù),然后除以一個數(shù),這兩個數(shù)對于所有的數(shù)據(jù)來說,就要一視同仁。第二就是訓(xùn)練數(shù)據(jù)集其實很少,在預(yù)測新樣本的時候,新樣本就更少得可憐,如果新樣本就一個數(shù)據(jù),它的均值就是它自己,標(biāo)準(zhǔn)差是0,這根本就不合理。

  • K近鄰算法的優(yōu)點是什么呢?

K近鄰算法的優(yōu)點具體體現(xiàn)在四方面。第一就就是k近鄰算法是一種在線技術(shù),新數(shù)據(jù)可以直接加入數(shù)據(jù)集而不必進(jìn)行重新訓(xùn)練,第二就是k近鄰算法理論簡單,容易實現(xiàn)。第三就是準(zhǔn)確性高,對異常值和噪聲有較高的容忍度。第四就是k近鄰算法天生就支持多分類,區(qū)別與感知機(jī)、邏輯回歸、SVM。

  • K近鄰算法的缺點是什么呢?

K近鄰算法的缺點,基本的 k近鄰算法每預(yù)測一個“點”的分類都會重新進(jìn)行一次全局運(yùn)算,對于樣本容量大的數(shù)據(jù)集計算量比較大。而且K近鄰算法容易導(dǎo)致維度災(zāi)難,在高維空間中計算距離的時候,就會變得非常遠(yuǎn);樣本不平衡時,預(yù)測偏差比較大,k值大小的選擇得依靠經(jīng)驗或者交叉驗證得到。k的選擇可以使用交叉驗證,也可以使用網(wǎng)格搜索。k的值越大,模型的偏差越大,對噪聲數(shù)據(jù)越不敏感,當(dāng) k的值很大的時候,可能造成模型欠擬合。k的值越小,模型的方差就會越大,當(dāng) k的值很小的時候,就會造成模型的過擬合。

二維高斯核函數(shù)

如果讓你寫一個高斯模糊的函數(shù),你該怎么寫呢?

`def gaussian_2d_kernel(kernel_size = 3,sigma = 0):kernel = np.zeros([kernel_size,kernel_size])  center = kernel_size // 2  
if sigma == 0:      sigma = ((kernel_size-1)*0.5 - 1)*0.3 + 0.8  
s = 2*(sigma**2)  sum_val = 0  for i in range(0,kernel_size):      for j in range(0,kernel_size):          x = i-center          y = j-center          kernel[i,j] = np.exp(-(x**2+y**2) / s)          sum_val += kernel[i,j]          #/(np.pi * s)  sum_val = 1/sum_val  return kernel*sum_val  
`

訓(xùn)練采樣方法

  • 交叉驗證
  • 留一法
  • 自助法(bootstrap):有放回的抽樣方法,可能會抽到重復(fù)的樣本

Kmean和GMM原理、區(qū)別、應(yīng)用場景

kmeans的收斂性?

  • 可以看這里 https://zhuanlan.zhihu.com/p/36331115
  • 也可以看百面機(jī)器學(xué)習(xí)P93、P102

如何在多臺計算機(jī)上做kmeans

其實是這樣的,先分布到n臺機(jī)器上,要保證k個初始化相同,經(jīng)過一次迭代后,拿到k*n個新的mean,放到一臺新的機(jī)器上,因為初始化相同,所以mean的排列相同,然后對屬于每個類的n個mean做加權(quán)平均,再放回每臺機(jī)器上做下一步迭代。

KNN算法以及流程

K值的選擇:

  • K值較小,則模型復(fù)雜度較高,容易發(fā)生過擬合,學(xué)習(xí)的估計誤差會增大,預(yù)測結(jié)果對近鄰的實例點非常敏感。
  • K值較大可以減少學(xué)習(xí)的估計誤差,但是學(xué)習(xí)的近似誤差會增大,與輸入實例較遠(yuǎn)的訓(xùn)練實例也會對預(yù)測起作用,使預(yù)測發(fā)生錯誤,k值增大模型的復(fù)雜度會下降。
  • 在應(yīng)用中,k值一般取一個比較小的值,通常采用交叉驗證法來來選取最優(yōu)的K值。

KNN中的K值選取對分類的結(jié)果影響至關(guān)重要,K值選取的太小,模型太復(fù)雜。K值選取的太大,導(dǎo)致分類模糊。那么K值到底怎么選取呢?有人用Cross Validation,有人用貝葉斯,還有的用bootstrap。而距離度量又是另外一個問題,比較常用的是選用歐式距離??墒沁@個距離真的具有普適性嗎?《模式分類》中指出歐式距離對平移是敏感的,這點嚴(yán)重影響了判定的結(jié)果。在此必須選用一個對已知的變換(比如平移、旋轉(zhuǎn)、尺度變換等)不敏感的距離度量。書中提出了采用切空間距離(tangent distance)來替代傳統(tǒng)的歐氏距離。

無監(jiān)督學(xué)習(xí)和有監(jiān)督學(xué)習(xí)的區(qū)別

有監(jiān)督:

  • 感知機(jī)
  • K近鄰法
  • 樸素貝葉斯
  • 決策樹
  • 邏輯回歸
  • 支持向量機(jī)
  • 提升方法
  • 隱馬爾科夫模型
  • 條件隨機(jī)場

無監(jiān)督:

  • 聚類-kmeans
  • SVD奇異值分解
  • PCA主成分分析

生成式模型:LDA KNN 混合高斯 貝葉斯 馬爾科夫 深度信念 判別式模型:SVM NN LR CRF CART

邏輯回歸與SVM區(qū)別

邏輯回歸即LR。LR預(yù)測數(shù)據(jù)的時候,給出的是一個預(yù)測結(jié)果為正類的概率,這個概率是通過sigmoid函數(shù)將wTx映射到[0,1]得到的,對于wTx正的很大時(可以認(rèn)為離決策邊界很遠(yuǎn)),得到為正類的概率趨近于1;對于wTx負(fù)的很大時(可以認(rèn)為離決策邊界很遠(yuǎn)),得到為正類的概率趨近于0。在LR中,跟“與決策邊界距離”扯得上關(guān)系的僅此而已。在參數(shù)w求解過程中完全沒有與決策邊界距離的影子,所有樣本都一視同仁。和感知機(jī)的不同之處在于,LR用到與決策邊界的距離,是用來給預(yù)測結(jié)果一個可以看得到的置信區(qū)間。感知機(jī)里面沒有這一考慮,只根據(jù)符號來判斷。而SVM更進(jìn)一步,在參數(shù)的求解過程中,便舍棄了距離決策邊界過遠(yuǎn)的點。LR和感知機(jī)都很容易過擬合,只有SVM加入了L2范數(shù)之后的結(jié)構(gòu)化風(fēng)險最小化策略才解決了過擬合的問題??偨Y(jié)之:

  • 感知機(jī)前后都沒有引入與超平面“距離”的概念,它只關(guān)心是否在超平面的一側(cè);
  • LR引入了距離,但是在訓(xùn)練模型求其參數(shù)的時候沒有距離的概念,只是在最后預(yù)測階段引入距離以表征分類的置信度;
  • SVM兩個地方有距離的概念:其一,在求超平面參數(shù)的時候有距離的概念,其表現(xiàn)為在與超平面一定距離內(nèi)的點著重關(guān)注,而其他的一切點都不再關(guān)注。被關(guān)注的點稱之為“支撐向量”。其二,預(yù)測新樣本的時候,和LR一樣,距離代表置信度。

邏輯回歸只能解決二分類問題,多分類用softmax。相關(guān)參考鏈接

  • https://blog.csdn.net/maymay_/article/details/80016175
  • https://blog.csdn.net/jfhdd/article/details/52319422
  • https://www.cnblogs.com/eilearn/p/9026851.html

bagging boosting 和 提升樹

  • bagging是通過結(jié)合幾個模型降低泛化誤差,分別訓(xùn)練幾個不同的模型,然后讓所有的模型表決測試樣例的輸出。模型平均奏效的原因是不同的模型通常不會在測試集上產(chǎn)生完全相同的誤差。從原始樣本集中抽取訓(xùn)練集.每輪從原始樣本集中使用Bootstraping的方法抽取n個訓(xùn)練樣本(在訓(xùn)練集中,有些樣本可能被多次抽取到,而有些樣本可能一次都沒有被抽中).共進(jìn)行k輪抽取,得到k個訓(xùn)練集.(k個訓(xùn)練集相互獨(dú)立)
  • Bagging是并行的學(xué)習(xí)算法,思想很簡單,即每一次從原始數(shù)據(jù)中根據(jù)均勻概率分布有放回的抽取和原始數(shù)據(jù)集一樣大小的數(shù)據(jù)集合。樣本點可以出現(xiàn)重復(fù),然后對每一次產(chǎn)生的數(shù)據(jù)集構(gòu)造一個分類器,再對分類器進(jìn)行組合。對于分類問題,將上步得到的k個模型采用投票的方式得到分類結(jié)果;對回歸問題,計算上述模型的均值作為最后的結(jié)果.
  • Boosting是一族可將弱學(xué)習(xí)器提升為強(qiáng)學(xué)習(xí)器的算法.Boosting的每一次抽樣的樣本分布是不一樣的,每一次迭代,都是根據(jù)上一次迭代的結(jié)果,增加被錯誤分類的樣本的權(quán)重。使模型在之后的迭代中更加注重難以分類的樣本。這是一個不斷學(xué)習(xí)的過程,也是一個不斷提升的過程,這就是Boosting思想的本質(zhì)所在。迭代之后,將每次迭代的基分類器進(jìn)行集成,那么如何進(jìn)行樣本權(quán)重的調(diào)整和分類器的集成是我們需要考慮的關(guān)鍵問題。

Bagging和Boosting的區(qū)別:

  • 1)樣本選擇上:Bagging:訓(xùn)練集是在原始集中有放回選取的,從原始集中選出的各輪訓(xùn)練集之間是獨(dú)立的. Boosting:每一輪的訓(xùn)練集不變,只是訓(xùn)練集中每個樣例在分類器中的權(quán)重發(fā)生變化.而權(quán)值是根據(jù)上一輪的分類結(jié)果進(jìn)行調(diào)整.
  • 2)樣例權(quán)重:Bagging:使用均勻取樣,每個樣例的權(quán)重相等 Boosting:根據(jù)錯誤率不斷調(diào)整樣例的權(quán)值,錯誤率越大則權(quán)重越大.
  • 3)預(yù)測函數(shù):Bagging:所有預(yù)測函數(shù)的權(quán)重相等. Boosting:每個弱分類器都有相應(yīng)的權(quán)重,對于分類誤差小的分類器會有更大的權(quán)重.
  • 4)并行計算:Bagging:各個預(yù)測函數(shù)可以并行生成 Boosting:各個預(yù)測函數(shù)只能順序生成,因為后一個模型參數(shù)需要前一輪模型的結(jié)果.

Bagging 是 Bootstrap Aggregating 的簡稱,意思就是再取樣 (Bootstrap) 然后在每個樣本上訓(xùn)練出來的模型取平均,所以是降低模型的 variance. Bagging 比如 Random Forest 這種先天并行的算法都有這個效果。Boosting 則是迭代算法,每一次迭代都根據(jù)上一次迭代的預(yù)測結(jié)果對樣本進(jìn)行加權(quán),所以隨著迭代不斷進(jìn)行,誤差會越來越小,所以模型的 bias 會不斷降低High variance 是model過于復(fù)雜overfit,記住太多細(xì)節(jié)noise,受outlier影響很大;high bias是underfit,model過于簡單,cost function不夠好。boosting是把許多弱的分類器組合成一個強(qiáng)的分類器。弱的分類器bias高,而強(qiáng)的分類器bias低,所以說boosting起到了降低bias的作用。variance不是boosting的主要考慮因素。bagging是對許多強(qiáng)(甚至過強(qiáng))的分類器求平均。在這里,每個單獨(dú)的分類器的bias都是低的,平均之后bias依然低;而每個單獨(dú)的分類器都強(qiáng)到可能產(chǎn)生overfitting的程度,也就是variance高,求平均的操作起到的作用就是降低這個variance。Bagging算法的代表:RandomForest隨機(jī)森林算法的注意點:

  • 在構(gòu)建決策樹的過程中是不需要剪枝的。
  • 整個森林的樹的數(shù)量和每棵樹的特征需要人為進(jìn)行設(shè)定。
  • 構(gòu)建決策樹的時候分裂節(jié)點的選擇是依據(jù)最小基尼系數(shù)的。

咱們機(jī)器學(xué)習(xí)升級版的隨機(jī)森林章節(jié),我用白板寫了寫這個公式:p = 1 - (1 - 1/N)^N,其意義是:一個樣本在一次決策樹生成過程中,被選中作為訓(xùn)練樣本的概率,當(dāng)N足夠大時,約等于63.2%。簡言之,即一個樣本被選中的概率是63.2%,根據(jù)二項分布的的期望,這意味著大約有63.2%的樣本被選中。即有63.2%的樣本是不重復(fù)的,有36.8%的樣本可能沒有在本次訓(xùn)練樣本集中。隨機(jī)森林是一個包含多個決策樹的分類器,并且其輸出的類別是由個別樹輸出的類別的眾數(shù)而定。隨機(jī)森林的隨機(jī)性體現(xiàn)在每顆樹的訓(xùn)練樣本是隨機(jī)的,樹中每個節(jié)點的分裂屬性集合也是隨機(jī)選擇確定的。有了這2個隨機(jī)的保證,隨機(jī)森林就不會產(chǎn)生過擬合的現(xiàn)象了。隨機(jī)森林是用一種隨機(jī)的方式建立的一個森林,森林是由很多棵決策樹組成的,每棵樹所分配的訓(xùn)練樣本是隨機(jī)的,樹中每個節(jié)點的分裂屬性集合也是隨機(jī)選擇確定的。

SVM

相關(guān)的notebook除了cs231n也可以看這里。

https://momodel.cn/workspace/5d37bb9b1afd94458f84a521?type=module

凸集、凸函數(shù)、凸優(yōu)化

面試見得比較少,感興趣的可以看下:

https://blog.csdn.net/feilong_csdn/article/details/83476277

為什么深度學(xué)習(xí)中的圖像分割要先編碼后解碼

降采樣是手段不是目的:

  • 降低顯存和計算量,圖小了顯存也小,計算量也??;
  • 增大感受野,使用同樣3x3的卷積能在更大的圖像范圍上進(jìn)行特征提取。大感受野對分割很重要,小感受野做不了多分類分割,而且分割出來很粗糙
  • 多出幾條不同程度額下采樣分支,可以方便進(jìn)行多尺度特征的融合。多級語義融合會讓分類更加準(zhǔn)確。

降采樣的理論意義,我簡單朗讀一下,它可以增加對輸入圖像的一些小擾動的魯棒性,比如圖像平移,旋轉(zhuǎn)等,減少過擬合的風(fēng)險,降低運(yùn)算量,和增加感受野的大小。相關(guān)鏈接:為什么深度學(xué)習(xí)中的圖像分割要先編碼再解碼?

(全局)平均池化average pooling和(全局)最大池化max pooling的區(qū)別

  • 最大池化保留了紋理特征
  • 平均池化保留整體的數(shù)據(jù)特征
  • 全局平均池化有定位的作用(看知乎)

最大池化提取邊緣等“最重要”的特征,而平均池化提取的特征更加smoothly。對于圖像數(shù)據(jù),你可以看到差異。雖然兩者都是出于同樣的原因使用,但我認(rèn)為max pooling更適合提取極端功能。平均池有時不能提取好的特征,因為它將全部計入并計算出平均值,這對于對象檢測類型任務(wù)可能不好用但使用平均池化的一個動機(jī)是每個空間位置具有用于期望特征的檢測器,并且通過平均每個空間位置,其行為類似于平均輸入圖像的不同平移的預(yù)測(有點像數(shù)據(jù)增加)。Resnet不是采用傳統(tǒng)的完全連通層進(jìn)行CNN分類,而是直接從最后一個mlp轉(zhuǎn)換層輸出特征圖的空間平均值,作為通過全局平均合并層的類別置信度,然后將得到的矢量輸入到 softmax層。相比之下,Global average更有意義且可解釋,因為它強(qiáng)制實現(xiàn)了feature和類別之間的對應(yīng)關(guān)系,這可以通過使用網(wǎng)絡(luò)的更強(qiáng)大的本地建模來實現(xiàn)。此外,完全連接的層易于過擬合并且嚴(yán)重依賴于 dropout 正則化,而全局平均池化本身就是起到了正則化作用,其本身防止整體結(jié)構(gòu)的過擬合。

  • https://zhuanlan.zhihu.com/p/42384808
  • https://www.zhihu.com/question/335595503/answer/778307744
  • https://www.zhihu.com/question/309713971/answer/578634764

全連接的作用,與1x1卷積層的關(guān)系

在實際使用中,全連接層可由卷積操作實現(xiàn):對前層是全連接的全連接層可以轉(zhuǎn)化為卷積核為1x1的卷積;而前層是卷積層的全連接層可以轉(zhuǎn)化為卷積核為hxw的全局卷積,h和w分別為前層卷積結(jié)果的高和寬使用 global average pooling 全局平均池化來代替卷積

  • 全連接層(fully connected layers,F(xiàn)C)在整個卷積神經(jīng)網(wǎng)絡(luò)中起到“分類器”的作用。如果說卷積層、池化層和激活函數(shù)層等操作是將原始數(shù)據(jù)映射到隱層特征空間的話,全連接層則起到將學(xué)到的“分布式特征表示”映射到樣本標(biāo)記空間的作用。在實際使用中,全連接層可由卷積操作實現(xiàn):對前層是全連接的全連接層可以轉(zhuǎn)化為卷積核為1x1的卷積;而前層是卷積層的全連接層可以轉(zhuǎn)化為卷積核為hxw的全局卷積,h和w分別為前層卷積結(jié)果的高和寬

那么,1*1卷積的主要作用有以下幾點:

  • 降維( dimension reductionality )。比如,一張500x500且厚度depth為100的圖片在20個filter上做1*1的卷積,那么結(jié)果的大小為500*500*20。
  • 加入非線性。卷積層之后經(jīng)過激勵層,1*1的卷積在前一層的學(xué)習(xí)表示上添加了非線性激勵( non-linear activation ),提升網(wǎng)絡(luò)的表達(dá)能力,但是也可以這樣說:使之由單純的線性變換,變?yōu)閺?fù)雜的feature map之間的線性組合,從而實現(xiàn)特征的高度抽象過程。這一過程視為由線性變換為非線性,提高抽象程度。而非加入激活函數(shù)的作用。
  • 個人應(yīng)該是降維或者升維來減小參數(shù)個數(shù)和增加網(wǎng)絡(luò)深度,以及跨通道的特征聚合
  • 可以代替全連接層

看這個問題的回答https://www.zhihu.com/question/56024942/answer/369745892

看這個問題的回答https://www.zhihu.com/question/41037974/answer/150522307

concat與add(sum)的區(qū)別

對于兩路輸入來說,如果是通道數(shù)相同且后面帶卷積的話,add等價于concat之后對應(yīng)通道共享同一個卷積核。下面具體用式子解釋一下。由于每個輸出通道的卷積核是獨(dú)立的,我們可以只看單個通道的輸出。假設(shè)兩路輸入的通道分別為X1, X2, ..., Xc和Y1, Y2, ..., Yc。那么concat的單個輸出通道為(*表示卷積):

而add的單個輸出通道為:

因此add相當(dāng)于加了一種prior,當(dāng)兩路輸入可以具有“對應(yīng)通道的特征圖語義類似”(可能不太嚴(yán)謹(jǐn))的性質(zhì)的時候,可以用add來替代concat,這樣更節(jié)省參數(shù)和計算量(concat是add的2倍)。FPN[1]里的金字塔,是希望把分辨率最小但語義最強(qiáng)的特征圖增加分辨率,從性質(zhì)上是可以用add的。如果用concat,因為分辨率小的特征通道數(shù)更多,計算量是一筆不少的開銷。https://www.zhihu.com/question/306213462/answer/562776112

  • concat改成sum確實會好很多,這兩個都是特征融合,到底有什么本質(zhì)區(qū)別呢?我用的時候也沒什么原則就是兩個都試一下(其實更喜歡用sum,畢竟更省顯存)。
  • 我之前做過類似ASP的實驗,金字塔型空洞卷積融合,最后實驗結(jié)果sum比concat要好一些,但是原因不知道怎么解釋
  • 我看過一些論文是concat比sum好的,可能這跟數(shù)據(jù)集等具體情況有關(guān)吧
  • 不同的特征 sum 了,有什么意義呢,這些特征又損失了吧;如果直接 concat,讓后面的網(wǎng)絡(luò)學(xué)習(xí),應(yīng)該更好啊,用到的特征更多了

SSD怎么改動變成FasterRCNN

SSD是直接分類,而FasterRcnn是先判斷是否為背景再進(jìn)行分類。一個是直接細(xì)分類,一個是先粗分類再細(xì)分類。

反向傳播的原理

反向傳播原理看CS231n中的BP過程,以及Jacobian的傳播。

GD、SGD、mini batch GD的區(qū)別

在百面深度學(xué)習(xí)中有相應(yīng)的章節(jié)。

偏差、方差

有一篇文章比較好的介紹了,還有在那本電子版CNNbook中也有。

  • http://scott.fortmann-roe.com/docs/BiasVariance.html
  • 泛化誤差可以分解成偏差的平方+方差+噪聲
  • 偏差度量了學(xué)習(xí)算法的期望預(yù)測和真實結(jié)果的偏離程度,刻畫了學(xué)習(xí)算法本身的擬合能力
  • 方差度量了同樣大小的訓(xùn)練集的變動所導(dǎo)致的學(xué)習(xí)性能的變化,刻畫了數(shù)據(jù) 擾動所造成的干擾
  • 噪聲表達(dá)了當(dāng)前任務(wù)上學(xué)習(xí)任何算法所能達(dá)到的期望泛化誤差下界,刻畫了問題本身的難度。
  • 偏差和方差一般稱為bias和variance,一般訓(xùn)練誤差越強(qiáng),偏差越小,方差越大,泛化誤差在中間會有一個最小值。
  • 如果偏差較大,方差較小,此時為欠擬合,而偏差較小,方差較大為過擬合。

為什么會梯度爆炸,如何防止

多層神經(jīng)網(wǎng)絡(luò)通常存在像懸崖一樣的結(jié)構(gòu),這是由于幾個較大的權(quán)重相乘導(dǎo)致的。遇到斜率很大的懸崖結(jié)構(gòu),梯度更新會很大程序地改變參數(shù)值,通常會完全跳過這類懸崖的結(jié)構(gòu)?;〞鳳177.

分布式訓(xùn)練,多卡訓(xùn)練

http://ai.51cto.com/art/201710/555389.htm

https://blog.csdn.net/xs11222211/article/details/82931120#commentBox

精確率和召回率以及PR曲線

這個講的比較好(TP與FP和ROC曲線):

  • https://segmentfault.com/a/1190000014829322

精確率是指分類正確的正樣本個數(shù)占分類器判定為正樣本的樣本個數(shù)的比例。召回率是指分類正確的正樣本個數(shù)占真正的正樣本個數(shù)的比例。Precision值Recall值是既矛盾又統(tǒng)一的兩個指標(biāo),為了提高Precision值,分類器需要盡量在“更有把握”時才把樣本預(yù)測為正樣本,但此時往往會因為過于保守而漏掉很多“沒有把握”的正樣本,導(dǎo)致Recall值很低。如何權(quán)衡這兩個值,所以出現(xiàn)了PR曲線、ROC曲線以及F1 score等更多的標(biāo)準(zhǔn)來進(jìn)行判斷。https://www.cnblogs.com/xuexuefirst/p/8858274.html

Yolov2相比Yolov1因為采用了先驗框(Anchor Boxes),模型的召回率大幅提升,同時map輕微下降了0.2。

https://segmentfault.com/a/1190000014829322

https://www.cnblogs.com/eilearn/p/9071440.html

https://blog.csdn.net/zdh2010xyz/article/details/54293298

空洞卷積

空洞卷積一般都伴有padding,如果dilation=6,那么padding也等于6。通過空洞卷積后的卷積特征圖的大小不變,但是這個卷積的感受野比普通同等大小的卷積大。不過通道數(shù)是可以改變的。

  • 在DeepLabv3+中,最后的ASPP層,通過一個1x1卷積和3個3x3的空洞卷積,再concat上一個經(jīng)過全局平均池化后雙線性采樣到同等維度的特征圖。

但是要注意,由于空洞卷積本身不會增大運(yùn)算量,但是后續(xù)的分辨率沒有減小,后面的計算量就間接變大了。https://zhuanlan.zhihu.com/p/52476083

數(shù)據(jù)不好怎么辦,數(shù)據(jù)不均衡怎么處理、只有少量帶標(biāo)簽怎么處理

具體問題具體分析。

訓(xùn)練過程中需要過擬合情況怎么辦

  • 深度學(xué)習(xí)-通用模型調(diào)試技巧
  • 如何根據(jù)訓(xùn)練/驗證損失曲線診斷我們的CNN
  • 關(guān)于訓(xùn)練神經(jīng)網(wǎng)路的諸多技巧Tricks(完全總結(jié)版)
  • 深度學(xué)習(xí)中數(shù)據(jù)集很小是一種什么樣的體驗

如果模型的實際容量比較大,那么可以說模型可以完全學(xué)習(xí)到整個數(shù)據(jù)集,會發(fā)生過擬合。這時候再添加新的數(shù)據(jù)進(jìn)去,模型的性能會進(jìn)一步提升,說明模型還沒有被撐死。期望風(fēng)險是模型關(guān)于聯(lián)合分布的期望損失,經(jīng)驗風(fēng)險是模型關(guān)于訓(xùn)練數(shù)據(jù)集的平均損失。根據(jù)大樹定律,當(dāng)樣本容量N趨于無窮時,經(jīng)驗風(fēng)險趨于期望風(fēng)險。但是當(dāng)樣本的容量比較小的的時候,經(jīng)驗風(fēng)險最小化學(xué)習(xí)的效果未必就會很好,會產(chǎn)生“過擬合”的現(xiàn)象。結(jié)構(gòu)風(fēng)險最小化是為了防止過擬合而提出的策略。

https://lilianweng.github.io/lil-log/2019/03/14/are-deep-neural-networks-dramatically-overfitted.html

https://www.jianshu.com/p/97aafe479fa1(重要)

正則化

在Pytorch中只能在optim中設(shè)置weight_decay,目前只支持L2正則,而且這個正則是針對模型中所有的參數(shù),不論是w還是b,也包括BN中的W和b。

BN層和L2正則化一起有什么后果

就是因為 batch norm 過后, weight 影響沒那么重了,所以 l2 weight decay 的效果就不明顯了。證明了L2正則化與歸一化相結(jié)合時沒有正則化效應(yīng)。相反,正則化會影響權(quán)重的范圍,從而影響有效學(xué)習(xí)率。

https://www.cnblogs.com/makefile/p/batch-norm.html?utm_source=debugrun&utm_medium=referral

ROIPooling和ROIAlign的區(qū)別

空間金字塔池化(SSP)可以使不同尺寸的圖像產(chǎn)生固定的輸出維度。借題也問個問題,為什么fast rcnn的roi pooling是一個max pooling呢?roi pooling后面也是做單個roi的classification,為啥不和classification的pooling不同?我直覺是看feature map中的一個channel,提取全局特征(如,做classification)用average pooling,提取提取全局信息;提取局部特征(如,roi pooling)應(yīng)該用max pooling,提取局部最明顯的特征,成為7×7的grid后交給后面的fc來做classification。相關(guān)介紹:

  • SPPNet-引入空間金字塔池化改進(jìn)RCNN

自己實現(xiàn)圖像增強(qiáng)算法

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

圖像分類的tricks

  • 亞馬遜:用CNN進(jìn)行圖像分類的Tricks(https://mp.weixin.qq.com/s/e4m_LhtqoUiGJMQfEZHcRA

消融實驗(Ablation experiment)

因為作者提出了一種方案,同時改變了多個條件/參數(shù),他在接下去的消融實驗中,會一一控制一個條件/參數(shù)不變,來看看結(jié)果,到底是哪個條件/參數(shù)對結(jié)果的影響更大。下面這段話摘自知乎,@人民藝術(shù)家:你朋友說你今天的樣子很帥,你想知道發(fā)型、上衣和褲子分別起了多大的作用,于是你換了幾個發(fā)型,你朋友說還是挺帥的,你又換了件上衣,你朋友說不帥了,看來這件衣服還挺重要的。

手?jǐn)]NMS與soft-NMS

https://oldpan.me/archives/write-hard-nms-c

邏輯回歸和線性回歸

線性回歸:通過均方誤差來尋找最優(yōu)的參數(shù),然后通過最小二乘法來或者梯度下降法估計:

389f7446-011e-11ed-ba43-dac502259ad0.jpg而邏輯回歸的原型:對數(shù)幾率回歸:邏輯回歸和對數(shù)幾率回歸是一樣的,通過變形就可以得到,另外邏輯回歸使用極大似然概率進(jìn)行估計。簡單總結(jié):
  • 線性回歸和邏輯回歸都是廣義線性回歸模型的特例
  • 線性回歸只能用于回歸問題,邏輯回歸用于分類問題(可由二分類推廣至多分類)
  • 線性回歸無聯(lián)系函數(shù)或不起作用,邏輯回歸的聯(lián)系函數(shù)是對數(shù)幾率函數(shù),屬于Sigmoid函數(shù)
  • 線性回歸使用最小二乘法作為參數(shù)估計方法,邏輯回歸使用極大似然法作為參數(shù)估計方法
  • 兩者都可以使用梯度下降法

注意:

  • 線性回歸的梯度下降法其實和我們訓(xùn)練神經(jīng)網(wǎng)絡(luò)一直,首先需要對參數(shù)進(jìn)行初始化,然后使用隨機(jī)梯度下降的方式對參數(shù)進(jìn)行更新//zhuanlan.zhihu.com/p/33992985
  • 線性回歸與最小二乘法:https://zhuanlan.zhihu.com/p/36910496
  • 最大似然https://zhuanlan.zhihu.com/p/33349381

來源文章:

  • https://segmentfault.com/a/1190000014807779
  • https://zhuanlan.zhihu.com/p/39363869
  • https://blog.csdn.net/hahaha_2017/article/details/81066673

對于凸函數(shù)來說,局部最優(yōu)就是全局最優(yōu),相關(guān)鏈接:http://sofasofa.io/forum_main_post.php?postid=1000329

http://sofasofa.io/forum_main_post.php?postid=1000322Logistic classification with cross-entropy

什么是attention,有哪幾種

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

https://www.zhihu.com/question/65044831/answer/227262160

深度學(xué)習(xí)的線性和非線性

  • 卷積是線性的
  • 激活函數(shù)是非線性的

梯度消失和梯度爆炸的問題

38c040ae-011e-11ed-ba43-dac502259ad0.jpg

Batch-norm層的作用

不看必進(jìn)坑~不論是訓(xùn)練還是部署都會讓你踩坑的Batch Normalization

Batch size過小會使Loss曲線振蕩的比較大,大小一般按照2的次冪規(guī)律選擇,至于為什么?沒有答出來,面試官后面解釋是為了硬件計算效率考慮的,海哥后來也說GPU訓(xùn)練的時候開的線程是2的次冪個神經(jīng)網(wǎng)絡(luò)的本質(zhì)是學(xué)習(xí)數(shù)據(jù)的分布,如果訓(xùn)練數(shù)據(jù)與測試數(shù)據(jù)的分布不同則會大大降低網(wǎng)絡(luò)的泛化能力。隨著網(wǎng)絡(luò)訓(xùn)練的進(jìn)行,每個隱層的變化使得后一層的輸入發(fā)生變化,從而每一批訓(xùn)練的數(shù)據(jù)的分布也會變化,致使網(wǎng)絡(luò)在每次迭代過程中都需要擬合不同的數(shù)據(jù)分布,增加數(shù)據(jù)訓(xùn)練的復(fù)雜度和過擬合的風(fēng)險。

38e096f6-011e-11ed-ba43-dac502259ad0.jpg

對數(shù)據(jù)的劇烈變化有抵抗能力。

38fee304-011e-11ed-ba43-dac502259ad0.jpg

要注意BN在卷積網(wǎng)絡(luò)層中,因為參數(shù)的共享機(jī)制,每一個卷積核的參數(shù)在不同位置的神經(jīng)元當(dāng)中是共享的,因此也應(yīng)該被歸一化。(具體看一下實現(xiàn)過程)https://leonardoaraujosantos.gitbooks.io/artificial-inteligence/batch_norm_layer.html但是在訓(xùn)練過程中如果batch-size不大的話,可以不使用BN(MaskRcnn這樣說的)。至此,關(guān)于Batch Normalization的理論與實戰(zhàn)部分就介紹道這里??偟膩碚f,BN通過將每一層網(wǎng)絡(luò)的輸入進(jìn)行normalization,保證輸入分布的均值與方差固定在一定范圍內(nèi),減少了網(wǎng)絡(luò)中的Internal Covariate Shift問題,并在一定程度上緩解了梯度消失,加速了模型收斂;并且BN使得網(wǎng)絡(luò)對參數(shù)、激活函數(shù)更加具有魯棒性,降低了神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練和調(diào)參的復(fù)雜度;最后BN訓(xùn)練過程中由于使用mini-batch的mean/variance作為總體樣本統(tǒng)計量估計,引入了隨機(jī)噪聲,在一定程度上對模型起到了正則化的效果。

  • https://zhuanlan.zhihu.com/p/34879333

BN與貝葉斯的關(guān)系:

  • 從Bayesian角度淺析Batch Normalization

BN跨卡訓(xùn)練怎么保證相同的mean和var

在實踐中,我發(fā)現(xiàn),跨卡同步的BN對于performance相當(dāng)有用。尤其是對于detection,segmentation任務(wù),本來Batch size較小。如果Batch Norm能跨卡同步的話,就相當(dāng)于增大了Batch Norm的batch size 這樣能估計更加準(zhǔn)確的mean和variance,所以這個操作能提升performance。

如何實現(xiàn)SyncBN

跨卡同步BN的關(guān)鍵是在前向運(yùn)算的時候拿到全局的均值和方差,在后向運(yùn)算時候得到相應(yīng)的全局梯度。最簡單的實現(xiàn)方法是先同步求均值,再發(fā)回各卡然后同步求方差,但是這樣就同步了兩次。實際上只需要同步一次就可以,我們使用了一個非常簡單的技巧,改變方差的公式(公式是圖片,具體大家自己網(wǎng)上搜一下SyncBN)。這樣在前向運(yùn)算的時候,我們只需要在各卡上算出與,再跨卡求出全局的和即可得到正確的均值和方差, 同理我們在后向運(yùn)算的時候只需同步一次,求出相應(yīng)的梯度與。我們在最近的論文Context Encoding for Semantic Segmentation 里面也分享了這種同步一次的方法。有了跨卡BN我們就不用擔(dān)心模型過大用多卡影響收斂效果了,因為不管用多少張卡只要全局的批量大小一樣,都會得到相同的效果。

ResNet為什么好用

出現(xiàn)因素:

  • 隨著網(wǎng)絡(luò)的加深,優(yōu)化函數(shù)越來越陷入局部最優(yōu)解
  • 隨著網(wǎng)絡(luò)層數(shù)的增加,梯度消失的問題更加嚴(yán)重,因為梯度在反向傳播的時候會逐漸衰減

原因,誤差傳播公式可以寫成參數(shù)W和導(dǎo)數(shù)F連乘的形式,當(dāng)誤差由第L層傳播到輸入以外的第一個隱含層的時候,會涉及到很多很多的參數(shù)和導(dǎo)數(shù)的連乘,這時誤差很容易產(chǎn)生消失或者膨脹,導(dǎo)致不容易學(xué)習(xí),擬合能力和泛化能力較差。殘差層中的F層只需要擬合輸入x與目標(biāo)輸出H的殘差H-x即可,如果某一層的輸出已經(jīng)較好地擬合了期望結(jié)果,那么多一層也不回使得模型變得更差,因為該層的輸出直接被短接到兩層之后,相當(dāng)于直接學(xué)習(xí)了一個恒等映射,而跳過的兩層只需要擬合上層輸出和目標(biāo)之間的殘差即可。

  • https://zhuanlan.zhihu.com/p/42706477
  • https://zhuanlan.zhihu.com/p/31852747
391d08fc-011e-11ed-ba43-dac502259ad0.jpg

Resnet的缺點

resnet其實無法真正的實現(xiàn)梯度消失,這里面有很強(qiáng)的先驗假設(shè),并且resnet真正起作用的層只在中間,深層作用比較小(到了深層就是恒等映射了),feature存在利用不足的現(xiàn)象,add的方式阻礙了梯度和信息的流通。

L1范數(shù)和L2范數(shù) 應(yīng)用場景

L1正則可以使少數(shù)權(quán)值較大,多數(shù)權(quán)值為0,得到稀疏的權(quán)值;L2正則會使權(quán)值都趨近于0但非零,得到平滑的權(quán)值;https://zhuanlan.zhihu.com/p/35356992

網(wǎng)絡(luò)初始化有哪些方式,他們的公式初始化過程

目前的權(quán)重初始化分為三類:

  • 全置為0 - 幾乎不會使用
  • 隨機(jī)初始化(均勻隨機(jī)、正態(tài)分布)
  • Xavier 作者 Glorot 認(rèn)為,優(yōu)秀的初始化應(yīng)該使得各層的激活值和狀態(tài)梯度的方差在傳播過程中保持一致。適合sigmoid,但是不適合Relu。
  • He初始化適用于Relu。

初始化,說白了就是構(gòu)建一個平滑的局部幾何空間從而使得優(yōu)化更簡單xavier分布解析:

  • https://prateekvjoshi.com/2016/03/29/understanding-xavier-initialization-in-deep-neural-networks/

假設(shè)使用的是sigmoid函數(shù)。當(dāng)權(quán)重值(值指的是絕對值)過小,輸入值每經(jīng)過網(wǎng)絡(luò)層,方差都會減少,每一層的加權(quán)和很小,在sigmoid函數(shù)0附件的區(qū)域相當(dāng)于線性函數(shù),失去了DNN的非線性性。當(dāng)權(quán)重的值過大,輸入值經(jīng)過每一層后方差會迅速上升,每層的輸出值將會很大,此時每層的梯度將會趨近于0. xavier初始化可以使得輸入值x 方差經(jīng)過網(wǎng)絡(luò)層后的輸出值y方差不變。

  • https://blog.csdn.net/winycg/article/details/86649832
  • https://zhuanlan.zhihu.com/p/57454669

在pytorch中默認(rèn)的權(quán)重初始化方式是何凱明的那個,舉個例子:

resnet中權(quán)重的初始化


for m in self.modules():    if isinstance(m, nn.Conv2d):        nn.init.kaiming_normal_(m.weight, mode='fan_out', nonlinearity='relu')    elif isinstance(m, nn.BatchNorm2d):        nn.init.constant_(m.weight, 1)        nn.init.constant_(m.bias, 0)
# Zero-initialize the last BN in each residual branch,# so that the residual branch starts with zeros, and each residual block behaves like an identity.# This improves the model by 0.2~0.3% according to https://arxiv.org/abs/1706.02677if zero_init_residual:    for m in self.modules():        if isinstance(m, Bottleneck):            nn.init.constant_(m.bn3.weight, 0)        elif isinstance(m, BasicBlock):            nn.init.constant_(m.bn2.weight, 0)

求解模型參數(shù)量


def model_info(model):  # Plots a line-by-line description of a PyTorch model    n_p = sum(x.numel() for x in model.parameters())  # number parameters    n_g = sum(x.numel() for x in model.parameters() if x.requires_grad)  # number gradients    print('
%5s %50s %9s %12s %20s %12s %12s' % ('layer', 'name', 'gradient', 'parameters', 'shape', 'mu', 'sigma'))    for i, (name, p) in enumerate(model.named_parameters()):        name = name.replace('module_list.', '')        print('%5g %50s %9s %12g %20s %12.3g %12.3g' % (            i, name, p.requires_grad, p.numel(), list(p.shape), p.mean(), p.std()))    print('Model Summary: %d layers, %d parameters, %d gradients' % (i + 1, n_p, n_g))print('ModelSize:%fMBparameters,%fMBgradients
'%(n_p*4/1e6,n_g*4/1e6))

卷積計算量

差不多這幾個懂了就OK。

  • 普通卷積
  • 可分離卷積
  • 全連接
  • 點卷積

可以看老潘的這篇文章:

多標(biāo)簽和多分類

那么,如何用softmax和sigmoid來做多類分類和多標(biāo)簽分類呢?

1、如何用softmax做多分類和多標(biāo)簽分類 現(xiàn)假設(shè),神經(jīng)網(wǎng)絡(luò)模型最后的輸出是這樣一個向量logits=[1,2,3,4], 就是神經(jīng)網(wǎng)絡(luò)最終的全連接的輸出。這里假設(shè)總共有4個分類。用softmax做多分類的方法:tf.argmax(tf.softmax(logits))首先用softmax將logits轉(zhuǎn)換成一個概率分布,然后取概率值最大的作為樣本的分類,這樣看似乎,tf.argmax(logits)同樣可以取得最大的值,也能得到正確的樣本分類,這樣的話softmax似乎作用不大.那么softmax的主要作用其實是在計算交叉熵上,首先樣本集中y是一個one-hot向量,如果直接將模型輸出logits和y來計算交叉熵,因為logits=[1,2,3,4],計算出來的交叉熵肯定很大,這種計算方式不對,而應(yīng)該將logits轉(zhuǎn)換成一個概率分布后再來計算,就是用tf.softmax(logits)和y來計算交叉熵,當(dāng)然我們也可以直接用tensorflow提供的方法sofmax_cross_entropy_with_logits來計算 這個方法傳入的參數(shù)可以直接是logits,因為這個根據(jù)方法的名字可以看到,方法內(nèi)部會將參數(shù)用softmax進(jìn)行處理,現(xiàn)在我們?nèi)〉母怕史植贾凶畲蟮淖鳛樽罱K的分類結(jié)果,這是多分類。我們也可以取概率的top幾個,作為最終的多個標(biāo)簽,或者設(shè)置一個閾值,并取大于概率閾值的。這就用softmax實現(xiàn)了多標(biāo)簽分類。

2、如何用sigmoid做多標(biāo)簽分類 sigmoid一般不用來做多類分類,而是用來做二分類的,它是將一個標(biāo)量數(shù)字轉(zhuǎn)換到[0,1]之間,如果大于一個概率閾值(一般是0.5),則認(rèn)為屬于某個類別,否則不屬于某個類別。那么如何用sigmoid來做多標(biāo)簽分類呢?其實就是針對logits中每個分類計算的結(jié)果分別作用一個sigmoid分類器,分別判定樣本是否屬于某個類別。同樣假設(shè),神經(jīng)網(wǎng)絡(luò)模型最后的輸出是這樣一個向量logits=[1,2,3,4], 就是神經(jīng)網(wǎng)絡(luò)最終的全連接的輸出。這里假設(shè)總共有4個分類。tf.sigmoid(logits)sigmoid應(yīng)該會將logits中每個數(shù)字都變成[0,1]之間的概率值,假設(shè)結(jié)果為[0.01, 0.05, 0.4, 0.6],然后設(shè)置一個概率閾值,比如0.3,如果概率值大于0.3,則判定類別符合,那這里,樣本會被判定為類別3和類別4都符合。

數(shù)據(jù)的輸入為什么要?dú)w一化

為了消除數(shù)據(jù)特征之間的量綱影響在實際應(yīng)用中,通過梯度下降法求解的模型通常是需要數(shù)據(jù)歸一化的,包括線性回歸、邏輯回歸、支持向量機(jī)、神經(jīng)網(wǎng)絡(luò)等,但是決策模型不是很適用。

為什么說樸素貝葉斯是高偏差低方差?

首先,假設(shè)你知道訓(xùn)練集和測試集的關(guān)系。簡單來講是我們要在訓(xùn)練集上學(xué)習(xí)一個模型,然后拿到測試集去用,效果好不好要根據(jù)測試集的錯誤率來衡量。但很多時候,我們只能假設(shè)測試集和訓(xùn)練集的是符合同一個數(shù)據(jù)分布的,但卻拿不到真正的測試數(shù)據(jù)。這時候怎么在只看到訓(xùn)練錯誤率的情況下,去衡量測試錯誤率呢?

由于訓(xùn)練樣本很少(至少不足夠多),所以通過訓(xùn)練集得到的模型,總不是真正正確的。(就算在訓(xùn)練集上正確率100%,也不能說明它刻畫了真實的數(shù)據(jù)分布,要知道刻畫真實的數(shù)據(jù)分布才是我們的目的,而不是只刻畫訓(xùn)練集的有限的數(shù)據(jù)點)。而且,實際中,訓(xùn)練樣本往往還有一定的噪音誤差,所以如果太追求在訓(xùn)練集上的完美而采用一個很復(fù)雜的模型,會使得模型把訓(xùn)練集里面的誤差都當(dāng)成了真實的數(shù)據(jù)分布特征,從而得到錯誤的數(shù)據(jù)分布估計。這樣的話,到了真正的測試集上就錯的一塌糊涂了(這種現(xiàn)象叫過擬合)。但是也不能用太簡單的模型,否則在數(shù)據(jù)分布比較復(fù)雜的時候,模型就不足以刻畫數(shù)據(jù)分布了(體現(xiàn)為連在訓(xùn)練集上的錯誤率都很高,這種現(xiàn)象較欠擬合)。過擬合表明采用的模型比真實的數(shù)據(jù)分布更復(fù)雜,而欠擬合表示采用的模型比真實的數(shù)據(jù)分布要簡單。

在統(tǒng)計學(xué)習(xí)框架下,大家刻畫模型復(fù)雜度的時候,有這么個觀點,認(rèn)為Error = Bias + Variance。這里的Error大概可以理解為模型的預(yù)測錯誤率,是有兩部分組成的,一部分是由于模型太簡單而帶來的估計不準(zhǔn)確的部分(Bias),另一部分是由于模型太復(fù)雜而帶來的更大的變化空間和不確定性(Variance)。

所以,這樣就容易分析樸素貝葉斯了。它簡單的假設(shè)了各個數(shù)據(jù)之間是無關(guān)的,是一個被嚴(yán)重簡化了的模型。所以,對于這樣一個簡單模型,大部分場合都會Bias部分大于Variance部分,也就是說高偏差而低方差。

在實際中,為了讓Error盡量小,我們在選擇模型的時候需要平衡Bias和Variance所占的比例,也就是平衡over-fitting和under-fitting。

Canny邊緣檢測,邊界檢測算法有哪些

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

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

傳統(tǒng)的目標(biāo)檢測

傳統(tǒng)的目標(biāo)檢測一般分為以下幾個步驟:

  • 區(qū)域選擇:一幅圖像通過selective search的方法,首先對原圖進(jìn)行分割(聚類),然后通過計算相鄰區(qū)域的相似度,最終找到2000個框,同樣要與GT進(jìn)行正例和負(fù)例的判斷。
  • 特征提取:通過SIFT或者其他的特征提取方法,將2000個轉(zhuǎn)化為特征向量
  • 分類器分類:將特征向量放入SVM中進(jìn)行分類訓(xùn)練,同時將父類也放入分類器中進(jìn)行訓(xùn)練。

經(jīng)典的結(jié)構(gòu):

  • HoG + SVM

傳統(tǒng)方法的缺點:

  • 基于滑窗的區(qū)域選擇策略沒有針對性,時間復(fù)雜度高,窗口冗余
  • 手工設(shè)計的特征對環(huán)境多樣性的變化并沒有很好的魯棒性

腐蝕膨脹、開運(yùn)算閉運(yùn)算

可以看學(xué)習(xí)OpenCV第三版中的相關(guān)內(nèi)容,搜索erode、dilation

一些濾波器

  • https://blog.csdn.net/qq_22904277/article/details/53316415
  • https://www.jianshu.com/p/fbe8c24af108
  • https://blog.csdn.net/qq_22904277/article/details/53316415
  • https://blog.csdn.net/nima1994/article/details/79776802
  • https://blog.csdn.net/jiang_ming_/article/details/82594261
  • 圖像中的高頻、低頻信息以及高通濾波器、低通濾波器
  • 在圖像中,邊緣信息等比較明顯的變化比較劇烈的像素點就是圖像中的高頻信息。而除了邊緣部分,比較平緩的像素點變化不是很劇烈的內(nèi)容信息就是低頻信息。
  • 高通濾波器就是突出變化劇烈(邊緣),去除低頻部分,也就是當(dāng)做邊緣提取器。而低通濾波器主要是平滑該像素的亮度。主要用于去噪和模糊化,高斯模糊是最常用的模糊濾波器(平滑濾波器)之一,它是一個削弱高頻信號強(qiáng)度的低通濾波器。

Resize雙線性插值

在網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行特征融合的時候,雙線性插值的方式比轉(zhuǎn)置卷積要好一點。因為轉(zhuǎn)置卷積有一個比較大的問題就是如果參數(shù)配置不當(dāng),很容易出現(xiàn)輸出feature map中帶有明顯棋盤狀的現(xiàn)象。

  • 需要注意的,最近鄰插值的效果是最不好的。

雙線性插值也分為兩類:

  • align_corners=True
  • align_corners=False

一般來說,使用align_corners=True可以保證邊緣對齊,而使用align_corners=False則會導(dǎo)致邊緣突出的情況。這個講的非常好:

  • https://blog.csdn.net/qq_37577735/article/details/80041586

代碼實現(xiàn)的講解:

  • https://blog.csdn.net/love_image_xie/article/details/87969405
  • https://www.zhihu.com/question/328891283/answer/717113611看這里的圖像展示:https://discuss.pytorch.org/t/what-we-should-use-align-corners-false/22663

gradient clipping 梯度裁剪

為了避免梯度爆炸而做出的改進(jìn),注意要和提前終止區(qū)別開來。(提前終止是一種正則化方法,因為當(dāng)訓(xùn)練有足夠能力表示甚至?xí)^擬合的大模型時,訓(xùn)練誤差會隨著時間的推移逐漸降低但驗證集的誤差會再次上升。這意味著只要我們返回使驗證集誤差最低的參數(shù)設(shè)置即可)第一種做法很容易理解,就是先設(shè)定一個 gradient 的范圍如 (-1, 1), 小于 -1 的 gradient 設(shè)為 -1, 大于這個 1 的 gradient 設(shè)為 1.

393d1d72-011e-11ed-ba43-dac502259ad0.jpg
  • https://wulc.me/2018/05/01/%E6%A2%AF%E5%BA%A6%E8%A3%81%E5%89%AA%E5%8F%8A%E5%85%B6%E4%BD%9C%E7%94%A8/

實現(xiàn)一個簡單的卷積

實現(xiàn)卷積一般用的是im2col的形式,但是面試中我們簡單實現(xiàn)一個滑窗法就行了。比如:用3x3的卷積核(濾波盒)實現(xiàn)卷積操作。NCNN中在PC端卷積的源碼也是這樣的。

`/*輸入:imput[IC][IH][IW]IC = input.channelsIH = input.heightIW = input.width卷積核: kernel[KC1][KC2][KH][KW]KC1 = OCKC2 = ICKH = kernel.heightKW = kernel.width輸出:output[OC][OH][OW]OC = output.channelsOH = output.heightOW = output.width其中,padding = VALID,stride=1,OH = IH - KH + 1OW = IW - KW + 1也就是先提前把Oh和Ow算出來,然后將卷積核和輸入數(shù)據(jù)一一對應(yīng)即可*/for(int ch=0;ch<output.channels;ch++){for(int oh=0;oh<output.height;oh++){for(int ow=0;ow<output.width;ow++){float sum=0;for(int kc=0;kc<kernel.channels;kc++){for(int kh=0;kh<kernel.height;kh++){for(int kw=0;kw<kernel.width;kw++){sum += input[kc][oh+kh][ow+kw]*kernel[ch][kc][kh][kw];}}}//if(bias) sum +=bias[]output[ch][oh][ow]=sum;}}}`

參考:

  • https://www.cnblogs.com/hejunlin1992/p/8686838.html

卷積的過程

看看Pytorch的源碼與caffe的源碼,都是將卷積計算轉(zhuǎn)化為矩陣運(yùn)算,im2col,然后gemm。https://blog.csdn.net/mrhiuser/article/details/52672824

轉(zhuǎn)置卷積的計算過程

https://cloud.tencent.com/developer/article/1363619

1*1的卷積核有什么用,3*3的卷積核和一個1*3加一個3*1的有什么區(qū)別

1x1卷積可以改變上一層網(wǎng)絡(luò)的通道數(shù)目。卷積核大于1x1,意味著提特征需要鄰域信息。

  • 若提取橫向紋理,則橫向鄰域信息密度比縱向信息密度高。
  • 核扁橫著最科學(xué)。若提縱向紋理,同理,瘦高豎著最好。
  • 若你想提取的紋理種類豐富,那橫向鄰域信息密度的期望~=縱向信息密度期望

所以對懶人來說,最優(yōu)核的尺寸的期望是正方形。至于1*nn*1,它們一般是搭配使用的,從而實現(xiàn)n*n卷積核的感受野,可以在減少參數(shù)的同時增加層數(shù),在CNN的較高層中使用可以帶來一定的優(yōu)勢。卷積核并非都是正方形的,還可以是矩形,比如3*5,在文本檢測和車牌檢測當(dāng)中就有應(yīng)用,這種設(shè)計主要針對文本行或者車牌的形狀,能更好的學(xué)習(xí)特征。其實我覺得方形矩形影響不大,網(wǎng)絡(luò)的學(xué)習(xí)能力是非常強(qiáng)的。當(dāng)然我們也可以學(xué)習(xí)卷積的形狀,類似于deformable convolution,老潘后續(xù)會講下。

ResNet中bottlenet與mobilenetv2的inverted結(jié)構(gòu)對比

注意,resnet中是先降維再升維,而mobilenetv2中是先升維后降維(所以稱之為inversed)。

  • https://zhuanlan.zhihu.com/p/67872001
  • https://zhuanlan.zhihu.com/p/32913695

卷積特征圖大小的計算

很簡單但是也很容易錯的問題:

  • Conv2D39544be6-011e-11ed-ba43-dac502259ad0.jpg

動態(tài)圖和靜態(tài)圖的區(qū)別

  • 靜態(tài)圖是建立一次,然后不斷復(fù)用;靜態(tài)圖可以在磁盤中序列化,可以保存整個網(wǎng)絡(luò)的結(jié)構(gòu),可以重載,在部署中很實用,在tensorflow靜態(tài)圖中條件和循環(huán)需要特定的語法,pytorch只用python的語法就可以實現(xiàn)
  • 而動態(tài)圖是每次使用的時候建立,不容易優(yōu)化,需要重復(fù)之前的代碼,但是動態(tài)圖比靜態(tài)圖代碼更簡潔

依據(jù)采用動態(tài)計算或是靜態(tài)計算的不同,可以將這些眾多的深度學(xué)習(xí)框架劃分成兩大陣營,當(dāng)然也有些框架同時具有動態(tài)計算和靜態(tài)計算兩種機(jī)制(比如 MxNet 和最新的 TensorFlow)。動態(tài)計算意味著程序?qū)凑瘴覀兙帉懨畹捻樞蜻M(jìn)行執(zhí)行。這種機(jī)制將使得調(diào)試更加容易,并且也使得我們將大腦中的想法轉(zhuǎn)化為實際代碼變得更加容易。而靜態(tài)計算則意味著程序在編譯執(zhí)行時將先生成神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),然后再執(zhí)行相應(yīng)操作。從理論上講,靜態(tài)計算這樣的機(jī)制允許編譯器進(jìn)行更大程度的優(yōu)化,但是這也意味著你所期望的程序與編譯器實際執(zhí)行之間存在著更多的代溝。這也意味著,代碼中的錯誤將更加難以發(fā)現(xiàn)(比如,如果計算圖的結(jié)構(gòu)出現(xiàn)問題,你可能只有在代碼執(zhí)行到相應(yīng)操作的時候才能發(fā)現(xiàn)它)。盡管理論上而言,靜態(tài)計算圖比動態(tài)計算圖具有更好的性能,但是在實踐中我們經(jīng)常發(fā)現(xiàn)并不是這樣的。

歷年來所有的網(wǎng)絡(luò)

這個可以看CS231n中的第九課以及

  • https://ucbrise.github.io/cs294-ai-sys-sp19/assets/lectures/lec02/classic_neural_architectures.pdf
  • https://towardsdatascience.com/a-simple-guide-to-the-versions-of-the-inception-network-7fc52b863202

正式總結(jié)下:

  • LeNet-5:第一個卷積,用來識別手寫數(shù)組,使用的卷積大小為5x5,s=1,就是普通的卷積核池化層結(jié)合起來,最后加上全連接層。
  • AlexNet:在第一個卷積中使用了11x11卷積,第一次使用Relu,使用了NormLayer但不是我們經(jīng)常說的BN。使用了dropout,在兩個GPU上進(jìn)行了訓(xùn)練,使用的訓(xùn)練方式是模型并行、
  • ZFNet:AlexNet的加強(qiáng)版,將11x11卷積改成了7x7,也在AlexNet的基礎(chǔ)上將卷積的通道深度加深。所以在分類比賽中比之前的效果好了些。
  • VGGNet:只使用了小卷積3x3(s=1)以及常規(guī)的池化層,不過深度比上一個深了一些,最后幾層也都是全連接層接一個softmax。為什么使用3x3卷積,是因為三個3x3卷積的有效感受野和7x7的感受野一致,而且更深、更加非線性,而且卷積層的參數(shù)也更加地少,所以速度更快也可以適當(dāng)加深層數(shù)。
  • GoogleNet:沒有使用FC層,參數(shù)量相比之前的大大減少,提出了Inception module結(jié)構(gòu),也就是NIN結(jié)構(gòu)(network within a network)。但是原始的Inception module計算量非常大,所以在每一個分支加了1x1 conv "bottleneck"結(jié)構(gòu)(具體細(xì)節(jié)看圖)。googlenet網(wǎng)絡(luò)結(jié)構(gòu)中為了避免梯度消失,在中間的兩個位置加了兩個softmax損失,所以會有三個loss,整個網(wǎng)絡(luò)的loss是通過三個loss乘上權(quán)重相加后得到 相關(guān)文章:https://zhuanlan.zhihu.com/p/42704781 inception結(jié)構(gòu)的特點:1、增加了網(wǎng)絡(luò)的寬度,同時也提高了對于不同尺度的適應(yīng)程度。2、使用 1x1 卷積核對輸入的特征圖進(jìn)行降維處理,這樣就會極大地減少參數(shù)量,從而減少計算量。3、在V3中使用了多個小卷積核代替大卷積核的方法,除了規(guī)整的的正方形,我們還有分解版本的 3x3 = 3x1 + 1x3,這個效果在深度較深的情況下比規(guī)整的卷積核更好。4、發(fā)明了Bottleneck 的核心思想還是利用多個小卷積核替代一個大卷積核,利用 1x1 卷積核替代大的卷積核的一部分工作。也就是先1x1降低通道然后普通3x3然后再1x1回去。
  • Xception:改進(jìn)了inception,提出的depthwise Separable Conv讓人眼前一亮。https://www.jianshu.com/p/4708a09c4352
  • ResNet:越深的網(wǎng)絡(luò)越難進(jìn)行優(yōu)化,有一個特點需要搞明白,越深的層最起碼表現(xiàn)應(yīng)該和淺層的一樣,不能比淺層的還差。對于更深的Resnet(50+),這里采用bottleneck層(也就是兩個1x1分別降維和升維)去提升網(wǎng)絡(luò)的效率。更詳細(xì)的描述可以看百面機(jī)器學(xué)習(xí)和ppt。相關(guān)講解:https://zhuanlan.zhihu.com/p/42706477
  • DenseNet 不能簡單說densenet更好,二者比較,ResNet是更一般的模型,DenseNet是更特化的模型。DenseNet用于圖像處理可能比ResNet表現(xiàn)更好,本質(zhì)是DenseNet更能和圖像的信息分布特點匹配,是使用了多尺度的Kernel。但是也有缺點最直接的計算就是一次推斷中所產(chǎn)生的所有feature map數(shù)目。有些框架會有優(yōu)化,自動把比較靠前的層的feature map釋放掉,所以顯存就會減少,或者inplace操作通過重新計算的方法減少一部分顯存,但是densenet因為需要重復(fù)利用比較靠前的feature map,所以無法釋放,導(dǎo)致顯存占用過大。正是這種_concat_造成densenet能更密集的連接。
  • SeNet:全稱為Squeeze-and-Excitation Networks。屬于注意力特征提取的范疇,加了GP(Global pooling)和兩個FC再加上sigmoid和scale。也就是生成注意力掩膜,去乘以輸入的x得到新的x。核心思想就是去學(xué)習(xí)每個特征通道的重要程度,然后根據(jù)這個重要程度去提升有用的特征并抑制對當(dāng)前任務(wù)用處不大的特征。這個給每一個特征層通道去乘以通過sigmoid得到的重要系數(shù),其實和用bn層去觀察哪個系數(shù)重要一樣。缺點:由于在主干上存在 0~1 的 scale 操作,在網(wǎng)絡(luò)較深 BP 優(yōu)化時就會在靠近輸入層容易出現(xiàn)梯度消散的情況,導(dǎo)致模型難以優(yōu)化。http://www.sohu.com/a/161633191_465975
  • Wide Residual Networks
  • ResNeXt:是resnet和inception的結(jié)合體,旁邊的residual connection就是公式中的x直接連過來,然后剩下的是32組獨(dú)立的同樣結(jié)構(gòu)的變換,最后再進(jìn)行融合,符合split-transform-merge的模式。雖然分了32組,都是先點卷積降維,然后3x3普通卷積,然后1x1卷積升維(與Mobilenetv2中的相反) 相關(guān)介紹:https://zhuanlan.zhihu.com/p/51075096
  • Densely Connected Convolutional Networks:有利于減輕梯度消失的情況,增強(qiáng)了特征的流動。

shufflenet:https://blog.csdn.net/u011974639/article/details/79200559

一些統(tǒng)計知識

正太分布:https://blog.csdn.net/yaningli/article/details/78051361

關(guān)于如何訓(xùn)練(訓(xùn)練過程中的一些問題)

MaxPool導(dǎo)致的訓(xùn)練震蕩(通過在MaxPool之后加上L2Norm)//mp.weixin.qq.com/s/QR-KzLxOBazSbEFYoP334Q

全連接層的好伴侶:空間金字塔池化(SPP)

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

感受野計算

感受野計算有兩個公式,一個普通公式一個通項公式:

397012a4-011e-11ed-ba43-dac502259ad0.jpg

需要注意,卷積和池化都可以增加感受野。

http://zike.io/posts/calculate-receptive-field-for-vgg-16/

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4631

    瀏覽量

    93406
  • 機(jī)器學(xué)習(xí)

    關(guān)注

    66

    文章

    8442

    瀏覽量

    133107
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5516

    瀏覽量

    121586

原文標(biāo)題:機(jī)器學(xué)習(xí)、深度學(xué)習(xí)面試知識點匯總

文章出處:【微信號:vision263com,微信公眾號:新機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    傳統(tǒng)機(jī)器學(xué)習(xí)方法和應(yīng)用指導(dǎo)

    用于開發(fā)生物學(xué)數(shù)據(jù)的機(jī)器學(xué)習(xí)方法。盡管深度學(xué)習(xí)(一般指神經(jīng)網(wǎng)絡(luò)算法)是一個強(qiáng)大的工具,目前也非常流行,但它的應(yīng)用領(lǐng)域仍然有限。與深度
    的頭像 發(fā)表于 12-30 09:16 ?409次閱讀
    傳統(tǒng)<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>方法和應(yīng)用指導(dǎo)

    面試題】人工智能工程師高頻面試題匯總:機(jī)器學(xué)習(xí)深化篇(題目+答案)

    ,或者深度學(xué)習(xí)的框架,還有怎么優(yōu)化模型,這些都是加分項,能有效提高面試通過率。本篇小編整理了一些高頻的機(jī)器學(xué)習(xí)深化方面的
    的頭像 發(fā)表于 12-16 13:42 ?2076次閱讀
    【<b class='flag-5'>面試</b>題】人工智能工程師高頻<b class='flag-5'>面試</b>題匯總:<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>深化篇(題目+答案)

    人工智能工程師高頻面試題匯總——機(jī)器學(xué)習(xí)

    ,或者深度學(xué)習(xí)的框架,還有怎么優(yōu)化模型,這些都是加分項,能有效提高面試通過率。本篇小編整理了一些高頻的機(jī)器學(xué)習(xí)方面的
    的頭像 發(fā)表于 12-04 17:00 ?999次閱讀
    人工智能工程師高頻<b class='flag-5'>面試</b>題匯總——<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>篇

    GPU深度學(xué)習(xí)應(yīng)用案例

    能力,可以顯著提高圖像識別模型的訓(xùn)練速度和準(zhǔn)確性。例如,在人臉識別、自動駕駛等領(lǐng)域,GPU被廣泛應(yīng)用于加速深度學(xué)習(xí)模型的訓(xùn)練和推理過程。 二、自然語言處理 自然語言處理(NLP)是深度
    的頭像 發(fā)表于 10-27 11:13 ?518次閱讀

    AI大模型與深度學(xué)習(xí)的關(guān)系

    AI大模型與深度學(xué)習(xí)之間存在著密不可分的關(guān)系,它們互為促進(jìn),相輔相成。以下是對兩者關(guān)系的介紹: 一、深度學(xué)習(xí)是AI大模型的基礎(chǔ) 技術(shù)支撐 :深度
    的頭像 發(fā)表于 10-23 15:25 ?1352次閱讀

    深度學(xué)習(xí)中的時間序列分類方法

    時間序列分類(Time Series Classification, TSC)是機(jī)器學(xué)習(xí)深度學(xué)習(xí)領(lǐng)域的重要任務(wù)之一,廣泛應(yīng)用于人體活動識別、系統(tǒng)監(jiān)測、金融預(yù)測、醫(yī)療診斷等多個領(lǐng)域。隨
    的頭像 發(fā)表于 07-09 15:54 ?1187次閱讀

    深度學(xué)習(xí)中的無監(jiān)督學(xué)習(xí)方法綜述

    深度學(xué)習(xí)作為機(jī)器學(xué)習(xí)領(lǐng)域的一個重要分支,近年來在多個領(lǐng)域取得了顯著的成果,特別是在圖像識別、語音識別、自然語言處理等領(lǐng)域。然而,深度
    的頭像 發(fā)表于 07-09 10:50 ?967次閱讀

    深度學(xué)習(xí)在視覺檢測中的應(yīng)用

    深度學(xué)習(xí)機(jī)器學(xué)習(xí)領(lǐng)域中的一個重要分支,其核心在于通過構(gòu)建具有多層次的神經(jīng)網(wǎng)絡(luò)模型,使計算機(jī)能夠從大量數(shù)據(jù)中自動學(xué)習(xí)并提取特征,進(jìn)而實現(xiàn)對復(fù)
    的頭像 發(fā)表于 07-08 10:27 ?882次閱讀

    深度學(xué)習(xí)與nlp的區(qū)別在哪

    深度學(xué)習(xí)和自然語言處理(NLP)是計算機(jī)科學(xué)領(lǐng)域中兩個非常重要的研究方向。它們之間既有聯(lián)系,也有區(qū)別。本文將介紹深度學(xué)習(xí)與NLP的區(qū)別。 深度
    的頭像 發(fā)表于 07-05 09:47 ?1070次閱讀

    人工智能、機(jī)器學(xué)習(xí)深度學(xué)習(xí)是什么

    在科技日新月異的今天,人工智能(Artificial Intelligence, AI)、機(jī)器學(xué)習(xí)(Machine Learning, ML)和深度學(xué)習(xí)(Deep Learning,
    的頭像 發(fā)表于 07-03 18:22 ?1449次閱讀

    TensorFlow與PyTorch深度學(xué)習(xí)框架的比較與選擇

    深度學(xué)習(xí)作為人工智能領(lǐng)域的一個重要分支,在過去十年中取得了顯著的進(jìn)展。在構(gòu)建和訓(xùn)練深度學(xué)習(xí)模型的過程中,
    的頭像 發(fā)表于 07-02 14:04 ?1095次閱讀

    深度學(xué)習(xí)模型訓(xùn)練過程詳解

    深度學(xué)習(xí)模型訓(xùn)練是一個復(fù)雜且關(guān)鍵的過程,它涉及大量的數(shù)據(jù)、計算資源和精心設(shè)計的算法。訓(xùn)練一個深度學(xué)習(xí)模型,本質(zhì)上是通過優(yōu)化算法調(diào)整模型參數(shù),
    的頭像 發(fā)表于 07-01 16:13 ?1528次閱讀

    深度學(xué)習(xí)的模型優(yōu)化與調(diào)試方法

    深度學(xué)習(xí)模型在訓(xùn)練過程中,往往會遇到各種問題和挑戰(zhàn),如過擬合、欠擬合、梯度消失或爆炸等。因此,對深度學(xué)習(xí)
    的頭像 發(fā)表于 07-01 11:41 ?1023次閱讀

    深度學(xué)習(xí)與傳統(tǒng)機(jī)器學(xué)習(xí)的對比

    在人工智能的浪潮中,機(jī)器學(xué)習(xí)深度學(xué)習(xí)無疑是兩大核心驅(qū)動力。它們各自以其獨(dú)特的方式推動著技術(shù)的進(jìn)步,為眾多領(lǐng)域帶來了革命性的變化。然而,盡管它們都屬于
    的頭像 發(fā)表于 07-01 11:40 ?1554次閱讀

    為什么深度學(xué)習(xí)的效果更好?

    導(dǎo)讀深度學(xué)習(xí)機(jī)器學(xué)習(xí)的一個子集,已成為人工智能領(lǐng)域的一項變革性技術(shù),在從計算機(jī)視覺、自然語言處理到自動駕駛汽車等廣泛的應(yīng)用中取得了顯著的成功。深度
    的頭像 發(fā)表于 03-09 08:26 ?695次閱讀
    為什么<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>的效果更好?