5
“机器可以自己编程,这就意味着机器可以教机器,并且可以通过“对、错”这个基本语言告诉其它机器学习并改进自己。”
当得知陈曦在做的机器人能给自己写代码的时候,我认为他这个项目太疯狂了。在我看来,人与机器人最大的区别就在于人是具有学习能力的,倘若机器人也具备学习的能力的话,那么我们将会何去何从?
这种担忧在现在看来,还是很没必要的,毕竟自动化编程还处于一个很初期的阶段,所以,我们想知道陈曦做的项目到底有多牛!
“我们的机器人跟其他机器人,主要表现在智能上的区别,我会用一些人工智能的算法去解决一些问题。”
现在的CX5智能机器人除了有机械臂去拿东西外,还能识别并且跟随一个颜色信号移动。
“现在做的主要是通过自动化编程的方式让机器人自动帮我实现。”
一般的计算机程序都是人编写的,如果是计算机帮写的话,二十四小时就能搞定。而且多一台计算机就相当于多一个机器人去写。如果能借助于云计算的话,这种强大的运算能力就会直接转换为学习能力,再下去,我就不敢想了。
机器人受程序控制,要让机器人自己写程序无疑就是让程序自动写程序。
"预先给电脑一些基本的方法,然后让程序自动调用。这里还会用到神经网络等方法,最大的好处就在于你只要给它们一堆数据,它就能自己去调用。这样给机器人一大堆的数据之后,机器人也会产生一大堆的结果。”
写完代码之后我们再通过这种网络去验证这个程序写的对还是错。这种我们还能再去训练机器人,让机器人自己写代码。目前这种方法还只能在一个小范围内使用,比如说只有十几行的程序。"
目前一些简单的代码,人写只需要一二十秒的样子能写完,机器人写可能一分多钟的样子也能写完。但是以后,功能会越来强大,代码会越来复杂,人写不出来的时候,就只能靠机器人自己去写。
“等了数分钟”用自动化编程机器自己完成了判断奇偶数的代码。而用BP神经网络(人工智能专业的必修内容)学会奇数偶数判断不到10秒钟,我也可以在不到1分钟内敲完代码。虽然“自动化编程”与“神经网络”或者其它类似优化算法慢了很多,但是,机器可以自己编程,这就意味着机器可以教机器,并且可以通过“对、错”这个基本语言告诉其它机器学习并改进自己。
他的代码如下:
第一个方案 function test(i){ return (i%2==0?1:0);return(i%2==0)3:2} test(93384);
他写的第二个方案 function test(i){if(i%2==0?1:0);}else{}} test(64815);
代码确实写的好奇怪,两个方案代码不一样,但都可以判断一个数字的奇偶性。我们人类的“程序猿”,码农肯定不会这样写代码,码畜和马奴不好说(万一写不出很尴尬的)。
作为一个有过编程背景的人来说,代码中出现死循环是个很头疼的问题。既然程序猿都可以写出死循环,那么机器人如果写出了死循环怎么办?
"死循环是一个很麻烦的问题,目前还没有解决方案。但是,迄今为止我们也还没有出现机器人写出死循环的事件。因为我们一般做法是提前定好一些限定语句,比如说不能出现while语句,只能用for循环。而且还必须在有限次数以内,否则也很难跳出来。"
说到这里相信大家也就发现了,陈曦做的应该说是机器人的一种能力,这种学习能力除了可以放在自家的CX5之外,也可以放在任何一款机器人身上。
“我们的机器人其是就是一个载体,能够通过外面的数据自己去学习,自己去写代码。”
“机器人之所以能动起来,是因为人给它写了代码,他有了程序才能运行起来。换而言之,如果机器人自己能写代码的话那它就具备了学习的能力。互联网上最多的东西有三样:文字,图片和代码。它可以通过互联网自己去获取很多的代码,用于学习或者改善一些功能。”
自动化编程是一个大工程,陈曦跟他的团队还有很长的路要走。虽然CX5智能机器人是他靠一己之力做出来的(硬件),但我个人觉得他还是应该还是把所有的精力先花在机器人学习能力这件事上,也就是自动化编程这块。对于现在都已具备独立完成机器人设计能力的他来说,以后再做个机器人不是个大问题,而现在集中精力把一个问题解决,专注去做一件事情,却能让他在创业之路上走的更加稳健。
最后,唠叨一句,陈曦的机器人项目正在找合伙人与投资人,对自动化编程与机器人感兴趣的朋友可以加我微信(OI23432),我来给你们做介绍。
雷锋网先锋志(公众号:vangzine)致力于发掘更多产品和技术创新驱动的创业项目。如果你也在创业,如果你也认同产品和技术是改变世界的中坚力量,欢迎通过我们向业界介绍自己。联系方式:startup@leiphone.com,24小时内会收到我们的回复。
雷峰网原创文章,未经授权禁止转载。详情见转载须知。