0
本文作者: sanman | 2018-04-24 18:10 |
雷鋒網(wǎng)AI研習社按:斯坦福大學的CS231n主要介紹卷積神經(jīng)網(wǎng)絡相關的深度學習知識,課程從算法的公式到實踐進行了全面的介紹?;谠撜n程的三場實戰(zhàn)分享直播課近期在AI研習社上線。
在雷鋒網(wǎng)的AI研習社直播課上,張智偉,李振,陳閩川三位老師分別為大家?guī)砹耸褂肨ensorFlow實現(xiàn)DQN實戰(zhàn)、深入講解圖像分類和網(wǎng)絡優(yōu)化以及AI視覺芯片共三場干貨滿滿的直播。該課程結合CS231n課程同時將課程內(nèi)容與應用領域連接起來,讓大家可以真正的學會如何應用深度學習。
以下是嘉賓分享內(nèi)容:
本次分享的內(nèi)容主要集中在CS231n第十四課——Deep Reinforcement Learning。首先回顧深度學習的幾大分支。
什么是強化學習?強化學習是機器學習中的一個領域,強調(diào)如何基于環(huán)境而行動,以取得最大化的預期利益。強化學習有兩個主體,agent和environment,每個時間節(jié)點,agent會輸出一個action并傳送個環(huán)境,環(huán)境會產(chǎn)生下一個狀態(tài)以及產(chǎn)生一個獎勵并輸入agent,從而構成閉合的循環(huán)。
用數(shù)學來描述這個過程就是馬爾可夫決策過程(MDP),馬爾可夫決策過程(Markov Decision Process, MDP)也具有馬爾可夫性,與上面不同的是MDP考慮了動作,即系統(tǒng)下個狀態(tài)不僅和當前的狀態(tài)有關,也和當前采取的動作有關。MDP實際上是一個五元組,由五個元素組成。
什么是Q-Learning?Q為動作效用函數(shù)(action-utility function),用于評價在特定狀態(tài)下采取某個動作的優(yōu)劣,可以將之理解為智能體(Agent)的大腦。Q-Learning的核心是貝爾曼方程,它給我們的啟示是我們可以用下一時刻的最佳Q值函數(shù)表示當前的最佳Q值函數(shù)。這樣就可以迭代的求貝爾曼方程。
在深度學習的背景下,我們可以用神經(jīng)網(wǎng)絡擬合出最佳Q函數(shù)。有了神經(jīng)網(wǎng)絡該如何優(yōu)化它的函數(shù)呢?還是要用到貝爾曼方程。
接下來給大家解讀一下DQN算法,主要分為六個部分,對我們比較有用的包含在第二部分和第四部分。
這篇論文我總結了有三個亮點。一是replay memory,二是訓練網(wǎng)絡與計算標簽的網(wǎng)絡分離,三是網(wǎng)絡結構。
介紹完三個亮點,我們再來看一下算法流程。
講了論文,我們開始自己使用TensorFlow來實現(xiàn)一個神經(jīng)網(wǎng)絡。主要用的庫包括TensorFlow、numpy(數(shù)組)、pil(基礎圖像操作)、gym(openai開源的庫)、random。
最后把代碼鏈接發(fā)給大家,如有疑問可以看源碼:https://github.com/BigJerry/TooNaive/blob/master/DQN/DQN.py
首先還是普及一下深度學習的基本概念,然后再給大家介紹一下我今天分享的思路,并介紹一些我個人的關于應用的意見。
接下來給大家分享一下我個人對圖像分類的一些理解與思路。
首先是任務分析,任務分析主要包括任務的基本情況和數(shù)據(jù)的基本情況。
確定好任務之后是選擇合適的網(wǎng)絡,這里我建議大家可以選擇已經(jīng)被驗證的比較好的網(wǎng)絡,不要急著寫自己的網(wǎng)絡。網(wǎng)絡選完接著就是平臺選擇,個人建議還是選一些比較容易入手,用的人比較多,資源又豐富的平臺。
選定平臺后就可以進行預訓練,準備數(shù)據(jù)庫。然后就是比較關鍵的內(nèi)容即網(wǎng)絡的訓練、測試與優(yōu)化,這些內(nèi)容我跟大家分享一下我個人的技巧。
上面介紹的網(wǎng)絡優(yōu)化中我還想分享一些其他的技巧。我們應優(yōu)先解決影響最大的問題,即從錯誤樣本里抽取一定數(shù)量的樣本并進行分類,先解決最容易糾正的。我們還可以用表格記錄嘗試的的情況。
這些就是我今天全部的分享。
首先我介紹一下自己的學習經(jīng)歷,我碩士畢業(yè)之后主要從事芯片的電子設計自動化的工作,主要負責芯片的物理設計,包括芯片的布局布線,還有芯片的自動化流程的開發(fā)。這些經(jīng)歷對我進入AI行業(yè)有一定幫助。
之后我學習過一些斯坦福公開課比如CS231n,吳恩達的機器學習,以及Coursera的并行計算編程等。我自己也看了一些書,比如周志華的機器學習等。我這次主要想分享一些我轉行的經(jīng)歷,以及我的一些觀點和視角。
首先我想從畢加索的畫說起。
畢加索作為二十世紀最杰出的畫家之一,他曾經(jīng)說過一句話“我畫的不是事物的表象,而是不能用肉眼看出的本質(zhì)”。介紹畢加索和CS231n有什么關系呢?我覺得畢加索的畫風類似于深度學習的特征提取。
他從事物的線條逐漸抽象不斷提取特征十分類似卷積神經(jīng)網(wǎng)絡中圖像識別、圖像理解的過程。
接下來我想介紹一下分割遷移,我覺得學習應該以興趣為導向,我剛開始接觸深度學習的時候對風格遷移非常感興趣。圖片的風格遷移的例子如下。
風格遷移的思路是用深度學習學到的特征中的統(tǒng)計信息(分布)描述圖像風格。在卷積網(wǎng)絡中使用不同的層來提取不同的特征。
自己動手試一下實現(xiàn)風格遷移可以更加感覺到學習的趣味。接下來,我介紹一下經(jīng)典的神經(jīng)網(wǎng)絡的框架結構。主要包括LeNet、ResNet等。
下面我們主要介紹一下深度學習對芯片行業(yè)的影響,目前比較火熱的商業(yè)場景包括消費電子、安防監(jiān)控、自動駕駛汽車和云計算。現(xiàn)在比較大的的芯片公司如下。
最后我也希望國內(nèi)在這波AI浪潮中可以出現(xiàn)世界級的芯片公司。在此引用一段谷歌研究員吳軍的話:“一百多年來,總有一些公司很幸運的、有意識或無意識的站在技術革命的浪尖之上。對于一個弄潮的年輕人來說,最幸運的,莫過于趕上一波大潮。”
雷鋒網(wǎng)認為目前AI發(fā)展正處于鼎盛時期,三位老師都從實踐的角度向大家展示了CS231n涉及的內(nèi)容。希望我們的課程可以給大家一些啟發(fā)。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權禁止轉載。詳情見轉載須知。