Tensorflow深度學習-第一天

有監督學習 有監督學習的數據集包含了樣本𝒙與樣本的標籤𝒚,算法模型需要學習到映射關係𝑓 : 𝒙 → 𝒚,其中𝑓 代表模型函數,𝜃爲模型的參數。在訓練時,通過計算模型的預測值𝑓 (𝒙)與真實標籤𝒚之間的誤差來優化網絡參數𝜃,使得網絡下一次能夠預測更精準。常見的有監督學習有線性迴歸、邏輯迴歸、支持向量機、隨機森林等。

無監督學習 收集帶標籤的數據往往代價較爲昂貴,對於只有樣本𝒙的數據集,算法需要自行發現數據的模態,這種方式叫作無監督學習。無監督學習中有一類算法將自身作爲監督信號,即模型需要學習的映射爲𝑓 : 𝒙 → 𝒙,稱爲自監督學習(Self-supervised 𝜃 Learning)。在訓練時,通過計算模型的預測值𝑓 (𝒙)與自身𝒙之間的誤差來優化網絡參數𝜃。常見的無監督學習算法有自編碼器、生成對抗網絡等。

強化學習 也稱爲增強學習,通過與環境進行交互來學習解決問題的策略的一類算法。 與有監督、無監督學習不同,強化學習問題並沒有明確的“正確的”動作監督信號,算法需要與環境進行交互,獲取環境反饋的滯後的獎勵信號,因此並不能通過計算動作與“正 確動作”之間的誤差來優化網絡。常見的強化學習算法有 DQN,PPO 等。

BP算法應用到神經網絡

卷積神經網絡

循環神經網絡

反向傳播算法

LSTM

雙向循環神經網絡

RELU激活函數

Dropout防止過擬合技術

各種算法模型:VGG,GoogLeNet,ResNet,DenseNet。

生成對抗網絡

DQN算法

目前在圖片識別、目標檢測、語義分割等方向,幾乎都是基於深度學習端到端地訓練,獲得的模型 性能好,適應性強。

計算機視覺:

1. 圖片識別:

神經網絡的輸入爲圖片數據,輸出 值爲當前樣本屬於每個類別的概率分佈。通常選取概率值最大的類別作爲樣本的預測類 別。圖片識別是最早成功應用深度學習的任務之一,經典的網絡模型有 VGG 系列、 Inception 系列、ResNet 系列等。

2. 目標檢測:

是指通過算法自動檢測出圖片中常見物體的大致位置,通 常用邊界框(Bounding box)表示,並分類出邊界框中物體的類別信息,常見的目標檢測算法有 RCNN、Fast RCNN、Faster RCNN、Mask RCNN、SSD、YOLO 系列 等。

3. 語義分割:

通過算法自動分割並識別出圖片中的內容,可以 將語義分割理解爲每個像素點的分類問題,分析每個像素點的物體的類別信息,常見的語義分割模型有 FCN、U-net、SegNet、DeepLab 系列等。

4. 視頻理解:

隨着深度學習在 2D 圖片的相關任務上取得較好的效 果,具有時間維度信息的 3D 視頻理解任務受到越來越多的關注。常見的視頻理解任務有 視頻分類、行爲檢測、視頻主體抽取等。常用的模型有 C3D、TSN、DOVF、TS_LSTM 等。

5. 圖像生成:

通過學習真實圖片的分佈,並從學習到的分佈中採樣而獲 得逼真度較高的生成圖片。目前常見的生成模型有 VAE 系列、GAN 系列等。其中 GAN 系 列算法近年來取得了巨大的進展,最新 GAN 模型產生的圖片效果達到了肉眼難辨真僞的程度。

自然語言處理:

1. 機器翻譯(Machine Translation) 過去的機器翻譯算法通常是基於統計機器翻譯模型,這 也是 2016 年前 Google 翻譯系統採用的技術。2016 年 11 月,Google 基於 Seq2Seq 模型上 線了 Google 神經機器翻譯系統(GNMT),首次實現了源語言到目標語言的直譯技術,在多 項任務上獲得了 50~90%的效果提升。常用的機器翻譯模型有 Seq2Seq、BERT、GPT、GPT-2 等,其中 OpenAI 提出的 GPT-2 模型參數量高達 15 億個,甚至發佈之初以技術安全 考慮爲由拒絕開源 GPT-2 模型。

2. 聊天機器人(Chatbot) 聊天機器人也是自然語言處理的一項主流任務,機器自動學習與 人類對話,對於人類的簡單訴求提供滿意的自動回覆,提高客戶的服務效率和服務質量 等。常應用在諮詢系統、娛樂系統、智能家居等中。

強化學習:

虛擬遊戲:相對於真實環境,虛擬遊戲平臺既可以訓練、測試強化學習算法,又可以避 免無關因素干擾,同時也能將實驗代價降到最低。目前常用的虛擬遊戲平臺有 OpenAI Gym、OpenAI Universe、OpenAI Roboschool、DeepMind OpenSpiel、MuJoCo 等,常用的強化學習算法有 DQN、A3C、A2C、PPO 等。

機器人:美國波士頓動力公司在機器人應用中取得喜人的成就,其製造的機器人在復 雜地形行走、多智能體協作等任務上表現良好。

自動駕駛:被認爲是強化學習短期內能技術落地的一個應用方 向,很多公司投入大量資源在自動駕駛上,如百度、Uber、Google 無人車等,其中百度的 無人巴士“阿波龍”已經在北京、雄安、武漢等地展開試運營。

學習框架:

TensorFlow 和 PyTorch 框架是業界使用最爲廣泛的兩個深度學習框架, TensorFlow 在工業界擁有完備的解決方案和用戶基礎,PyTorch 得益於其精簡靈活的接口 設計,可以快速搭建和調試網絡模型,在學術界獲得好評如潮。TensorFlow 2 發佈後,彌 補了 TensorFlow 在上手難度方面的不足,使得用戶既能輕鬆上手 TensorFlow 框架,又能無 縫部署網絡模型至工業系統。本書以 TensorFlow 2.0 版本作爲主要框架,實現深度學習算法。

#求導小分隊
import tensorflow as tf
a = tf.constant(1.)
b = tf.constant(2.)
c = tf.constant(3.)
w = tf.constant(4.)

with tf.GradientTape() as tape:# 構建梯度環境 
    tape.watch([w]) # 將w加入梯度跟蹤列表
# 構建計算過程,函數表達式
    y = a * w**2 + b * w + c
    
[dy_dw] = tape.gradient(y, [w])
print(dy_dw) # 打印出導數

想要學習的小夥伴最好安裝一套Anaconda(感覺自己打得賊溜)軟件挺好用的。

使用 Python 語言編寫程序的方式非常多,可以使用 ipython 或者 ipython notebook 方式 交互式編寫代碼,也可以利用 Sublime Text、PyCharm 和 VS Code 等綜合 IDE 開發中大型項目。本書推薦使用 PyCharm 編寫和調試,使用 VS Code 交互式開發,這兩者都可以免費使用,用戶自行下載安裝,並配置 Python 解釋器。限於篇幅,不再贅述。直接拷貝過來的。

本人暫時準備直接jupyter notebook。

然後就是其實一般神經網絡都有觀察誤差的存在。

所以需要通過採樣多組數據樣本,然後找出一條“最好”的直線,使得它儘可能地讓所有采樣點到該直線的誤差(Error,或損失 Loss)之和最小。

今天意外頻發,暫時就這樣吧。

 

 

 

 

 

 

 

 

 

 

 

 

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