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小時內會收到我們的回復。
雷峰網原創文章,未經授權禁止轉載。詳情見轉載須知。