参考书目:陈允杰.TensorFlow与Keras——Python深度学习应用实战.北京:中国水利水电出版社,2021
本系列基本不讲数学原理,只从代码角度去让读者们利用最简洁的Python代码实现深度学习方法。
深度学习概念
什么是深度学习?简单点来说就是神经网络算法,神经网络可以搭建很多很多层,当层越深时网络越大,也具有很强大的学习能力(尽管可能出现过拟合或是梯度消失爆炸等问题),也叫深度学习。因此神经网络系列从机器学习大类算法中单独出来了,自立门户。
神经网络算法比起一般的机器学习算法功能更加强大,计算量更大,效果也一般更好。像人脸识别,商品推荐,翻译软件......等等都是神经网络的应用场景。
神经网络在很多年前起源于感知机,即该算法不是通过严格的数学公式得到解析解,而是通过大数据进行计算得到经验解。这和人脑的感知很像。比如我们判断‘’地震了‘’不会去进行严格的证明,而是用经验告诉自己发生了什么。
总结就是深度学习就是深层的神经网络,和别的算法不一样,由于其计算量大,它要采用单独的框架去进行实现。
深度学习框架
到目前为止深度学习的框架非常多,比如亚马逊的mxnet,Facebook的pytorch,谷歌的TensorFlow......这三比较主流,还有基于TensorFlow的高级封装的Keras,也是一个很流行的框架,也是我们这个系列首先要介绍的重点。
到目前2022年,学术界领域pytorch的热度已经领先于TensorFlow,pytorch也是较为便捷的框架,功能也十分强大,但是其针对的是面向对象的编程。
很多入门深度学习的同学可能都不是计算机专业,对于面向对象的编程是很难理解的,这也是b站李沐老师的课代码(基于pytorch)学了之后很难自己套用的原因。
因此本系列先介绍Keras框架,这个类似搭积木的框架对于新手非常友好,是深度学习入门最简答的框架之一了。pytorch框架也会介绍,想在学术界走得更远,就必须得会自己定义对象,弄清楚张量的形状,自己构建全新的网络。
框架搭建
深度学习框架建议都在anaconda里面新建虚拟环境,Keras新建一个,pytorch再新建一个。pytorch环境可以去b站上找李沐老师的教学安装。Keras是基于TensorFlow的,因此安装TensorFlow框架就行,这篇文章写的很详细,我当初就是从这个博主这篇文章学着装的。
在Windows下安装Anaconda 及TensorFlow与Keras(超级详细哦)
简单介绍一下安装步骤
1.打开
2.在这个里面输入下面代码,创建虚拟环境
conda create --name pytorch_env python=3.8
3.激活虚拟环境
activate pytorch_env
4. 安装pytorch(GPU版),采用的镜像源,因为外网太慢了....若是没显卡就装CPU版就行,当然没显卡运算会慢
conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/win-64
5.装上其他要用的包 ,numpy,pandas,matplotlib,sklearn等数据分析常用包肯定要(d2l里面都有)
pip install d2l
有了环境之后可以实现代码了,后面会将常见的神经网络(MLP,CNN,RNN,LSTM,GRU)都一一介绍,其应用领域——图片,文本,音频,时序,也都会涉及。