深度学习概览
深度学习概览
一、基本概念
1、神经网络由大量的神经元构成,神经元之间分层次,也有连接。神经元有可能起作用或不起作用(激活函数)。大量神经元的组合和参数,可以模拟任意复杂的函数。人的大脑通过学习刺激神经元而学习技能和知识,机器学习里用人工神经网络来模拟人类大脑的活动过程。
2、深度学习:神经元有多个层次,可以表达不同的抽象层次,可以实现降维、特征选择和标记等效果。
3、神经元具有学习的特征:即权重和batis可以根据环境来变化,这样就实现了根据数据来调整算法。
4、迁移学习,强化学习(自动驾驶、玩游戏等)
二、特点
1、不是从数学上想算法,而是通过不断的训练来调整参数,从整体上实现“积累经验”的效果(形象思维)。
2、训练结果存储在网络的架构和参数中,很多时候无法写出真正的函数解析式或生成式(所以叫做ai黑盒)。不管是网络结构还是参数优化,更多的依靠工程经验而不是严格的数学方法
3、基本假设 算法+数据 好于想出来的模型
三、激活函数
1、要求:非线性(网络体现的线性);可微性(基于梯度优化);单调性(保证是凸函数);f(x)≈x(可以随机设置初始值);值域有限,算法稳定,值域无限,容易die,但是计算效率高(learning rate要小点)
2、感知器(Perceptron)
wx+b> 0 -->1 else 0 描述能力至少等于布尔代数(对人脑直接模拟)
2、S型神经元(sigmoid)
1/1+e^-z z = wx+b 0-1之间的值表示可能性(便于微分)
3、tanh 函数 tanh(x)=2sigmoid(2x)−1 效果好于 sigmoid
4、ReLU(校正线性单元:Rectified Linear Unit) f(z) = max(0, z) (解决跨越多层时的梯度消失)
5、PReLU(Parametric Rectified Linear Unit) 添加了一个参数
6、Maxout 参数更多了
四、网络模型
1、前馈网络
2、卷积网络(CNN ):考虑图像的空间信息的特点。适用于 存在非常大型的数据集、大量特征和复杂的分类任务时。比如图像识别、文本转语音、药物发现等。第1个隐藏层中的每个神经元会连接到输入神经元的1个小区域。全连接变成一块对一个(训练更快)。
跨距:向右和向下移动几个像素
前提:局部感受域(local receptive fields)
特征映射:共享权重、共享偏置 (卷积核、滤波器),实现图像的平移识别效果
混合:简化特征映射的输出 max-polling L2-polling
3、RNN(Recurrent neural network)循环神经网络,与大脑更类似,拥有时间相关行为特性的神经网络,存储大量有序信息时。例子:图像分类与字幕添加、政治情感分析、语音识别(同音字和词语)和自然语言处理natural language processing(理解python,排序等,翻译)
长短期记忆单元(Long short-term memory units,LSTMs):简化了RNN的训练
4、深度信念网络,生成式模型和Boltzmann 机(网络+概率)
深度信念网络(DBN)
5、自动编码器 Autoencoder
6、生成对抗网络(GANs )
https://www.leiphone.com/news/201702/NcdoDmmOn1RgeCIL.html
五、优化、调参的方法
1、基本原理:微调结果,看看参数怎么变化(基于梯度微分)
2、梯度下降算法(Batch gradient descent):小球往山下滚(搜索迭代的办法找最小值)
3、随机梯度下降 (Stochastic gradient descent)SGD:(不去找最陡峭的坡)不使用全部的数据来计算偏导数
4、BP、反向传播(backpropagation) :计算大量偏导数的方法
5、深度学习梯度消失的原因:随机的初始化、S型函数、网络结构
6、规范化: 损失函数中添加一个惩罚项,避免过拟合