目录
一、神经网络简介
神经网络是一种有监督的机器学习算法,神经网络当成一种特征提取的方法,神经网络追求是什么样的的权重参数适合当前任务。
二、深度学习要解决的问题
机器学习流程:数据获取,特征工程,建立模型,评估与应用。最重要的是特征工程,前面学了那么多算法,归根到底,模型都是根据特征来进行训练。
特征工程的作用:
数据特征决定了模型的上限。
预处理和特征提取是最核心的。
算法和参数决定了如何去逼近这个上限。
机器学习问题:人工选择数据,人工选择特征,人工选择算法,人工选择结果。(说白了就是实现了数学公式)
深度学习,神经网络:解决了特征工程的问题
对于文本,图像数据去提取特征难,放在深度学习,神经网络里,就很好解决。
可以把深度学习,神经网络当作一个黑盒子,它能自动的去提取特征(它认为的最合适的特特征)它是真正有学习过程的,它可以真正的去学习什么样的特征是最合适的,有了特征,当成输入+线性回归、逻辑回归、SVM等等都行。
三、深度学习的应用
最常见、最广泛的应用是计算机视觉(人脸识别等)、自然语言处理(ChatGpt)。
那么是否也存在缺点呢?看如下图
随着数据规模的提升,计算量太大,参数多,速度慢,比如手机端人脸识别,会出现识别延时的现象。
提一下数据生成:对于庞大的训练数据,数值数据可以采用一些数学工具包生成,对于图像数据可以对图像进行翻转、镜面变换、平移等等,容易得到。
四、计算机视觉
最经典的图像分类任务。我们看看在计算机里图像是怎么表示的吧。
例如:一张300*100*3的猫咪图像 300:High 100:wight 3:三个颜色通道RGB
它是由一个一个像素点组成的,每个像素点的值0~255,值越大颜色越浅。它被表示为三维数组的形式。
用数值形式表示如:
⎡⎣⎢⎢⎢R...G...B...⎤⎦⎥⎥⎥[RGB.........]
神经网络的强大之处在于,用更多的参数来拟合复杂的数据
参数多到百万级都是小儿科,但是参数越多越好吗??
十一、神经元的个数对结果的影响
并不是哦!!!过满则亏。
大家想一下,增加一个一个神经元九就了一组参数。
还是那句话,神经网络非常容易过拟合!!!!!!
十二、正则化与激活函数
正则化的作用:
惩罚力度对结果影响
防止过拟合
激活函数:
非常重要的一部分
常用的激活函数(Sigmoid,Relu,Tanh)非线性变换(把得分值转换为概率值)
激活函数的对比
sigmoid:
我们看到当数值偏大的时候,比如x=6时,求导后值几乎为零,梯度消失,如果向后传播, 对后面的影响几乎没有,所以这是存在限制的。
当今更多使用Relu这个激活函数:
求导值不变。
十三、神经网络解决过拟合的方法
数据预处理,标准化
参数初始化,通常我们都使用随机策略来进行参数初始化
正则化
DROP—OUT(自损八百)
思想:让效果消弱
即在某次正反向传播中,每一层随机杀死一部分神经元,不让参与。相当于一个比例:30%,每次让30%的神经元不参与训练。