美文网首页
Deep Learning 深度学习 (一)

Deep Learning 深度学习 (一)

作者: V_coa | 来源:发表于2017-07-22 02:39 被阅读111次

    Deep Learning 深度学习 (一)

    在 Deep Learning (简称 DL) 中,我们经常会提到一个叫做 Model 的东西,其实他就是一个函数的集合 (function set)。

    Model 就是 function set
    Model 就是 function set
    Model 就是 function set

    那这个函数的集合有什么用呢,我们先来说下 DL 的三个步骤。在说 DL 三个步骤之前,我们先来说下 ML 研究解决的是什么问题。简单来说,机器学习,就让机器学习到一些东西,然后去解决一些问题。那机器学习又是研究的是什么呢?

    我们有一个 Model,其实就是一个 function set,每个 function 都有一个 input 和 output,例如下图。

    第一个 function 输入一段声波( input ),然后输出一个识别后的英文字符串 How are you (output)
    第二个 function 类似,输入一个猫的图像,然后识别它是猫,等等。

    Paste_Image.png

    然后 ML 要做的事情,就是找出一个比较好的 fucntion 来帮我们解决问题,那要怎么找出这个 function 呢,我们下面就来了解下 DL 的三个步骤。

    Paste_Image.png

    例如上图,有多个 function,但是有的 function 的输出是我们想要的,有的不是,我们要找出比较正确的 function。

    Paste_Image.png

    如上图,step 1 是一个 Model, step 我们输入一些 Training Data(训练数据),然后得到结果反馈,然后根据结果,得到最好的 function, 整个框架分为两部分

    • Training (训练)
    • Testing (测试,拿其他数据,去测试我们得到的结果 function)

    首先来简述下三个步骤,第一步我们有一个 Model,就是 function set,第二步,我们要怎么那些 function 是好的 function,那些是不好的,第三步就是,挑选一个最好的 function

    step 1 define a set of function:

    其实就是一个 Neural Network (神经网络),一个 Neural Network 就是一个 function set

    拿人脑做些类比,人脑就是有神经元构成的,经过连接,然后就使人,变得有学习能力

    Paste_Image.png

    Neural Network 也和人脑很相似,它的基本单位是 Neuron (神经元),可以把人认为是一个非常简单的 function,这个 simple function 的 input 是一个 vector,例如下图 a1,a2 ... ak,它的 output 就是一个数值,如下图 a,它的运算是怎么样的呢,就是把 a1, a2 ... ak 当做输入,然后乘上 w1, w2 ... wk 最好相加,再加上 b,得到结果 a。

    w 称作为 weights
    w 称作为 weights
    w 称作为 weights

    b 称作为 bias
    b 称作为 bias
    b 称作为 bias

    Paste_Image.png

    把这些 Neuron 连接起来,就成了一个 Neural Network,那怎么连接起来的,有一些 Neuron 的
    output,可以当成另一个 Neuron 的 input


    Paste_Image.png

    一个连接方法 Fully Connect Feedforward Network,其实就是某一个输出,当做某一个输入

    Paste_Image.png

    输入的地方,我们称为 Input Layer
    输出的地方,我们称为 Output Layer
    其余部分呢,我们称为 Hidden Layers
    Deep Learning 的 Deep,其实是指有很多 hidden layers

    Paste_Image.png

    step 2 goodness of function:

    第二步,我们来明辨是非,怎么样的 function 是好的 function,怎么样是不好的 function

    Paste_Image.png

    准备一下训练数据,例如下图,那些图片是 "5", "0" 等等,我们用什么方法告诉机器那个 function 是比较好的呢?

    Paste_Image.png

    假如有一张图片,当初输入,下图 Input 1,输出 y1,当 y1 值比较大的时候,才认为它是一个好的 function

    Paste_Image.png

    或者我们用下面的图举例,我们先拿出一个 function, 下面我们假定参数已经设置上去了,我们已经知道训练数据的结果了,它的 target 如下图,然后我们输入数字图片 1,得到 y1,y2 ... ,y10,计算和 target 的 loss。就知道这个 function 的好坏了。

    Paste_Image.png

    计算 Total Loss,把训练数据都通过 function 进行计算,然后通过每一次的结果和实际的结果进行对比,然后累加,得到 Total Loss,找到最小的 total loss,那个 function,最后得到 network parameters

    Paste_Image.png

    step 3 pick the best function:

    我们来到最后一个阶段,怎么找一个最好的 function。通过 Gradient Descent,通过 w 的变化,找到最小的 Total Loss

    Paste_Image.png

    相关文章

      网友评论

          本文标题:Deep Learning 深度学习 (一)

          本文链接:https://www.haomeiwen.com/subject/wkmykxtx.html