深度学习 学习XOR函数

刚刚看了深度学习的第六章 深度前馈网络的第一个实例,学习XOR函数。简单的说明了深度前馈网络的结构。

一、这个例子是如何说明深度学习的完整工作流程的?

首先是结构问题:
在解决XOR问题的时候,我们要解决的是 [0,1] -> 0/1 的问题。其中的输入[0,1] 很容易理解为输入层,输出的0/1也很容易理解为输出层。为了用深度学习解决这个问题,我们开始思考!

首先是使用简单,直观的线性规划,然后发现不可取。这说明,无法直接由输入映射为输出,即需要加入中间层来辅助解决问题,这个中间层就是我们说的隐藏层。这就构成了深度学习的基本的结构:输入层,隐藏层和输出层。这里面,隐藏层不是唯一的,而是一个族(比如说按比例增大或是减小系数,对结果几乎没有影响,但是却是不同的函数),这也对应了前文说的“人类设计者只需要寻找正确的函数族,而不需要去寻找精确的数。” P108这样的观点。

然后是流程问题:
关于具体的工作流程,这里说的并不是很清楚,这个实例是直接给出了相应的参数,然后说明问题的解决的。但是也可以说明一些问题的。

深度学习的核心就在于层与层之间的变换映射。本例中只有一层隐藏层。这里就涉及到两个问题,一个是输入层到隐藏层的变换,另一个是隐藏层到输出层的变换。

输入层->隐藏层:之前说过,本例无法使用简单的线性模型来表示,所以考虑使用非线性的模型来描述模型的特征。“大多数神经网络通过仿射变换之后紧跟着一个被称为激活函数的固定非线性函数来实现这个目标” P109。激活函数通常选择对每个元素分别起作用的函数,在现代神将网络中,默认的推荐使用由激活函数g(z) =max{0,z} 定义的 整流线型单元(rectified linear unit ReLU)。次函数用于线性变换的输出将产生非线性变换。

隐藏层->输出层:在本例中就是直接采用的线性变换来计算输出的。

二、一些不清楚的问题

解正规方程:这个是线性代数的知识,就是利用矩阵求解方程组。

激活函数:

整流线性单元:

本例中没有给出参数的具体计算和优化方法!

你可能感兴趣的:(深度学习 学习XOR函数)