非专业人事入门人工智能

第四章 正道

2019-10-27  本文已影响0人  人工智能人话翻译官

解惑

小白和你都很纠结,升级为啥没有用呢?
你俩决定登门拜访一次“人工智能人话翻译官”。
翻译官家里的客厅中有一块巨大的白板,他就在这块白板前,开始了解惑的过程。


有的放矢

首先我们要明确一件事情,我们的模型怎么算好?
还记得在上一个章节中介绍

P,N 与P',N'之间的关系吗?
就是真是情况和预测值之间的关系。

还有更以前介绍的模型

输入 -> 模型 -> 输出 吗?

我们先把他们结合到一起。以上一章的恋爱数据为例,把数据灌进去就是。
我们一共有一百个人:
X 这个集合中就有(x_{1} , x_{2}, x_{3}, ... x{100}),x_{1}代表第一个人,x_{2}代表第二个人以此类推。x_{1}有三个维度我们用一个向量代表。
x_{1} = \begin{bmatrix} 财富 \\ {才华} \\ {颜值} \end {bmatrix}
我们用x_{1}^{1} 代表财富,x_{1}^{2}代表才华, x_{1}^{3}代表颜值。
x_{1} = \begin {bmatrix} {x_1^1} \\ {x_1^2} \\ {x_1^3} \end {bmatrix}

Y' 代表输出
Y' 这个集合中就有(y'_{1} , y'_{2}, y'_{3}, ... y'{100}),y'_{1}代表第一个人是否配对成功的预测结果,y'_{2}代表第二个人是否配对成功的预测结果以此类推。Y'有两种可能,配对成功,或者配对失败。

Y 代表真实的情况
Y 这个集合中就有(y_{1} , y_{2}, y_{3}, ... y{100}),y_{1}代表第一个人是否配对成功的真实情况,y'_{2}代表第二个人是否配对成功的真实情况以此类推。Y有两种可能,配对成功,或者配对失败。

最后他们的关系就是:
Y' = XW + threshold
由此我们自然希望Y 与 Y'之间的差距越小越好,最好Y'就是Y。

再来看一下模型:
Y' = XW + threshold
还记得之前的这个W和threshold我们是怎么设置的吗?
W = \begin {bmatrix} {0.5} \\ {0.5} \\ {0.5} \end {bmatrix}
threshold = -2150
是我们拍脑袋设置的!这就是造成我们模型不准确的最大原因。


我们接下来的目的就是如何让Y与Y'一致来展开,用数学公式表示就是
Y - Y' \approx 0
由于:
Y' = XW + threshold
最终:
Y-XW + threshold \approx 0
在这个公式中X已知,Y已知,不知道的是W和threshold。


学习能力

你的算法模型不是孩子了,他应该具备学习能力。
等等学习能力这东西太抽象了,它该如何体现在编程上呢?

学习是什么?

我们先来试着给"学习"下一个定义。为了不太抽象,我们回忆一下我们在小的时候是怎么认识苹果的。

图片来自wiki百科

你的父母绝对不可能这么对你讲:“苹果学名Malus pumila)是蔷薇科苹果亚科苹果属植物,其树为落叶乔木。”
一般的都是拿过来一个苹果,告诉你这是苹果,而你的直觉经验所得就是以后看见“红色的圆圆的,吃起来甜甜的”就是苹果,直到有一天你吃到了绿色的苹果,你会把之前的直觉经验改成“红色的或则绿色的圆圆的,吃起来甜甜的”就是苹果。以后看到类似的物体你就可以做出正确的判断了。

现在我们就可以给学习下一个定义了:人通过大量的观察,积累直觉经验,获得某项技能。
在刚才的故事中,你就是通过观察(视觉,味觉)大量的苹果,积累起来你的直觉经验(红色的或则绿色的圆圆的,吃起来甜甜的),最后获得判断物体是不是苹果的技能。

这个和之前我们讲过的输入->模型->输出吗?
把刚才的学习例子带入:

x_{1} = \begin{bmatrix} 颜色 \\ {形状} \\ {味觉} \end {bmatrix} 作为输入
大脑就是模型Y' = XW + threshold,(W与threshold就是大脑内部的神经元)
经过大脑处理得到y'_{1} = 苹果 或者 y'_{1} = 不是苹果 这就是输出。

大脑是怎么做到的?


抛开生物学上的细节,其实我们的大脑就是通过两个动作的大量训练实现了学习,掌握了识别苹果的技能。
这两个动作就是前向计算与反向传播:

前向计算:你的大脑接收到X的输入,利用内置的模型,得到Y'。
Y' = XW + threshold(W与threshold就是大脑内部的神经元) 如果Y'为正答案就是"苹果",否则得到"不是苹果"。

反向传播:
根据最有Y’与Y的差距,如果预测错了,则修改大脑内的神经元也就是修改W与threshold。如果预测对了,则不修改大脑内的神经元。

这两个过程一直循环,直到我们的掌握了识别苹果的技能——比如拿过50个苹果,50和苹果相似但不是苹果的物体,根据你大脑训练我们能大概率(比如90%)的识别出来。这也就相当于你大脑中有了正确的W与threshold

这个过程像不像我们在上学时做的考前模拟?


接下来我们考虑的就是如何让计算机帮我们实现这个学习的过程。
也就是针对Y - Y' 求极值问题,求最优解问题。正好在计算机科学里面有现成的框架可以帮你和小白。

极值
本例中Y - Y',我们希望Y越接近Y'越好,也就是越接近0越好——求极小值。

最优解
本例中,通过前向计算与反向传播不断调整Y - Y'W与threshold,终于在某一时刻,你获得到一个能帮你获得极值的参数组合。它们就是最优解。

只有按照这个思路解决才是正道啊!
你和小白意识到之前的模型设计思路有问题,它不能自主学习啊!赶紧回去查阅相关的文档,让模型具备自我学习能力。


总结一下今天学到的名词:
学习
前向计算
反向传播
极值
最优解

上一篇 下一篇

猜你喜欢

热点阅读