一些科幻小说中,机器人通过学习,可以自己独立造更高级的机器人,类似人类一样,一代代繁衍演化。现在看,要实现这个还比较远,自动驾驶搞了好多年,现在还不能实用化,那退一步程序可以自动编程吗?代替程序员的大部分工作吗?
进行足球比赛的机器人deepmind在自然杂志上发了论文,宣布了alphatensor,通过人工智能可以设计出更好的算法,在矩阵乘法运算中,设计出的算法比以往人类数学家设计的算法需要更少的乘法步骤。deepmind先后开发出AlphaGo用于下围棋,alphazero用来下多种棋类,alphazero用来预测蛋白质结构,现在alphatensor把研究的目标指向了数学。因为神经网络训练会用到矩阵乘法,这个结果可以用来改进ai算法本身。离ai的自我演化更近了一步。ai的核心是算法,现在算法可以自动设计算法,未来有可能实现算法的自动迭代。下围棋时,ai使出的招数人类很难从直觉上理解,感觉很怪异,ai设计出来的算法在人类数学家看来应该也很怪异吧。
deepmind创始人前一段时间,openai宣布了sourceai,做了ai自动编程的尝试,就是不会编程的人,把对程序的要求用自然语言比如英语,告诉给sourceai,它就会输出用编程语言写的程序代码。这个的是基于语言模型gpt-3的。gpt-3本来是用来在两种自然语言之间做翻译的模型。比如英语和汉语互相翻译。sourceai把编程语言也当成一门语言来对待,通过开源代码网站的程序代码,学习了40多种编程语言。学会了编程语言,这样就可以在自然语言和编程语言之间进行翻译,达到了自动编程的目的,目前的效果,虽然还不能代替人类程序员,但是一个非常好的思路和方向。
openai是由马斯克发起的gtp-3有亿个模型参数,这个训练起来太耗费资源了,一般个人,小公司,小科研机构没有这样多的计算机资源。是不是大公司有意无意把人工智能的发展方向往资源耗费的方向上引,造成小公司搞不成人工智能的气氛,以减少竞争,不得而知。应该会有人摸索出减少资源占用的算法来的。
deepmind在自动设计算法上发力,openai在自动编程上发力,各种力量汇聚,总有突破的一天。计算机可以昼夜不停练习下围棋,通过机器学习练习过的围棋盘数远超人类围棋高手一辈子能下的围棋盘数,所以alphago可以完胜人类,以后机器学习程序可以实现自我进化,自我迭代,能力更是不可估量。
古人类头骨标本实现编程自动化这个想法也有好多年了,老以前微软用visualc++,做可视化编程,做图像界面编程时,程序员用工具将控件拖到想要的位置,调整满意以后,程序就会自动生成控件生成的相关代码,程序员也不用算每个控件的具体坐标值了,也不用填写控件的颜色值了,确实比较方便。qtcreator也有类似功能。确实比较方便,可以提高开发效率。
火鸡,火鸡肉比鸡肉好吃吗?打开一个c编译器程序的代码看下,发现里边有许多c代码。这就产生了一个疑问,第一个c编译器哪里来的,类似于鸡生蛋,蛋生鸡,那第一个鸡从哪里来的。先有蛋还是先有鸡。这个过程就是编译器的自展,先用汇报语言写一个有简单功能的c编译器,然后写c程序,实现有一个比较复杂功能的c编译器,用前边的简单编译器编译。现在算法设计也要自展了。应该算法设计的自展影响更大。人们编程时,好多人觉得c++太复杂,觉得python语法简单好用。所以编译器自展几回就够了,展出再多的功能,超出了人的学习理解范围意义不大。现在ai设计出来的算法,不需要人类理解,只要正确就可以,可以循环搞好多轮,达到前所未有的高度。
大瀑布美景参考资料
sourceai