20180813视频笔记 深度学习基础上篇(1)之必备基础知识点 深度学习基础上篇(2)神经网络模型
视频说明:16年录制的视频
学习时间:2018年8月10日星期五
视频地址:https://www.bilibili.com/video/av27877827
视频名称:
深度学习基础上篇(1)之必备基础知识点
第一课:深度学习
人工智能=感知+决策+理解
学习的能力是智能的本质
大数据时代,通过大数据来学习
数据规模越大越能体现深度学习算法的优势
无人驾驶汽车:物体、行人、标志、速度等等识别 都通过深度学习实现
有趣的image Transfer 图像融合将两个(图片的风格融合)
第二课:图像分类(计算机视觉核心任务)
图像计算机中的存储:表示成三维数组的形式,每个像素是从0到255,越大越亮
三维:长,宽,RGB维
识别难点:摄像头照射角度,光照强度,形状改变,部分遮蔽(最核心最困难),背景混入(与背景相似)
深度学习的步骤:1收据数据并给定标签,2训练分类器,3测试和评估
第三课:简单的算法,KNN
特点:分类器不用训练,训练复杂度为0;计算的复杂度和训练数目成正比(复杂度O(n))效率太低了
数据库样例:CIFAR-10
10个类标签,5万训练数据,1万测试数据,图片大小32*32(很小,用来练手很好)
用KNN来实现,通过欧氏距离来判断是否相似度
第四课:参数设置,函数设置
超参数 KNN中的距离公式选哪个?
K选几?
其他超参数如何设定,确定?
KNN是不能用来作图片分类的,光线的轻微改变和图片的偏移将严重影响最后计算出的距离。
如何找到最好的参数;
所有数据=训练数据集+测试数据集
使用训练数据集来交叉验证(取其中的部分作为验证数据集)
第五课:线性分类(分成多个类)
图片大小是 32*32*3(RGB)=3072
转成列向量:3072*1 最后通过乘以权重加常数项后,表示成10*1的向量(得到得分值)(表示属于这10种分类的得分值/概率),判定成概率最高的那个类即可
第六课:SVM损失函数,表示分类错误的损失值,分类错误的程度
用来评估预测的效果,用来纠正预测不理想的
预测成错误类的值 减去 预测成真实类的值:这个结果是越小越理想的,如果很大就表明模型错误的很严重,需要纠正
最后会计算所有(大量)图片的损失值(取平均)
第七课:正则化(惩罚项) 加在函数后面(求最小值时加一个正项)
理想的权重分布不应该是很极端,应该比较平均(平滑)
权重的分布,表示各个点的重要性;使用正则化避免部分点的权重过高,部分点的权重过低
第八课:softmax分类器(损失函数)
将得分值转换成概率值,
使用sigmoid函数来实现,输入是负无穷到正无穷,输出是0到1(得到概率)
归一化处理:不直接使用得分值,先将得分值取指数,再求占比作为其概率;
概率的大小表示是这个分类的可能性。概率越大越属于这个类别,这个时候的损失值应该越小。是反比关系。
Softmax损失函数 优于 SVM损失函数
第九课:优化参数(让参数取得最理想的值)
求函数的最小值,梯度下降法
第十课:最优化
梯段下降(跟随梯度),每一次都沿着梯度下降方向走;
梯度下降时,每次都迭代多张(bachsize)图片,通常取2的n次张图片。取决于计算机的计算能力,例如64或者128;
学习率:梯度下降时,每次移动的步长,千万不能太大了。
第十一课:反向传播
前向传播:计算loss值
反向传播:计算w,b,用来更新权重值。使用导数来判断单调性,改变权重的值。
权重的分配,是什么:加法门单元:均等分配,max门单元:给最大的,乘法门单元:互换的感觉
深度学习基础上篇(2)神经网络模型
第十二课:神经网络
视频连接地址:https://www.bilibili.com/video/av27894082
层:输入层,隐藏层,输出层
网络中的线:表示权重
网络中的圈:表示计算出的值(经过激活函数后计算的值)
为什么存在多个隐藏层?层越多,激活函数越多,非线性越复杂,模型能描述的规律更加丰富。
使用激活函数在表现非线性的特点(线性的模型太局限的,不够用)
第十三课:激活函数
sigmoid作为激活函数时,神经网络越深,多个梯度相乘时,梯度就会消失(为0了),所以现在的神经网络已经不用sigmoid函数作为激活函数了。
使用ReLU=max(0,x) 已经默认使用这个函数作为神经网络和深度学习的激活函数了。
神经元的越多,表示的模型更加复杂(能够划分更复杂的分类);同时也很容易出现过拟合;
第十四课:正则化:处理过拟合
视频中的例子:正则化的系数越小,越容易拟合。泛化能力越强越好。
神经元越多越好,就能表达更加复杂的模型;
数据预处理:
将原始数据,以0中心化,再归一化
权重初始化:
对权值w进行随机初始化或者高斯初始化(不取相同的值,反向传播迭代太慢了,千万不能全取0);对b进行常数值初始化(取0或者1就可以了)
DROP-OUT:
不适用部分神经元,通过增加迭代次数来弥补。
(完)
posted @ 2018-08-13 17:31 YangZhaonan 阅读(...) 评论(...) 编辑 收藏