- 写在前面:有关人工智能学什么,怎么学,什么路线等一系列问题。我决定整理一套可行的规划路线,希望帮助准备入门的朋友们少走些弯路。
下面我会推荐一个比较快速可行的学习模板,并附上我认为比较好的学习资料。
新手不建议看书学习,看视频课是快速入门的最好方法
学习路径
- 1 环境配置
- 2 python基础
- 3 数据分析(配合实践)
- 4 机器学习基础(配合实践)
- 5 深度学习基础
- 6深度学习竞赛实战
- 7论文阅读
- 8 如果你坚持进行到了第8步,你已经对人工智能有一个详尽的解了,后续的具体学习方向你自己会做出正确选择
1环境配置
对于一个新手小白,环境配置是一个很大的问题,pychram,anaconda,各种库的安装都是一大问题,我提供三种解决方案
1自己动手配置(不推荐)
缺点:对零基础不友好,踩坑无数,耗费时间,建议后续学习一段时间有一定了解后再尝试
具体结合自身实际做出选择
2淘宝远程配置(推荐)
淘宝找下python远程环境配置,配置本地环境全套预计50元左右
需要安装(pycharm与anaconda即可)
你需要做的,就是它们给你配置环境的时候学习他们怎么配置的环境
- 重点:
我并不推荐新手用户本地安装GPU版本的torch(学习深度学习会用得到的库),该原则适用于大多数电脑显存在16G以下的用户,也就是3080的显卡,原因下一条给出
3使用免费的在线环境(非常推荐)
点击New Notebook就可以在线编程了
kaggle是一个深度学习竞赛平台,上面经常发布一些有难度的比赛,并且提供了非常好的开源环境(学习资料多)与计算资源(配置好的在线环境)。
下图为kaggle提供的免费使用的显卡类型:
P100为16G显存,足够大家使用,且kaggle环境都已经配置完成,就无需在自己电脑上配置环境了
kaggle网站
2 python基础
你需要学习并且掌握
- 变量和数据类型:掌握基本的数据类型,如字符串、整数、浮点数、布尔值等,以及如何声明和操作变量。
- 列表、元组和字典:学习如何使用这些数据结构来组织和处理数据。
流程控制语句:学习 if、for 和 while 等流程控制语句,以及如何使用它们来控制程序的流程。 - 函数和模块:了解如何定义和调用函数,以及如何使用模块来组织代码和重复使用代码。
- 文件操作:学习如何读取和写入文件,以及如何处理文件中的数据。
- 面向对象(OOP)
python基础网上到处都是资料,学习起来也容易,可以去哔哩哔哩找个免费的课程看下(基本顺着看,看完面向对象部分就可以了)
完成这一部分后,你可以看懂python的基本语法结构,为后续学习打下基础
python基础资料推荐
零基础学python视频课程(bilibili)
python菜鸟教程
3 数据分析
你需要掌握
- numpy(一个科学计算的库)
- pandas(数据处理的库)
- matplotlib(可视化的库,了解即可)
- 配合简单的项目熟悉数据分析即可
推荐datawhale的数据分析项目,项目已经在阿里云天池开源
此处推荐开源的天池开源的一个项目
动手学数据分析
4 机器学习基础
数学基础
- 线性代数:矩阵、向量、线性变换、行列式、特征值、特征向量等
- 微积分:导数、极限、微分、积分等
- 概率论与统计学:概率分布、条件概率、期望、方差、假设检验、最大似然估计等
算法基础
入门学习过程中,一个总体的把握是最重要的,不必细扣每一个算法的数学推导
你需要学习以下算法(掌握其中三个算法,了解其他算法的作用与基本原理即可的)
- 线性回归算法 Linear Regression
- 支持向量机算法 (Support Vector Machine,SVM)
- 最近邻居/k-近邻算法 (K-Nearest Neighbors,KNN)
- 逻辑回归算法 Logistic Regression
- 决策树算法 Decision Tree
- k-平均算法 K-Means
- 随机森林算法 Random Forest
- 朴素贝叶斯算法 Naive Bayes
- 降维算法 Dimensional Reduction
机器学习库sklearn官网
sklearn
5 深度学习基础
主要学习内容包括:
基础部分
- 深度学习工程基础与环境搭建
- 深度学习数据结构基础(张量,矩阵)
- 认识pytorch框架结构
- 神经元,层与层之间的连接
- 激活函数,输出函数
- 神经网络的一般训练流程
- 目标函数,损失函数,评估函数
- 反向传播
- 梯度消失与梯度爆炸
- Dropout与Batch-Normalization
- 数据格式控制Dataset与封装函数Dataloader
进阶部分
- 卷积神经网络
- 感受野、参数量、转置卷积与反卷积
- 池化操作
- 经典的特征提取网络(LeNet5、AlexNet、VGG、ResNet网络)
- 词向量:Word2Vec、GloVe、FastText
- 循环神经网络:LSTM、GRU 等
- 注意力机制:Self-Attention、Transformer 等
方向分流
- 目标检测:R-CNN、Fast R-CNN、Faster R-CNN、YOLO、SSD 等
- 图像分割:FCN、U-Net、SegNet、Mask R-CNN 等
6 深度学习竞赛实战
我还是推荐kaggle竞赛平台
Code区的高赞代码都是比较优秀的学习资料,如果想进一步提升自己的竞赛成绩,需要结合discussion中的上分trick并且进行尝试
更重要的是,去复盘kaggle已经结束的比赛,仔细阅读冠军的开源的思路与方案,复盘他的上分思路与过程,吸收思想
7论文阅读
阅读经典论文与最新的论文,吸收论文中的基本原理与创新点
在此我推荐计算机视觉与自然语言处理各十篇文章
计算机视觉
- AlexNet: ImageNet Classification with Deep Convolutional Neural Networks
- VGG: Very Deep Convolutional Networks for Large-Scale Image Recognition
- ResNet: Deep Residual Learning for Image Recognition
- Inception: Going Deeper with Convolutions
- Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
- Mask R-CNN
- YOLO: You Only Look Once: Unified, Real-Time Object Detection
- DenseNet: Densely Connected Convolutional Networks
- EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks
- GAN: Generative Adversarial Networks
自然语言处理
- Word2Vec: Efficient Estimation of Word Representations in Vector Space
- Sequence to Sequence Learning with Neural Networks
- LSTM: Long Short-Term Memory
- Attention is All You Need
- BERT: Pre-training of Deep Bidirectional T ransformers for Language Understanding
- Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context
- GPT: Improving Language Understanding by Generative Pre-Training
- ALBERT: A Lite BERT for Self-Supervised Learning of Language Representations
- XLNet: Generalized Autoregressive Pretraining for Language Understanding
- T5: Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer
优秀UP推荐
-
跟李沐学AI
-
深度之眼官方账号
-
刘二大人
-
同济子豪兄
-
二次元的Datawhale
最后,推荐所有的学习以视频课程为主,动手代码练习为主