CartPole-v1线性模型局限 - 神经元非线性能力
背景
上篇文章有尝试使用最简单的单一神经元来解决CartPole-v1问题,模型比较简单,但是会存在两个比较明显的问题。
针对 问题2 大部分回合500,但是后期仍会出现回报较低的情况,最近几天学习了一些资料,这篇文章尝试着从数学的角度对其做一个解释。
从仿射函数说起
这里直接一点,先给出仿射函数(affine function)的公式:
a = b + Σ i = 1 n w i x i a = b + \Sigma_{i=1}^nw_ix_i a=b+Σi=1nwixi
下面是神经元的计算公式:
z = w x + b z = wx + b z=wx+b
a = σ ( z ) a = \sigma(z) a=σ(z)
可以看出,神经元实际上就是仿射函数和激活函数组成的复合函数。
仿射函数的计算表示
这里我们拿到向量的维度里来描述仿射函数。形式上,向量的内积跟去掉偏置(bias)的向量内积在形式上是等价的。
假设 x , y x, y x,y为 n n n维向量,向量内积计算公式:
< x , y x, y x,y> = x 1 y 1 + x 2 y 2 + . . . + x n y n = Σ i = 1 n x i y i = x_1y_1 + x_2 y_2 + ... + x_ny_n = \Sigma_{i=1}^nx_iy_i =x1y