- 人工智能三学派
- 三学派定义
- 神经网络设计过程
- 张量生成
- 常用函数
笔记来自 【北京大学】Tensorflow2.0
笔记来自: https://www.bilibili.com/video/BV1B7411L7Qt?p=2&spm_id_from=pageDriver
人工智能三学派 三学派定义行为主义:基于控制论,构建感知-动作控制系统(实例:倒立摆,平衡车)
符号主义:基于算数逻辑表达式,把问题描述为表达式,再求解表达式(理性思维)
连接主义:仿生学,神经网络(感性思维,直觉)
准备数据->搭建网络->优化参数 ->应用网络
准备数据:采集大量数据对构成数据集
全连接层:后一层神经元和前一层的每个都相连。
前向传播:y=x*w+b
搭建网络时权重w和偏置b是随机(搭建网络时初始化了所有参数)
损失函数: 定义预测值(y)与标准答案(y_)的差距,当损失函数输出最小时,参数w,b会出现最优值—— 均方误差
M
S
E
(
y
,
y
)
=
∑
k
=
0
n
(
y
,
y
)
2
n
.
MSE(y,y_) = frac{sum_{k=0}^n(y,y_)^2}{n}.
MSE(y,y)=n∑k=0n(y,y)2.
表征了网络前向传播推理(结果)和标准答案之间的差距
损失函数的梯度:函数对各参数求偏导后的向量。函数梯度下降方向时函数减小方向。
梯度下降法:沿损失函数梯度下降方向,寻找损失函数的最小值,得到最优参数的方法。
学习率:当学习率设置的过小时,收敛过程将变得十分缓慢。当学习率设置过大时,梯度可能会再最小值附近来回震荡,甚至可能无法收敛。
w
t
+
1
=
w
t
−
l
r
∗
d
l
o
s
s
d
w
t
.
w_t+1 =w_t - lr* frac{d loss}{dw_t }.
wt+1=wt−lr∗dwtdloss.
反向传播:从后向前,逐层求损失函数对每层神经元参数的偏导数,迭代更新所有参数。
-
张量(Tensor)
-
多维数组(列表) 阶:张量的维数
张量可以表示0阶到n阶数组(列表)
数据类型:
- tf.int tf.float tf.int 32 tf.bool tf.string 创建一个张量:
- tf.constant(张量内容,dtype=数据类型) 维度:
- 一维 直接写个数
- 二维 用[行,列]
- 多维 用[n,j,k] 生成正态分布的随机数:
- tf.random.normal(维度,mean=均值,stddev=标准差) 均匀分布随机数
- tf.random.uniform(维度,minval=最小值,maxval=最大值) (前闭后开区间)
-
均强制tensor转换为该数据类型
- tf.random.uniform(维度,minval=最小值,maxval=最大值) (前闭后开区间)
axis
axis =0 对第一维度操作,经度方向
axis =1 对第二维度操作,纬度方向
tf.Variable()
将参数设置为可训练的
对应元素的四则运算(维度相同)
| 功能 | 函数 |
|---|---|
| 相加tf | tf.add(data1,data2) |
| 相减 | tf.subtract(data1,data2) |
| 相乘 | tf.multiply(data1,data2) |
| 相除 | tf.divide(data1,data2) |
| 平方 | tf.square(data1) |
| n次方 | tf.pow(张量名,n次方数) |
| 某个张量的开方 | tf.sqrt(张量名) |
| 矩阵相乘 | tf.matmul(矩阵1,矩阵2) |



