近年,创业者陈曦正专注于一个项目——编程自动化。即机器人可以自己编程,这到底意味着什么呢?
在美国科幻大片《终结者2》中,20世纪末的1997年7月3日,人类研制的全球高级计算机控制系统“天网”全面失控,机器人有了自己的意志,将人类视为假想敌人。在影片中机器人在各方面有隐隐超过人类的趋势,让人不寒而栗。
最近,创业者服务创业智能机器人陈曦正在做一个有趣的项目,“机器可以自己编程,这就意味着机器可以教机器,并且可以通过“对、错”这个基本语言告诉其它机器学习并改进自己。”
陈曦在做的机器人能给自己写代码!这听起来是不是很疯狂呢?众所周知,人与机器人最大的区别就在于人是具有学习能力的,倘若机器人也具备学习的能力的话,那么科幻电影里面的情景是否会在现实中上演?
这种担忧在现在看来,还是很没必要的,毕竟自动化编程还处于一个很初期的阶段,所以,我们想知道陈曦做的项目到底有多牛!
“我们的机器人跟其他机器人,主要表现在智能上的区别,我会用一些人工智能的算法去解决一些问题。”陈曦说道,“现在做的主要是通过自动化编程的方式让机器人自动帮我实现。”
现在的CX5智能机器人除了有机械臂去拿东西外,还能识别并且跟随一个颜色信号移动。
一般的计算机程序都是人编写的,如果是计算机帮写的话,二十四小时就能搞定。而且多一台计算机就相当于多一个机器人去写。如果能借助于云计算的话,这种强大的运算能力就会直接转换为学习能力,再下去,我就不敢想了。
机器人自己写程序,HOW?
机器人受程序控制,要让机器人自己写程序无疑就是让程序自动写程序。
"预先给电脑一些基本的方法,然后让程序自动调用。这里还会用到神经网络等方法,最大的好处就在于你只要给它们一堆数据,它就能自己去调用。这样给机器人一大堆的数据之后,机器人也会产生一大堆的结果。”
写完代码之后我们再通过这种网络去验证这个程序写的对还是错。这种我们还能再去训练机器人,让机器人自己写代码。目前这种方法还只能在一个小范围内使用,比如说只有十几行的程序。"
目前一些简单的代码,人写只需要一二十秒的样子能写完,机器人写可能一分多钟的样子也能写完。但是以后,功能会越来强大,代码会越来复杂,人写不出来的时候,就只能靠机器人自己去写。
“等了数分钟”用自动化编程机器自己完成了判断奇偶数的代码。而用BP神经网络(人工智能专业的必修内容)学会奇数偶数判断不到10秒钟,我也可以在不到1分钟内敲完代码。虽然“自动化编程”与“神经网络”或者其它类似优化算法慢了很多,但是,机器可以自己编程,这就意味着机器可以教机器,并且可以通过“对、错”这个基本语言告诉其它机器学习并改进自己。
作为一个有过编程背景的人来说,代码中出现死循环是个很头疼的问题。既然程序猿都可以写出死循环,那么机器人如果写出了死循环怎么办?
"死循环是一个很麻烦的问题,目前还没有解决方案。但是,迄今为止我们也还没有出现机器人写出死循环的事件。因为我们一般做法是提前定好一些限定语句,比如说不能出现while语句,只能用for循环。而且还必须在有限次数以内,否则也很难跳出来。"
说到这里相信大家也就发现了,陈曦做的应该说是机器人的一种能力,这种学习能力除了可以放在自家的CX5之外,也可以放在任何一款机器人身上。
“我们的机器人其是就是一个载体,能够通过外面的数据自己去学习,自己去写代码。”他解释道,“机器人之所以能动起来,是因为人给它写了代码,他有了程序才能运行起来。换而言之,如果机器人自己能写代码的话那它就具备了学习的能力。互联网上最多的东西有三样:文字,图片和代码。它可以通过互联网自己去获取很多的代码,用于学习或者改善一些功能。”
自动化编程是一个大工程,陈曦跟他的团队还有很长的路要走。虽然CX5智能机器人是他靠一己之力做出来的(硬件),但我个人觉得他还是应该还是把所有的精力先花在机器人学习能力这件事上,也就是自动化编程这块。对于现在都已具备独立完成机器人设计能力的他来说,以后再做个机器人不是个大问题,而现在集中精力把一个问题解决,专注去做一件事情,却能让他在创业之路上走的更加稳健。