天马星空的人工智能语言--让机器拥有情感(1)
道可道,非常道;名可名,非常名。
对于人工智能而言,一直秉承着上述的那几句话,似乎在当下,只有大自然才懂得真正的人工智能是如何实现的,而拥有情感的人工智能,对于人类来说一直保持着神秘。
前几天在今日头条上看到了一个对于基于深度学习多次迭代后贪吃蛇能像有人控制它吃食物那样的一个例子提起了我对于深度学习的兴趣,然后就铿铿锵锵地下载了几个深度学习的视频看了起来,在其中我就学习到了有关于CNN的基础知识。
神经网络下的模型通常都是通过大量的训练比对相同的物品之间的特征再对其进行一个粗略的分类这样的过程,而对于世界上这么多的物体而言,难道以后就能单单凭借这个模型来识别所有的物体吗。我觉得够呛。
对比于人,神经网络下为了识别一个种类的物体往往需要成千的图片来进行训练,而人则只需要1-2张。这个时候,有人会说,这不公平,神经网络他没有像人类那样的基础知识,他不能知道这个物体的分类,只能从零基础的过程从多张图片中的特征进行一个并的过程来实现对一个种类物体的识别。
那这样双方就没有对比性了吗?让我们来继续看这个问题。神经网络的对简单函数逼近复杂函数而实现分类的过程堪称不可思议,这样的一个过程,我曾经看过一篇文章说的是可能揭示了宇宙的万物的规律。且不说这篇文章说的是否准确,但至少从一个方面说明了人类暂时对于神经网络的神奇功能并没有完全地了解。在文章的开头,我提及了当前通用的CNN卷积神经网络对于图片的信息利用率极其低下的体现之一在于人类仅仅需要一两张图片就能识别一个种类的物体,而神经网络需要成百上千张。
通过对CNN的学习大致对于CNN是如何工作实现识别图片的过程有了一个大致上的了解,然而我发现了当前通用的CNN-卷积神经网络(当前几乎所有种类的神经网络)识别图片的一个缺点,那就是当前对于图片信息利用率的极其低下,我觉得往往一张图片中拥有的元素不仅仅只是我们最终想识别的结果,而且还包括绝大多数其他的属性,例如一个用成百上千张小狗图片训练而成识别小狗的卷积神经网络中,模型的最终目的就是想要识别别的图片是否是小狗而已,而在这成百上千张图片当中,狗未尝没有别的元素,他有毛发,他有眼睛,耳朵鼻子,这都是通性,只是相比其他动物来说狗的大体形状长得就像是狗而已,对于人来说我们很容易能识别出来,甚至于只要告诉第一次见到小狗的小孩一两次说那就是小狗,小孩就会永远记住他是小狗。而神经网络识别一个种类的图片并没有将图片中的其他元素归纳为最终目标想要识别的元素,而仅仅是单凭这些信息作为隐形的识别特征。
大体来说,我觉得卷积神经网络可以用一种方法,那就是利用一张图片中的这些隐形的信息对文件进行多次分类,以达到对隐形的特征进行利用的目的。若有一张100x100的图片,他进行了一次卷积神经网络的运算之后输出了一个20x20的矩阵,往往在通常的神经网络过程中,这个20x20的矩阵就已经被分类了,可是这样分类错过了里面太多的信息了,因此在得出这样一个矩阵之后,先别急着分类,以将里面的所有隐含信息充分利用,再次进行一个卷积神经网络计算,若继续输出一个15x15的矩阵,继续不着急分类,继续进行卷积神经网络的计算,往返多次之后,最终得出的这个总体大类的矩阵,若为3x3,此时我们能大致认为所有隐含的信息已经被我们挖掘完全。则再将这个3x3的矩阵进行分为大类,在这个分完大类的基础上,若存在该大类,则将前面的所有矩阵的分类归为此大类,再次往前划分,这样的计算过程虽然近似递归,但他能充分地将图片进行一个总体的归类,这个过程有点类似于给要训练的图片进行一个详细的分类,举一个不恰当的对这个过程图片分类的例子就是:动物类图片-飞行科动物图片-鸟类图片-燕子图片,而不是简简单单地识别出这个图片是燕子图片,这样能识别出来的图片就不仅仅只是几个,而是近似人类所能识别的物体的种类的个数了。
最近在今日头条上看到了那种多次迭代后完成类似于物体似乎有自己的思想一样完成某种活动这些例子,让我深深地对人工智能而着迷。我在思考,这些能够最终具有自己思想的这些例子当中的通性究竟是什么,左思右想,冥思苦想,大概觉得产生一个具有思想的过程大概有这3个流程:
1.设立目标(最终所要完成的事情)
2.理解规则条件
3.自适应(即训练)
以一个开头所说的训练贪吃蛇自动吃食物的例子,
它的目标就是:尽可能吃到更多的食物
规则条件就是:头不能碰到身体和墙壁
然后自适应训练的这样一个过程。这样最终训练出来的结果就是一个能够自己拥有思想去控制贪吃蛇去吃食物
而我在想,究竟程序能不能有这样一个过程:
他的目标是:能设立他自己的目标
规则条件就是:能自己理解规则条件
然后去自适应(训练)上述的条件
这样的一个过程不就是让程序去自动对一个物体拥有实现的过程吗。但对于上述来说,实现基本是不可能的,所以我想着,能否有一种语言,他定义在思考的基础上。这是一种只要设立 除了设立目标这一动作 以外的动作就能完成 的一种语言,只要完成了在这种语言上实现一种类比在普通语言上控制贪吃蛇去自动吃食物这样一种具有自主思想过程的程序到到这种语言上面,那么强人工智能不就实现了吗?
人是为何能够学习的?我的观点大致是人拥有情感,拥有常说的七情六欲感官感觉,才能去学习的,若没有这些感觉,先天什么都感受不到,什么都看不见,闻不到,听不见,对任何事物没有感觉,那人类拥有的大脑又和计算机何异。
所以我的观点大致在人类因为有了对于世界万物的感知,所以才有了灵智去学习。
既然如此,那我突发奇想,为计算机赋予感知,又如何。我怀着一颗觉得好玩的心定义了以下的一种语言方式,以对计算机进行情感的赋予,以对应的符号对应对应的含义,并给予相对应的语法让人能够控制这些含义赋予的过程。
在计算机的情感方面,定义了以下的几个对应表示,即计算机情感语言:
计算机情绪表示对应:
: 忍俊不禁
\ 喜欢
$ 欲望
^ 不高兴
~ 恐惧
* 高兴
- 平常
= 无聊
? 好奇
& 悲伤
# 痛苦
; 厌恶
h 慌张
情感强烈表示对应:
_ 微
__ 非常
指代方面:
- <电脑自己
-> 对方
|^ 他人
虚拟表情对应:
! 哭泣
< 笑
操作定义方面对应:
+ 奖励
/ 惩罚
@ 安抚(使趋于正常)
.+ 达到即惩罚
./ 达到即奖励
> 达不到即惩罚
’ 达不到即奖励
属性类型定义对应:
% 天生属性
、后行人为行为
关系类型对应:
x 相关
k 扩充
有了以上的定义关系之后,我们开启一个计算机,让他出生
%(__>(活下去))x(健康)100
上述定义了一个天生的属性% 属性中__表示强烈的意思 >表示达不到活下去这一目标即惩罚 达不到活下去这一目标的与健康相关,相关程度为100,天生属性中相关程度和事件流逝有关
此时由于计算机没有任何关于活下去的概念,仅仅知道和后面的健康相关,他刚出生,世界上的一切对他来说都是陌生的,他只知道他达不到活下去这一目标的时候,他就得死亡,若没获取新的知识来让他活下去,他只能死亡,因此计算机表示了:
-<活下去?
查上述对应表中,-<指的是计算机自己 ?代表好奇的意思,就是计算机不知道如何才能活下去,等待我们给他活下去的方式。
我们回复:+(吃饭)100/(饿了)30
含义:+代表奖励的意思 /代表惩罚的意思 吃饭能够维持活下的健康状态但不能超过100,在接近30的时候计算机就饿了,这个时候就会被惩罚了,所以我们提示这个的时候,计算机在健康值还未下降到30的时候就会慌张:
-<_饿了__h
含义:-<计算机自己 _ 稍微 饿了 __特别 h慌张
未完待续...