参考: 人工智能
Python 科学计算库(约 2 周):
Numpy(约 1 周):学习 Numpy 库的基本数据结构(如 ndarray 数组),掌握数组的创建、索引、切片、形状改变等操作,熟悉 Numpy 提供的数学函数(如三角函数、统计函数等)以及线性代数运算函数(如矩阵乘法、求逆等),通过使用 Numpy 解决一些简单的数学计算和数据处理问题,如生成随机矩阵、进行矩阵运算等。
Pandas(约 1 周):掌握 Pandas 库中 Series 和 DataFrame 这两种核心数据结构的创建、索引、数据筛选、数据合并等操作,学会使用 Pandas 进行数据读取(如读取 CSV 文件)、数据清洗(处理缺失值、重复值等)以及简单的数据分析(计算均值、中位数等统计指标),通过实际的数据集(如泰坦尼克号乘客数据集)进行数据处理和分析的实践操作。
Matplotlib(约 1 周):学习 Matplotlib 库的基本使用方法,包括绘制折线图、柱状图、散点图、饼图等常见的统计图,掌握如何设置图表的标题、坐标轴标签、图例等元素,通过给定的数据生成不同类型的可视化图表,直观展示数据特征和关系,例如绘制某城市一年的气温变化折线图等。
- 学习资源:《Python 数据科学手册》涵盖了 Numpy、Pandas、Matplotlib 等常用科学计算库的详细讲解,配合大量的代码示例,方便你快速上手;官方文档也是很好的参考资料,对于各库的函数参数、用法细节等都有准确的描述。
二)深度学习基础(约 1-2 个月)
神经网络原理(约 2 周):
神经元与神经网络结构:从生物神经元的启发入手,理解人工神经元的基本结构(输入、权重、激活函数、输出),进而掌握神经网络的分层结构(输入层、隐藏层、输出层)以及各层之间是如何传递信息的,通过简单的示意图画出不同层数的神经网络结构,标注出各部分的组成,理解信息从前向后传播的过程(前向传播)。
激活函数(约 1 周):深入学习常见的激活函数,如 Sigmoid 函数、Tanh 函数、ReLU 函数(及其变体,如 Leaky ReLU 等)的表达式、图像特点、优缺点以及适用场景,理解激活函数在引入非线性因素、避免梯度消失等方面的重要作用,通过绘制不同激活函数的图像,对比它们在不同区间的取值变化,分析为何在不同的网络结构中会选择不同的激活函数,例如在隐藏层常用 ReLU 来解决梯度消失问题,在输出层根据是分类还是回归任务选择合适的激活函数。
损失函数与优化算法(约 1 周):掌握不同任务对应的常见损失函数,如分类任务中的交叉熵损失、回归任务中的均方误差损失等的计算方法和原理,理解为什么要选择这样的损失函数来衡量模型预测结果与真实值的差异;同时学习常用的优化算法,如梯度下降(包括批量梯度下降、随机梯度下降、小批量梯度下降)及其改进版本(如 Adagrad、Adadelta、Adam 等)的原理、更新规则以及各自的优缺点,通过简单的数学推导理解优化算法是如何根据损失函数的梯度来更新神经网络的权重,以逐步减小损失函数值,达到优化模型的目的。
学习资源:《深度学习》(Ian Goodfellow 著)这本书的开篇部分对神经网络的基础原理有着非常全面且深入的讲解,配合书中的数学推导和实际案例能让你很好地理解这些核心概念;Coursera 上的 “Deep Learning Specialization” 课程的前几门课也会系统地介绍神经网络的基础知识,并有配套的编程作业和代码示例供你实践。
深度学习框架(约 2-4 周):
TensorFlow(约 1-2 周):
基本概念与安装:学习 TensorFlow 的基本概念,如张量(Tensor)的定义、操作以及计算图(Computation Graph)的构建方式,掌握如何在本地环境或云端环境(如 Google Colab,方便快捷且无需复杂的本地配置)安装 TensorFlow,按照官方文档的指引完成安装步骤,并通过简单的代码示例验证安装是否成功,例如创建一个简单的张量并输出其信息。
模型构建与训练(约 1 周):了解如何使用 TensorFlow 的高级 API(如 Keras,它集成在 TensorFlow 中,方便快捷地构建模型)来构建常见的神经网络模型(如简单的多层感知机用于分类或回归任务),掌握模型的编译(指定损失函数、优化器、评估指标等)、训练(传入训练数据进行多轮迭代训练)以及预测(对新的数据进行预测输出)的完整流程,通过一个小型的数据集(如 MNIST 手写数字数据集的简化版本)进行模型构建和训练的实践操作,观察训练过程中的损失值、准确率等指标变化情况。
模型保存与部署(约 1 周):学习如何保存训练好的 TensorFlow 模型,以便后续在不同的环境中进行部署和使用,掌握常见的模型保存格式(如 SavedModel 格式)以及加载模型进行预测的方法,同时了解如何将 TensorFlow 模型部署到服务器端(如使用 TensorFlow Serving)或者移动端(如通过 TensorFlow Lite 进行模型压缩和移动端适配),通过实际操作将一个简单的分类模型进行保存并尝试在本地模拟的服务器环境或移动端模拟器中进行部署和预测验证。
PyTorch(约 1-2 周):
基本概念与安装:类似地,学习 PyTorch 的基本概念,如张量(torch.Tensor)的操作、自动求导机制(基于 torch.autograd 模块,与 TensorFlow 的计算图机制有所不同,但都能实现自动计算梯度的功能),掌握在本地环境安装 PyTorch 的方法,通过官方文档和示例代码进行安装,并创建简单的张量进行一些基本运算(如加法、乘法、求梯度等)来熟悉其操作。
模型构建与训练(约 1 周):掌握在 PyTorch 中构建神经网络模型的方式,通过定义类继承自 torch.nn.Module 来构建自定义的网络结构,了解如何使用 PyTorch 提供的各种层(如线性层、卷积层、循环层等)进行组合搭建模型,掌握模型的训练流程,包括定义损失函数、选择优化器以及进行多轮迭代训练(利用循环结构实现前向传播、计算损失、反向传播更新参数等操作),同样以 MNIST 数据集为例,使用 PyTorch 构建模型并进行训练,对比与 TensorFlow 在模型构建和训练流程上的异同点。
模型保存与部署(约 1 周):学习 PyTorch 中模型保存的方法(如保存模型的参数状态字典或者整个模型结构和参数)以及如何加载保存的模型进行后续的预测操作,了解 PyTorch 在部署方面的一些工具和方法(如将模型转换为 ONNX 格式以便在不同的框架和平台上兼容使用等),通过实际操作对训练好的模型进行保存和部署验证,体会其在实际应用中的便利性。
对比与选择(约 1 周):通过对 TensorFlow 和 PyTorch 在模型构建的便捷性、训练速度、对不同硬件(如 GPU 的支持情况)、社区活跃度、文档丰富度等多方面进行对比分析,了解它们各自的优势和适用场景,以便在后续不同的项目实践中能够根据具体需求合理选择使用的深度学习框架,例如在科研领域可能 PyTorch 的动态图机制更便于快速实验和调试,而在工业界大规模部署时 TensorFlow 的生态系统可能更具优势。
学习资源:TensorFlow 官方文档和 PyTorch 官方文档都是非常权威且详细的学习资料,涵盖了从基础概念到高级应用的所有内容,并且有大量的代码示例可供参考;此外,《Python 深度学习》这本书对使用 Python 结合 TensorFlow 和 PyTorch 进行深度学习实践有很好的指导作用,通过书中的案例可以快速上手这两个框架。