Note on Deep Learning

導覽

CNN:

  • 機器視角:長文揭秘圖像處理和卷積神經網絡架構
  • 卷積神經網絡(CNN)新手指南
  • 技术向:一文读懂卷积神经网络CNN
  • Convolutional Neural Net 筆記
  • 卷积神经网络(CNN)学习笔记1:基础入门
  • (GoogleNet)深入卷積
  • How to create filters for Deep Learning CNN's in successive layers in MATLAB?
    1. Randomly assigning weights for the different filters
      1. Jarrett, K., Kavukcuoglu, K. and Lecun, Y., 2009, September. What is the best multi-stage architecture for object recognition?. In 2009 IEEE 12th International Conference on Computer Vision (pp. 2146-2153). IEEE.
      2. Saxe, A., Koh, P.W., Chen, Z., Bhand, M., Suresh, B. and Ng, A.Y., 2011. On random weights and unsupervised feature learning. In Proceedings of the 28th international conference on machine learning (ICML-11) (pp. 1089-1096).
    2. Handcrafting the weights of the different filters to detect specific features during convolution. This approach is not all that interesting in the context of deep learning since it defeats the purpose of learning features without really engineering them!
    3. Learning filter weights using unsupervised training schemes. For example, there are literatures describing the use of auto encoders, deep belief nets, K-means clustering etc. for unsupervised learning of convolution filters.
      1. Masci, J., Meier, U., Cireşan, D. and Schmidhuber, J., 2011, June. Stacked convolutional auto-encoders for hierarchical feature extraction. In International Conference on Artificial Neural Networks (pp. 52-59). Springer Berlin Heidelberg.
      2. Lee, H., Grosse, R., Ranganath, R. and Ng, A.Y., 2009, June. Convolutional deep belief networks for scalable unsupervised learning of hierarchical representations. In Proceedings of the 26th annual international conference on machine learning (pp. 609-616). ACM.
      3. Coates, A., Lee, H. and Ng, A.Y., 2010. An analysis of single-layer networks in unsupervised feature learning. Ann Arbor, 1001(48109), p.2.

RNN

Framework 用例

Object Detection

其他應用

Reinforcement Learning

Generative Adversarial Network, GAN:

Capsule:

  • 淺析Geoffrey Hinton最近提出的Capsule計劃[5S]
    • Hinton 與神經網絡
      • 反向傳播、梯度下降
    • 深度學習時代的敲門磚——RBM(受限玻爾茲曼機)
      • 預訓練(無監督學習)
    • 無監督學習和先驗知識
      • CNN有一個很強的先驗關係:局部性
      • 使用 ReLU 以及合適的初始化方法,用上 CNN,搭配上強勁的 GPU 之後,深度神經網絡可以照常訓練,根本不用 RBM 預訓練
      • 前幾年吳恩達在 Google 讓神經網絡自動檢測視頻中的貓的時候,Google 內部的深度學習框架幾乎就是用來支持 RBM 等的訓練的。而現在 Google 開源的 TensorFlow 等主流框架中都沒有 RBM 的影子。很多從 TensorFlow 入手的新人估計也沒有聽過 RBM。
      • 梯度流的沿革
    • 神經解剖學與 Capsule 的由來
      • Cortical minicolumn
      • 先驗知識,對於機器學習,尤其是無監督學習,是極度重要的
        • 倒轉的人臉、錯覺圖、
        • 四面體謎題(tetrahedron puzzle)
        • mental rotation, R
        • 地圖辨識:澳洲 or 非洲
        • 人的視覺系統會建立「坐標框架」,並且坐標框架的不同會極大地改變人的認知
          • 物體和觀察者之間的關係(比如物體的姿態),應該由一整套激活的神經元表示,而不是由單個神經元,或者一組粗編碼(coarse-coded,這裡意思是指類似一層中,並沒有經過精細組織)的神經元表示。這樣的表示比較適合實現類似「坐標框架」的原理
    • 同變性(Equivariance)和不變性(Invariance)
      • CNN 同樣強調對空間的 invariance
      • 對平移和旋轉的 invariance,其實是丟棄了「坐標框架」,Hinton 認為這是 CNN 不能反映「坐標框架」的重要原因
      • 而 equivariance 不會丟失這些信息,它只是對內容的一種變換
      • 兩種 equivariance
        • 位置編碼(place-coded):視覺中的內容的位置發生了較大變化,則會由不同的 Capsule 表示其內容。
        • 速率編碼(rate-coded):視覺中的內容為位置發生了較小的變化,則會由相同的 Capsule 表示其內容,但是內容有所改變。
    • Dynamic Routing between Capsules
      • 對於 MNIST 數據集,經過 unsupervised learning 後,只需要 25 個例子,就可以達到 98.3% 的識別準確率,並且解決了 CNN 識別重疊圖像困難等問題
  • Geoffrey Hinton talk "What is wrong with convolutional neural nets ?"
  • 【Hinton碰撞LeCun】CNN有两大缺陷,要用capsule做下一代CNN
    • CNN 的問題
      • 结构的层次太少:神经元、神经网络层、整个神经网络
      • 特征提取层与次抽样层交叉存取,将相同类型的相邻特征检测器的输出汇集到一起
    • 反对池化的四点理由
      • 不合乎我们对形态感知的心理认知
        • 四面体Puzzle, 反向四面体Puzzle
        • 视觉系统在抓住物体形状时,利用了坐标系
      • 它在解决的是错误的问题
        • Equivariance vs Invariance
          • 卷积神经网络努力在让神经活动对视点上的小变化invariant,方法是通过在一个“池”内合并这些活动
            • 它由这样一个事实驱动:最终的 label 需要 viewpoint-invariant
          • 以equivariance为目标会更好:视点中的变化引发了神经活动中的相应变化
        • 没有sub-sampling,卷积神经网络为discrete translations 给出了“place-coded” equivariance
        • 两类 equivariance
          • 如果一个低级别部分移动到了一个非常不同的位置,它会被不同的capsule表征——这是“place-coded” equivariance
          • 如果一个部分仅移动了很短的距离,它仍会被同样的capsule表征,但capsule的输出将会变化——这是“rate-coded” equivariance
          • 更高级别的 capsules 有更大的domain,所以低级别的place-coded equivariance 转化为了高级别的 rate-coded equivariance
      • 它无法使用基本的线性结构
        • 目前的神经网络智慧
          • 不同觀點得学习不同模型
          • 这要求大量训练数据
        • 一个好得多的方法
          • 同样形状的图像流形在pixel intensities的空间里是高度非线性的
          • 向流形是全局线性的空间转化(即,图像表征使用了明确的形态坐标)
          • 这使得大量推算成为可能
      • 池化对于做动态routing也很差
        • 我们需要 route 图像中的信息,好让神经网络可以理解
        • 对于复杂形状来说,我们不希望用 small stride 复制所有位置的知识
        • 眼球运动拥有伟大的routing机制,但速度慢
  • 如何看待Geoffrey Hinton的言论,深度学习要另起炉灶,彻底抛弃反向传播?
    • 深度学习依赖的反向传播算法 (back-prop) 在生物学上是很难成立的
    • 大脑皮层中普遍存在一种称为 Cortical minicolumn 的柱状结构,其内部含有上百个神经元,并存在分层
    • CNN同样强调对空间的 invariance,也就是对物体的平移之类的不敏感。这当然极大地提高了识别正确率,但是对于移动的数据(比如视频),或者我们需要检测物体具体的位置的时候,CNN本身很难做
    • 人脑做到的是 equivariance ,也就是能够检测到平移、选转等等各种差异,但是能够“认识”到他们在某些视觉问题场景下是相同的,某些场景下应该有所区别,而不是像CNN一样为了追求单一的识别率,用 invariance 掩盖这些差异
    • Hinton 指出,原先的 Pooling,类似于静态的 routing,仅仅把上面的结果原地交给下面一层的神经元

小樣本雜項:

Compare to other approaches

Jetson TX2:

pyTorch:

Resource constraints issue:

Raspberry Pi:

Mac:

硬體加速:

Materials:

Career:

AI與神經科學結合的研究

可微編程

Swift for TensorFlow

Simulated Annealing

Learning Algorithm

MCMC

ai
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License