-
1 # 計算機科學論文導讀
-
2 # 松仔不將就
無論AI還是大資料分析、區塊鏈,我們可以採用面向服務的方式來看。AI是一項技術革新,但終歸是一種服務能力。單純的AI技術如果不結合具體業務,也是沒有實際意義的。
說起服務,就要提到服務提供者和服務使用者,前者生產服務,後者消費服務。分別來看:
1 AI提供者。也就是我們所說的生產AI演算法的AI工程師,他們利用深度學習、神經網路等演算法構造一種原本需要用大量人工才能實現的能力。目前在大學階段還很少涉及這個方面的研究,從研究生階段開始,計算機相關專業的學生可以選擇這個方向做研究。也就是說,至少需要在計算機相關專業研究生這一學歷攻讀過程中,才能真正入門。面試過很多應聘者,透過自學能將演算法研究明白並革新的人少之又少,所以如果高等數學和計算機理論不紮實,幾乎無法踏入這個領域。這裡我們特指的是產出演算法的職位,而不是用程式實現現有演算法的職位,實現演算法和產出演算法不在一個水平線上,普通程式設計師也可以實現或演算法,但不能叫“AI工程師”。
2 AI使用者。前面提到過,AI是一種技術能力,技術能力需要有具體的業務來實踐,如果能將現有的AI技術應用於某一領域,使某一領域的經濟產出大幅提高,也是一種能力的體現。事實上,除了某些網際網路大廠有能力高薪聘請技術專家研究演算法,大部分企業都是使用者或者消費者,大家拿到演算法應用在自己的企業或領域提升產量和績效。打個比方,一個簡單的聚類演算法,應用在商店可以區分商品類別便於擺放佈局,應用在銀行可以區分使用者類別提供個性服務,應用在商業可以實現精準營銷,我們不需要知道聚類內部是怎麼實現的。知道聚類怎麼用,一樣可以做出巨大貢獻。
所以綜上,如果您的演算法和數學基礎不高,建議您偏向後者,學習現有的主流AI技術能實現什麼,然後應用到您所在的領域進行創新產生價值,而不必研究演算法的內部原理甚至最佳化演算法。
個人意見供您參考。
-
3 # IT人劉俊明
作為一名科技工作者,同時也是一名教育工作者,我來回答一下這個問題。
站在科技行業的角度來看,當前已經進入了人工智慧時代,隨著各大科技公司紛紛開放自身的人工智慧平臺,未來更多的人工智慧應用將逐漸開始落地應用。從目前產業結構升級的大背景來看,人工智慧產品將首先會考慮在行業領域實現落地應用,而這個過程中會釋放出大量的應用型人才需求。從這個角度來看,對於廣大的應用級程式設計師來說,未來在人工智慧平臺的輔助下,人工智慧產品的開發難度會大幅度下降。
從目前已經推出的人工智慧平臺來看,主要集中在計算機視覺和自然語言處理兩大領域,實際上這兩大領域也是目前人工智慧最常見的應用領域,相關的應用案例和應用場景也相對比較多。除了計算機視覺和自然語言處理之外,目前人工智慧平臺還整合了更多的行業資源,在結合雲計算平臺的情況下,人工智慧技術的應用範圍會得到明顯的拓展。實際上,隨著5G通訊的落地應用,雲計算平臺、大資料平臺和人工智慧平臺的結合會逐漸緊密,而且未來很有可能會在物聯網領域形成整體的落地方案。
最後,對於基礎知識比較薄弱的人來說,應該注重知識結構的全面性,尤其是要掌握一些平臺相關的開發知識,未來可以選擇走全棧程式設計師路線。
-
4 # 機器學習之路
如果演算法基礎和數學基礎都不高,學AI就只能做個調包俠了,除此之外還能為你提供解決某些問題的思路,如果是這樣我建議你還是不要踏入這個行業了,做一個軟體開發工程師也許會更好。
調包俠很多演算法其實已經都被封裝好了,你也不需要對演算法和數學基礎要求有多高,一句代價即可呼叫。下面就用MXNet深度學習框架來介紹一下,這裡就以SSD目標檢測演算法為例
不用訓練,也不需要任何的演算法和數學基礎你就完成了一個目標檢測演算法。
透過圖片觀察你可以發現,蠟筆小新有一個土豆頭、大耳朵、喜歡穿紅色短袖、黃色褲子等,然後再根據這些特徵定義一系列的規則,最終我們的程式能夠識別出蠟筆小新了,但是實際應用的時候你會發現這些特徵大都需要設定閾值,而小新也不是那麼聽話只保持某個動作,他會做很多動作從而導致你的程式識別率並不高。
所以,這時候你必須要透過其它的方法來實現這個功能了,然而這時候你瞭解到了有一種目標檢測演算法可以很好的解決這個問題,這時候你學到AI演算法就能夠應用上了。
為什麼說如果演算法和數學基礎如果不夠,不建議踏入這個行業呢?等你學完之後,想找一個人工智慧開發崗位的工作時,你會發現面試官老是會問各種演算法原理,如果沒有一定數學知識和演算法知識是很難學會這些東西的,所以如果這些基礎不紮實在面試的時候就會被pass掉,更別說找一份好工作了。
而且人工智慧行業的演算法更新迭代速度之快,如果你沒掌握一定的演算法和數學知識也是無法看懂論文來更新你的知識,所以即使你有幸能夠踏入這個行業,也很難有一番成就。
-
5 # Sunshine81987599
我是一名從事AI演算法研究的有點跳的研究者。數學基礎不好,演算法基礎不好。我不能一口氣告訴你,你能不能從事這個行業。現在我就說說現在AI演算法研究一些分層。
第一層,以老一輩計算機開發工作人員為主,有紮實的編碼能力,轉AI演算法後,只需要瞭解演算法流程,在github上面copy程式碼,用在自己的專案,並且修改一些小東西,比如引數,bn,或者減少一些層,增加一些層。其實就是在瞎改,神經網路是“黑匣子”?其實不是,只是層數太多我們人很難準確分析每一層的內容,一個龐大的複合函式靠人去分析每一層很容易繞暈的,從理論上來看它根本不是黑匣子。只是好多人不想去研究,也比較複雜。這一層其實目前是比較吃香的,因為公司招你進去就是你做不了演算法,也可以轉開發。
第二層,以高校為主,導師有著紮實的理論基礎,特別是有數學專業背景的導師,紙上談兵說一些東西讓學生去做,其實沒有多少實踐經驗。我的觀念是理論為主,實驗為輔,以實驗最佳化理論,以理論促進實驗。
第三層的第一層,以各大高校學生為主,包括985 211研究生,跟著這個神經網路的時代,心思沒有在於基礎理論課,但或多或少大學學過一點數學,可是不是數學專業,或者就算是數學專業,數學基礎也不好。看著現在最新的網路,感覺擁有了一切,然後並不明白其中原理,也不知如何改進創新。如果是計算機專業的,可以寫上漂亮的程式碼,包括leecode上面的演算法題,那種演算法題不是數學意義上的演算法,只能說是計算機網路方面的演算法。這種出去目前是比較好找工作的,包括去大廠也是沒問題的。
第三層的第二層,這一層也是學生為主,可是是一批精通理論研究的研究生或者博士。其中許多數學專業畢業,為什麼這麼肯定呢?因為我是數學專業畢業明白周圍熱愛數學的同學的一些鑽研精神,有些問題必須給我給數學解釋,不然我不解釋,哈哈哈。我研究生的一位師弟就是這樣的,曾經學習CNN的時候把CNN的bp演算法每一步每一層都要問清楚,包括為什麼那麼更新,那麼翻轉,那麼卷積,其實都是有數學依據的,這裡就不細說了。同時這類學生還會研究機器學習,強化學習等,傳統演算法估計現在從事AI的工作人員知道的也少。他們這類演算法其實是最具有數學美的演算法也是比較難理解的演算法,只是因為目前全自動的爆發,以及大樣本的使用,我們有了更加簡單的神經網路替代。因為時間有限,這類同學實踐經驗不行,也就是程式碼能力沒有計算機的好,找工作也不如計算機的好找,這也體現了現在各大公司AI研究的可悲。儘管AI研究人多並且感覺很有收穫,可瞭解的都知道,裡面有多少水的東西,好多厲害的工業上演算法的作者全是國外的,其實這類同學培養一下程式碼能力,他們是最有創新能力的一批AI研究者。
第四層,這個就厲害了,數學基礎演算法基礎程式碼能力全部都紮實的,他們基本是各大主流演算法的作者,中國的類似陳天奇,何凱明這類人,可以說他們才是真正推動AI發展的人。
第五層,那就是第四層背後的個別導師了,因為經常有青出於藍勝於藍。
那麼最後到底什麼是數學基礎紮實呢?不是你學了多少課,而是你對於數學知識到底如何理解的,從數學專業來看目前AI用到的數學知識只有本科數學專業的三分之一。機率上面你得清楚知道什麼是分佈,什麼是機率,實變函式可以告訴你空間和機率論之間的關係。基本現在用到的一些細節就是條件 邊緣 貝葉斯 變分法 蒙特卡洛 期望 方差 偏差 修正 分佈間的度量
。數值計算方面梯度下降等一系列最佳化演算法。最佳化演算法方面,有凸規劃要學,這也是現在AI的基石。當然尋優還有很多演算法比如遺傳演算法,鳥群演算法等。幾何方面也有許多,不過大家應該都沒問題。數學裡面還有個泛函和運算元,這也是很重要的。還有對低維到高維也要真正理解。矩陣方面有特徵值,跡,跡的性質,特徵向量,正交矩陣,還有各類變換,其實這就涉及到矩陣乘發的本質意義了。基本降維上面都利用了矩陣的一些知識點。還有就是函式的逼近,泰勒,傅立葉,以及離散和連續的轉化。
演算法基礎方面,如果是svm,gbdt,神經網路各類演算法,數學基礎也是演算法基礎。如果是leecode什麼的,大家刷題就好了。
演算法方面本是一家人,不要分得太開哦,祝大家國考順利。
-
6 # 江西新華小憶
很多演算法其實已經都被封裝好了,你也不需要對演算法和數學基礎要求有多高,一句代價即可呼叫。下面就用MXNet深度學習框架來介紹一下,這裡就以SSD目標檢測演算法為例
回覆列表
AI範圍比較廣,包括自動控制,機器推理,機器學習等等,包括對應的軟體和硬體演算法。在這裡我們只討論近期較火的機器學習,包括深度學習。對於傳統的統計學習模型,需要知其然更知其所以然,否則如何選擇和解釋模型以及根據不同場景和資料選擇不同的超引數會是一個較大問題,這裡涉及到的數學基礎包括微積分,機率論,線性代數及最佳化理論,深度都不超過本科數學的內容。而對於深度學習,目前的主流演算法反向傳播演算法涉及到的數學只有入門微積分知識(求導的鏈式法則),至於訓練深度學習模型應用到的最佳化演算法,如梯度下降,adam等等涉及到基礎的最佳化理論。深度學習的發展主要得益於大資料和計算力的增長,其主要難點也在於如何使用海量資料來分散式訓練超大型模型,以及如何部署模型,這些都涉及到分散式系統的內容。大多數情況下,深度學習模型對於深度學習工程師而言是一個黑盒,他們的主要工作更多需要計算機程式設計和系統設計能力。另外,隨著自動機器學習的發展,透過算力來取代昂貴的機器學習科學家漸漸成為主流,所以ai行業對機器學習工程師的需求量已經超過機器學習科學家。對於機器學習工程師,能夠有深厚的數學基礎當然是錦上添花,計算機程式設計和系統設計的能力更是必備技能。