【第一周】深度学习和pytorch基础

深度学习

深度学习的缺陷

  • 算法输出不稳定,容易被“攻击”
  • 模型复杂度高,难以纠错和调试
  • 模型层级复合程度高,参数不透明
  • 端到端训练方式对数据依赖性强,模型增量性差(当样本数据量小的时候,深度学习无法体现强大拟合能力)
  • 专注直观感知类问题,对开放性推理问题无能为力
  • 人类知识无法有效引入进行监督,机器偏见难以避免

可解释性

2017年7月,国务院在《新一代人工智能发展规划》中提出“实现具备高可解释性、强泛化能力的人工智能”。

可解释性:

  • 知道哪些特征对输出有重要影响,出了问题准确快速纠错
  • 双向:算法能被人的知识体系理解 + 利用和结合人类知识
  • 知识得到有效存储、积累和复用——越学越聪明

浅层神经网络

每个神经元的输出可表示为以下函数:

y = f(\sum_{i = 0}^n{w_ix_i-\theta})

激活函数

激活函数f引入非线性因素

万有逼近定理

单隐层神经网络可视化工具 —— A Neural Network Playground

如果一个隐层包含足够多的神经元,三层前馈神经网络(输入- 隐层 - 输出)能以任意精度逼近任意预定的连续函数。

当隐层足够宽时,双隐层感知器(输入 - 隐层1 - 隐层2 - 输出)可以逼近任意非连续函数:可以解决任何复杂的分类问题。

神经网络每一层的作用

神经网络学习如何利用矩阵的线性变换加激活函数的非线性变换,将原始输入空间投影到线性可分的空间去分类/回归。

每层神经网络的输出可表示为以下函数:

\vec{y} = a (W \cdot \vec{x} + b)

该函数实现了输入到输出空间的变换,其中 W \cdot \vec{x} 实现升维/降维,放大/缩小和旋转;b 实现平移;a(\cdot) 实现弯曲。

神经网络的深度与宽度

增加节点数:增加维度,即增加线性转换能力。

增加层数:增加激活函数的次数,即增加非线性转换次数

在神经元总数相当的情况下,增加网络深度可以比增加宽度带来更强的网络表示能力:产生更多的线性区域。

深度和宽度对函数复杂度的贡献是不同的,深度的贡献是指数增长的,而宽度的贡献是线性的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值