• 视频链接:https://www.bilibili.com/video/av9770190/?p=6深度学习分为三部分:定义一系列方程,计算方程的loss,然后选出最好的方程深度学习神经网络类似于人类的大脑的神经网络,每个方程可以看做一个神经元,...

    视频链接:https://www.bilibili.com/video/av9770190/?p=6


    深度学习分为三部分:定义一系列方程,计算方程的loss,然后选出最好的方程


    深度学习神经网络类似于人类的大脑的神经网络,每个方程可以看做一个神经元,不同神经元连接会产生不同结果,在这里我们介绍一下fully connect feedforward network

    1、fully connect feedforward network

    每个神经元都与下一层全部的神经元连接即fully connect,如图所示


    fully connect神经网络结构,由输入、隐藏层和输出组成,每个神经元与下一层神经元全连接


    计算时可以使用矩阵计算,输入向量乘上wight加上bias得出输出,每一层都是这么计算,上一层的输出时下一层的输入,由此直到最后产生输出


    一连串的vector乘上matrix

    举例:手写数字识别


    输入是256维像素代表的向量,输出每个数字的概率



    2、goodness of function



    计算标记与计算值之间的差距,即loss


    减小这个total loss,一个是找一个function,一个是找参数

    方法是gradient descent:


    学习:


    展开全文
  • 深度学习历史深度学习经典步骤神经网络的符合标记含义Wij 代表的是从神经元j到神经元i,这样写的目的是便于表达,否则最后的表达式子就是Wij的转置,细节见下面。每个神经元的偏执值组成一个向量b单个神经元的...

    深度学习历史


    这里写图片描述


    深度学习经典步骤


    这里写图片描述

    这里写图片描述

    这里写图片描述

    神经网络的符合标记含义

    这里写图片描述

    这里写图片描述

    Wij 代表的是从神经元j到神经元i,这样写的目的是便于表达,否则最后的表达式子就是Wij的转置,细节见下面。

    这里写图片描述

    每个神经元的偏执值组成一个向量b

    这里写图片描述

    单个神经元的输出结果

    这里写图片描述

    这里写图片描述
    这里写图片描述

    所有神经元输出的结果

    这里写图片描述

    这里写图片描述


    深度学习示例数字识别


    这里写图片描述

    这里写图片描述

    这里写图片描述

    将图片reshape到一列(按行reshape或者按列reshape均可),类别可用0ne-hot来标记。


    深度学习损失函数


    这里写图片描述

    这里写图片描述

    这里写图片描述

    批量算损失,梯度下降法去更新参数,以便找到最优的目标函数。


    深度学习梯度下降法


    这里写图片描述

    这里写图片描述


    参考文献


    http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML17.html

    展开全文
  • 深度学习3步骤: 1.定义神经网络 2.loss 评价 预测值和真实的测试数据的目标值进行比对,它们的差距就是Loss。一个好的神经网络应该使loss尽可能小。 3.获取最佳的神经网络参数(学习方法) 采用梯度下降算法 ...

    Lecture 1: introduction of deep learning

    深度学习3步骤:

    在这里插入图片描述
    1.定义神经网络
    在这里插入图片描述
    2.loss 评价
    在这里插入图片描述
    预测值和真实的测试数据的目标值进行比对,它们的差距就是Loss。一个好的神经网络应该使loss尽可能小。
    3.获取最佳的神经网络参数(学习方法)
    采用梯度下降算法

    Lecture II:Tips for Training DNN

    A.网络优化训练

    1. 选择合适的Loss function:使用Cross Entropy效果要优于Mean Square Error。(When using softmax output layer,choose cross entropy)

    2. Mini-batch: 每次训练使用少量数据而不是全量数据效率更高

    3. Activation Function:使用ReLU替代Sigmoid可以解决梯度消失的问题,可以训练更深的神经网络
      在这里插入图片描述

    4. Adaptive Learning Rate:可以随着迭代不断自我调整,提高学习效率)

    5. Momentum: 可以一定程度上避免陷入局部最低点的问题

    B.避免过拟合

    避免过度拟合(overfitting)的方法:

    • Early Stopping:使用cross validation的方式,不断对validation
      data进行检验,一旦发现预测精度下降则停止。
    • Weight Decay:权值
    • Dropout:通过随机去掉一些节点的连接达到改变网络形式,所以会产生出多种网络形态,然后汇集得到一个最佳结果
    • Network Structure: 例如CNN等其他形态的网络

    Lecture III:Variants of Neural Networks

    A. Convolutional Neural Network (CNN)

    通常情况下,一个CNN包含多次的卷积、池化,然后Flatten,最终再通过一个深度神经网络进行学习预测。CNN在图像、语音识别取得非常好的成绩,核心的想法在于一些物体的特征往往可以提取出来,并且可能出现在图片的任何位置,而且通过卷积、池化可以大大减少输入数据,加快训练效率。
    典型CNN包括以下步骤:

    1. Convolution(卷积)
      在这里插入图片描述
    2. Max Pooling
      在这里插入图片描述
    3. Flatten

    B. Recurrent Neural Network (RNN)

    (。。。)

    参考:
    [1]Deep Learning Tutorial .李宏毅
    [2]https://mp.weixin.qq.com/s?__biz=MzI0OTQwMTA5Ng==&mid=2247484026&idx=1&sn=b7ce43461f35dc94dd314b90fbc1318b&chksm=e993581ddee4d10b345410489ce10367decb7d03a724bc16f9579dc89321036360479f387b55&mpshare=1&scene=23&srcid=#rd

    展开全文
  • 多少啊的

    摘要

    	最近在学习台大李宏毅老师的深度学习课程,感觉受到了醍醐灌顶式的学习。在这里记录一下学习笔记,一方面希望和大家多交流学习,一方面如果有不足的地方希望大家能指正。我将从三个最basic的网络连接:全联接层、卷积神经网络到循环神经网络三个方面结合李老师的PPT和自己的理解向大家展示。
    

    目录

    (1)Fully connected layer(全联接层)
    (2)Convolutional/pooling layer(卷积/池化层)
    (3)Recurrent structure(循环神经网络结构)

    1.Fully connected layer

    (1) 全连接网络基本结构

    顾名思义,全联接层就是两个layer之间的神经元都是俩俩相连的。例如,现在有两层神经网络,如下图1所示
    图1 Fully connected layer
    两层神经网络分别为Layer l-1,Layer l。他们分别有N个结点,只是在这里为了表示区分,我们分别用NlN_lNl1N_{l-1}来表示。每一层的 每一个结点的输出用ailayera_i^{layer}表示,例如,aila_i^l,表示layer l层第i 个结点的输出。每一层的输出用向量alayera^{layer}表示,例如layer l的输出可以表示为ala^{l}
    以上就是全联接层的基础结构,那么全联接层两个神经层之间的神经元是如何两两相连的呢?——通过weight和bias来形成连接:具体表现如下图2所示:图2  fully connected layer
    layer l-1 中每一个神经元都通过不同的权值和下一层的所有神经元相连。神经中间的连线可以理解为乘上了权值weight,这里需要说明的是WijlW_{ij}^l:下标ij代表weigth的方向由神经元j指向i(仅仅是为了方便后文推导公示),也就是前一个神经元结点指向后一个神经元结点。上标l:代表layer l-1指向layer l 。举个例子:layer l-1中1号神经元和layer l中各个神经元相连的weight可以表示为:(W11lW_{11}^lW21lW_{21}^l W31lW_{31}^lWi1lW_{i1}^l…),有NlN_l个。那么layer l-1中每个神经元和下一层的连接就可以表示为上图3所示:layer l-1中每个神经元和下一层的连接
    WlW^l的每一列,代表layer l-1中每一个结点和layer l中的连接,总共有Nl1N_{l-1}列,因为layer l-1有Nl1N_{l-1}个结点。每一列的长度为NlN_l个,因为layer l有NlN_l个结点。
    biase是在上一层结点乘以权重之后加上的一个偏置值。如下图4所示:bias
    现在我们清楚了weight和biase之后,可以来开始运算了。我们设zilz_i^l为layer l输入到第i个结点之前的值,也就是上一层的结点经过weight和biase运算之后的值。例如,layer l 中输入到第一个结点的z1lz_1^l值为:
    z1l=w11la1l1+w12la2l1+...+b1lz_1^l=w_{11}^la_1^{l-1}+w_{12}^la_2^{l-1}+...+b_1^l
    依次类推:
    z2l=w21la1l1+w22la2l1+...+b2lz_2^l=w_{21}^la_1^{l-1}+w_{22}^la_2^{l-1}+...+b_2^l
    zil=wi1la1l1+wi2la2l1+...+bilz_i^l=w_{i1}^la_1^{l-1}+w_{i2}^la_2^{l-1}+...+b_i^l
    这就是上一层结点和下一层结点的连接方式,为了总结出公示,我们做一个矩阵运算,如图5所示:
    relations between layer outputs
    得到z、a、b、w的关系:
    zl=Wlal1+blz^l=W^la^{l-1}+b^l进一步,得到下一层输出和上一层输出的关系:
    al=α(zl)a^l=\alpha(z^l)
    等价带换为向表示:
    al=α(Wlal1+bl)a^l=\alpha(W^la^{l-1}+b^l)
    其中α\alpha为激活函数。

    (2)总结:

    两个全联接层之间的神经元是通过乘以weight和加上biase来实现两两连接的,参数数量较多,例如,如果输入图像是1001003,中间隐层神经元1000个,那么其中的参数就是:100 *100 *3 *1000 + 1000个,这样的参数是本来神经元的很多倍,如果神经元数目和隐层数量较多,参数数量将指数增加。为了减少参数数量,引出CNN。

    2.Convolutional/pooling layer

    (1)概述:

    那么卷积神经网络(convolutional Neural network)是如何实现减少参数的呢——通过局部感受野 和权值共享以及pooling来减少网络需要训 练的参数个数,下文做具体阐述。
    我们先来看一个CNN的整体结构,其实就是fully connected的简化版,如图所示:
    the whole cnn
    输入一张图片,经过多个convolution和pooling的循环叠加,最后记过全联接层输出判断的结果。接下来我们对convolution和pooling做详细说明。

    (2)convolution特性

    卷积层有两个特征,这两个特性决定CNN适合处理图像相关的问题,也是用于 减少参数的关键技术。
    特性一(局部感受野):some paterns are much smaller than the whole image.
    why cnn for image
    a neuron does not have to see the whole image to discover the pattern:比如说现在有一个neuron来判断是否有鸟嘴,只需要看到鸟嘴,就可以去判断出图片中是否有鸟的存在。那么只需要将image中的一部分像素丢给neuron, 只需要将图片中一部分丢给neuronn,就可以做需要做的事情。
    特性二(权值共享):The same patterns appear in different regions
    why cnn for image
    就是同样是鸟嘴,如果用一个neuron去诊断左上有没有鸟嘴,一个neuron去诊断中间有没有鸟嘴,就太冗杂了,其实只需要用同一个neuron同一组参数可以诊断处出来,这样就可以减少layer中neuron的个数。这么说有点抽象,举一个例子:
    在这里插入图片描述
    现在有一个33的filter,也就是过滤器,其对角线都为1,其余地方为-1。有一个66的image,我们开始做卷积,也就是用filter中的元素和image中的像素点对应位置相乘相加,就是一个内积(inner products)的操作。设置步长stride= 1,也就是做一次内积之后移动步长为1的距离在做内积操作。就会得到右边4*4的矩阵。
    需要注意的是:因为filter的特性,如果image中有一部分区域对角线全为1,那么内积出来的值就会很大。比如image左上和左下区域,内积之后的值都为3。也就是说,在同一个图片的不同区域,用同一个filter同一组参数就检测出来了。

    (3)convolution实现过程

    卷积过程也就是特征提取的过程。卷积的特征提取由卷积核(Convolution Kernel),也叫过滤器filter来实现,filter是一个矩阵,它以步长为任意长度的方式在图像上移动,并且做点乘加和运算,就是先做点乘,之后再求和。下图是3x3的卷积核(黄色部分)在5x5的图像上做卷积的过程(步长为1):在这里插入图片描述
    需要注意的是:filter的个数以及其大小,都是我们自己决定的,但是并不是乱取的,举一个例子,要找到图片中某个pattern,其大小是33,那么这里用的filter就必须大于33。与之相反的是,filter里面的值是学出来的,也就是weight的值,是训练出来的。
    feature map和原图像的区别:
    1、经过卷积后得到的convolved feature 中每一个位置用一个或多个value来描述原图像的对应位置。比如上图中,feature map中左上角的一个value值4描述了原图像左上角33的部分。
    2、如果filter是多个,就会得到较深的feature map,这样就会出现多个value值来描述原图像对应的位置。如下图所示:在这里插入环境片描述
    此时filter为2,就会得到两张特征图,每一个位置就会有两个value值来描述原图像中对应的位置。
    对彩色图片卷积:
    彩色图片拥有三个channel,分别是R、G、B,也就意味着卷积核也需要和原图保持同样的通道数,这时候filter的形状像一个立方体,同样一个filter就会得到三张feature map,如下图所示:
    在这里插入图片描述
    卷积核越多,提取图片的特征就越深,可以更好的做分类和识别。
    convolution vs fully connected:
    卷积网络是全连接网络的简化版,如下图所示在这里插入图片描述
    我们把image的每一个像素排成一个向量的形式(一列),全连接层的隐层每一个神经元都连接了image中所有的像素。
    然而,在convolution中,隐层中的每一个神经元只连接image中的部分神经元,而且连接的权值便是filter中的值。如下图所示:在这里插入图片描述
    如果采用3
    3的filter,那么每一个神经元连接的image像素点就为9,也就是9个权重参数,并不想全连接层中那样,需要连接整个image。
    ### pooling
    池化也叫做下采样,它是把卷积过后提取之后的特征看做一个矩阵,并在这个矩阵上划分出几个不重合的区域,然后在每个区域上计算该区域内特征的均值或最大值,然后用这些均值或最大值参与后续的训练。
    这里介绍两种主要使用的池化方式:1,找出区域内的最大值。2.找每个区域的平均值。如下图所示:
    在这里插入图片描述
    max-pooling就是找出区域内的最大值,作为池化的输出。这个区域大小可以自己设定。与之相对应的mean-pooling就是找出区域内的均值。

    (3)总结:

    卷积层后面通常就会接一个池化层,池化层的作用就是将特征图缩小,目的也是为了减少计算量。通常一个CNN结构都是卷积和池化的不断迭代,然而经过每一次卷积池化操作后,都可以看成是新的image,然后再由下一层的卷积池化来提取特征,这样不断提取特征,就会得到更深的更好的特征,最后将得到的特征排列成向量做全连接,如下图所示:在这里插入图片描述

    展开全文
  • slot filling是需要存储记忆的。 把现在neuron的output值store起来然后下一个时间点用,叫elman。 如果存的是整个network的output,是jordan。 jordan好处是我们容易知道放在memory里的值是什么。......

    slot filling是需要存储记忆的。

     

     

     

     

    把现在neuron的output值store起来然后下一个时间点用,叫elman。

    如果存的是整个network的output,是jordan。

    jordan好处是我们容易知道放在memory里的值是什么。

     

     

    文章啊句子常用bidirectional,记忆到的范围比较大。performance好。

     

     

     

     

     

    在LSTM里面,有3个gate,自己会学习什么时候要把gate打开什么时候关上。三个gate和一个input,所以说这个neuron有4个input

     

     

     

    原来RNN是非常short,下一个时间点就wash掉了更早的memory。现在也short term但是更long一点

     

     

     

     

     

    一个计算例子

     

     

    不要害怕

     

     

    转载于:https://www.cnblogs.com/pocahontas/p/11556616.html

    展开全文
  • ”《1天搞懂深度学习》,300多页的ppt,台湾李宏毅教授写的,非常棒。不夸张地说,是我看过最系统,也最通俗易懂的,关于深度学习的文章。“PPT下载地址 废话少说,先上干货,整个PPT的思维导图如下: 深度...
  • 上一节介绍了 TensorFlow,Softmax,还有简单的一些分类算法,这一节主要介绍一下几点: 逻辑回归(Logistic Regression) Deep Neural Network DNN 的优化 ppt 首先用了异或数据组做引例:模型选用的经典的逻辑回归...
  • 李宏毅深度强化学习PPT(含机器学习课程对RL的简介)
  • 李宏毅强化学习-1 IntroductionReinforcement learning:Examples:Properties of RL:RL ApproachPolicy-based approach -- learn an actorValue-based approach -- learn a criticActor-Critic Reinforcement ...
  • 自1956年提出人工智能的概念,其一方面被认为是人类文明未来的发展方向,另一方面也被...而增长的功臣便是机器学习,特别是机器学习中的深度学习。现在我将系统学习《李宏毅机器学习这门课》,并整理笔记,供学习讨论。
  • 李宏毅《深度学习》卷积神经网络CNN:https://www.bilibili.com/video/av9770190/?p=10卷积神经网络CNN常用于影像处理,每个神经元就是classify,但是用fully connected来进行的时候参数会太多假如3万的维度,1000个...
  • 【导读】关于机器学习学习资料从经典书籍、免费公开课到开源项目应有尽有,可谓是太丰富啦,给学习者提供了极大的便利。但网上比比皆是的学习资料大部分都是英文材料,这可难倒了英语不好的学习者,单词不认识,...
  • 李宏毅机器学习·笔记自己整理成了PDF,现在分享给大家。
  • 机器学习介绍 P2 ML Lecture1 逻辑回归案例学习 P3 ML Lecture1 逻辑回归的例子 P4 ML Lecture2 误差从哪来 P5 ML Lecture3-1 梯度下降 P6 ML Lecture3-2 梯度下降(以AOE为例) P7 ML Lecture3-2 梯度...
  • 第二讲 Proximal Policy Optimization(PPO) 视频地址:https://www.bilibili.com/video/av24724071 课件地址:http://speech.ee.ntu.edu.tw/~tlkagk/courses_... 第一讲整理:【李宏毅深度强化学习2018】P1 ...
  • 课程内容http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML20.html B 站视频https://www.bilibili.com/video/av94534906/ PPT : 百度网盘 链接: ... 如果勤劳也可以自己去原本的内容里进...
  • 第一讲 Policy Gradient (Review) PPO是 Policy Gradient 的变形,下面先复习 Policy Gradient。 视频地址:https://www.bilibili.com/video/av24724071 课件地址:http://speech.ee.ntu.edu.t...
  • 这是台湾李宏毅的机器学习视频,是2017年秋季的。包含完整视频PDF格式的PPT。想赚点积分能够去下载一些资源,所以各位请见谅。内是网盘下载地址。
  • 李宏毅机器学习系列-梯度下降法梯度下降法回顾调节学习率 梯度下降法回顾 我们再定义损失函数之后,我们希望损失函数越小越好,于是想要寻找到一组参数θ∗\theta^*θ∗,使得他让损失函数取得的最小值,即: θ∗=...
1 2
收藏数 28
精华内容 11