深度学习初识

简介: 深度学习初识

深度学习基础


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


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,运算速度会更快,相信到时候深度学习会更加的火。

相关实践学习
基于阿里云DeepGPU实例,用AI画唯美国风少女
本实验基于阿里云DeepGPU实例,使用aiacctorch加速stable-diffusion-webui,用AI画唯美国风少女,可提升性能至高至原性能的2.6倍。
相关文章
|
3天前
|
机器学习/深度学习 人工智能 自然语言处理
了解深度学习
【6月更文挑战第26天】了解深度学习。
12 3
|
14天前
|
机器学习/深度学习 传感器 安全
|
9天前
|
机器学习/深度学习 编解码 算法
【深度学习】DragGAN
【深度学习】DragGAN
11 0
|
11天前
|
机器学习/深度学习 自然语言处理 算法
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习在许多领域都有广泛的应用
【5月更文挑战第11天】深度学习在许多领域都有广泛的应用
29 1
|
10月前
|
机器学习/深度学习 人工智能 自然语言处理
什么是深度学习?
人工智能-深度学习
92 0
什么是深度学习?
|
机器学习/深度学习 计算机视觉
深度学习资料总结
深度学习资料总结
|
机器学习/深度学习 自然语言处理 算法
深度学习的介绍
目标: 1.知道什么是深度学习 2.知道深度学习和机器学习的区别 3.能够说出深度学习的主要应用场景 4.知道深度学习的常用框架
深度学习的介绍
|
机器学习/深度学习 编解码 文字识别
深度学习系列资料总结(二)
深度学习定义:一般是指通过训练多层网络结构对未知数据进行分类或回归 深度学习分类: 有监督学习方法——深度前馈网络、卷积神经网络、循环神经网络等; 无监督学习方法——深度信念网、深度玻尔兹曼机,深度自编码器等。
776 0
|
机器学习/深度学习 人工智能 算法
深度学习系列资料总结(一)
深度学习定义:一般是指通过训练多层网络结构对未知数据进行分类或回归 深度学习分类: 有监督学习方法——深度前馈网络、卷积神经网络、循环神经网络等; 无监督学习方法——深度信念网、深度玻尔兹曼机,深度自编码器等。
436 0
深度学习系列资料总结(一)