【问题标题】:How do TensorFlow learning algorithms work?TensorFlow 学习算法如何工作?
【发布时间】:2020-03-27 23:20:16
【问题描述】:
我正在尝试了解 TensorFlow 使用的学习算法是如何工作的。
我过去曾阅读过有关这些方法的论文(几年前,现在为我的拙劣术语道歉),他们似乎声称能够区分 AI 权重内每个值的损失函数和偏见。这将告诉学习算法将 AI 的参数移动到哪个方向以减少损失。
要根据损失函数区分 AI 的参数,学习算法首先需要生成一个描述这种关系的方程。我的问题是:这个方程是如何产生的?
【问题讨论】:
标签:
python
tensorflow
machine-learning
artificial-intelligence
【解决方案1】:
在训练具有单个隐藏层(具有 $m$ 个隐藏节点)的密集网络进行二元分类时,我们最小化成本函数
$$L(W_1,W_2) = \sum_{i=1}^N \ell(y_i, \sigma(W_2 a(W_1 \hat x_i)),$$
其中$x_i \in \mathbb R^d$是训练数据集中第$i$个特征向量,$\hat x_i \in \mathbb R^{d+1}$是通过以下方法得到的增强特征向量将 $1$ 添加到 $x_i$,$W_1$ 是一个 $m\times (d+1)$ 矩阵,其中包含隐藏层的权重和偏差,$a$ 是将 ReLU 激活函数应用于每个它的输入(并且还有一个额外的输出,等于 $1$),$W_2$ 是一个 $1\times m$ 矩阵,包含输出层的权重和偏差。这里 $\sigma$ 是逻辑函数,$\ell$ 是二元交叉熵损失函数。
编辑:mathjax 不能在这个网站上运行吗?