關於人工智慧、程式設計以及機器學習
人工智慧會讓程式員失業嗎?
當人工智慧逐漸強大,大家開始擔心:人工智慧下一步又要在哪個領域幹掉人類?
AI會讓人類程式設計師失業嗎? 對此問題持肯定態度的人並不在少數。
比如:美國橡樹嶺國家實驗室在去年底釋出的論文《 360d639e9e3ce3276a9781c79222fd51&scene=21#wechat_redirect" target="_blank" rel="nofollow,noindex">人機混編的程式碼意味著什麼?人類 2040 年還需要親自編寫程式碼嗎? 》中表示:到了2040年,大多數的程式程式碼將由機器生成。
2040年距今天還有些距離,至少當下,AI沒有讓程式設計師失業,而是讓程式設計師更貴了。
前幾天刷屏的《 AI 時代,為什麼程式設計師這麼貴 》一文,csdn的蔣總認為:AI的發展,不僅不會使程式設計師消亡,反而使得各行各業比現在更加需要程式設計師——程式設計師的求職範圍不再侷限於軟體或網際網路行業,社會總需求激增,人才 自然 也就更貴了。
筆者對蔣總的觀點蠻贊同的,當前的勢頭也確實如此。
不過,再過5-10年,程式設計師還會如今日行情嗎?
程式設計日益成為通用技能
個人認為:在不是很久遠的將來(也許三五年,也許十來年之後), 程式設計將從職業技能逐步蛻變為職場通用技能 。
我們可以類比“識字”這個技能來看——
百十年前,大多數老百姓都不認識母語文字。當時,識字無疑一種職業技能。具備了這一技能,就可以獲得一個比大多數人工作環境更優越,報酬也更高的職位。
但到了今天,識字率已經逼近100%,僅僅“認得字”,還是隻能從事低端工作。
未來,程式設計將成為人人都會做的事情,職場中的一員,除了要具備聽說讀寫本國語言的能力外,還得能夠讀程式、寫程式碼——即使一時無法覆蓋全員,至少是朝著這個方向發展。
而職業寫程式碼的人,將越來越少。
類似的技能還有:駕駛——汽車工業發展起來後,職業司機會越來越少,駕駛成為了當代社會人們的一種通用技能。
演算法——程式設計的核心
從語言特徵( 詞彙、 語法等)的角度來講,最複雜的程式語言遠比最簡單的自然語言簡單得多。
我們學習各種自然語言是為了日常生活與人交流、收取資訊,學習程式語言又是為什麼呢?總不是為了說“您吃了嗎?”或者“打點折”吧。
我們用程式語言描述事物、概念,以及它們之間的相互關係和執行方式,將大千世界轉化為計算機能夠理解的電訊號,驅動矽晶金屬構造的部件去完成任務!
程式設計的核心在於通過各種各樣的演算法去實現具體的業務邏輯,把繁雜的過程抽象化、可計算化。從純粹軟體的角度講,甚至可以說: 演算法 + 資料 == 計算機程式 。
受過計算機科班教育的人一定上過一門課:資料結構,這門課是電腦科學的基礎,它的核心內容就是各式各樣的演算法。
最簡單的如排序、查詢;之上是進階部分,例如動態規劃、分治、回溯等策略,都是幾代電腦科學家從解決現實問題中提取出的套路——這些才是程式設計的核心。
從基礎演算法到機器學習
今天的程式設計師學習程式設計 ——
-
首先,要了解程式語言的語法特徵;
-
並且,掌握編譯或解釋的過程,及編譯器/直譯器效能,除錯方法、工具等;
-
然後,配合演算法,實現業務邏輯——就可以做很多(幾乎是任意的)事情了。
但把目光放長遠些,只會這些,還是遠遠不夠。
雖然目前基礎演算法和機器學習還是涇渭分明的兩部分內容,但筆者認為,未來這兩部分終將合流。
隨著其落地點和應用越來越多, 機器學習必將融入到常規 程式設計之中 。
反過來,能夠讓越來越多的人在程式設計中運用機器學習的成果,也是計算機技術發展的結果。
雖然人類對於用數值表達事物,用運算推演事物聯絡的研究已經持續了幾千年。但在沒有計算機的年代,稍許複雜的數值計算就需要數學家、統計學家的介入,普通人難以勝任。
後來,有了Excel之類的工具,一般人也可以負擔常用的資料統計工作了。
機器學習也是一樣的道理,大量工具、框架的湧現,使得運用演算法處理資料,訓練模型的過程越來越簡單高效。
那些曾經高高在上的機器學習模型變得觸手可及,只要寫幾行程式碼,就都能拿來就用了。 這種便捷使得每一個會寫程式的人,都可以輕鬆上手機器學習。
修煉內功——掌握機器學習原理
工具雖多,要用對地方,還得 掌握基本原理 。
在使用統計工具的時候,我們可以很方便地計算均值、方差、中位數等等指標。但要讓計算結果有用,總要先搞懂它們的定義、計算公式和物理意義。
同理,在機器學習領域,我們有若干歷史悠久的經典模型。它們從實踐中來,經歷了千錘百煉,在數學層面被嚴格證明為有效。
那麼,學習它們的模型函式、目標函式,從模型函式到目標函式的運算過程,各個函式相應的物理意義,最優化的方法……就成了使用它們的必要前提!
掌握了這些模型之後,再與特徵工程結合,就可以用來支援現實業務了。
學習機器學習的意義
計算機技術飛速發展,各種工具、框架、語言日新月異。但是蘊含在 機器學習中的原理和公式推導卻是穩定的 ,經得起時代更迭。
我們學習機器學習,不僅是為了找一個AI工程師的崗位,也是在 掌握一種通識技能 。
相信將來機器學習會像現在的四則運算一樣,成為大眾必備的基礎能力。
另外,學習機器學習,也是 一種對思維的訓練 。
用數值表達現實事物,用運算描述任務目標,再通過演算法處理資料找到達到目標的最優化路徑——這個思維的形成過程,遠比學會模型本身更為難得。
經過這種思考訓練內化出的思維能力,完全可能成為學習者相伴終身的助力。
小編直通車:掃描下列二維碼新增聯絡人
“眾智匯” 願景
盡職盡才,允公允能 —— 本社群不定期舉行線上分享,組織群友分享知識、經驗、資源,以達到 讓我們每個人的職業生涯得到最大程度的發展 的目的 。
往期線上分享例項
OA==&mid=2652730852&idx=1&sn=ec5e2778c31d1e664f5076a9ecb51057&chksm=805c1f57b72b964106416d4ff48d3653a0a1c30aa5f69ffbeb7943474e3716299bc20c39f338&scene=21#wechat_redirect" target="_blank" rel="nofollow,noindex"> 讓人人都能使用AI
成全自己的熱愛與瘋狂——從醫生到創業者+動漫創作者,夢想使然
歡迎掃面下列二維碼關注“悅思悅讀”公眾微訊號