① 作為一名程序員,應該如何看待AI
程序員以及其他類型的IT工作無疑是當前最熱門的工作。然而,這種趨勢可能不會一直持續下去。人工智慧的發展可能會打破這一格局。
美國橡樹嶺國家實驗室的一些專家預測,到2040年,AI技術將會強大到足以替代程序員,AI編寫軟體將比人類程序員更好、更快。換句話說,軟體編寫的軟體比人類編寫的更好。
但不會完全替代。在不久的將來,AI和人類程序員將在編程中扮演互補的角色。AI的工作可能是處理重復性的、耗時的任務,這些任務需要機器優異的精確性。機器可以避免由於人為因素而產生的語法錯誤或設計錯誤。例如,AI可以提供幫助的一種方式是自動完成功能,程序員只編寫一小部分代碼,然後AI識別程序員的意圖,並完成剩下的代碼,從而為人類節省大量的工作。
希望可以幫到你,謝謝!
② 有人說,人工智慧將來可替代程序員寫代碼,你怎麼看
你好!我是康哥! 未來不光是人工智慧會取代程序員寫代碼,我認為很多行業都有可能被取代!
作為80後的我小時候沒有電腦,父母那一輩基本上班的時候也都沒接觸過電腦,那個時候工作文稿都是用手寫,而到我上了大學,短短18年的時間電腦在中國得到了普及。讓我印象最深的是我參加工作的時候公司的老會計,業務能力不在話下,但是金蝶用友玩的不轉。後來也不得不順應時代的發展,學習電腦知識。
所以人工智慧現在看似是一個很新興的產業,但是很可能在未來的十幾年當中滲入我們生活中的方方面面。
那些重復性的工作,例如人力資源中的考勤工資;財務中的基礎做賬工作;程序員中的基礎代碼工作;甚至醫院的醫生都會被人工智慧取代 。
未來不會被渠道的是一些重復性工作不強的職位,我認為這個實際上就是效率的提升,電腦代替手工勞動,機器代替人的大腦和手腳,讓我們的生活更加有效率。
我認為是一件好事情,能讓我們有更多的時間去開發新事物。不斷地開發我們的大腦去 探索 新事物。
但是從另外一個方面來看,未來的確有很多人會失業。不管是現在我們常見的一些崗位,包括一些看似穩定的鐵飯碗,例如公務員或者事業單位人員,一些職能性的但是效率底下的職位也將會被取代。
這就提醒我們每個人都要居安思危,不斷提升自己的技能和附加值,這樣才不會被 社會 所淘汰,二十年時間看似很長,但是實際很短。
AI能代替我們的是一些能夠重復的工作和簡單的開發工作,可是誰來維護這些人工智慧,如何管理這些人工智慧我認為未來是我們人類職位的一個新增項。
作為一名IT行業的從業者,同時也是一名計算機專業的教育工作者,我來回答一下這個問題。
首先,隨著人工智慧技術的不斷發展,未來大量基礎的編碼工作必然會由智能體來完成,這個過程也會不斷推動程序員的崗位升級,提升程序員的崗位附加值,同時減輕程序員的工作壓力。實際上,人工智慧技術的發展對於未來延長程序員的職業生命周期具有重要的意義。
當前程序員崗位的工作壓力還是比較大的,不僅應用級程序員每天需要完成大量的編碼工作,研發級程序員也需要面對一些毫無能力提升的編碼工作,這在很大程度上降低了程序開發的樂趣,使得程序員感到乏味。隨著當前產品迭代的速度不斷加快(大數據時代的並行迭代),程序員不僅面臨更大的工作量,在工作內容上也得到了一定的拓展(全棧開發趨勢),所以當前從事程序員崗位還是具有一定難度的。
要想讓程序員從當前的工作壓力當中解放出來,採用智能體實現代碼編寫是非常重要的一個解決方案,這不僅會提升程序開發的效率,同時也會保障程序代碼的質量一致性,提升程序的穩定性。實際上,當前在程序開發領域內已經有不少工具可以完成一部分代碼的生成工作,雖然目前功能還不夠強大,但是已經在一定程度上減輕了程序員的編碼負擔。
未來當智能體替代程序員完成基本的編碼工作之後,程序員可以把更多的精力應用在創新方面(演算法設計、模式設計、框架設計等),而且技術驗證的速度也會明顯提升,這些都會提升程序員的工作效率。
如果有互聯網、大數據、人工智慧等方面的問題,或者是考研方面的問題,都可以在評論區留言,或者私信我!
有人說,人工智慧將來可替代程序猿寫代碼,你怎麼看?
好!
科技 這么發達,
完全有可能,
但是,
怎麼發達,
有一些程序還是離不開人的操作,
程序猿,
有些程序必須靠人工才能完,
這個毋庸置疑,
不論智能怎麼發達,
有些人的操作,
永遠取代不了的,
這個倒是真的,
有一些事物,
是人工智慧無法完成的,
到任何時候人,
都不會被智能取代消退,
總有一些程序交給人,
來操作!
都是些不深入ai的媒體炒作概念,讓人覺得ai無所不能。一百二十八年內不可能,有的話也是小打小鬧,滿足不了工業屆千變萬化的需求。ai可以輔助創作,但獨立創作,尤其是代碼,絕無可能。
如果ai將來能寫可執行的邏輯正確的代碼,那麼未來的程序員或演算法工程師,都會大部分失業。如果ai都能按邏輯寫代碼,都可以去嘗試各種邏輯,甚至自己決策。那麼ai可以控制各種帶有晶元的設備,小到手機,大到 汽車 。這還是ai么,這不是上帝之子么。
可能你從github喂海量的代碼給到模型,藉助於大數據和gpu算力出來,理論上來說能訓練出一個號稱能寫代碼的ai.但這個ai寫出的代碼都是基於統計規律的,不能處理突發事故。運氣好的話,生成的代碼能執行,但代碼越長,生成的代碼可運行的概率越低。
即使能運行,代碼的邏輯是什麼?
程序員和產品經理干架,就是因為需求會一直變。你期望ai能寫出滿足千變萬化的需求的代碼?
我們從幾十億年的單細胞生物進化到今天,能不能有點自信?要是ai這么厲害,我覺得我沒臉說我是人了。總之,怎麼可能!
將來我們寫代碼時:
總之,ai可以輔助程序員編程,極大提高編程效率。但如果代替程序員自己編程,根本不可能。如果有那一天,我把我現在的手機吃了。
這幾年,人工智慧被炒的越來越熱了,比如阿里的魯班系統能夠自動生成雙十一海報,一天可能出圖上億張;還有通過機器學習,程序畫的話,被賣到上億元;其實就目前來講,這些都是比較基礎的,人工智慧即使畫畫,也是通過機器學習別人的畫之後,說白了, 組合的。沒有靈魂作為支撐的產品,不能說沒有價值,但是在意義層面來講絕對是非常弱的。
人工智慧在將來可以替代程序員寫代碼嗎?我只能說:有可能,而且即使人工智慧代替程序員寫代碼,也是比較基礎的,其實,隨著現在程序工具化的趨勢,已經解放了程序員,如果人工智慧+工具化,在一些基礎的,機械的編程中,確實能夠讓程序員解放出來,去處理更加復雜的業務邏輯和架構設計。
但是,我感覺人工智慧完全取代程序員是不可能的。因為,機器永遠也不想到人類復雜的需求,尤其是,變來變去的需求變化。如果機器能夠有靈魂的話,估計也會被人類復雜且變來變去的需求,折磨的要死,從而發出一句,感嘆:卧槽,這是什麼玩意的破需求。
但是,去年有一條新聞值得我們關注,那就是:
Repairnator 是由 KTH 瑞典皇家理工學院的軟體技術教授 Martin Monperrus 開發。它會監控開源軟體在持續集成期間發現的 bug,並嘗試自動修復它們。如果它成功合成了一個有效的補丁,那麼 Repairnator 會偽裝成人類身份向人類開發者提交此補丁。到目前為止,Repairnator 已經成功生成了 5 個補丁,並被人類開發者永久地合並到代碼庫中。
這是自動程序修復軟體工程研究中新的里程碑。
所以,現在機器都可以修改 bug 了,將來在一定程度上寫程序,也是有可能的,但是完全取代我認為不現實。
原因如下:
當然了,如果機器能夠完全取代人類編程的話,那非常可怕啊,未來有可能將是被機器控制的時代,而不是人類控制機器的時代。
有人說,人工智慧將來可以取代程序員來寫代碼,這個理由不成立,因為人工智慧就是程序員開發出來的。而且現在所謂的人工智慧遠遠沒有達到真正意義上的智能,大部分還是人工更多一點。
如果以人類的生命成長階段來看,人工智慧目前只能算是嬰兒階段,在嬰兒階段就拋棄喂養自己的母親程序員,那為時也太早了。
人工智慧大體分兩個大的方向,圖像識別和機器學習。目前圖像識別成長的比機器學習更快一點,但也僅限於快一點兒,我們常見的圖像識別場景就是無人駕駛。而機器學習發展相對緩慢,都是在初級階段,如果想要有階段性的變化,在演算法機制上要有突破性的進步,才能引領機器學習進入下一階段。
所以至少在未來幾十年甚至上百年我認為我們程序員都不會失業的,還是有飯吃的。
所謂人工智慧的程序也是由人類開發設定的,它也絕不會取代人的作用,它對美學,結構想像力設計,邏輯多向思維甚至懸思學都無法深入涉足,它就像一個架構師將演算法和公式公布出來,其它基礎部分由代碼來完成一樣,就算將來人工智慧也可以進行相關研發,但審核與檢測仍然需要人類完成,人類的工作只會越來越高級。
所以不用杞人憂天,人工智慧是不可能真正成為人類的思維一部分的,當它的工作目標對人類無意義而虛耗電能和時間的時候,人類是一定會及早發現並介入的,一個簡單的拔電源就可以停止其行為……
人工智慧是近階段大家經常提到的一個話題,其中神經網路深度學習其中一個特點,那麼人工智慧最終真的能達到一般人類這樣去思維么?能夠像程序員那樣的編程么?會不會以後有一天真的能替代程序員了吧,這件事情你是怎麼看待的?針對這事情我來說一下我的看法。
人工智慧會讓程序員的工作效率更高,十年之內不可能完全代替程序員
在CSDN上有一篇報道,有一個名字為Screenshot-to-code-in-Keras的項目可以把一些稿件自動變成一堆html代碼加css代碼,有的前端程序員就可能為此而感覺到恐慌,感覺以後人工智慧要替代自己的飯碗了,這樣的事情也不足為奇,在人工智慧這個概念還沒有興起之前,一些java程序員使用ide開發工具就能生成一堆代碼,節省了開發效率。感覺起碼在近五到十年內感覺人工智慧還不能完全替代人類程序員這樣去編程,就以前端代碼為例,雖然html代碼加效果類css讓人工智慧生成代碼,可能人工智慧在這方面戰術上完勝,但是一些戰略問題它還是遠遠不及人類的。
其一它生成的東西能確保是人類想要的嗎?,如果不符合要求是不是需要人類程序員來調整,人工智慧不可能做出一套適應所有場景的東西出來。
其二前端程序員是要與後端程序員進行對接的,在對接時各個參數,怎麼調用了,相當復雜,兩個人類程序員(前端程序員與後端程序員)還需要溝通好長時間,難道人工智慧就能那麼完美理解人類的意思就不需要溝通了么?
近5到10年內的情況可能是這樣的,一些低級的常規的代碼都可能會是自動生成,一些組織調整的工作交給人類程序員來進行處理,最後項目的質量當然還是有人類進行負責的,由人工智慧的加持,程序員的工作效率可能會大大提高,以往傳統開發需要幾周的工作量可能會縮減到幾天甚至更短。
未來上層領域的程序員數量會減少
隨著時間再往後發展,我想一些上層代碼會逐漸由人工智慧程序自己完成了,可能寫代碼的不再是程序員了,比如說可能是一種操作軟體的形式存在,有著成熟的操作界面,良好的操作體驗,一個非技術人員通過界面輸入自己想要的東西,通過一定的規則描述,然後就會生成相應的代碼並能直接運行。或者比這個更先進,不是一個軟體界面的形式存在,而是一個智能硬體設備,只需要對其說話,像與人類說話那樣,說出自己的需求,智能設備就能在短時間內做出自己想要的東西。
如果真能達到這種程度的話,我想未來參與業務開發的程序員的數量將會急劇減少,但是 不可能減少到為0,因為人工智慧做出的東西也不可能是完全有保證的,起碼需要個別人還需要進行對項目代碼進行負責不是嘛,就想現在的無人駕駛車為啥還留有方向盤一樣。上層開發的人員少了,人工智慧這些底層開發的程序員會更吃香了,甚至數量會多起來。
軟體數量和規模將成倍增長
大家都知道程序做事效率是相對高的,人類做項目是用天,周,年為單位來計算的,那麼這些軟體交給人工智慧處理應該是秒級別的吧,如果是大一點的項目頂多是分鍾了。如果是這樣的話,估計人類世界軟體的發展速度將會達到一個新的高度,軟體的數量和規模將是幾何倍數的增長。
如果真是這樣一天的到來,我想人類在學習和思想上都要有策略上的改變,以前經常在嘴邊說的話,要勤奮,要多動手,未來的人類要做的事情,就是要多思考,勤於思考。動手的事情就交給人工智慧去吧。
那是必然的。不僅程序,看病,甚至很多方面都可以,但是,那種機械的,生冷的東西在幾何級數提高效率的同時也會鑄成,無論如何,這個趨勢不可阻擋,是喜是憂?需要蓋棺定論。
電腦只能處理精確到指令,需求一開始往往是很模糊的,以目前人工智慧自然語言語義理解的發展程度,可能性很低。
③ 程序員會被ai取代嗎
程序員不太可能被AI完全取代。
目前,AI可以幫助程序員自動生成代碼,分析代碼以發現潛在的問題,並通過模擬人類編程來完成一些簡單的任務。然而,程序員仍然需要對代碼進知答行評審和維護,並且需要對代碼的功能和實現進行判斷。
同樣,程序員還需要深入了解業務和需求,以便編寫有意義的代碼。因此,程序員將需要持續學習和發展以適應這種變化,並且可以通過在人工智慧和機器學習方面的專業知識來提高自己的競爭力。
程序員的職業前景和變化
盡管程序員不會嫌備被人工智慧完全取代,但隨著人工智慧技術的發展,程序員的職業前景和變化仍然值得我們思考。一方面,人工智慧技術將改變程序員的工作方式和工作內容。程序員需要不斷學習和掌握新的技術和工具,以適應新的工作需求和市場需求。
另一方面,人工智慧技術還將為程序員帶來新的機會和挑戰,例如,基於人工智慧的應用程序的開發和部署、數據科學和分析等領域。
同時,程序員也需要注意自身的競爭力和職業發展。隨著人工智慧技術的發展,程芹猛毀序員需要具備更多的技能和知識,例如,機器學習、數據科學、雲計算、容器化等領域的知識。此外,程序員還需要不斷提升自己的軟技能,例如,團隊合作、溝通、項目管理等方面的技能。
④ 人工智慧會取代編程員嗎
這個當然不會取代底層的程序員。
ChatGPT 是一個自然語言處理模型,可以生成文本、回答問題等,但它不能完全取代程序員。程序員在軟體開發過程中扮演著重要的角色,他們需要深入理解業物陸務需求,並通過編寫代碼來實現拿裂解決方案。ChatGPT 可以輔助程序員工作,但不能完全取代他們。
ChatGPT作為一款AI新秀,能在編程領域名聲大噪,重要原因在於其所有者OpenAI十分看重其編程能力的提升。Semafor的一份報告顯示,OpenAI過去六個月在全球范圍內聘請了上千名承包商來培訓其 AI 學習軟體工程。
培訓也是卓有成效。據 Insider報道,一些亞馬遜員工已經開始使用 ChatGPT 來幫助編碼。
與此同時,一些「程序員要被取代了」的言論甚囂日上,其實這並不令人意外,過去幾十年來,雲服務、無伺服器計算、低代碼和無代碼......每個技術浪潮的到來,都會有這樣的言論出現。
毫無疑問,隨著科學技術的發展,軟體開發越來越智能化,今年一月份ACM 通訊發表的《編程的終結》就對人工智慧編程進行了預測,其作者Matt Welsh 是 Fixie.AI 的首席執行官兼聯合創始人,他曾是哈佛大學計算機科學教罩敏頃授、谷歌工程總監、蘋果工程主管。他在文章中表示,「『編寫程序』的傳統想法正在走向滅絕,事實上,除了非常專業的應用程序之外,我們所知道的大多數軟體將被經過訓練而不是編程的人工智慧系統所取代。」
但就目前而言,ChatGPT取代程序員是不大可能的,畢竟它還處於被訓練的階段。
而且,就算人工智慧擁有嫻熟的編程能力,這也不意味著程序員就會完全被取代,畢竟AI寫代碼也得先了解需求,而這就需要由程序員來完成,所以以後程序員工作應該是更多地轉移到需求分析和架構設計上,而不會因為不用寫代碼就消失。
以SoFlu軟體機器人為例,作為一款在2019年就推出的覆蓋軟體開發全流程的自動化工具,它通過內置一系列基於AI的開發、測試、產品質量分析和安全審核的功能,可在整個應用程序開發生命周期提供「專家級」幫助,並在人的協助下自動完成軟體開發的後端開發、前端開發、測試和運維。
以後端開發為例,開發者只需要在可視化界面通過拖拽組件輸入流程圖和配置參數,SoFlu軟體機器人就能實現等同於編寫復雜代碼的業務邏輯,在設計業務邏輯時就完成了微服務應用開發,做到「業務即圖,圖即代碼」,實現軟體開發,十倍提效。
SoFlu軟體機器人的總設計師飛算雲智總裁陳定瑋表示,「SoFlu軟體機器人的宗旨是幫助開發者更高效、更高質量地完成軟體開發,讓『人人都能成為軟體工程師』,而不是要取代誰。」
說到底,無論是人工智慧還是軟體機器人,對於人來說,其實都是工具,工具的作用始終在於服務人類,而從來不是取代人類。
⑤ AI會取代插畫師,程序員,作家的工作嗎
AI 目前確實可以在很多領域勝任一些人類工作,例如製造業、服務業、銷售業等,但在創意領域,如插畫、寫作等,人類創造力和想像力是 AI 遠遠不能替代的。例如,在繪制插畫方面,雖然 AI 可以慶羨通過「學習」大量圖像進行自動生成,但它所繪制的圖像卻缺少人類的創造力和思維方式,難以表達作者獨有的文化底蘊和情感體驗。在寫作方面,雖然 AI 可以通過機器學習等技術生成文章,但其文章缺乏人類情感的表達和創造性的思考,與真正的文學作品相比還有很大的差距。在程序員方面,雖然 AI 可以通過深度學習自動化一些簡單的編程任務,但在系統架構設計和復雜編程問題上,人類編程的智慧和經驗仍然是不可替代的。
總之,AI 的發展在很多領域可以起到協助和輔助作用,但在創意領域,人類創造能力的重要作用無法被替代,創造力和獨特視角才是創意磨差派行業中的核心價值。值得一提的是,人和 AI 的合作可能成為未來的趨勢,AI 可以幫助人類更高瞎賀效地完成一些繁瑣工作,從而讓人類更專注於創意產出。
⑥ 程序員會被ai取代嗎
AI由機器語言的機器組成,但是人工智慧並不會在編寫程序方面超過人類,擾輪不會很快變得獨立於人類,並且能夠創建跨越幾行的有用且實用的代碼,這需要一定程度的智能,所以AI短時間並不能取代程序員。
AI由機器語言的機器組成,它們在編寫程序方面不會比人類更能勝任,AI由機器語言的機器組成,它們在編寫程序方面不會比人類更能勝任,相反,將要發生的是「計算機程序員」將成為「AI程序員」。沒有人懷疑人工智慧在每天編程方面變得更好。事實上,最終,人工智慧驅動的工具在編碼時會比人類好得多。但是機器不會很快變得獨立於人類,並且能夠創建跨越幾行的有用且實用的代碼,這需要一定程度的智能,這種智能接近於著名的奇點。
1,程序員不再手工編寫代碼。他們已經使用了大量的智能工具,使他們能夠自動完成編譯工作。這就是AI所做的:它幫助程序員。但是,人工智慧將能夠做出從頭開發軟體所需的所有正確決策或解釋每個功能的商業價值的未來仍然非常遙遠。
2,相反,大多數新的人工智慧工具都是通過機器學習來提高其准確性和性能。通過廣泛的試驗和錯誤鍵配,他們的神經網路架構可以幫助他們在自動化任務時變得更好,更精確。這就是他們比人類更好的地方:發現錯誤並修復錯誤。但他們不是,也可能永遠不會自主,有自己的「意見」,哪一個是解決問題或生成新功能的最佳方法。
3,最終,人類將擺脫「程序員」的工作,並將簡單地學習如何「集中」他們的機器學習工具,以更有效地協助他們。由於AI將自動執行以前需要非常專業知識的復雜任務,因此開發人員將有更多時間專注於工作中更「人性化」的方面。總是需要人類稿李指來填補機器永遠缺乏的空白,探索解決已知問題的新的大膽解決方案,或者只是將他們的創造力發揮到極致。
⑦ 機器人什麼時候能夠寫代碼
截止到2014年,自己研發出可以寫代碼的機器人了。機器人完全自己寫代碼是不可能的,但是目前階寫段簡單的代碼沒問題。
2017年一款會編程的AI處於初級階段。能夠打敗初級程序員,但是對於中高段位程序員,AI還是不行的。
根據蓬勃和英特爾實驗室的研究人員表示,全球首個能自動生成完整軟體程序的AI機器人已經誕生,名為「AIProgrammer」。
自此,這個觸及程序員可能都無法完成的任務,就可以交給一台機器演算法了。據了解這個「AI程序員」是利用遺傳演算法和圖靈完備語言,這種演算法在理論上能夠完成任何類型任務。
機器人編程只要1小時
2014年中國互聯網大會創新創業大賽在位於建鄴區的極客站內舉辦。現場,南京321人才許曉毅給大家演示了機器人是怎麼編寫程序代碼的:
只見他在伺服器電腦上輸入文字指令,機器人就開始自動編寫程序,一行源代碼立刻在屏幕上編譯出來,1個多小時後,一個不算太復雜的程序就編寫好了,立刻可以運行。
據介紹,機器人程序員只要通過語言說明,就可以編寫出各行各業的軟體,有望大大提高工作效率,因此不僅是軟體行業的創新,對不懂軟體的傳統行業來說也能帶來很多便利。演示現場,項目引起了投資者和創業小夥伴們的濃厚興趣,不少人圍上來求體驗。
許曉毅和該項目所在的「孵化器」南理工技術轉移中心當即決定,將把一台機器人程序員「留」在極客站里,開放給廣大科技人才共享使用。
以上內容參考中國網-「解放」程序員,機器人編程只要1小時
以上內容參考中關村在線-機器人也會編程了 AI完爆初級程序員
⑧ 人工智慧用的編程語言是哪些
人工智慧是一種未來性的技術,目前正在致力於研究自己的一套工具。一系列的進展在過去的幾年中發生了:無事故駕駛超過300000英里並在三個州合法行駛迎來了自動駕駛的一個里程碑;IBM Waston擊敗了Jeopardy兩屆冠軍;統計學習技術從對消費者興趣到以萬億記的圖像的復雜數據集進行模式識別。這些發展必然提高了科學家和巨匠們對人工智慧的興趣,這也使得開發者們了解創建人工智慧應用的真實本質。
谷歌的AI擊敗了一位圍棋大師,是一種衡量人工智慧突然的快速發展的方式,也揭示了這些技術如何發展而來和將來可以如何發展。
哪一種編程語言適合人工智慧?
你所熟練掌握的每一種編程語言都可以是人工智慧的開發語言。人工智慧程序可以使用幾乎所有的編程語言實現,最常見的有:Lisp,Prolog,C/C++,近來又有Java,最近還有python.
LISP
像LISP這樣的高級語言在人工智慧中備受青睞,因為在各高校多年的研究後選擇了快速原型而舍棄了快速執行。垃圾收集,動態類型,數據函數,統一的語法,互動式環境和可擴展性等一些特性使得LIST非常適合人工智慧編程。
PROLOG
這種語言有著LISP高層和傳統優勢有效結合,這對AI是非常有用的。它的優勢是解決「基於邏輯的問題」。Prolog提供了針對於邏輯相關問題的解決方案,或者說它的解決方案有著簡潔的邏輯特徵。它的主要缺點(恕我直言)是學起來很難。
機器學習庫
PyBrain 一個靈活,簡單而有效的針對機器學習任務的演算法,它是模塊化的Python機器學習庫。它也提供了多種預定義好的環境來測試和比較你的演算法。
PyML 一個用Python寫的雙邊框架,重點研究SVM和其他內核方法。它支持Linux和Mac OS X。
scikit-learn旨在提供簡單而強大的解決方案,可以在不同的上下文中重用:機器學習作為科學和工程的一個多功能工具。它是python的一個模塊,集成了經典的機器學習的演算法,這些演算法是和python科學包(numpy,scipy.matplotlib)緊密聯系在一起的。
MDP-Toolkit這是一個Python數據處理的框架,可以很容易的進行擴展。它海收集了有監管和沒有監管的學習算飯和其他數據處理單元,可以組合成數據處理序列或者更復雜的前饋網路結構。新演算法的實現是簡單和直觀的。可用的演算法是在不斷的穩定增加的,包括信號處理方法(主成分分析、獨立成分分析、慢特徵分析),流型學習方法(局部線性嵌入),集中分類,概率方法(因子分析,RBM),數據預處理方法等等。 自然語言和文本處理庫
NLTK 開源的Python模塊,語言學數據和文檔,用來研究和開發自然語言處理和文本分析。有windows,Mac OSX和Linux版本。
結論
python因為提供像 scikit-learn的好的框架,在人工智慧方面扮演了一個重要的角色:Python中的機器學習,實現了這一領域中大多的需求。D3.js JS中數據驅動文檔時可視化最強大和易於使用的工具之一。處理框架,它的快速原型製造使得它成為一門不可忽視的重要語言。AI需要大量的研究,因此沒有必要要求一個500KB的Java樣板代碼去測試新的假說。python中幾乎每一個想法都可以迅速通過20-30行代碼來實現(JS和LISP也是一樣)。因此,它對於人工智慧是一門非常有用的語言。
案例
做了一個實驗,一個使用人工智慧和物聯網做員工行為分析的軟體。該軟體通過員工情緒和行為的分心提供了一個有用的反饋給員工,從而提高了管理和工作習慣。
使用Python機器學習庫,opencv和haarcascading概念來培訓。建立了樣品POC來檢測通過安置在不同地點的無線攝像頭傳遞回來基礎情感像幸福,生氣,悲傷,厭惡,懷疑,蔑視,譏諷和驚喜。收集到的數據會集中到雲資料庫中,甚至整個辦公室都可以通過在Android設備或桌面點擊一個按鈕來取回。
開發者在深入分析臉部情感上復雜點和挖掘更多的細節中取得進步。在深入學習演算法和機器學習的幫助下,可以幫助分析員工個人績效和適當的員工/團隊反饋。
⑨ 普通程序員如何向人工智慧方向轉型
當下,人工智慧已經成為越來越火的一個方向。普通程序員,如何轉向人工智慧方向,是知乎上的一個問題。
這個學習路線是這樣設計的:首先了解這個領域,建立起全面的視野,培養起充足的興趣,然後開始學習機器學習的基礎,這里選擇一門由淺入深的課程來學習,課程最好有足夠的實驗能夠進行實戰。基礎打下後,對機器學習已經有了充足的了解,可以用機器學習來解決一個實際的問題。
這時還是可以把機器學習方法當作一個黑盒子來處理的。實戰經驗積累以後,可以考慮繼續進行學習。這時候有兩個選擇,深度學習或者繼續機器學習。深度學習是目前最火熱的機器學習方向,其中一些方法已經跟傳統的機器學習不太一樣,因此可以單獨學習。除了深度學習以外,機器學習還包括統計學習,集成學習等實用方法。
如果條件足夠,可以同時學習兩者,一些規律對兩者是共通的。學習完後,你已經具備了較強的知識儲備,可以進入較難的實戰。這時候有兩個選擇,工業界的可以選擇看開源項目,以改代碼為目的來讀代碼;學術界的可以看特定領域的論文,為解決問題而想發論文。
無論哪者,都需要知識過硬,以及較強的編碼能力,因此很能考察和鍛煉水平。經過這個階段以後,可以說是踏入AI領域的門了。「師傅領進門,修行在個人」。之後的路就要自己走了。
下面是關於每個階段的具體介紹:
0.領域了解
在學習任何一門知識之前,首先第一步就是了解這個知識是什麼?它能做什麼事?它的價值在什麼地方?如果不理解這些的話,那麼學習本身就是一個沒有方向的舟,不知道駛向何處,也極易有沉船的風險。了解這些問題後,你才能培養出興趣,興趣是最好的引路人,學習的動力與持久力才能讓你應付接下來的若干個階段。關於機器學習是什麼,能做什麼,它與深度學習以及人工智慧的關系,可以看我寫的博客從機器學習談起。
1.知識准備
如果你離校過久,或者覺得基礎不牢,最好事先做一下准備復習工作。「工欲善其事,必先利其器」。以下的准備工作不多,但足以應付後面階段的學習。
數學:復習以下基本知識。線性代數:矩陣乘法;高數:求導;概率論:條件與後驗概率。其他的一些知識可以在後面的學習的過程中按需再補;
英文:常備一個在線英文詞典,例如愛詞霸,能夠不吃力的看一些英文的資料網頁;
FQ:可以隨時隨地上Google,這是一個很重要的工具。不是說網路查的不能看,而是很多情況下Google搜出來的資料比網路搜的幾十頁的資料還管用,尤其是在查英文關鍵字時。節省時間可是很重要的學習效率提升;
2.機器學習
機器學習的第一門課程首推Andrew Ng的機器學習。這門課程有以下特點:難度適中,同時有足夠的實戰例子,非常適合第一次學習的人。cs229這門課程我這里不推薦,為什麼,原因有以下:
時間:cs229的時間太早,一些知識已經跟不上當今的發展,目前最為火熱的神經網路一筆帶過。而Cousera上神經網路可是用了兩個課時去講的!而且非常詳細;教學:Ng在cs229時候的教學稍顯青澀,可能是面對網路教學的原因。有很多問題其實他都沒有講清楚,而且下面的人的提問其實也很煩躁,你往往不關心那些人的問題。這點在Coursera上就明顯得到了改善,你會發現Ng的教學水平大幅度改善了,他會對你循循善誘,推心置腹,由淺入深的教學,在碰到你不明白的單詞術語時也會叫你不要擔心,更重要的,推導與圖表不要太完善,非常細致清晰,這點真是強力推薦;字幕:cs229的字幕質量比Coursera上的差了一截。Coursera上中文字幕翻譯經過了多人把關,質量很有保證;作業:cs229沒有作業,雖然你可以做一些,但不會有人看。這點遠不如Coursera上每周有deadline的那種作業,而且每期作業提交上去都有打分。更重要的是,每期作業都有實際的例子,讓你手把手練習,而且能看到自己的成果,成就感滿滿!
3.實踐做項目
學習完了基礎課程,你對機器學習就有了初步了解。現在使用它們是沒有問題的,你可以把機器學習演算法當作黑盒子,放進去數據,就會有結果。在實戰中你更需要去關心如何獲取數據,以及怎麼調參等。如果有時間,自己動手做一個簡單的實踐項目是最好的。
這里需要選擇一個應用方向,是圖像(計算機視覺),音頻(語音識別),還是文本(自然語言處理)。這里推薦選擇圖像領域,這裡面的開源項目較多,入門也較簡單,可以使用OpenCV做開發,裡面已經實現好了神經網路,SVM等機器學習演算法。項目做好後,可以開源到到 Github 上面,然後不斷完善它。實戰項目做完後,你可以繼續進一步深入學習,這時候有兩個選擇,深度學習和繼續機器學習;
4.深度學習
深度學習:深度學習是目前最火熱的研究方向。有以下特點:知識更新快,較為零碎,沒有系統講解的書。因此學習的資源也相對零散,下面是一些資源介紹。其中不推薦的部分並不代表不好,而是在這個初學階段不合適:
推薦,UFLDL:非常好的DL基礎教程,也是Andrew Ng寫的。有很詳盡的推導,有翻譯,且翻譯質量很高;推薦,Deep learning (paper):2015年Nature上的論文,由三位深度學習界的大牛所寫,讀完全篇論文,給人高屋建瓴,一覽眾山小的感覺,強烈推薦。如果只能讀一篇論文了解深度學習,我推薦此篇。這篇論文有同名的中文翻譯;推薦,Neural networks and deep learning:這本書的作者非常擅長以淺顯的語言表達深刻的道理,雖然沒有翻譯,但是閱讀並不困難;推薦,Recurrent Neural Networks:結合一個實際案例告訴你RNN是什麼,整篇教程學完以後,會讓你對RNN如何產生作用的有很清晰的認識,而這個效果,甚至是讀幾篇相關論文所沒有的;不推薦,Neural Networks for Machine Learning University of Toronto Coursera:深度學習創始人教的課,最大的問題是太難,而且老先生的吐字有時不是很標准;不推薦,Deep Learning (book):同樣也是由深度學習大牛所寫的書,但感覺就像是第二作者,也就是他的學生所寫的。很多內容都講了,但是感覺也沒講出什麼內容來,只是告訴你來自那篇論文,這樣的話可能直接閱讀論文更合適。不推薦,cs231n:李菲菲的課程,很有名,專門講CNN。但是這門課程有一個最大的問題,就是沒有字幕,雖然有youtube的自動翻譯字幕,但有還不如沒有。
5.繼續機器學習
深度學習未必就是未來的一定主流,至少一些大牛是這么認為的。傳統的機器學習有如下特點,知識系統化,有相對經典的書。其中統計學習(代表SVM)與集成學習(代表adaboost)是在實踐中使用非常多的技術。下面是相關資源:
推薦,機器學習(周志華):如果是在以前,機器學習方面的經典教材首推PRML,但現在周老師的書出來以後,就不再是這樣了。首先推薦讀周老師的書。這本書有一個特點,那就是再難的道理也能用淺顯精煉的語言表達出來。正如周老師的名言:「體現你水平的地方是把難的東西講容易了,而不是把容易的東西講難,想把一個東西講難實在太簡單」;
不推薦,Pattern Recognition And Machine Learning:當前階段不推薦。PRML是以貝葉斯的觀點看待很多機器學習方法,這也是它的一大特色。但對於初學者來說,這種觀點其實並無必要。而且此書沒有中文翻譯,當前階段硬啃很容易放棄;
6.開源項目
當知識儲備較為充足時,學習可以再次轉入實踐階段。這時候的實踐仍然可以分兩步走,學習經典的開源項目或者發表高質量的論文。開源項目的學習應該以盡量以優化為目的,單純為讀代碼而學習效果往往不太好。好的開源項目都可以在Github 里搜索。這里以深度學習為例。深度學習的開源優秀庫有很多,例如torch,theano等等,這里列舉其中的兩個:
推薦,DeepLearnToolbox:較早的一個深度學習庫,用matlab語言撰寫,較為適合從剛學習的課程轉入學習。遺憾的是作者不再維護它了;
推薦,tensorflow:Google的開源庫,時至今日,已經有40000多個star,非常驚人,支持移動設備;
7.會議論文
較好的課程都會推薦你一些論文。一些著名的技術與方法往往誕生於一些重要的會議。因此,看往年的會議論文是深入學習的方法。在這時,一些論文中的內容會驅使你學習數學中你不擅長的部分。有時候你會覺得數學知識儲備不夠,因此往往需要學習一些輔助課程。
當你看完足夠的論文以後,在這個階段,如果是在校學生,可以選擇某個課題,以發論文為目的來學習研究。一般來說,論文是工作的產物。有時候一篇基於實驗的論文往往需要你寫代碼或者基於開源項目。因此開源項目的學習與會議論文的工作兩者之間是有相關的。
兩者可以同時進行學習。關於在哪裡看論文,可以看一下CCF推薦排名,了解一下這個領域里有哪些優秀的會議。
下面介紹兩個圖像與機器學習領域的著名頂級會議:
CVPR:與另兩個會議ICCV和ECCV合稱計算機視覺領域的三大會,注意會議每年的主頁是變動的,因此搜索需要加上年份;Conference on Neural Information Processing Systems:簡稱NIPS,許多重要的工作發表在這上面,例如關於CNN的一篇重要論文就是發表在上面;
8.自由學習
到這里了,可以說是進入這個門了。下面可以依據興趣來自由學習。前階段不推薦的學習資源也可隨意學習,下面是點評:
cs229:Ng寫的講義很不錯,其中關於SVM的推導部分很清晰,想學習SVM推薦;Neural Networks for Machine Learning:大牛的視角跟人就是不一樣,看看Hinton對神經網路是怎麼看的,往往會讓你有種原來如此的感悟。其實看這門課程也等同於讀論文,因為幾乎每節課的參考資料里都有論文要你讀;CS231n: Convolutional Neural Networks for Visual Recognition:最新的知識,還有詳細的作業。國內應該有團隊對字幕進行了翻譯,可以找找;PRML:作為一門經典的機器學習書籍,是很有閱讀必要的,會讓你對機器學習擁有一個其他的觀察視角;
五.總結
本文的目的是幫助對AI領域了解不深,但又想進入的同學踏入這個門。這里只說踏入,是因為這個領域的專精實在非常困難,需要數年的積累與努力。在進行領域學習前,充分認識自己的特點,制定合適的學習方法是十分重要的。
首先得對這個領域進行充分了解,培養興趣。在學習時,保持著循序漸進的學習方針,不要猛進的學習過難資源;結合著學習與實踐相輔的策略,不要只讀只看,實際動手才有成就感。學習某個資源時要有充分的目的,不是為了學開源項目而看代碼,而是為了寫開源項目而看;不是為了發論文而寫論文,而是為了做事情而寫論文。
本文來自公眾號:「大技術技術匯」,guanzhu了解大數據行業學習大數據技術和學習路線,還有免費學習資料放送。
如果一個學習資源對你過難,並不代表一定是你的問題,可能是學習資源的演講或撰寫人的問題。能把難的問題講簡單的人才是真正有水平的人。所以,一定要學習優質資源,而不是不分青紅皂白的學習。最後,牢記以興趣來學習。學習的時間很長,過程也很艱難,而只有興趣才是讓你持之以恆,攻克難關的最佳助力。
⑩ AI寫的程序是否取代了碼農的工作
首先我來回答一下這個問題本身,即「ChatGPT的出現會不會導致底層程序員失業?」
我的答案是不會。因為ChatGPT是自然語言的處理工具,而並非嘩鬧編程AI,ChatGPT只是會一些編程,在目前ChatGPT寫的代碼還有比較明顯的問題,且由於ChatGPT是語言AI,所以後續大概率不會向編寫代碼的方向去迭代,所以ChatGPT不會造成程序員失業
好,回答了這個最初的問題,再回答一些衍生出的問題
那目前ChatGPT對程序員來說是什麼?
如果把ChatGPT學術價值放在一邊,那對程序員來說ChatGPT是一個網路和谷歌的加強plus版
以後可能會出現編程類AI嗎?
至少我個人認為會。且我個人感覺,可能還比ChatGPT相對來說難度小一些(在我看來ChatGPT更加顛棗謹覆性)
如亂岩罩果真的出現人工智慧編程,程序員會失業嗎?
我不知道。就像機器出現後,手藝人不需要在自己造各種食品,但是出現了操作機器創造商品的工人。但是可以遇見的是一定會對程序員這行造成相當大的地震。