深度学习初识

简介: 深度学习初识

深度学习基础


第一章的时候我就介绍过深度学习,深度学习就是人工神经网络的升级:深度神经网络。顾名思义就是将原来的单层或几层的神经网络,变成十几层甚至上百层的网络。说的简单点就是模拟人类的大脑。


d9fc8cc7989818bf1610883a0346c4c8_3ce4ec6025b94af3bb9a75b0ae83f1fd.jpeg


这个就是神经网络的一个剖面图,但是往往不会如此简单,如:


f978a2261deaf01458aa32a8bed94140_4ac7e601cc0d43f6b7cb8755318a36e8.jpeg


29775716e46fae1e715804dba3f6aea4_8b533fa5f90844b6840051f4dff1f696.jpeg



和大脑处理信息一样,构成神经网络的是由神经元构成,无数个神经元构成神经网络,就可以完成复杂的处理。所以神经网络的主旨就是:化繁为简,化整为零。


深度神经网络的发展迅猛的原因其实有很多,但主要的原因是:一、使用了正向传播、反向传播算法。二、使用非线性激活函数。三、使用了Dropout正则化方法。四、硬件升级使得运算速度大大增加。


正向传播、反向传播算法


在开始介绍深度学习前,先介绍一下梯度下降法。电脑不能像人一样可以逐步逐步求解,所以对于很复杂的函数,会很耗时间,就可以将函数无限缩小,这样就显得很简单。所以使用梯度下降,函数就可以很快的下降。


1684406425758.png


其中α表示学习率,α越大,函数下降越快,但是α如果过大,函数就无法下降到最小值。所以α的确定非常重要。


对于深度学习,前向传播非常简单,假设每一层函数为,那么输出为:


1684406440291.png


对于深度学习,普通的梯度下降法会出现问题,那就是参数过多,一般一个深度神经网络有几千万甚至上亿的参数,如果对每个参数同时进行更新,计算量则太大。我们可以每次只更新一层的参数,然后将结果传回去。这就是反向传播。


59622f862cd632b03724c2a22d6df7cd_6302badff4ec4751b4e201e8e014aa76.png


非线性激活函数


早先的神经网络,人们没有使用激活函数,由于网络时线性的,只能解决线性问题,不能解决XOR之类的问题。所以需要使用非线性激活函数。非线性激活是指在函数的每一层之后,是输出通过一个非线性函数,之后输入下一层。


f5236b42dd2d218daf478089d8de3147_bbc7965204384a438960015c6897b766.jpeg


有了非线性激活函数,才使得深度神经网络可以拟合任意种类的函数,而无需对函数及逆行任何的先验假设,这使得深度学习脱颖而出。


Dropout正则化方法


深度学习有一个小问题,就是当模型层数过深的时候,会出现过拟合。深度学习中提出了一种新的方法:Dropout。这种方法非常有意思,在训练的时候,会随机的选择神经元进行激活,只有激活的神经元才能参与正向传播与反向求导。在测试的时候,则以神经元参数x激活概率作为神经元的值。


52e01d563732692171503cc615a7534e_f705a4a9cf6b4052aeb6188253be58f5.jpeg


可能很多人会困惑为什么Dropout就能避免过拟合。举个简单的例子,我们再分辨一个人的时候,是需要做基因检测嘛?不需要,只需要看他的身形,或者眼镜,鼻子,发型等特征,也就是只需要很少的特征就可以了,不需要很多的特征。对于机器也是,如果要识别一个物体,假设有100个特征点,只需要其中的几个或者10个就可以了,不足要太多,一旦全部检测,可能就会出现过拟合。


36a82ea090909d4d104eacaab36666df_89c15aaaebd74f9b93b5fb1bd941ea6c.jpeg


左边的是正常网络,右边的是Dropout后的网络。是不是显得简单。那么运算速度就更快了。


GPU加速运算


人们都知道,现在中国在芯片方面被卡脖子,组成芯片的其中一部分就是CPU,人们都知道CPU很重要 ,但是GPU也是很重要的。GPU的控制结构非常简单,只有很简单的控制逻辑单元,那可能有人说了,CPU那么强大,为什么不用。如果说让你写一份100万份的论文,那么你是选择一个教授还是100个学生,那肯定是100个学生,很快就能做完。对于神经网络这种计算量大,但是结构简单的问题,不需要CPU,用GPU就可以搞定了。简单点,杀鸡焉用牛刀!


现在很多公司都在研究TPU,运算速度会更快,相信到时候深度学习会更加的火。

相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
相关文章
|
4月前
|
机器学习/深度学习 自然语言处理 自动驾驶
深度学习之知识推理与深度学习结合
基于深度学习的知识推理是将深度学习模型与传统的知识表示和推理技术相结合,以实现更加智能和高效的决策和预测能力。
79 2
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
了解深度学习
【6月更文挑战第26天】了解深度学习。
44 3
|
6月前
|
机器学习/深度学习 传感器 安全
|
6月前
|
机器学习/深度学习 自然语言处理 算法
|
7月前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习在许多领域都有广泛的应用
【5月更文挑战第11天】深度学习在许多领域都有广泛的应用
119 1
|
7月前
|
机器学习/深度学习 人工智能 算法
深度学习领域
【5月更文挑战第3天】深度学习领域
69 7
|
机器学习/深度学习 人工智能 自然语言处理
什么是深度学习?
人工智能-深度学习
148 0
什么是深度学习?
|
机器学习/深度学习 计算机视觉
深度学习资料总结
深度学习资料总结
|
机器学习/深度学习
深度学习:CSPNet
深度学习:CSPNet
559 0
深度学习:CSPNet
|
机器学习/深度学习 自然语言处理 算法
深度学习的介绍
目标: 1.知道什么是深度学习 2.知道深度学习和机器学习的区别 3.能够说出深度学习的主要应用场景 4.知道深度学习的常用框架
深度学习的介绍