本文主要是Paper论文精读系列第一篇文章主要关于深度学习综述的内容
0.1 论文介绍和作者介绍
- 作者: Yann LeCun, Yoshua Bengio, Geoffrey Hinton
- Geoffrey Hinton
- 多伦多大学
- 1986 反向传播算法
- 1983 发明波尔茨曼机
- 2012 对卷积神经网络进行改进
- Yann LeCun
- 1980 发明卷积神经网络
- 1980末 首次将卷积神经网络用于手写数字识别
- Yoshua Bengio
- 蒙特利尔大学
- 1990 将神经网络和概率模型结合在一起
- 2000 使用高维词向量来表征自然语言处理
- 文章发表时间:2015
0.2 论文意义和主要内容
- 论文意义:
- 总览深度理论,模型,展开人工智能的新蓝图
- 探究深度学习最重要的算法和理论
- 主要内容
- 概念:
- 深度学习允许多个处理层组成的计算模型来学习具有多个抽象级别的数据表示,这些方法极大地改善了语音识别
- 改善了视觉对象识别,物体检测以及药物发现和基因组等其他领域的技术
- 原理:
- 深度学习通过使用反向传播算法来指示机器应该如何更改其内部参数(用于从前一层的表示计算每个层中的表示)来发现大数据集中的复杂结构
- 应用:
- 深度卷积网络CNN在处理图像,视频,语音和音频带来了突破
- 而循环神经网络对文本和语音等顺序数据进行了彰显
0.3 论文结构:
- 1.引言 Introduction
- 2.监督学习 Supervised Learning (P1-P3)
- 3.反向传播算法 BackPropagation
- 4.卷积神经网络 CNN Convolutional neural networks
- 5.基于深度神经网络的图片理解 Image understanding
- 6.分布表示和语言模型 Language processing
- 7.循环神经网络 RNN Recurrent neural networks
- 8.深度学习的未来 The future
0.4 前期知识储备
- 了解基本的机器学习算法
- RNN: 循环神经网络,掌握RNN的基本工作原理
- CNN: 了解神经网络的结构和工作原理
0.5 课程安排和学习建议- day1 论文视频讲解
- day2 泛读论文,已经标注了重点
- day3 论文视频讲解
- day4 精读论文,写分析笔记
- day5 论文视频讲解
- day6 作业,撰写博客
0.6 学习建议
- 精读经典论文
- 跟进最新论文
- 整理关注论文
- 复现领域论文
- 加深对论文的理解
- 提高算法的能力
- 写作论文
1.引言
1 | 解释: 深度学习方法是拥有多级表示的学习方法,通过组合简单但非线性的模块来获得,每个模块将表示一个级别,从原始的输入开始转换为更高的表示,稍微更多的抽象层次呢,能够足够地组合这种变换,可以学习非常复杂的功能 |
1.1 多层神经网络
- Multipe Layers of simple units
- Each units compute a weighted sum of its inputs
- Weighted sum is passed through a non-linear function
- The learning algorithm changes the weights
- 激活函数:ReLU
1.2 深度学习应用领域
- 计算机视觉
- 无人驾驶
- 图片识别领域
- 自然语言处理
- 智能搜索
- 人机会话等
- 医学图像分析
- 自动驾驶
- 制药等
1.3 深度学习的应用举例
- 机器翻译
- 下围棋
- 目标检测
- 人脸识别
- 自动驾驶
- 计算机视觉
2 监督学习(Supervised Learning)
1 | 解释: 我们需要计算一个目标函数来测量出分数与所需分数之间的误差,其实就是距离,然后内部修改其内部的参数减少此错误(BP反向传播),这些可调的参数,我们通常称之为权重,是实数,可以看作是定义机器输入与输出功能的旋钮.在典型的机器学习系统中,可能存在这种可以调节的数以亿计的权重.以及可以训练机器数以亿计的这些示例. |
2.1 梯度下降算法
直观解释:从山上某点到山谷的过程
3 反向传播算法(Backpropagation)(P4-P6)
1 | 解释: |
3.1 链式法则(Chain Rule)
1 | 链式法则: |
3.2 反向传递(Backward transfer)
1 | Forward Pass: 从前向后,是一个计算的过程 |
4 卷积神经网络 CNN
1 | 萨摩耶犬的图像识别 |
4.1 什么是CNN?
1 | 卷积神经网络的过程: |
动画演示如下:
5 CNN理解图片(Understanding Image by CNN)
看图说话:
6.分布式表示和语言模型(Language processing)
6.1 理解Embedding(Understanding Embedding)
1 | 独立热编码: 1个位置代表一个词意,但是不能代表一个词真正的意思,one-hot 会维度很大 |
1 | - 句子也可以进行Embedding |
6.2 Word2Vec算法(2013提出)
- 循环神经网络
7.1 理解RNN
1 | 循环神经网络的特点如上所述: |
7.2 LSTM(Long Short-term Memory)
1 | 1. 特殊的RNN,也是门限RNN |
- 未来(Future)
非监督学习
3cQjEV.png强化学习
3cQvNT.pngGAN(Generative Aversarial Networks)
3clp34.png自监督学习
问题:
- 提高入读门槛,多看顶会论文
- 看论文先读摘要,绪论以及结论部分,了解论文的核心内容,契合研究方向进行精度细粒读
- 代码复现可取github
- 调参技巧:
- 模型参数大于数据量大时,相当于求解一个欠定方程,容易多解,过拟合
- 模型参数远小于数据量时,相当于求解超定方程,可能误解,或有解但准确率低,欠拟合
- 模型参数如何与数据量做到匹配,是一个工程问题,需要结合问题和数据量多做
- 如何确定一层卷积使用多少个卷积核
- 卷积核的个数要随具体问题数据量参数大小等决定,没有绝对的方法定多少个
- 卷积核其实就是最后用于提取特征的映射函数的参数,随具体训练而定,刚开始随机初始化,后面逐渐进行优化,所以最后不会一模一样
- 为什么CNN可以提取特征?卷积是如何把特征提取出来的?
- CNN是利用卷积操作提取特征,32个卷积核就是学习32种特征,卷积操作其实就是对应内积再求和,不同位置结果不变,具有空间位移不变性,所以可以提取特征
- 激活函数的作用:
- 给神经网络中添加非线性因素,提供了网络的非线性建模能力,通过定义对神经元节点输出的映射,本质上是将输入x映射到(-1,1)或者(0,1)的实数空间,即输入向量与权重的内积再加上bias经过激活函数映射处理之后再做为输出
- 损失函数:
- 使用1/2 比较好求导
- 自监督学习与无监督学习的本质区别
- 全连接层的作用:
- 最后将前面的隐藏层学习到的”分布式特征表示”映射到样本标记空间
- 卷积核的本质就是神经元间连接参数的权重
- 反向传播本质上是不断优化卷积核里的数值,最终提取到图像的特征
- 激活函数在卷积神经网络中的作用: