網站開發過程中(zhōng),必将應用(yòng)到算法。紐約網頁設計,紐約網站開發就帶你看看算法工程師幫你解開其中(zhōng)的玄妙。
購(gòu)物(wù)網站用(yòng)算法為(wèi)你推薦喜歡的商(shāng)品,打車(chē)軟件用(yòng)算法幫你選擇最佳路線(xiàn),信息平台用(yòng)算法為(wèi)你推薦閱讀新(xīn)聞……算法在無形當中(zhōng)影響着我們生活的方方面面。
那麽,算法工程師是怎樣的一種存在?他(tā)們的日常工作(zuò)是怎樣的?算法工程師嚴津(化名(míng))講述了這個外界看來高大上又(yòu)略帶神秘感的工作(zuò),他(tā)每天的工作(zuò)是優化算法,他(tā)感覺工作(zuò)有激情。他(tā)說,還可(kě)能(néng)用(yòng)算法預測股票和房價或實現智能(néng)家居的控制。
從去年7月開始,他(tā)開始培訓一位零基礎的高中(zhōng)同學(xué),努力将其訓練為(wèi)合格的算法工程師。最近他(tā)們二人就目前火熱的知識競答(dá)用(yòng)算法搞了一點事情:做了一個程序,每次答(dá)題基本都能(néng)在5秒(miǎo)鍾之内得到答(dá)案。
嚴津(化名(míng))從中(zhōng)科(kē)院畢業時,手上拿(ná)到多(duō)個offer,但是他(tā)選擇了從事前沿的人工智能(néng)和機器學(xué)習相關的工作(zuò)——算法工程師,年薪30萬元左右。文(wén)/廣州日報全媒體(tǐ)記者李 華
攻克難關沒有捷徑
廣州日報:你是中(zhōng)科(kē)院碩士畢業生,你的網絡ID旁标注了“數學(xué)~數學(xué)~數學(xué)~”,你學(xué)的是數學(xué)專業嗎?
嚴津:不是數學(xué)專業,學(xué)的是計算機專業,不過研究生(專業)對數學(xué)要求比較高。
廣州日報:你是如何開始學(xué)習機器學(xué)習的?在學(xué)校時,你對算法的認識如何?想到以後會成為(wèi)算法工程師嗎?
嚴津:研一時學(xué)過一些機器學(xué)習的課程。在學(xué)校的時候需要參加一些科(kē)研項目和發表論文(wén),當時自己研究了一些機器學(xué)習的東西。在學(xué)校的時候,對算法有一些認識,如果沒有認識也做不了項目,論文(wén)也發表不了。我們研三上學(xué)期開始找工作(zuò),當時還是比較堅定要成為(wèi)一位算法工程師。我是當年9月結束找工作(zuò),沒有參加校招,通過内推找到工作(zuò)。
廣州日報:你現在成為(wèi)算法工程師,在過去的學(xué)習經曆中(zhōng),你掌握的哪些學(xué)科(kē)或技(jì )能(néng)幫助特别大?
嚴津:最有用(yòng)的學(xué)科(kē)是計算機和數學(xué)。有計算機的知識才能(néng)把算法落地實現,數學(xué)能(néng)幫助優化算法。
遇到的技(jì )術上挑戰是編程會遇到一些bug(漏洞);數學(xué)方面可(kě)能(néng)有一些公式需要用(yòng)到一些高數、線(xiàn)性代數、概率統計方面的知識,這還是難看懂的;還有就是英語難關,無論從開始閱讀到後來寫(代碼)都是比較困難的。
克服這些難關沒有捷徑,基本上是自己去研究,一步一個腳印去啃,其實大家都是這樣。
廣州日報:你畢業後拿(ná)到了N個offer,你是如何打動這些公司的?
嚴津:校招的面試有一些套路,問的問題不多(duō),基本是那些。不同公司隻面試同一個崗位,問題都差不多(duō),隻要把這些問題研究透了,還是能(néng)找到工作(zuò)的。不過整個過程還是蠻辛苦的。
模拟人腦解決問題
如今,嚴津在北京衆多(duō)互聯網公司聚集的後廠村路的某公司從事算法推薦工作(zuò),他(tā)每天專注于優化算法,他(tā)感覺每天都很(hěn)有激情。在他(tā)看來,算法無處不在:語音識别、自動駕駛、推薦(購(gòu)物(wù)、新(xīn)聞)……算法在無形當中(zhōng)影響着我們的生活。
廣州日報:你目前的算法工程師崗位主要負責什麽業務(wù)?現在算法工程師是當下熱門的職業,你是如何看待這個職業的?
嚴津:我是負責推薦算法。這個職業非常有趣、有前景,也非常有意義。每天很(hěn)有工作(zuò)熱情。以前工業革命解決的問題可(kě)能(néng)是通過發明一些機械去改變人的手腳(功能(néng)),比如汽車(chē)改變腳;然而現在算法工程師解決的問題大部分(fēn)都是用(yòng)機器模拟人的腦力勞動,比如人工智能(néng)、機器學(xué)習,它分(fēn)析數據(圖片、文(wén)字、語音等),(分(fēn)析過程)你可(kě)以想象是人眼、耳朵接收到信息,然後通過算法、人工智能(néng)引擎去模拟人腦去做一些處理(lǐ),從而來解決一些簡單或複雜的腦力活動。
廣州日報:在你看來,現在我們生活中(zhōng)的哪些場合會使用(yòng)算法?你做的項目跟我們現在的哪些生活方面有關?如何影響我們的生活?
嚴津:如上所說,既然它是模拟人腦,你可(kě)以讓所有場景使用(yòng)算法這個東西,因為(wèi)畢竟生活也是通過人腦處理(lǐ)這些内容。比如語音識别、自動駕駛、推薦,這些都在用(yòng)算法。比如推薦領域,以前的新(xīn)聞是編輯推薦,編輯覺得好,推薦給大家看,現在算法推薦可(kě)以發現那些原來不受到重視的銷量小(xiǎo)但種類多(duō)的産(chǎn)品或服務(wù),可(kě)以通過興趣推薦,更多(duō)是考慮到用(yòng)戶的反饋,包括用(yòng)戶的點擊和其他(tā)行為(wèi),這更民(mín)主。
廣州日報:你日常的一天的工作(zuò)内容如何?平時更多(duō)的是跟算法、機器打交道你感覺如何?有什麽發生在人機間令你印象深刻的事?
嚴津:日常的工作(zuò)是優化一些算法,我感覺挺好的,可(kě)以學(xué)習到一些知識、解決一些問題和服務(wù)用(yòng)戶,感覺比較有激情。
印象深刻的是有一次,我調用(yòng)了一個手寫識别的API(應用(yòng)程序編程接口),當時讓一個同事體(tǐ)驗我做的東西,他(tā)寫了一個字,我都沒認出來,但是機器卻能(néng)正确識别,當時感覺非常驚豔,機器可(kě)能(néng)比人更了解你的意圖。
算法在迎合人們
每一次的購(gòu)買行為(wèi)、閱讀行為(wèi)、打車(chē)行為(wèi),算法都在學(xué)習如何更了解我們,通過學(xué)習算法變得更加聰明,更加了解我們的需求。嚴津說,算法需要價值觀,畢竟現階段的算法還不成熟,還需要人工幹預。
廣州日報:就在前幾天,今日頭條公布了它的算法原理(lǐ),作(zuò)為(wèi)算法工程師,你如何看待此事?算法用(yòng)以分(fēn)發信息,是否需要具有價值觀?
嚴津:這确實是一個比較好的事情,以前是黑箱的,大家不清楚它的工作(zuò)原理(lǐ),可(kě)能(néng)會恐懼這個東西。現在公布了後,大家至少有一個了解,這是挺不錯的。
算法需要價值觀,因為(wèi)算法大部分(fēn)是通過數值衡量,這對一些量化的東西才能(néng)有效。但有一些東西确實很(hěn)難衡量,此時還是需要一些人為(wèi)幹預,畢竟現在算法還不是完全的成熟。
廣州日報:如今打車(chē)、社交、購(gòu)物(wù)等,人們生活的方方面面都被算法影響,算法是如何變得聰明更加了解人的需求呢(ne)?算法是在迎合人們嗎?
嚴津:算法是在迎合人們。算法有一個優化目标,往往是通過用(yòng)戶的一些數據指标來衡量,比如說,提高一些用(yòng)戶量、提高用(yòng)戶的停留時長(cháng)以及提高一些點擊量等這些維度,這些東西是在迎合人類。
算法怎麽變聰明呢(ne)?比如現在算法有一個目标了,它裏面會用(yòng)到一些數學(xué)的優化方法,然後通過數據訓練得到一個更好的決策模型,通過這個流程變得聰明、更了解人的需求。
廣州日報:現在大家每天都在消費信息,很(hěn)多(duō)平台都在使用(yòng)算法推薦新(xīn)聞,你從算法工程師的角度觀察,大家是否也會受困于過濾氣泡?作(zuò)為(wèi)算法工程師是否有能(néng)力改變這樣的現狀?
嚴津:感覺是存在過濾氣泡(指的是計算機記錄互聯網受衆在網上搜索、浏覽等留下的痕迹,根據這些線(xiàn)索,計算機推斷出受衆的信息偏好,進而依據自身判斷來向受衆進一步推送相關信息,以此實現受衆的信息個性化定制,保證用(yòng)戶的黏性)這個問題。其實改變這個現狀,可(kě)以通過數值量化解決問題,如果一旦把它變成一個數學(xué)問題基本上可(kě)以解決。
人人能(néng)成算法工程師
嚴津的一位高中(zhōng)同學(xué)從事的是機務(wù)工作(zuò),對這份工作(zuò)不甚滿意。嚴津決定挑戰一下,用(yòng)一年(2017年7月~2018年7月)的業餘時間,将零基礎的小(xiǎo)機務(wù)努力培養成為(wèi)一個合格的算法工程師,目前的進展超出預期。
廣州日報:為(wèi)什麽決定将零基礎的小(xiǎo)機務(wù)培養成為(wèi)一個合格的算法工程師?目前實驗進展如何?在培養他(tā)的過程中(zhōng),最難的部分(fēn)是什麽?
嚴津:我個人比較喜歡王興(美團網創始人),想像他(tā)那樣做有趣、有意義、有利的事情,當時我跟小(xiǎo)機務(wù)也想做一件這樣的事。但個人能(néng)力有限,當時也沒有想到特别好的其它事情,(剛好)小(xiǎo)機務(wù)對當前的工作(zuò)也不是特别滿意,然後我就想能(néng)不能(néng)把他(tā)這樣一個零基礎的小(xiǎo)機務(wù)培養成一個算法工程師。
目前培訓過程進行了半年,感覺大家還是比較樂在其中(zhōng),進程超出預期。小(xiǎo)機務(wù)已經能(néng)夠實現一些基本的算法,調用(yòng)算法基本沒問題,優化算法也基本沒問題,一些數學(xué)公式的推導也能(néng)實現,編程也有很(hěn)大進步。最難的部分(fēn)是剛開始時數學(xué)、編程的入門比較困難,但突破以後還是比較順利的。
廣州日報:你覺得人人都能(néng)成為(wèi)算法工程師嗎?普通人想成為(wèi)算法工程師需要什麽技(jì )能(néng)和思維方式?
嚴津:我覺得人人都能(néng)成為(wèi)算法工程師。從去年到現在,(訓練)同學(xué)的流程沒有想象中(zhōng)那麽難,你隻要按照一個正确的路徑,少走很(hěn)多(duō)彎路,還是可(kě)以成為(wèi)算法工程師。現在有很(hěn)多(duō)讓不太懂算法的人也能(néng)用(yòng)的算法工具,它的門檻并不高,比如微軟前段時間發布了相關的工具。
成為(wèi)算法工程師需要邏輯思維,技(jì )能(néng)方面需要具備編程基礎和一些數學(xué)基礎,其實并沒有想象中(zhōng)那麽難。
廣州日報:成為(wèi)算法工程師,主要需要具備哪些技(jì )能(néng)?
嚴津:1.完成機器學(xué)習基礎的學(xué)習。機器學(xué)習方面的知識是算法工程師區(qū)别于普通程序員的核心,這部分(fēn)要重點掌握。
2.刷題。要刷完《劍指offer》這本書,大概50題,最後可(kě)以手寫代碼,并進行一些基本的邏輯訓練。
3.完成基礎語言的學(xué)習。
4.計算機基礎訓練。
廣州日報:在日常生活中(zhōng),你會運用(yòng)算法做些什麽事,讓你的生活變得更有趣?
嚴津:會做很(hěn)多(duō),比如可(kě)以用(yòng)算法去預測股票和房價,這都可(kě)以試着去做,還可(kě)以做一些像智能(néng)家居的控制。另外我們會參加一些算法的比賽,在比賽過程中(zhōng)也是非常有意思的。
廣州日報:目前你的年薪是30萬元,你對現在的工作(zuò)内容和報酬滿意嗎?未來算法工程師的前景如何?
嚴津:這個工資其實是比較正常的,基本是算法工程師的平均水平。算法工程師的前景是非常好的,我覺得算法能(néng)應用(yòng)到各方面解決核心問題,你看每年校招的(算法工程師)工資是越來越高,從這也能(néng)知道它前景火爆。