編程冠軍游戲規(guī)則,如何學(xué)習(xí)人工智能?
你有沒(méi)有想做一件事,睡不著覺(jué)的沖動(dòng),有沒(méi)有想做一件事,在睜眼的那一刻就能起來(lái)的毅力。這兩樣你都有,那你可以好好學(xué)習(xí)這個(gè)。真的是持之以恒。
不管是AI也好,其他學(xué)科也好,學(xué)習(xí)、研究的過(guò)程中不斷反思學(xué)科的歷史,總結(jié)學(xué)科的發(fā)展現(xiàn)狀,找出最重要的理念,總能讓人能“吾道一以貫之”。軟件工程師James Le近期根據(jù)他研究的經(jīng)驗(yàn)總結(jié)出了AI研究必須要知道的十種深度學(xué)習(xí)方法,非常具有啟發(fā)性。AI科技評(píng)論編譯如下。
The 10 Deep Learning Methods AI Practitioners Need to Apply
人們對(duì)機(jī)器學(xué)習(xí)的興趣在過(guò)去十年經(jīng)歷了爆炸式的發(fā)展。計(jì)算機(jī)科學(xué)項(xiàng)目中、業(yè)界會(huì)議中、媒體報(bào)道中,你都能夠看到機(jī)器學(xué)習(xí)的影子。但是似乎所有關(guān)于機(jī)器學(xué)習(xí)的討論中,人們常常會(huì)把AI能做什么和他們希望AI能做什么混為一談。
從根本上來(lái)講,機(jī)器學(xué)習(xí)其實(shí)就是使用算法從原始數(shù)據(jù)中提取信息,并以某種類型的模型表示出來(lái);然后我們使用這個(gè)模型來(lái)推斷我們尚未建模的其他數(shù)據(jù)。
神經(jīng)網(wǎng)絡(luò)作為機(jī)器學(xué)習(xí)的一類模型,它們已經(jīng)存在了至少50年。神經(jīng)網(wǎng)絡(luò)的基本單元是節(jié)點(diǎn),大致上模仿了哺乳動(dòng)物大腦中的生物神經(jīng)元的節(jié)點(diǎn);節(jié)點(diǎn)之間的鏈接(也是模仿生物大腦)隨著時(shí)間的推移(訓(xùn)練)而演化。
在上世紀(jì)八十年代中期和九十年代早期,許多重要的神經(jīng)網(wǎng)絡(luò)構(gòu)架都已經(jīng)做出了,不過(guò)要想獲得好的結(jié)果還需要足夠強(qiáng)大的計(jì)算能力和大體量的數(shù)據(jù)集,這些當(dāng)時(shí)在當(dāng)時(shí)很不理想,所以也導(dǎo)致人們對(duì)機(jī)器學(xué)習(xí)的熱情逐漸冷淡了下來(lái)。在21世紀(jì)初,計(jì)算機(jī)的計(jì)算能力呈現(xiàn)了指數(shù)級(jí)的增長(zhǎng)——業(yè)界見(jiàn)證了計(jì)算機(jī)技術(shù)的“寒武紀(jì)大爆發(fā)”,這在之前幾乎是不可想象的。深度學(xué)習(xí)作為這個(gè)領(lǐng)域中一個(gè)重要的架構(gòu),在計(jì)算能力爆發(fā)式增長(zhǎng)的十年中,贏得了許多重要的機(jī)器學(xué)習(xí)競(jìng)賽。這個(gè)紅利的熱度直到今年仍未降溫;今天,我們看到在機(jī)器學(xué)習(xí)的每個(gè)角落里都會(huì)提到深度學(xué)習(xí)。
為了更深入地了解這些,我參加了一門“深度學(xué)習(xí)”課程,并開(kāi)發(fā)了一個(gè)圖像識(shí)別的神經(jīng)網(wǎng)絡(luò)以及基于循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)和長(zhǎng)短項(xiàng)記憶(LSTM)的自然語(yǔ)言處理。可以去我的Github倉(cāng)庫(kù)中查看這些代碼:
https://github.com/khanhnamle1994/deep-learning
最近,我也開(kāi)始閱讀一些深度學(xué)習(xí)方面的學(xué)術(shù)論文。下面這些是我收集到的幾篇對(duì)深度學(xué)習(xí)領(lǐng)域的發(fā)展有重大影響的幾篇論文:
1、Gradient-Based Learning Applied to Document Recognition (1998)
http://yann.lecun.com/exdb/publis/pdf/lecun-01a.pdf
意義:向機(jī)器學(xué)習(xí)世界引進(jìn)了卷積神經(jīng)網(wǎng)絡(luò)
作者:Yann LeCun, Leon Bottou, Yoshua Bengio, and Patrick Haffner
2、Deep Boltzmann Machines (2009)
http://proceedings.mlr.press/v5/salakhutdinov09a/salakhutdinov09a.pdf
意義:為玻爾茲曼機(jī)提出了一種新的學(xué)習(xí)算法,其中包含許多隱藏變量層。
作者:Ruslan Salakhutdinov, Geoffrey Hinton
3、Building High-Level Features Using Large-Scale Unsupervised Learning (2012)
http://icml.cc/2012/papers/73.pdf
意義:解決了僅從未標(biāo)記的數(shù)據(jù)構(gòu)建高層次、特定類別的特征檢測(cè)器的問(wèn)題。
作者:Quoc V. Le,Marc’Aurelio Ranzato,Rajat Monga,Matthieu Devin,Kai Chen,Greg S. Corrado,Jeff Dean,Andrew Y. Ng
4、DeCAF?—?A Deep Convolutional Activation Feature for Generic Visual Recognition (2013)
http://proceedings.mlr.press/v32/donahue14.pdf
意義:釋放了一個(gè)深度卷積激活特征的開(kāi)源實(shí)現(xiàn)——DeCAF,以及所有相關(guān)的網(wǎng)絡(luò)參數(shù),使視覺(jué)研究人員能夠深入地在一系列視覺(jué)概念學(xué)習(xí)范例中進(jìn)行實(shí)驗(yàn)。
作者:Jeff Donahue,Yangqing Jia,Oriol Vinyals,Judy Hoffman,Ning Zhang,Eric Tzeng,Trevor Darrell
5、Playing Atari with Deep Reinforcement Learning (2016)
https://www.cs.toronto.edu/~vmnih/docs/dqn.pdf
意義:提供了第一個(gè)可以使用強(qiáng)化學(xué)習(xí)從高維感官輸入中直接學(xué)習(xí)控制策略的深度學(xué)習(xí)模型。
作者:Volodymyr Mnih,Koray Kavukcuoglu,David Silver,Alex Graves,Ioannis Antonoglou,Daan Wierstra,Martin Riedmiller(DeepMind 團(tuán)隊(duì))
在這些學(xué)習(xí)和研究中,我發(fā)現(xiàn)大量非常有意思的知識(shí)點(diǎn)。在這里我將分享十個(gè)深度學(xué)習(xí)的方法,AI工程師可能會(huì)將這些應(yīng)用到他們的機(jī)器學(xué)習(xí)問(wèn)題當(dāng)中。
不過(guò),首先先讓我們來(lái)定義一下什么是“深度學(xué)習(xí)”。對(duì)很多人來(lái)說(shuō),給“深度學(xué)習(xí)”下一個(gè)定義確實(shí)很有挑戰(zhàn),因?yàn)樵谶^(guò)去的十年中,它的形式已經(jīng)慢慢地發(fā)生了很大的變化。
先來(lái)在視覺(jué)上感受一下“深度學(xué)習(xí)”的地位。下圖是AI、機(jī)器學(xué)習(xí)和深度學(xué)習(xí)三個(gè)概念的一個(gè)關(guān)系圖。
AI的領(lǐng)域要相對(duì)較廣泛,機(jī)器學(xué)習(xí)是AI的一個(gè)子領(lǐng)域,而深度學(xué)習(xí)是機(jī)器學(xué)習(xí)領(lǐng)域中的一個(gè)子集。
深度學(xué)習(xí)網(wǎng)絡(luò)與“典型”的前饋多層網(wǎng)絡(luò)之間是有一些區(qū)別的,如下:
深度學(xué)習(xí)網(wǎng)絡(luò)比之前的網(wǎng)絡(luò)有更多的神經(jīng)元
深度學(xué)習(xí)網(wǎng)絡(luò)具有更復(fù)雜的連接層的方式
深度學(xué)習(xí)網(wǎng)絡(luò)需要用強(qiáng)大的計(jì)算能力來(lái)訓(xùn)練
深度學(xué)習(xí)網(wǎng)絡(luò)能夠進(jìn)行自動(dòng)特征提取
因此深度學(xué)習(xí)可以被定義為在以下四個(gè)基本網(wǎng)絡(luò)框架中擁有大量參數(shù)和層的神經(jīng)網(wǎng)絡(luò):
無(wú)監(jiān)督預(yù)訓(xùn)練網(wǎng)絡(luò)(Unsupervised Pre-trained Networks)
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks)
循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Networks)
遞歸神經(jīng)網(wǎng)絡(luò) (Recursive Neural Networks)
在這篇文章中,我主要對(duì)后三個(gè)框架比較感興趣。
卷積神經(jīng)網(wǎng)絡(luò) 基本上就是用共享權(quán)重在空間中進(jìn)行擴(kuò)展的標(biāo)準(zhǔn)神經(jīng)網(wǎng)絡(luò)。設(shè)計(jì)CNN主要是為了通過(guò)內(nèi)部卷積來(lái)識(shí)別圖片,內(nèi)部卷積可以看到待識(shí)別物體的邊。
循環(huán)神經(jīng)網(wǎng)絡(luò) 基本上是在時(shí)間上進(jìn)行擴(kuò)展的標(biāo)準(zhǔn)神經(jīng)網(wǎng)絡(luò),因?yàn)檫呥M(jìn)入下一個(gè)時(shí)間步,而不是在同一時(shí)間步進(jìn)入下一個(gè)層。設(shè)計(jì)RNN主要是為了識(shí)別序列,例如語(yǔ)音信號(hào)或者文本。它里面的循環(huán)意味著網(wǎng)絡(luò)中存在短暫的記憶。
遞歸神經(jīng)網(wǎng)絡(luò) 更類似于分層網(wǎng)絡(luò),其中輸入序列沒(méi)有真正的時(shí)間面,而是輸入必須以樹狀方式分層處理。
以下10種方法可以應(yīng)用于所有這些體系結(jié)構(gòu)。
1、反向傳播
反向傳播是“誤差反向傳播”的簡(jiǎn)稱,它是一種計(jì)算函數(shù)(在神經(jīng)網(wǎng)絡(luò)中以函數(shù)形式存在)偏微分的方法。當(dāng)你要用一個(gè)基于梯度的方法來(lái)解決一個(gè)最優(yōu)問(wèn)題時(shí)(注意梯度下降只是解決這類問(wèn)題的一種方法),你希望在每一次迭代中計(jì)算函數(shù)梯度。
對(duì)于神經(jīng)網(wǎng)絡(luò)而言,目標(biāo)函數(shù)具有合成的形式。那么如何計(jì)算梯度呢?一般情況下有兩種常見(jiàn)的方法:
1)微分分析法。當(dāng)你知道這個(gè)函數(shù)的形式時(shí),你只需要用鏈?zhǔn)椒▌t計(jì)算導(dǎo)數(shù)即可;
2)用有限差分方法來(lái)近似微分。這種方法的計(jì)算量很大,因?yàn)楹瘮?shù)評(píng)估的數(shù)量是O(N),其中N是參數(shù)的數(shù)量。與微分分析法相比,這是比較昂貴的。不過(guò),有限差分通常在調(diào)試時(shí)驗(yàn)證后端實(shí)現(xiàn)。
2、隨機(jī)梯度下降
一個(gè)直觀理解梯度下降的方法是去想象一條溯源山頂?shù)暮恿鳌_@條河流會(huì)沿著山勢(shì)梯度的方向流向山麓下的最低點(diǎn)。
如果讓人來(lái)走,可能就不一樣了,你可能會(huì)先隨便選一個(gè)方向,然后沿著這個(gè)方向的梯度向下走;過(guò)一會(huì)兒再隨機(jī)換一個(gè)方向向下走;最后你發(fā)現(xiàn)自己差不多也到了谷底了。
數(shù)學(xué)化的理解就是:
隨機(jī)梯度下降主要用來(lái)求解類似于如下求和形式的優(yōu)化問(wèn)題:
梯度下降法:
當(dāng)n很大時(shí),每次迭代計(jì)算所有的梯度會(huì)非常耗時(shí)。隨機(jī)梯度下降的想法就是每次在Delta f_i 中隨機(jī)選取一個(gè)計(jì)算代替上面的Delta f_i,以這個(gè)隨機(jī)選取的方向作為下降的方向。這樣的方法反而比梯度下降能夠更快地到達(dá)(局部)最優(yōu)解。
3、學(xué)習(xí)率衰減
在訓(xùn)練模型的時(shí)候,通常會(huì)遇到這種情況:我們平衡模型的訓(xùn)練速度和損失(loss)后選擇了相對(duì)合適的學(xué)習(xí)率(learning rate),但是訓(xùn)練集的損失下降到一定的程度后就不在下降了,比如training loss一直在0.7和0.9之間來(lái)回震蕩,不能進(jìn)一步下降。如下圖所示:
遇到這種情況通常可以通過(guò)適當(dāng)降低學(xué)習(xí)率(learning rate)來(lái)實(shí)現(xiàn)。但是,降低學(xué)習(xí)率又會(huì)延長(zhǎng)訓(xùn)練所需的時(shí)間。
學(xué)習(xí)率衰減(learning rate decay)就是一種可以平衡這兩者之間矛盾的解決方案。學(xué)習(xí)率衰減的基本思想是:學(xué)習(xí)率隨著訓(xùn)練的進(jìn)行逐漸衰減。
學(xué)習(xí)率衰減基本有兩種實(shí)現(xiàn)方法:
線性衰減。例如:每過(guò)5個(gè)epochs學(xué)習(xí)率減半;
指數(shù)衰減。例如:每過(guò)5個(gè)epochs將學(xué)習(xí)率乘以0.1。
4、dropout
在當(dāng)前的大規(guī)模神經(jīng)網(wǎng)絡(luò)中有兩個(gè)缺點(diǎn):
費(fèi)時(shí);
容易過(guò)擬合
Dropout 可以很好地解決這個(gè)問(wèn)題。Dropout說(shuō)的簡(jiǎn)單一點(diǎn)就是在前向傳導(dǎo)的時(shí)候,讓某個(gè)神經(jīng)元的激活值以一定的概率p停止工作,示意圖如下:
每次做完dropout,相當(dāng)于從原始的網(wǎng)絡(luò)中找到一個(gè)更瘦的網(wǎng)絡(luò)。
Hinton在其論文中做了這樣的類比,無(wú)性繁殖可以保留大段的優(yōu)秀基因,而有性繁殖則將基因隨機(jī)拆了又拆,破壞了大段基因的聯(lián)合適應(yīng)性;但是自然選擇了有性繁殖,物競(jìng)天擇,適者生存,可見(jiàn)有性繁殖的強(qiáng)大。dropout 也能達(dá)到同樣的效果,它強(qiáng)迫一個(gè)神經(jīng)單元,和隨機(jī)挑選出來(lái)的其他神經(jīng)單元共同工作,消除減弱了神經(jīng)元節(jié)點(diǎn)間的聯(lián)合適應(yīng)性,增強(qiáng)了泛化能力。
5、max pooling
池化(Pooling)是卷積神經(jīng)網(wǎng)絡(luò)中另一個(gè)重要的概念,它實(shí)際上是一種形式的向下采樣。有多種不同形式的非線性池化函數(shù),而其中“最大池化(Max pooling)”是最為常見(jiàn)的。它是將輸入的圖像劃分為若干個(gè)矩形區(qū)域,對(duì)每個(gè)子區(qū)域輸出最大值。
直覺(jué)上,這種機(jī)制能夠有效地原因在于,在發(fā)現(xiàn)一個(gè)特征之后,它的精確位置遠(yuǎn)不及它和其他特征的相對(duì)位置的關(guān)系重要。池化層會(huì)不斷地減小數(shù)據(jù)的空間大小,因此參數(shù)的數(shù)量和計(jì)算量也會(huì)下降,這在一定程度上也控制了過(guò)擬合。通常來(lái)說(shuō),CNN的卷積層之間都會(huì)周期性地插入池化層。
6、批標(biāo)準(zhǔn)化
包括深度網(wǎng)絡(luò)在內(nèi)的神經(jīng)網(wǎng)絡(luò)需要仔細(xì)調(diào)整權(quán)重初始化和學(xué)習(xí)參數(shù)。批標(biāo)準(zhǔn)化使這些變得輕松許多。
權(quán)重問(wèn)題:
無(wú)論權(quán)重的初始化如何,是隨機(jī)的還是經(jīng)驗(yàn)性的選擇,它們離學(xué)習(xí)權(quán)重都會(huì)很遠(yuǎn)。考慮一個(gè)小批量,初期在所需的特征激活方面會(huì)有很多異常值。
深層神經(jīng)網(wǎng)絡(luò)本身是病態(tài)的,初始層中的微小擾動(dòng)都會(huì)導(dǎo)致后面層的非常大的變化。
在反向傳播過(guò)程中,這些現(xiàn)象會(huì)導(dǎo)致梯度彌散。這就意味著在學(xué)習(xí)權(quán)重產(chǎn)生所需要的輸出前,必須對(duì)梯度的異常值進(jìn)行補(bǔ)償,這將導(dǎo)致需要額外的時(shí)段來(lái)收斂。
批量歸一化使這些梯度從分散到正常值并在小批量范圍內(nèi)流向共同目標(biāo)(通過(guò)歸一化)。
學(xué)習(xí)率問(wèn)題:一般來(lái)說(shuō),學(xué)習(xí)率需要保持較低的值,使得只有一小部分的梯度來(lái)校正權(quán)重,原因是要使異常激活的梯度不影響已學(xué)習(xí)到的激活。通過(guò)批量標(biāo)準(zhǔn)化,可以減少這些異常激活,因此也就可以使用更高的學(xué)習(xí)率來(lái)加速學(xué)習(xí)過(guò)程。
7、long short-term memory
LSTM網(wǎng)絡(luò)具有以下三個(gè)方面,使其與循環(huán)神經(jīng)網(wǎng)絡(luò)中的常見(jiàn)神經(jīng)元不同:
1)它能夠決定何時(shí)讓輸入進(jìn)入神經(jīng)元;
2)它能夠決定何時(shí)記住上一個(gè)時(shí)間步中計(jì)算的內(nèi)容;
3)它決定何時(shí)讓輸出傳遞到下一個(gè)時(shí)間步。
LSTM的美妙之處在于它能夠根據(jù)當(dāng)前的輸入本身來(lái)決定所有這些。 所以你看下面的圖表:
當(dāng)前時(shí)間的輸入信號(hào)x(t)決定所有上述3個(gè)點(diǎn)。 輸入門決定點(diǎn)1,遺忘門決定點(diǎn)2,輸出門決定點(diǎn)3。任何一條輸入都能夠采取所有這三個(gè)決定。這種設(shè)計(jì)其實(shí)是受到了我們大腦如何工作的啟發(fā),并且可以基于輸入來(lái)處理突然的上下文切換。
8、skip-gram
詞嵌入模型的目標(biāo)是為每個(gè)詞項(xiàng)學(xué)習(xí)一個(gè)高維密集表示,其中嵌入向量之間的相似性顯示了相應(yīng)詞之間的語(yǔ)義或句法相似性。 Skip-gram是一個(gè)學(xué)習(xí)詞嵌入算法的模型。
skip-gram模型(以及許多其他的詞語(yǔ)嵌入模型)背后的主要思想如下:兩個(gè)詞項(xiàng)相似,如果它們共享相似的上下文。
換句話說(shuō),假設(shè)你有一個(gè)句子,例如“貓是哺乳動(dòng)物”;如果你用“狗”而不是“貓”,這個(gè)句子還是一個(gè)有意義的句子。因此在這個(gè)例子中,“狗”和“貓”可以共享相同的上下文(即“是哺乳動(dòng)物”)。
基于上述假設(shè),你可以考慮一個(gè)上下文窗口(一個(gè)包含k個(gè)連續(xù)項(xiàng)的窗口),然后你跳過(guò)其中一個(gè)單詞,試著去學(xué)習(xí)一個(gè)能夠得到除跳過(guò)項(xiàng)外的所有項(xiàng)的神經(jīng)網(wǎng)絡(luò),并預(yù)測(cè)跳過(guò)的這個(gè)項(xiàng)。如果兩個(gè)詞在一個(gè)大語(yǔ)料庫(kù)中反復(fù)共享相似的語(yǔ)境,則這些詞的嵌入向量將具有相近的向量。
9、連續(xù)詞袋
在自然語(yǔ)言處理問(wèn)題中,我們希望學(xué)習(xí)將文檔中的每個(gè)單詞表示為一個(gè)數(shù)字的向量,使得出現(xiàn)在相似的上下文中的單詞具有彼此接近的向量。在連續(xù)的單詞模型中,目標(biāo)是能夠使用圍繞特定單詞的上下文并預(yù)測(cè)特定單詞。
我們通過(guò)在一個(gè)大的語(yǔ)料庫(kù)中采取大量的句子來(lái)做到這一點(diǎn),每當(dāng)我們看到一個(gè)單詞時(shí),我們就提取周圍的單詞。 然后,我們將上下文單詞輸入到一個(gè)神經(jīng)網(wǎng)絡(luò),并預(yù)測(cè)在這個(gè)上下文中間的單詞。
當(dāng)我們有成千上萬(wàn)個(gè)這樣的上下文單詞和中間詞時(shí),我們就有一個(gè)神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)集的實(shí)例。 我們訓(xùn)練神經(jīng)網(wǎng)絡(luò),最后編碼的隱藏層輸出表示了特定單詞的嵌入。 恰巧,當(dāng)我們對(duì)大量的句子進(jìn)行訓(xùn)練時(shí),類似語(yǔ)境中的單詞得到相似的向量。
10、遷移學(xué)習(xí)
讓我們想一下如何在CNN中處理一張圖片。假設(shè)有一張圖片,你對(duì)它進(jìn)行卷積處理,然后你得到的輸出是像素的組合,我們姑且稱之為“邊”吧。我們?cè)俅问褂镁矸e,這時(shí)候你得到的輸出將是邊的組合,我們稱之為“線”。如果再次使用卷積,那么你將得到線的組合,等等。
每一層都是在尋找相應(yīng)的特定模式。你的神經(jīng)網(wǎng)絡(luò)最后一層一般會(huì)給出非常特定的模式。也許你在處理ImageNet,你的網(wǎng)絡(luò)最后一層可能是在找孩子、狗或飛機(jī)或別的任何東西。如果你向前兩層看,網(wǎng)絡(luò)可能是在找眼睛、耳朵、嘴巴或者輪子。
深度卷積神經(jīng)網(wǎng)絡(luò)中的每一層的深入都是在構(gòu)建越來(lái)越高層次的特征表示。最后兩層會(huì)產(chǎn)生你輸入模型的數(shù)據(jù)中的特定模式。換句話說(shuō),早期的層提取的特征則廣泛得多,在提取的大量的類中有很多簡(jiǎn)單的模式。
遷移學(xué)習(xí)就是當(dāng)你用一個(gè)數(shù)據(jù)集訓(xùn)練CNN時(shí),砍掉最后的一(些)層,再用另一個(gè)不同的數(shù)據(jù)集重新訓(xùn)練最后一(些)層的模型。直觀地說(shuō),你在重新訓(xùn)練模型來(lái)識(shí)別不同的高級(jí)層次特征。作為結(jié)果,訓(xùn)練時(shí)間大幅減少。所以當(dāng)你沒(méi)有足夠的數(shù)據(jù)或者訓(xùn)練的資源時(shí),遷移學(xué)習(xí)是非常有用的一個(gè)工具。
這篇文章只是展示了這些方法的一般概述。我建議閱讀下面這些文章以獲得對(duì)這些概念更詳細(xì)的解釋:
Andrew Beam's “Deep Learning 101”
http://beamandrew.github.io/deeplearning/2017/02/23/deep_learning_101_part1.html
Andrey Kurenkov's “A Brief History of Neural Nets and Deep Learning”
http://www.andreykurenkov.com/writing/a-brief-history-of-neural-nets-and-deep-learning/
Adit Deshpande's “A Beginner’s Guide to Understanding Convolutional Neural Networks”
https://adeshpande3.github.io/adeshpande3.github.io/A-Beginner%27s-Guide-To-Understanding-Convolutional-Neural-Networks/
Chris Olah's “Understanding LSTM Networks”
http://colah.github.io/posts/2015-08-Understanding-LSTMs/
Algobean's “Artificial Neural Networks”
https://algobeans.com/2016/03/13/how-do-computers-recognise-handwriting-using-artificial-neural-networks/
Andrej Karpathy's “The Unreasonable Effectiveness of Recurrent Neural Networks”
http://karpathy.github.io/2015/05/21/rnn-effectiveness/
深度學(xué)習(xí)非常注重技術(shù),而對(duì)每一個(gè)新的想法卻沒(méi)有太多具體的解釋。大多數(shù)新的idea只是用實(shí)驗(yàn)結(jié)果來(lái)證明它們的工作。深度學(xué)習(xí)就像玩樂(lè)高,掌握它有一定的挑戰(zhàn)性,但是入門還是很容易的。
熱愛(ài)的劇本是怎樣的?
大家好,很高興能回答這個(gè)問(wèn)題!關(guān)于《親愛(ài)的,熱愛(ài)的》這部劇呢!小編個(gè)人去看了前面幾集感覺(jué)還好,這部劇是由李青蓉,項(xiàng)旭晶執(zhí)導(dǎo),由楊紫,李現(xiàn),李鴻其,王真兒,李澤峰,姜珮瑤,孔琳,王策,梁愛(ài)琪等主演。胡一天特別演出,秦沛特邀出演,王樂(lè)君友情出演的一部青春勵(lì)志言情劇。
該劇根據(jù)墨寶非寶小說(shuō)《蜜汁燉魷魚》改編,講述了軟萌少女佟年對(duì)熱血青年韓商言的一見(jiàn)鐘情,二人在相處過(guò)程中的甜蜜碰撞,上演了一場(chǎng)高智商與高情商的甜萌夢(mèng)幻愛(ài)情故事。
好了,今天就介紹這么多啦!喜歡的小伙伴們可以在愛(ài)奇藝跟騰訊視頻觀看,謝謝支持
2020年P(guān)ython趨勢(shì)解讀?
相對(duì)于很多想轉(zhuǎn)行或者0基礎(chǔ)的程序員來(lái)說(shuō),Python行業(yè)發(fā)展前景絕對(duì)是關(guān)鍵性問(wèn)題。畢竟這個(gè)關(guān)系到未來(lái)的就業(yè),實(shí)際的收入,甚至決定了你的職業(yè)發(fā)展方向。而且Python對(duì)于web端的網(wǎng)站建設(shè)以及人工智能的發(fā)展,也有重大的加持作用。眾所周知,我們熟悉的豆瓣便是用Python搭建的,F(xiàn)acebook也是扎克一個(gè)人用Python搗騰出來(lái)的,后來(lái)的Twitter也是Python寫的,實(shí)際Python是國(guó)外包括Google在內(nèi)等大公司使用的主要語(yǔ)言。那么問(wèn)題來(lái)了,到底Python前景如何?
一. 0基礎(chǔ)入行Python容易出現(xiàn)哪些問(wèn)題? Python主要應(yīng)用領(lǐng)域有哪些?
1.web開(kāi)發(fā)。 Python經(jīng)常被用于web開(kāi)發(fā)。比如,通過(guò)mod_wsgi模塊,Apache可以運(yùn)行用Python編寫的web程序。一些web框架,可以讓程序員輕松地開(kāi)發(fā)和管理復(fù)雜的web程序。
2.游戲編程。Python在很早的時(shí)候就是一種游戲編程的輔助工具。在星球大戰(zhàn)中扮演了重要的角色。目前,通過(guò)Python完全可以編寫出非常棒的游戲程序。
3.網(wǎng)絡(luò)爬蟲。說(shuō)到使用編程語(yǔ)言編寫網(wǎng)絡(luò)爬蟲,就不得不提到Python的簡(jiǎn)便,高效和強(qiáng)大了。在幾年之前,大多數(shù)網(wǎng)絡(luò)爬蟲還是使用java進(jìn)行編寫的,但是隨著Python生態(tài)的不斷壯大,其簡(jiǎn)潔的語(yǔ)法搭配強(qiáng)大的功能,使得Python在編寫網(wǎng)絡(luò)爬蟲有著得天獨(dú)厚的優(yōu)勢(shì)。
4.數(shù)據(jù)分析。數(shù)據(jù)分析也是隨著大數(shù)據(jù)的概念再次興起的一個(gè)領(lǐng)域。有了大量的數(shù)據(jù),自然需要對(duì)其進(jìn)行數(shù)據(jù)清理,數(shù)據(jù)提取和數(shù)據(jù)分析。在科學(xué)計(jì)算和數(shù)據(jù)分析領(lǐng)域,Python一直沒(méi)有缺席。在這些方面都有非常成熟的第三模塊和活躍的社區(qū),使Python成為數(shù)據(jù)處理任務(wù)的一個(gè)重要解決方案。
5,人工智能與機(jī)器學(xué)習(xí)。人工智能是現(xiàn)在非常火的一個(gè)方向,Ai熱潮讓Python語(yǔ)言的未來(lái)充滿了無(wú)限的潛力。現(xiàn)在釋放出來(lái)的幾個(gè)非常有影響力的Ai框架,大多是Python的實(shí)現(xiàn)!機(jī)器學(xué)習(xí),尤其是現(xiàn)在火爆的深度學(xué)習(xí),其工具框架大都提供了Python接口。Python在科學(xué)計(jì)算機(jī)領(lǐng)域一直有著較好的聲譽(yù),其簡(jiǎn)潔清晰的語(yǔ)法以及豐富的計(jì)算工具,深受此領(lǐng)域開(kāi)發(fā)者喜愛(ài)! 其實(shí)除此之外,還有很多領(lǐng)域都有Python的身影,比如網(wǎng)絡(luò)安全,滲透測(cè)試,自動(dòng)化運(yùn)維,等等。
二. 2020年P(guān)ython行業(yè)有怎樣的優(yōu)勢(shì)?
1.編程語(yǔ)言流行指數(shù)(PYPL)公布的7,8月份中可見(jiàn),Python蟬聯(lián)第一,走上衛(wèi)冕的道路!
2.從IEEE Spectrum在9月份發(fā)布的2019年年度編程語(yǔ)言排行榜中清楚的看到“Python穩(wěn)居榜首連續(xù)奪冠3年” Python的火,有目共睹。Python陸續(xù)登上了IEEE,PYPL排行榜單之首!在最受歡迎語(yǔ)言排行榜上,Python的語(yǔ)法從去年開(kāi)始就借助人工智能持續(xù)上升,現(xiàn)在它已經(jīng)成為了第一名。其實(shí)國(guó)外Python的使用率非常普及,但在國(guó)內(nèi)Python是最近幾年才火起來(lái),因此Python正處于快速上升期,市場(chǎng)對(duì)于Python開(kāi)發(fā)人才的需求急劇增加。
三,學(xué)幾個(gè)月就能找到10K的工作?月薪8K-10K,這已經(jīng)是一線城市的普遍程序員基本標(biāo)準(zhǔn)了!如果找到的是優(yōu)質(zhì)的學(xué)校學(xué)習(xí),可能拿到的還遠(yuǎn)遠(yuǎn)不止這個(gè)薪資。我擔(dān)心的不是你們?nèi)胄兄笃鹗寄貌坏竭@樣的薪資,而是擔(dān)心一直處于這個(gè)階段。見(jiàn)過(guò)太多的人卡在這個(gè)瓶頸期,一去分析,要么說(shuō)是自己的學(xué)歷限制,要么是說(shuō)自己的年齡限制,要么是說(shuō)自己的技術(shù)水平限制,這還不是給自己不去學(xué)習(xí)的理由和借口
總結(jié)
1.說(shuō)真的,AI熱潮讓Python語(yǔ)言的未來(lái)充滿了無(wú)限的潛力,人才缺口巨大,就業(yè)機(jī)會(huì)多,具有系統(tǒng)知識(shí)技能體系的,會(huì)全棧的缺口更大。
2,Python語(yǔ)言簡(jiǎn)潔友好,0基礎(chǔ)入門并不難,大專學(xué)歷都能很快學(xué)好技術(shù)了。
以上就是關(guān)于編程冠軍游戲規(guī)則和如何學(xué)習(xí)人工智能的相關(guān)問(wèn)題解答,希望對(duì)你有所幫助。