zoukankan      html  css  js  c++  java
  • 深度学习中的数学—Lecture 1(1)

    Introduction:A Non-Rigorous Review of Deep Learning

    原文地址
    本篇文章为 MIT 课程 Mathematical Aspects of Deep Learning 的lecture 1 的学习笔记,没有进行完整的翻译,仅供参考

    1.深度前向网络(Deep forward networks )

    在统计学中,数据以 Xi,f(Xi) 的形式给出
    其中, Xi 通常是高维的,而 f(Xi) 通常属于 {0,1}or R
    我们的目标就是找到一个函数 f,让它与数据的 f 尽可能接近,这样我们才可以进行准确的预测。

    而深度学习,总的来说就是 parametric statistics的子集。
    我们有一个函数族

    f(X;θ)

    其中,X 是输入,θ 是参数(通常是高维的)。
    我们的目标是找到一个 θ,使得 f(X;θ) 接近于 f
    在这里,θ 就是网络,这个网络由 d 个函数构成,大多数都是高维的。
    f(d)(,θ)f(1)(,θ)

    diagram

    图中量 含义
    h(i)j h(i1)1,,h(i1)n组成的函数。
    h(i)=g(W(i)Tx+b(i))
    (后文)
    h(i)1,,h(i)n f(i)的组成成分 网络中的第 i 层(i-th layer)
    f(i)的组分数量 i 层的宽度 层与层之间宽度不一定相同
    d 网络深度 d 层的宽度只有1,f=f(d) is scalar-valued

    在这里,如果 f(i) 是线性函数,组分函数都是线性的,就不需要网络了。所以我们期望处理的 f(i) 要是非线性的。

    受神经科学启发:神经细胞会接收多个输入信号,输出两种可能状态。一个最基本的模型设计感知机:
    可以描述为

    f(x)=g(aixi+c)
    ,其中 g 是非线性函数。

    根据这个基本模型,我们可以定义

    h(i)=g(W(i)Tx+b(i))

    其中,g 是非线性函数 g 的coordinate-wise application。


    那么,g 应该怎样选择?
    我们希望 g 尽可能是“最非线性”的函数,所以,一般选择 RELU函数(Rectified Linear Units):

    g(z)=max(0,z)

    或者选择对数函数(logistic function )
    g(z)=11+e2βz

    或 双曲正切(hyperbolic tangent)
    g(z)=tanh(z)=ezezez+ez

    这两个函数与 RELU 相比,优点在于有界性上。

    上文中提到过,顶层(top layer)与其它层是不一样的。

    • 顶层通常是scalar-valued

    • 顶层有一些统计上的解释,h(d1)1,,h(d1)n被认为是经典统计模型的参数。
      顶层的 g 要根据这个统计含义来选择。

      • 一个例子是线性函数

        y=WTh+b
        输出是一个高斯均值。

      • 另一个例子是函数 σ(wT+b), 其中σsigmoid 函数

        x11+ex
        这里认为输出符合伯努利分布,概率 P(y) 正比于 exp(yz) ,其中z=wT+b

      • 进一步的,给出 soft-max
        softmax(z)i=exp(zi)jexp(zj)

        其中,z=WTh+b。这里,z 的组分 就与输出的可能取值相互对应了起来,softmax(z)i 对应的就是取值value 为 i 的概率( z 是一个向量,softmax输出为标量,是对矢量 z 的每个维度值 zi 求了normalized exponential )

    Simple example1

    > Input : [1, 2, 3, 4, 1, 2, 3], 
    > Output: [0.024, 0.064, 0.175, 0.475, 0.024, 0.064, 0.175]. 
    >The output has most of its weight where the '4' was in the original input. 
    >The function highlight the largest values and suppress values which are significantly below the maximum value.

    例如:向一个网络输入一副图片,输出的

    (softmax(z)1,softmax(z)2,softmax(z)3)
    就对应的是这幅图片中是一只猫、狗或青蛙的概率

    在后续几周,我们将关注这些问题:

    • 这些函数是怎样近似一般函数的?
    • 深度宽度有怎样的表达能力(expressive power)

    1. Wikipedia softmax Softmax_function
  • 相关阅读:
    spark streaming 概述
    spark sql 的性能调优
    LeetCode 106. Construct Binary Tree from Inorder and Postorder Traversal (用中序和后序树遍历来建立二叉树)
    LeetCode 105. Construct Binary Tree from Preorder and Inorder Traversal (用先序和中序树遍历来建立二叉树)
    LeetCode 90. Subsets II (子集合之二)
    LeetCode 88. Merge Sorted Array(合并有序数组)
    LeetCode 81. Search in Rotated Sorted Array II(在旋转有序序列中搜索之二)
    LeetCode 80. Remove Duplicates from Sorted Array II (从有序序列里移除重复项之二)
    LeetCode 79. Word Search(单词搜索)
    LeetCode 78. Subsets(子集合)
  • 原文地址:https://www.cnblogs.com/blogofnickchen/p/7221643.html
Copyright © 2011-2022 走看看