直播內(nèi)容
《斯坦福cs231n計(jì)算機(jī)視覺課帶學(xué)訓(xùn)練營介紹》
訓(xùn)練營基本上所有的資料都會(huì)放到這個(gè)網(wǎng)址上:github.com/sharedeeply/cs231n-camp女坑。老師廖星宇霸妹。這門課程覆蓋了很多內(nèi)容玩讳,對(duì)前期的先修條件要求不是特別嚴(yán)格换帜。不需要你會(huì)神經(jīng)網(wǎng)絡(luò)這些東西,會(huì)從頭都講一下。
第一部分呢。從機(jī)器學(xué)習(xí)入手唆铐,講一下SVM線性分類法,過度到神經(jīng)網(wǎng)絡(luò)羽氮,到卷積神經(jīng)網(wǎng)絡(luò)或链。要學(xué)會(huì)內(nèi)部卷積網(wǎng)絡(luò)的原理,算法档押,各種各樣的基礎(chǔ)。學(xué)完這些后祈纯,第二個(gè)部分呢令宿,會(huì)將計(jì)算機(jī)視覺應(yīng)用層面,卷積網(wǎng)絡(luò)的分類任務(wù)腕窥,檢測(cè)粒没,分割。在自動(dòng)駕駛領(lǐng)域簇爆,醫(yī)療圖像中應(yīng)用癞松。學(xué)完之后爽撒,不僅能掌握神經(jīng)網(wǎng)絡(luò)最簡單的原理,更新的算法响蓉,包括最前沿的論文以及一些算法實(shí)踐都會(huì)涉及到硕勿。所以說學(xué)完這門課程就算是進(jìn)入到計(jì)算機(jī)視覺這門領(lǐng)域了。
為什么要學(xué)這門課枫甲?優(yōu)勢(shì)源武?對(duì)于算法工程師來講,首先需要工程師想幻,再是算法粱栖。工程師需要解決問題,需要抽象這個(gè)問題脏毯,提出一個(gè)解決方案闹究。需要算法和代碼去實(shí)現(xiàn)這個(gè)過程。編程能力很重要食店。首先需要工程師跋核,需要編程。有非常重的編程任務(wù)叛买。需要我們從零實(shí)現(xiàn)一個(gè)卷積網(wǎng)絡(luò)砂代,以及各種隨機(jī)梯度下降法。以及后面的循環(huán)神經(jīng)網(wǎng)絡(luò)都需要我們從零開始實(shí)現(xiàn)率挣。學(xué)習(xí)這門課過程中刻伊,比較困難的。希望大家可以堅(jiān)持下去椒功。一旦學(xué)完這門課你會(huì)發(fā)現(xiàn)所有的原理各種實(shí)現(xiàn)方法你都爛熟于心捶箱。
那我們的編程能力學(xué)完之后在對(duì)內(nèi)部算法上有更深刻的認(rèn)識(shí),再去調(diào)一些包动漾。希望學(xué)完了之后丁屎,這個(gè)包里面的算法我們自己也可以寫。只是用python寫出來的有點(diǎn)慢旱眯。開源作者的cuda或c++代碼速度會(huì)更快晨川,但是原理必須是一樣的。
從零實(shí)現(xiàn)了算法之后呢删豺,我們?cè)趹?yīng)用層面教大家用框架解決任務(wù)共虑,kaggle的比賽。
編程老師開始也沒基礎(chǔ)呀页,編程能力體現(xiàn)在哪個(gè)方面呢妈拌,其實(shí)就是你要去模仿別人的編程方法和風(fēng)格。一開始你對(duì)代碼沒有很深的理解蓬蝶,就不知道怎么寫尘分,不用死磕怎么寫猜惋。可以去借鑒別人代碼培愁。優(yōu)雅的結(jié)構(gòu)和方法都是可以學(xué)習(xí)的著摔。所以說我們要學(xué)會(huì)學(xué)習(xí)別人的開源代碼,第一需要學(xué)會(huì)寫readme.所謂的readme就是說介紹你的項(xiàng)目在做什么事情竭钝,第二要學(xué)會(huì)寫代碼里面的注釋梨撞。不僅是讓別人看,更是讓自己看香罐。需要有注釋幫助我們理解代碼卧波。第三要學(xué)習(xí)代碼的結(jié)構(gòu)。模型放一個(gè)文件夾里庇茫,數(shù)據(jù)預(yù)處理放在一個(gè)文件夾里面港粱。以及以后的處理放在一個(gè)文件夾里。這些算法數(shù)據(jù)需要分層次的去存放它旦签。所以在代碼的學(xué)習(xí)過程中查坪,模仿別人代碼是一個(gè)很好的學(xué)習(xí)途徑以及學(xué)習(xí)方法。希望大家在學(xué)習(xí)課程當(dāng)中宁炫,不要害怕去看別人代碼偿曙。可以看一些優(yōu)質(zhì)的項(xiàng)目羔巢,當(dāng)然很差的不要學(xué)了望忆,可以學(xué)一些公認(rèn)的比較好的項(xiàng)目。根據(jù)這個(gè)項(xiàng)目來優(yōu)化自己的代碼風(fēng)格竿秆,最后總結(jié)一套自己寫代碼的代碼習(xí)慣是最好的启摄。
代碼我也是從不是很有基礎(chǔ)到模仿別人代碼到最后自己可以寫,這個(gè)過程可能需要花兩三個(gè)月的時(shí)間幽钢,寫代碼的過程是不斷遞進(jìn)的歉备,需要不斷的學(xué)習(xí)。我也還在不斷學(xué)習(xí)更好的代碼風(fēng)格匪燕。
學(xué)完代碼之后第二個(gè)事情蕾羊,比較重要的。找工作和入這門檻就是你要去做項(xiàng)目谎懦。你需要去打比賽肚豺。對(duì)于有項(xiàng)目的同學(xué)我更推薦大家去做項(xiàng)目。為什么我不推薦大家把比賽放在項(xiàng)目前面界拦,因?yàn)榇虮荣愂且粋€(gè)很好的學(xué)習(xí)機(jī)會(huì),可以把一些不會(huì)的東西通過比賽去學(xué)習(xí)別人的算法梗劫,以及你可以走一套整體的流程享甸,你可以把數(shù)據(jù)從讀取到出結(jié)果流程你都跑完截碴。你可以得到非常好的鍛煉機(jī)會(huì)的。但是蛉威,你會(huì)發(fā)現(xiàn)比賽模式很像日丹。就是你打完這個(gè)比賽之后呢你發(fā)現(xiàn)下一個(gè)比賽跟這個(gè)比賽的打法就差不多,你把這個(gè)數(shù)據(jù)一改蚯嫌,算法不用怎么改你去跑一遍可能又有一個(gè)結(jié)果哲虾。這樣你會(huì)發(fā)現(xiàn)比賽沒有那么多變化。你做的事情就是在清洗數(shù)據(jù)或是說找一些奇怪的特征去提高成績择示。個(gè)人建議你可以打一次比賽束凑,但是不要打太多的比賽。如果你打七八十個(gè)比賽對(duì)你成長并沒有成長栅盲。公司更關(guān)注你的名次汪诉,如果前五你可以往簡歷里面寫。如果前二三十谈秫,含金量對(duì)你來說就很低扒寄。很容易。很多人跑一個(gè)baseline?就能拿到前二十拟烫。所以說前五的名次是有很幫助的该编。然后打比賽另外的事情,要做很多的集成學(xué)習(xí)硕淑,要做很多feature 的example?是沒什么用的课竣。就是在實(shí)際的應(yīng)用中用處不大,你可能為了獲獎(jiǎng)需要做很多的模型融合喜颁,拿二十個(gè)模型接口融合起來提升分?jǐn)?shù)稠氮。但在工業(yè)應(yīng)用中,不可能拿20個(gè)模型去跑半开,工業(yè)場(chǎng)景需要效率和高并發(fā)隔披。模型太復(fù)雜和很多模型很不科學(xué)。比賽中的套路在現(xiàn)實(shí)中是不通的寂拆。所以比賽雖然有局限性奢米,但是確實(shí)可以很快的帶大家入門這個(gè)領(lǐng)域。所以說打比賽是一個(gè)很快的學(xué)習(xí)途徑和方法纠永。一旦有項(xiàng)目鬓长,好的項(xiàng)目,你就可以全身心的去做這個(gè)項(xiàng)目尝江∩娌ǎ可以找身邊的同學(xué)有沒有項(xiàng)目做,或者github。我之前發(fā)的鏈接就是啤覆。然后上面很多開源項(xiàng)目你是可以參與進(jìn)去的苍日。可以跟作者溝通窗声。參與進(jìn)去相恃。這也是一個(gè)非常好的方法。比打比賽還要好笨觅。因?yàn)橹灰銋⑴c了上面就有你的痕跡拦耐。打比賽名次不好的話,不推薦你往簡歷里面寫见剩。
但你如果貢獻(xiàn)過代碼杀糯,你的github主頁上就會(huì)有痕跡,別人都是能看得到的炮温。而且別人可以通過你的github找到你的代碼火脉,通過你的代碼了解你的代碼風(fēng)格以及你的代碼習(xí)慣。這也是打比賽不能帶給你的柒啤。面試官會(huì)喜歡倦挂。所以在github上多發(fā)項(xiàng)目和多參與項(xiàng)目。如果在很多人關(guān)注的開源項(xiàng)目上貢獻(xiàn)過你的代碼的話担巩,對(duì)你本身知名度也是有提升的方援。
所以你可以參加自己的項(xiàng)目,或者實(shí)驗(yàn)室的項(xiàng)目涛癌,或者github開源的項(xiàng)目犯戏。實(shí)在沒有你可以打比賽。拿個(gè)很好的名次拳话。沒有很好名次你也可以開源這些代碼讓別人了解你的代碼風(fēng)格先匪。那么有了開源項(xiàng)目,代碼弃衍。你就可以去投簡歷呀非。這時(shí)候看我的github上放了三個(gè)知乎的鏈接。在講現(xiàn)在人工智能和算法工程師的招聘的投遞率很高镜盯,質(zhì)量怎么樣岸裙,公司希望找一些什么人這樣的回答。如果你們看了這些回答速缆,你會(huì)發(fā)現(xiàn)很多人對(duì)算法理解非常淺降允,但回去抱怨這個(gè)進(jìn)去的人太多,公司不招人這樣艺糜。我在面試中喜歡考察的東西吧剧董。建議大家先投實(shí)習(xí)崗位幢尚,轉(zhuǎn)正這樣的概率比你直接投正式,錄取的概率會(huì)大很多送滞。我覺得雖然工資少侠草,但是有學(xué)習(xí)的機(jī)會(huì)是個(gè)非常好的事情辱挥。實(shí)習(xí)崗位基本只有一面犁嗅,最多兩面。正式崗位可能要三四面晤碘。所以實(shí)習(xí)是個(gè)非常好能得到工作機(jī)會(huì)的方式褂微。那實(shí)習(xí)一般會(huì)看中大家什么能力呢?會(huì)問一些算法的原理园爷。比如在tensorflow卷積是怎么實(shí)現(xiàn)的宠蚂。它是比較巧妙地。但是如果你能答出卷積的實(shí)現(xiàn)方式也行童社。甚至?xí)屇銓憘未a來推導(dǎo)這個(gè)過程求厕。它可能會(huì)問一些算法原理,如果你面機(jī)器學(xué)習(xí)的公司扰楼,它會(huì)問你一些SVM的東西呀癣。我現(xiàn)在的工作傳統(tǒng)的方法接觸的比較少,所以我都講的是深度學(xué)習(xí)方面的東西弦赖。他會(huì)讓你手寫一個(gè)反向傳播算法项栏。讓你手寫一個(gè)循環(huán)神經(jīng)網(wǎng)絡(luò)的前向傳播和反向傳播。這些東西是你調(diào)包是不會(huì)的蹬竖。如果先問你基礎(chǔ)知識(shí)你一問三不知沼沈,那基本上可以結(jié)束了。如果你大多數(shù)都知道币厕,就會(huì)問你項(xiàng)目了列另。第一個(gè)加分項(xiàng),就是github.旦装。只要你把里面的代碼整理好了页衙,那面試對(duì)你加分。他會(huì)覺得你有非常好的代碼習(xí)慣和風(fēng)格同辣。你有很強(qiáng)的自我學(xué)習(xí)的能力拷姿。因?yàn)樵趃ithub放代碼是一個(gè)比較麻煩的事情。一旦你這么做的話旱函,他會(huì)覺得你有很強(qiáng)的自我驅(qū)動(dòng)型响巢。做事情很愿意花時(shí)間。愿意投入精力棒妨。所以github重要踪古。第二個(gè)東西你要放的是你的博客含长。你把每周學(xué)的東西你都寫博客。也是個(gè)非常好的面試官了解你伏穆。以及你最新的情況拘泞。如果對(duì)你提前有個(gè)很好的印象,提問題就不會(huì)不友好枕扫。
最重要的是里面有一個(gè)或多個(gè)項(xiàng)目陪腌。你對(duì)你做的項(xiàng)目一定要非常的了解。不管問你項(xiàng)目的任何細(xì)節(jié)你一定都要對(duì)答入流烟瞧。你需要對(duì)你的項(xiàng)目有非常非常深刻的認(rèn)識(shí)诗鸭。用項(xiàng)目里面用的東西,你必須知道為什么要做這個(gè)事情参滴。如果用了這個(gè)模型强岸,必須知道為什么我用了這個(gè)模型。需要知道這個(gè)模型的好處以及為什么比較適合這個(gè)問題砾赔。你需要對(duì)這個(gè)問題進(jìn)行思考和理解蝌箍。不僅僅是做了這個(gè)項(xiàng)目你調(diào)了這個(gè)包,或者打這個(gè)比賽暴心,你跑了幾個(gè)算法得了這個(gè)結(jié)果妓盲。如果問你為什么用這個(gè)算法你回答不上來,那就很減分酷勺。因?yàn)轫?xiàng)目是你自己做的本橙,你對(duì)為什么行得通都說不出來,那么基本是不會(huì)要你的脆诉。
在這之后甚亭,會(huì)考你一些編程題,就是一些基本算法击胜。比如二叉樹亏狰,深度優(yōu)先搜索,快排啊偶摔,這些冒泡排序暇唾。這些都是計(jì)算機(jī)領(lǐng)域的基礎(chǔ)知識(shí)了。需要靠大家自己去刷題就行了辰斋。一般這些都過了你就可以拿到offer了策州。總結(jié)起來宫仗,簡歷有g(shù)ithub够挂,博客.第二有項(xiàng)目。第三個(gè)準(zhǔn)備好項(xiàng)目了如指掌藕夫,在刷一刷題,拿offer概率非常高孽糖。我是先投的實(shí)習(xí)崗位枯冈,拿到了一個(gè)獨(dú)角獸企業(yè)的offer。我去實(shí)習(xí)了幾個(gè)月办悟,在這些初創(chuàng)公司實(shí)習(xí)尘奏,進(jìn)去會(huì)做一些讓實(shí)習(xí)生實(shí)驗(yàn)一些想法,一些它們覺得有用但它們不想花時(shí)間去實(shí)驗(yàn)的東西病蛉。這樣實(shí)習(xí)生就有很大的自由度炫加。實(shí)現(xiàn)它們或者自己的想法。這里做的好的實(shí)習(xí)生可以發(fā)論文的铡恕。那當(dāng)然論文這東西不用強(qiáng)求琢感。然后就是轉(zhuǎn)正。通過實(shí)習(xí)轉(zhuǎn)正比較高的通過率探熔。首先對(duì)你三到六個(gè)月的考察,你的組長在關(guān)注你做什么事情烘挫。你要展現(xiàn)非常強(qiáng)的自主學(xué)習(xí)的能力诀艰。當(dāng)你的領(lǐng)導(dǎo)交給你一個(gè)任務(wù)的時(shí)候,你需要調(diào)研饮六,需要做很多實(shí)踐的東西其垄,他說的東西你一定要主動(dòng)找他匯報(bào)進(jìn)度,主動(dòng)一點(diǎn)卤橄。要跟他多交流绿满,主動(dòng)匯報(bào)情況。這樣他會(huì)對(duì)你的印象會(huì)比較好窟扑,轉(zhuǎn)正通過率很高喇颁。公司很多人非常厲害,你可以向它們學(xué)習(xí)嚎货。不要說覺得自己什么都不懂很菜橘霎。要虛心讓別人請(qǐng)教,這個(gè)不懂殖属。然后實(shí)習(xí)比較好比較努力姐叁,轉(zhuǎn)正會(huì)很輕松。就問一問你實(shí)習(xí)做的東西洗显。就不會(huì)象校招一樣問你很多很多原理啊外潜。
現(xiàn)在可能要求更高了。我們的學(xué)習(xí)呢也不能停止挠唆。cs231n算是初級(jí)到中級(jí)的一個(gè)過程处窥。從不是很會(huì)到比較會(huì)的過程。對(duì)于一些公司其實(shí)是夠了的损搬。學(xué)完這課你其實(shí)比很多人領(lǐng)先了碧库。一些對(duì)個(gè)人要求更高的公司呢柜与,我們還是要去不斷學(xué)更多的東西。更多的學(xué)習(xí)資料嵌灰,會(huì)在后面課程中逐步的放出來弄匕。可以說資料你學(xué)不完的沽瞭。你一定要不斷的學(xué)不斷的學(xué)迁匠。因?yàn)檫@個(gè)領(lǐng)域非常的快。幾個(gè)月不學(xué)就發(fā)現(xiàn)你聽不懂驹溃。
學(xué)完這門課城丧,我會(huì)給大家很多的論文,很多英文豌鹤。對(duì)英文水平要求不是很會(huì)的同學(xué)亡哄,查字典,或者看中文博客布疙。到最后還是要自己去學(xué)論文蚊惯。之后我也會(huì)開源一些項(xiàng)目貢獻(xiàn)代碼。我們也會(huì)在kaggle上打比賽灵临,也希望學(xué)的比較好的同學(xué)可以貢獻(xiàn)自己代碼截型,集思廣益,名次上的飛躍儒溉。我希望我們能形成一個(gè)很好的社群宦焦。不要做完就結(jié)束了。在社群中認(rèn)識(shí)很多志同道合的同學(xué)顿涣,大家一起建立一些關(guān)系圈子波闹,我們互相分享。就是說大家可以一起來做一個(gè)事情园骆。對(duì)大家都是有好處的舔痪。后面所有的學(xué)習(xí)大綱都會(huì)放到github上。大家定期去查看進(jìn)度安排锌唾,我會(huì)不斷的更新锄码。目前還沒更新太多的東西,只有前面兩-三周的學(xué)習(xí)東西晌涕。我也會(huì)調(diào)整滋捶。
深小享班主任:
課程以李菲菲斯坦福cs231n為主。采用視頻自學(xué)+答疑+作業(yè)任務(wù)布置余黎。斯坦福視頻都放在訓(xùn)練營中重窟。
實(shí)戰(zhàn)以視頻直播和錄播。答疑在知識(shí)星球一對(duì)一惧财。兩個(gè)群巡扇。
深度學(xué)習(xí)以7天為一個(gè)周期去學(xué)習(xí)扭仁。7天2算法1神經(jīng)網(wǎng)絡(luò).3周兩個(gè)大作業(yè)。6周會(huì)打一次打比賽厅翔。周期是12周乖坠。一共會(huì)有兩場(chǎng)比賽。會(huì)在平均2-3天發(fā)布任務(wù)刀闷。
查看任務(wù)需要翻到當(dāng)前的日期就能查看當(dāng)天的任務(wù)熊泵。一般12點(diǎn)更新。每個(gè)周期第一天就把作業(yè)明確下來甸昏。每周三周六為打卡休息日顽分。沒有任何任務(wù)。每月6\16\26統(tǒng)一直播答疑施蜜。
老師答疑
一般社招是不招實(shí)習(xí)的卒蘸,但你可以問一下。因?yàn)閷?shí)習(xí)生會(huì)比較多額度花墩。20個(gè)轉(zhuǎn)七八個(gè)悬秉。
pytorch實(shí)驗(yàn)想法,用tensorflow去工程實(shí)現(xiàn)冰蘑。pytorch是231n主推薦的。老師都在用村缸。大家可以都學(xué)嘛祠肥。
這本書的參考書是花書。deeplearning.可以直接下載梯皿。
編程怎么提高仇箱?多去模仿別人的代碼。多去看別人的實(shí)現(xiàn)方法东羹。不要覺得難就不去想了剂桥。多寫。就能提高了属提。
這個(gè)課怎么學(xué)的权逗,就是去看視頻,看筆記冤议≌遛保看ppt.就看這些東西。只能這么學(xué)啦恕酸。有問題可以答疑堪滨。都有版權(quán)的。
視覺就這么找工作把蕊温。你可以不跟著我的進(jìn)度學(xué)袱箱,先把視頻看完遏乔。可以去學(xué)的多一點(diǎn)发笔。一天十幾個(gè)小時(shí)盟萨,你可能一個(gè)月就能學(xué)完。趕緊去學(xué)下面的東西筐咧。我會(huì)開一個(gè)書單鸯旁。如果你迫切的要找工作,你按照書單不斷看量蕊,能多學(xué)一點(diǎn)是一點(diǎn)铺罢。