0
点赞
收藏
分享

微信扫一扫

MIT6.S191(2021) 第一章 Intro to Deep learning

微笑沉默 2022-02-01 阅读 26

Intro to Deep learning

课程网站

1.The perceptron

1.1 感知器是最小的神经单元

1.2 感知器的基本结构

感知器基本结构如下,首先输入一组数据 x 1 , x 2 , x m x_1,x_2,x_m x1,x2,xm神经元输入)分别乘上相应的权重 w 1 , w 2 , w m w_1,w_2,w_m w1,w2,wm,将结果求和(可以看作是一个线性组合)再加上一个bias(偏移量);将结果使用一个非线性激活函数(常见的有relu,sigmoid,tanh),便得到神经元的输出
MIT6.S191课件截图

1.3 感知器的向量形式

同样的可以写为向量形式,更为简洁
MIT6.S191课件截图

1.4 感知器中的激活函数

正如上面所说,常见的激活函数有sigmoid ,tanh,relu
三者在深度学习框架中均有提供,本课程使用的是tensorflow,所以之后的代码,笔记都以tf为多

MIT6.S191课件截图

  • 对于sigmoid激活函数:是所有的输入的值都被限定在0与1之间,使其非常合适概率问题
  • 对于relu激活函数:分段函数,求导容易
    引入非线性函数的目的是,将非线性引入模型,使得模型能够处理非线性的数据,这是非常重要的,因为世界数据基本是非线性的,这也是神经网络如此强大的原因

小插叙

在课程,讲师提出了一个很有用的trick
不管我课上说什么,你需要问问自己为什么这个是必要的步骤,为什么需要这些每一步骤? 他认为是 These are the questions that can lead to really amazing research breakthroughs

1.5 多输出感知器

类似的 通过不同的权重组合,得到更多的输出个数
其中所有的输出都连接到输入 该层为全连接层也称为dense layer
MIT6.S191课件截图

1.6 单层神经网络

单层神经网络由 输入层 隐藏层 输出层 组成,其中隐藏层的个数对应?层神经网络

1.7深度神经网络

类似单层神经网络,通过增加hidden layers的层数,这时候称为deep neural network

  • loss :measures the cost incurred from incorrect predictions
    MIT6.S191课件截图

  • empirical loss :the total loss over our entire dataset(mean error)
    MIT6.S191课件截图

  • binary class(possibility,classification) :cross_entropy_loss
    用于分类,概率值MIT6.S191课件截图

  • real number(regression):Mean Squares Error Loss

回归问题,预测实数MIT6.S191课件截图
我们的目的是希望loss最低
该部分称为Loss Optimization
通过更新权重,得到loss最小
MIT6.S191课件截图
对于两个权重的模型,我们可以画出其loss图像,通过选择一个初始的位置,使用梯度下降,对参数 w 1 , w 2 w_1,w_2 w1,w2进行更新,使得模型收敛在local minium,其中 η \eta η为learning_rate
MIT6.S191课件截图其中计算梯度是非常重要的,这步称为Backpropagation

遵守 chain rule链式法则
梯度:导数如何影响损失
MIT6.S191课件截图MIT6.S191课件截图其中 η \eta η learning_rate 如何设置

  • small stuck in somewhere
  • large not stable
  • try …
  • 建立一个自适应的learning rate
    MIT6.S191课件截图tf提供了不同的优化器
    MIT6.S191课件截图

Tips
Mini-batch
反向传播需要大量的时间,特别是有整个dataset计算出来的数据,不易被noise影响,但是慢

使用随机梯度下降,使用一个数据点,计算速度快,但是很容易被噪音影响
使用batch gradient descent(Mini-batch) 取前两者优点,更高的速度,在GPU展现更大的并行性能

Overfitting and underfitting
MIT6.S191课件截图
overfitting 太复杂 对于训练数据很棒 但是实际数据不好
underfitting 对于训练数据不好 ,模型太简单

**tips:(防止过拟合)

  • Dropout** 随机设置一些神经元的概率为0.5
    MIT6.S191课件截图
  • 提早结束(early stopping)

MIT6.S191课件截图

举报

相关推荐

第一章 绪论

第一章综述

第一章 起步

第一章.概论

第一章介绍

第一章 引论

第一章作业

docker 第一章

0 条评论