目录
第一章
图灵机
英国科学家艾伦•图灵(Alan Turing)将人们进行数学运算的过程进行抽象,交给一个假想的机器进行运算。
第三章
矩阵乘法不满足交换律
第四章
机器学习(Machine Learning),就是让计算机也能像人一样学习,从数据中找到信息,从而学习一些规律,也就是“利用经验来改善系统自身的性能”。
在计算机系统中“经验”通常以
数据的形式存在
机器学习的类型:
- 监督学习 主要类型是分类和回归
- 无监督学习 代表算法:聚类算法、降维算法
- 强化学习 代表算法:Q-Learning
生物神经网络和人工神经网络的区别
结构不同:生物神经网络是图结构,人工神经网络是层次结构
传递的信号不同:生物神经网络中传递的是生物电信号,人工神经网络中传递的是数据。
感知机只能解决二分类问题,以及拟合任何的线性函数(即线性分类或线性回归)
我们希望找到一种度量实际输出值与期望输出值之间误差的方式,这种度量方式可以使用函数表示,这个函数称为误差损失函数,神经网络的训练过程就是要找到一组权重,使得误差损失函数最小。
激活函数(Activation Function) 可以将输入信号转换为非线性输出信号
*梯度下降算法中的数学原理—梯度
![ab6eee5ac4b74a85a7426ede740746c7.png](https://img-blog.csdnimg.cn/direct/ab6eee5ac4b74a85a7426ede740746c7.png)
![92745c426633467ab5156cd9447fd0cb.png](https://img-blog.csdnimg.cn/direct/92745c426633467ab5156cd9447fd0cb.png)
按照梯度方向移动,函数变化率最大,函数增长的最迅猛。
![d3a0019aafef4a26a5cbf02e7673fd32.png](https://img-blog.csdnimg.cn/direct/d3a0019aafef4a26a5cbf02e7673fd32.png)
![601ba9bb488b466ab76f4d0ebb733456.png](https://img-blog.csdnimg.cn/direct/601ba9bb488b466ab76f4d0ebb733456.png)
第五章
TensorFlow 中的基本数据类型,可以理解为多维数组,可以表示各种数据,如图片、音频、文本等。
如何构建(3+5)+ 3*5 = 23 的计算图
![2e679a930c3e4429a635bf07e11cb956.png](https://img-blog.csdnimg.cn/direct/2e679a930c3e4429a635bf07e11cb956.png)
低阶API的使用:
Adam优化器结合了随机梯度下降算法(SGD)和自适应学习率算法能够快速收敛并且减少训练时间。
高阶API的使用——1 tk.keras构建模型
通过“序贯式”和“函数式”两种方式构建模型
序贯式 方式一:先通过构造函数创建一个Sepuential模型,再通过model.add依次添加不同层。model = tf.keras.Sequential() #创建一个全连接层,神经元个数为256,输入为784,激活函数为ReLU model.add(tf.keras.layers.Dense(256,activation='relu',input_dim=784)) model.add(tf.keras.layers.Dense(256,activation='relu')) model.add(tf.keras.layers.Dense(10,activation='softmax'))
❤函数式:使用tf.keras构建函数模型,常用于更复杂的网络构建。
# 创建一个模型,包含一个输入层和三个全连接层inputs = tf.keras.layers.Input(shape = (4))x = tf.keras.layers.Dense(32,activation='relu')(inputs)x = tf.keras.layers.Dense(64,activation='relu')(x)output = tf.keras.layers.Dense(3,activation='softmax')(x)model = tf.keras.Model(inputs=inputs,outputs=outputs)高阶API的使用— 2 model.complie 编译模型
编译模型关键代码
model.compile(optimizer = tf.keras.optimizer.Adam(learning_rate = 0.001),loss =tf.keras.losses.sparse_categorical_crossentropy,metrics=[‘accuracy’])高阶API的使用— 3 model.fit训练模型
训练模型关键代码model.fit(data_loader.train_data, #训练数据data_loader.train_label, #训练数据的标签epochs = num_epochs, #迭代次数batch_size=batch_size) #批次大小高阶API的使用— 4 model.evaluate 评估模型
evaluate()函数将对所有输入和输出预测,并且收集分数,包括损失,还有其他指标。只需提供测试数据及标签即可。model.evaluate(data_loader.test_data,data_loader.test_label)*高阶API的使用— 5 iris数据集分类示例
One-Hot编码
例如,如果有三个类别“中国”
“美国”和“日本”,则One-Hot
编码可以表示为
0 中国:100
1 美国:010
2 日本:001
第六章
卷积层的作用是运用卷积操作提取特征,卷积层越多,特征的
表达能力越强。
池化层的作用是缩小特征图的尺寸,减少计算量
卷积过程是用一个大小固定的
卷积核按照一定
步长输入矩阵进行
点积运算,将卷积
结果输入激活函数得到矩阵称为特征图。
填充多少像素,通常有两个选择:valid和same
valid卷积(valid convolutions):意味着不填充
same卷积(same convolutions):意味着填充后输出和输入的大小是相同
的
p=(f-1)/2
过拟合
如果一味地追求模型对训练数据的预测能力(即降低训练误差),所选模型
的复杂度往往会比真模型更高。但此时预测误差会逐渐提高,这种现象称为
过拟合(overfitting)。
池化层又称为下采样层
池化操作通常有两种, 一种是常用的最大池化,另一种是不常用的平均池化。
![7327682b61bd4512b8938b285f89f8f3.png](https://img-blog.csdnimg.cn/direct/7327682b61bd4512b8938b285f89f8f3.png)
典型的数据增强的方法
几何变换类操作:水平和垂直方向上的翻转、旋转、缩放、平移、随机裁剪等
颜色变换类操作:噪声、模糊、颜色扰动、擦除、填充等。
简答题:局部响应归一化 Local Response Normalization (LRN)
LRN模仿了生物神经系统的“侧抑制”机制,对局部神经元活动创建了竞争环境,使
得其中响应比较大的值变得更大,并抑制其他反馈较小的神经元,增强了模型的泛化
能力。当我们使用ReLU这种没有上限边界的损失函数的时候,这种局部抑制显得很
有效果。但是不适合sigmoid这种有固定边界并能抑制过大值的激活函数。
简答题:模型调优 –梯度下降算法
批量梯度下降法(BGD):每次迭代计算梯度,使用整个数据集。每次更新都会朝着正确的方向进
行,最后能够保证收敛于极值点。缺陷是学习时间太长,消耗大量内存。
随机梯度下降法(SGD):从整个数据集中随机选取一个数据,因此每次迭代的时间非常快。但收
敛时震荡,不稳定,在最优解附近波动,难以判断是否已经收敛。可能陷入局部极值。
第七章
GoogLeNet 的核心是
Inception 架构
简答题:Dense网络
DensseNet脱离了加深网络层数和加宽网络来提升网络性能的思维定势。和传统的网络相比,它
的优点如下:
➢
省参数。在 ImageNet 分类数据集上达到同样的准确率,DenseNet 所需的参数量不到
ResNet 的一半。
➢
省计算。达到与 ResNet 相当的精度,DenseNet 所需的计算量也只有 ResNet 的一半左右。
➢
抗过拟合。DenseNet 具有非常好的抗过拟合性能,尤其适合于训练数据相对匮乏的应用。
➢
泛化性能更强。如果没有数据增强,CIFAR-100下,ResNet表现下降很多,DenseNet下降不
多,说明DenseNet泛化性能更强。
第十章
简答题:LSTM是一种有三个“门”结构的特殊网络结构。从左至右,依次为“遗忘门(forget gate)、输入门(input gate)、输出门( output gate)”
- 遗忘门:决定什么时候把以前的状态忘记
- 输入门:用于确定更新的信息。分成两部分,1、通过sigmoid层找到需要更新的细胞状态;2、通过tanh层创建一个新的细胞状态 𝐶𝑡 向量加入状态中。 遗忘门找到需要忘记的信息 𝑓𝑡 后,将它与旧的状态𝐶𝑡−1相乘
- 输出门:需要确定输出什么值,这个输出将于基于细胞状态。
双向RNN是由两个RNN堆叠在一起的,输出的结果是由两个RNN共同决定的
第十二章
图像领域应用:
创建动漫角色
姿势引导人形象生成
风格转换
超分辨率重建(图像修复)
文本到图像
目标检测
图像修复
第十三章
智能体, 是强化学习的核心
智能体的核心是策略
强化学习的特点:
➢ 强化学习是一种无监督学习,它侧重在探索与行为之间做权衡,找
到达到目标的最佳方法。
➢ 强化学习的结果反馈具有时间延迟性。相比之下,监督学习的反馈
是即时的。
➢ 强化学习处理的是不断变化的序列数据,并且每个状态输入都是由
之前的行动和状态迁移得到的。
➢ 智能体的当前行动会影响其后续的行动。智能体选择的下一状态不
仅和当前状态有关,也和当前采取的动作有关
无模型的强化学习:
蒙特卡洛算法
时序差分学习算法