隨手扎
【閱讀筆記】深度學習演算法實踐
這本書以一個個假想的案例,帶讀者看看文字分析、對話機器人、臉部辨識、表情分析、強化學習、預測與推薦。內容不深,也有一些建議,可以是作一個個簡單的案例來看。
推薦指數:★★☆☆☆
閱讀日期:2020/05/28
文子分析
所以什麼時候去掉標點,去掉哪些標點,都要根據你的任務來決定, 總的原則是盡可能多地去掉噪音,盡可能多把決定性的特徵保留下來 。
在做文本處理時必須維護好兩張表,一張是你需要刪除的停頓詞彙(stop word),第二張是考慮到任何分詞工具都有的缺陷,需要準備的一張新詞表,便於即時補充新詞而適應業務發展。
Page. 26
幾乎所有資料分析、資料探勘,乃至人工智慧、深度學習、類神經網路,凡與資料相關的作業,都應 盡可能多地去掉噪音,盡可能多把決定性的特徵保留下來 。至於何謂決定性特徵,多數時候與領域有關。這與《深入淺出資料分析》內容相呼應。
資料分析的過程就是不斷的更新內心的視圖、輪廓,建立假說。用工具(統計學等等)去驗證假說,然後在更新內心對資料的輪廓。以此反覆,到值得應用為止。
嘿嘿,對!我重點不在於文字分析的做法XD
臉部表情分析
./batch-represent/main.lua -outDir ./generated-embeddings/ -data ./aligned-images/
是的,雖然表情分析我沒做過,過程也有學到些東西。不過我更開心能在2017年出版的書籍裡看到Lua。
1980年,KUNIHIKO FUKUSHIMA提出,將簡單細胞實現為捲積,複雜細胞實現為池化層。…由於訓練方式上和現有的卷積網路有很大的差別,因此這並不是現代通過t後向傳播算法端到端訓練的CNN。
原來早期CNN網路也真的是模仿生物視覺構造。
單純增加深度會導致網路退化,…ResNet中引入了一個快捷方式(shortcut)的結構…
記一下這種結構想法。
其他資源
- OpenCV
- Dlib
- Openface
十全大補藥:通用的提高精度的方式
- 聯合模型
基礎網路架構要找既有相似的又不能完全一致的,目標是盡可能提取不同微差異特徵。
- DSD(Dense Sparse Dense)的訓練方法
他山之石
前人對於圖像訓練的優話已經總結了不少注意事項:
- 能用ELU激活函數舊部要使用BN(batch norm);而如果能使用ReLU激活函數,就最好使用它。
- 轉換成RGB的色彩空間更利於學習。
- 使用平均池化層(Average Pooling)、最大池化層(Max Pooling)的和值。
- batch size: 考慮到單GPU的顯示卡記憶體容像和網路結構,該範圍一般定於128~256。如果batch size超過256,就需要成比例地降低學習率(lr),以取得最佳準確率。batch size和lr的關係可以使用公式表達:
lr=0.01*batch_size/256
- 一般使用全連結層用於最後輸出。
- 訓練資料的乾淨程度比資料大笑更重要。
- 如果不能增加圖片尺寸,減少捲積層的stride也可以達到同樣的提取特徵的效果。
- 如果你的網路類似於GoogLeNet這樣的高複雜性網路,盡量不要多做修改。
- 學習率公式,論文中對比測試使用線性函數的準確率最高,
lr=L_0(l-i/M)