⑴ 演算法工程師應該學哪些
一、演算法工程師簡介
(通常是月薪15k以上,年薪18萬以上,只是一個概數,具體薪資可以到招聘網站如拉鉤,獵聘網上看看)
演算法工程師目前是一個高端也是相對緊缺的職位;
演算法工程師包括
音/視頻演算法工程師(通常統稱為語音/視頻/圖形開發工程師)、圖像處理演算法工程師、計算機視覺演算法工程師、通信基帶演算法工程師、信號演算法工程師、射頻/通信演算法工程師、自然語言演算法工程師、數據挖掘演算法工程師、搜索演算法工程師、控制演算法工程師(雲台演算法工程師,飛控演算法工程師,機器人控制演算法)、導航演算法工程師(
@之介
感謝補充)、其他【其他一切需要復雜演算法的行業】
專業要求:計算機、電子、通信、數學等相關專業;
學歷要求:本科及其以上的學歷,大多數是碩士學歷及其以上;
語言要求:英語要求是熟練,基本上能閱讀國外專業書刊,做這一行經常要讀論文;
必須掌握計算機相關知識,熟練使用模擬工具MATLAB等,必須會一門編程語言。
演算法工程師的技能樹(不同方向差異較大,此處僅供參考)
1 機器學習
2 大數據處理:熟悉至少一個分布式計算框架Hadoop/Spark/Storm/ map-rece/MPI
3 數據挖掘
4 扎實的數學功底
5 至少熟悉C/C++或者java,熟悉至少一門編程語言例如java/python/R
加分項:具有較為豐富的項目實踐經驗(不是水論文的哪種)
二、演算法工程師大致分類與技術要求
(一)圖像演算法/計算機視覺工程師類
包括
圖像演算法工程師,圖像處理工程師,音/視頻處理演算法工程師,計算機視覺工程師
要求
l
專業:計算機、數學、統計學相關專業;
l
技術領域:機器學習,模式識別
l
技術要求:
(1) 精通DirectX HLSL和OpenGL GLSL等shader語言,熟悉常見圖像處理演算法GPU實現及優化;
(2) 語言:精通C/C++;
(3) 工具:Matlab數學軟體,CUDA運算平台,VTK圖像圖形開源軟體【醫學領域:ITK,醫學圖像處理軟體包】
(4) 熟悉OpenCV/OpenGL/Caffe等常用開源庫;
(5) 有人臉識別,行人檢測,視頻分析,三維建模,動態跟蹤,車識別,目標檢測跟蹤識別經歷的人優先考慮;
(6) 熟悉基於GPU的演算法設計與優化和並行優化經驗者優先;
(7) 【音/視頻領域】熟悉H.264等視頻編解碼標准和FFMPEG,熟悉rtmp等流媒體傳輸協議,熟悉視頻和音頻解碼演算法,研究各種多媒體文件格式,GPU加速;
應用領域:
(1) 互聯網:如美顏app
(2) 醫學領域:如臨床醫學圖像
(3) 汽車領域
(4) 人工智慧
相關術語:
(1) OCR:OCR (Optical Character Recognition,光學字元識別)是指電子設備(例如掃描儀或數碼相機)檢查紙上列印的字元,通過檢測暗、亮的模式確定其形狀,然後用字元識別方法將形狀翻譯成計算機文字的過程
(2) Matlab:商業數學軟體;
(3) CUDA: (Compute Unified Device Architecture),是顯卡廠商NVIDIA推出的運算平台(由ISA和GPU構成)。 CUDA™是一種由NVIDIA推出的通用並行計算架構,該架構使GPU能夠解決復雜的計算問題
(4) OpenCL: OpenCL是一個為異構平台編寫程序的框架,此異構平台可由CPU,GPU或其他類型的處理器組成。
(5) OpenCV:開源計算機視覺庫;OpenGL:開源圖形庫;Caffe:是一個清晰,可讀性高,快速的深度學習框架。
(6) CNN:(深度學習)卷積神經網路(Convolutional Neural Network)CNN主要用來識別位移、縮放及其他形式扭曲不變性的二維圖形。
(7) 開源庫:指的是計算機行業中對所有人開發的代碼庫,所有人均可以使用並改進代碼演算法。
(二)機器學習工程師
包括
機器學習工程師
要求
l
專業:計算機、數學、統計學相關專業;
l
技術領域:人工智慧,機器學習
l
技術要求:
(1) 熟悉Hadoop/Hive以及Map-Rece計算模式,熟悉Spark、Shark等尤佳;
(2) 大數據挖掘;
(3) 高性能、高並發的機器學習、數據挖掘方法及架構的研發;
應用領域:
(1)人工智慧,比如各類模擬、擬人應用,如機器人
(2)醫療用於各類擬合預測
(3)金融高頻交易
(4)互聯網數據挖掘、關聯推薦
(5)無人汽車,無人機
相關術語:
(1) Map-Rece:MapRece是一種編程模型,用於大規模數據集(大於1TB)的並行運算。概念"Map(映射)"和"Rece(歸約)",是它們的主要思想,都是從函數式編程語言里借來的,還有從矢量編程語言里借來的特性。
(三)自然語言處理工程師
包括
自然語言處理工程師
要求
l
專業:計算機相關專業;
l
技術領域:文本資料庫
l
技術要求:
(1) 熟悉中文分詞標注、文本分類、語言模型、實體識別、知識圖譜抽取和推理、問答系統設計、深度問答等NLP 相關演算法;
(2) 應用NLP、機器學習等技術解決海量UGC的文本相關性;
(3) 分詞、詞性分析、實體識別、新詞發現、語義關聯等NLP基礎性研究與開發;
(4) 人工智慧,分布式處理Hadoop;
(5) 數據結構和演算法;
應用領域:
口語輸入、書面語輸入
、語言分析和理解、語言生成、口語輸出技術、話語分析與對話、文獻自動處理、多語問題的計算機處理、多模態的計算機處理、信息傳輸與信息存儲 、自然語言處理中的數學方法、語言資源、自然語言處理系統的評測。
相關術語:
(2) NLP:人工智慧的自然語言處理,NLP (Natural Language Processing) 是人工智慧(AI)的一個子領域。NLP涉及領域很多,最令我感興趣的是「中文自動分詞」(Chinese word segmentation):結婚的和尚未結婚的【計算機中卻有可能理解為結婚的「和尚「】
(四)射頻/通信/信號演算法工程師類
包括
3G/4G無線通信演算法工程師, 通信基帶演算法工程師,DSP開發工程師(數字信號處理),射頻通信工程師,信號演算法工程師
要求
l
專業:計算機、通信相關專業;
l
技術領域:2G、3G、4G,BlueTooth(藍牙),WLAN,無線移動通信, 網路通信基帶信號處理
l
技術要求:
(1) 了解2G,3G,4G,BlueTooth,WLAN等無線通信相關知識,熟悉現有的通信系統和標准協議,熟悉常用的無線測試設備;
(2) 信號處理技術,通信演算法;
(3) 熟悉同步、均衡、信道解碼等演算法的基本原理;
(4) 【射頻部分】熟悉射頻前端晶元,扎實的射頻微波理論和測試經驗,熟練使用射頻電路模擬工具(如ADS或MW或Ansoft);熟練使用cadence、altium designer PCB電路設計軟體;
(5) 有扎實的數學基礎,如復變函數、隨機過程、數值計算、矩陣論、離散數學
應用領域:
通信
VR【用於快速傳輸視頻圖像,例如樂客靈境VR公司招募的通信工程師(數據編碼、流數據)】
物聯網,車聯網
導航,軍事,衛星,雷達
相關術語:
(1) 基帶信號:指的是沒有經過調制(進行頻譜搬移和變換)的原始電信號。
(2) 基帶通信(又稱基帶傳輸):指傳輸基帶信號。進行基帶傳輸的系統稱為基帶傳輸系統。傳輸介質的整個信道被一個基帶信號佔用.基帶傳輸不需要數據機,設備化費小,具有速率高和誤碼率低等優點,.適合短距離的數據傳輸,傳輸距離在100米內,在音頻市話、計算機網路通信中被廣泛採用。如從計算機到監視器、列印機等外設的信號就是基帶傳輸的。大多數的區域網使用基帶傳輸,如乙太網、令牌環網。
(3) 射頻:射頻(RF)是Radio Frequency的縮寫,表示可以輻射到空間的電磁頻率(電磁波),頻率范圍從300KHz~300GHz之間(因為其較高的頻率使其具有遠距離傳輸能力)。射頻簡稱RF射頻就是射頻電流,它是一種高頻交流變化電磁波的簡稱。每秒變化小於1000次的交流電稱為低頻電流,大於10000次的稱為高頻電流,而射頻就是這樣一種高頻電流。高頻(大於10K);射頻(300K-300G)是高頻的較高頻段;微波頻段(300M-300G)又是射頻的較高頻段。【有線電視就是用射頻傳輸方式】
(4) DSP:數字信號處理,也指數字信號處理晶元
(五)數據挖掘演算法工程師類
包括
推薦演算法工程師,數據挖掘演算法工程師
要求
l
專業:計算機、通信、應用數學、金融數學、模式識別、人工智慧;
l
技術領域:機器學習,數據挖掘
l
技術要求:
(1) 熟悉常用機器學習和數據挖掘演算法,包括但不限於決策樹、Kmeans、SVM、線性回歸、邏輯回歸以及神經網路等演算法;
(2) 熟練使用SQL、Matlab、Python等工具優先;
(3) 對Hadoop、Spark、Storm等大規模數據存儲與運算平台有實踐經驗【均為分布式計算框架】
(4) 數學基礎要好,如高數,統計學,數據結構
l
加分項:數據挖掘建模大賽;
應用領域
(1) 個性化推薦
(2) 廣告投放
(3) 大數據分析
相關術語
Map-Rece:MapRece是一種編程模型,用於大規模數據集(大於1TB)的並行運算。概念"Map(映射)"和"Rece(歸約)",是它們的主要思想,都是從函數式編程語言里借來的,還有從矢量編程語言里借來的特性。
(六)搜索演算法工程師
要求
l
技術領域:自然語言
l
技術要求:
(1) 數據結構,海量數據處理、高性能計算、大規模分布式系統開發
(2) hadoop、lucene
(3) 精通Lucene/Solr/Elastic Search等技術,並有二次開發經驗
(4) 精通Lucene/Solr/Elastic Search等技術,並有二次開發經驗;
(5) 精通倒排索引、全文檢索、分詞、排序等相關技術;
(6) 熟悉Java,熟悉Spring、MyBatis、Netty等主流框架;
(7) 優秀的資料庫設計和優化能力,精通MySQL資料庫應用 ;
(8) 了解推薦引擎和數據挖掘和機器學習的理論知識,有大型搜索應用的開發經驗者優先。
(七)控制演算法工程師類
包括了雲台控制演算法,飛控控制演算法,機器人控制演算法
要求
l
專業:計算機,電子信息工程,航天航空,自動化
l
技術要求:
(1) 精通自動控制原理(如PID)、現代控制理論,精通組合導航原理,姿態融合演算法,電機驅動,電機驅動
(2) 卡爾曼濾波,熟悉狀態空間分析法對控制系統進行數學模型建模、分析調試;
l
加分項:有電子設計大賽,機器人比賽,robocon等比賽經驗,有硬體設計的基礎;
應用領域
(1)醫療/工業機械設備
(2)工業機器人
(3)機器人
(4)無人機飛控、雲台控制等
(八)導航演算法工程師
要求
l 專業:計算機,電子信息工程,航天航空,自動化
l 技術要求(以公司職位JD為例)
公司一(1)精通慣性導航、激光導航、雷達導航等工作原理;
(2)精通組合導航演算法設計、精通卡爾曼濾波演算法、精通路徑規劃演算法;
(3)具備導航方案設計和實現的工程經驗;
(4)熟悉C/C++語言、熟悉至少一種嵌入式系統開發、熟悉Matlab工具;
公司二(1)熟悉基於視覺信息的SLAM、定位、導航演算法,有1年以上相關的科研或項目經歷;
(2)熟悉慣性導航演算法,熟悉IMU與視覺信息的融合;
應用領域
無人機、機器人等。
⑵ 演算法工程師是青春飯嗎以後的發展路線是怎樣的
演算法工程師不是青春飯。
在入職的年齡中,演算法工程師的入職年份越多,就有越多的公司要你。由於演算法工程師對於知識結構的要求比較豐富,同時演算法工程師崗位主要以研發為主,需要從業者具備一定的創新能力,所以要想從事演算法工程師崗位往往需要讀一下研究生,目前不少大型科技企業對於演算法工程師的相關崗位也有一定的學歷要求。
提到人工智慧,就不得不提人工智慧領域最炙手可熱的演算法工程師。演算法即一系列解決問題的清晰指令,演算法工程師就是利用演算法處理事物的人。演算法工程師主要根據業務進行細分,常見的有廣告演算法工程師、推薦演算法工程師、圖像演算法工程師等等。
但作為熱門領域和人才供不應求的人工智慧,開出的薪資依舊讓人羨慕眼紅。獵頭Jony表示「人工智慧科班出身的博士,50萬年薪僅僅是起步價,優秀的開到80萬、100萬都不一定能搶到。」
⑶ 控制演算法工程師的工作職責-崗位職責
控制演算法工程師的工作職責-崗位職責
在日新月異的現代社會中,崗位職責起到的作用越來越大,崗位職責包括崗位職務范圍、實現崗位目標的責任、崗位環境、崗位任職資格及各個崗位之間的相互關系等。擬起崗位職責來就毫無頭緒?以下是我精心整理的控制演算法工程師的工作職責-崗位職責,僅供參考,大家一起來看看吧。
職責:
1、根據客戶的需求在MatlabSimulink上建模。(拓普集團)
2、負責模型在dSpace上的離線模擬。
3、負責代碼自動生成後的優化工作。
4、負責編寫產品功能測試說明。
任職要求:
1、本科以上學歷,電子、自動化、電氣工程及其自動化專業。
2、熟悉MATLAB軟體,熟練運用Simulink演算法建模,Stateflow邏輯建模。
3、熟悉電機理論與驅動演算法技術。
4、有汽車行業背景優先。
5、有良好的溝通能力和團隊協作精神
職責:
1、產品設計前期,負責設計文檔編寫、產品功能規劃與分析、模擬分析;
2、設計實施階段,負責軟體編碼、調試;
3、與供應商溝通,聯調、匹配軟體;
4、產品功能變更與升級、產品維護。
任職資格:
1、熟練掌握C語言編程;
2、至少熟練掌握TI DSP或者ARM中的一種晶元;
3、對於逆變器演算法的崗位,要求掌握逆變器的控制演算法,熟練使用Matlab或者Psim模擬工具進行模擬分析;
4、熱愛軟體編程,善於思考分析,反應快,心細,責任心強。
職責:
1、負責3D模型切片演算法的研究、設計、測試、與實現;
2、負責3D掃描控制演算法的研究、設計、測試、與實現;
3、與其他工程師配合實現相關演算法的.產品化;
4、對所研發的技術建檔成文。
崗位要求:
1、數學、計算機、通訊、電子、物理、機械等相關專業985和211本科及以上應屆生,或者非985和211碩士及以上應屆生,或者具備兩年以上編程經驗者;
2、工作認真,踏實;
3、熟練使用matlab、labview者優先;
4、有C++開發經驗者優先;
5、有3D模型切片及相關程序開發經驗者優先;
6、博士或在重要期刊/會議發表文獻、重要賽事或榮譽獲獎者優先;
職責
負責運動控制演算法的開發、移植、維護;
根據需求,可獨立完成運動控制演算法的方案設計、編碼、調試;
根據工作需要或安排,對已發布的軟體,可對新需求進行開發,可對變更部分進行設計審查,可對現場bug進行跟蹤定位問題和解決問題;
根據工作需要或安排,進行運動控制演算法的預研和開發;
對產品應用中的某些工程現場提供必要的技術支持。
崗位要求
5年以上運動控制演算法相關開發經驗,具備嵌入式運動控制產品開發經驗
精通常見的運動控制演算法,熟練掌握工業機器人運動學、動力學建模;
熟練掌握經典及現代控制理論、伺服控制技術;
熟練掌握力學、機構學、機器人技術、數值計算方法;
熟悉嵌入式系統開發流程,具有嵌入式開發經驗;
精通C語言、多任務編程,熟悉常見的嵌入式操作系統;
精通ARM、Zynq系列晶元開發和調試之一;
具備運動控制相關的工程項目經驗;
具有良好的職業道德,踏實穩重,積極主動,責任心強;
具有較強的溝通能力、協調能力和團隊協作精神;
職責:
1、准確地控制密閉容器的氣體或液體的壓力,以供校準其他壓力表使用;
2、准確地控制溫度場的精度,以供校準其他溫度計使用;
3、根據不同的控制方案和執行機構/加熱製冷方式;測試其特性、建立數學模型、設計演算法。
4、對其他工程師設計的執行機構的可控制性提出自己的建議;
5、根據執行機構的特性,對驅動工程師提出技術要求或改進意見;
任職要求:
1、自動化相關專業,四年以上工作經驗;
2、熟悉C/C++語言編程;熟悉經典及現代控制理論;
3、熟悉實時嵌入式系統
4、熟悉常用的預測性控制演算法,如PID,熟練使用模擬軟體;
5、較好的數學知識
6、了解電機驅動
;⑷ 演算法工程師大致是做什麼的
各個行業都有演算法部分,統計有統計的演算法,控制有控制的演算法,圖像處理有圖像處理的演算法。在很多傳統行業,演算法不是一個獨立的崗位,而是由研發工程師負責。今天小編就帶大家來了解下演算法工程師大致是做什麼的?我們接著往下看。
1. 圖像處理,尤其是基於OpenCV的圖像處理演算法,一般產品里有做美顏,濾鏡什麼的特別喜歡招這塊的小朋友,近一兩年有被做深度學習的取代的趨勢。最近google出了arcore,所以讓不少小公司也能出一些效果很好的換頭類應用。
2. 計算機圖形學,這也算是一個大類,主要涉及到圖形渲染演算法,光追演算法,三維圖像重構等圖像繪制方面的內容。這個方向,不光是做3d引擎和游戲開發方面,對於很多行業需要與cad相關的,都會涉及到這一個領域的模型和優化演算法設計。
3. VR,AR領域,涉及到的包括視頻跟蹤,SLAM,raytracing,幾何投影等等,實際上是一個綜合的領域,目前主要是做計算機視覺的轉行做這塊。
4. 醫學影像處理,三維圖像重構,用在B超,CT成像上,這個是醫療方向的。
5. 通信基帶信號處理,網路優化演算法,這一塊其實很式微了,畢竟高大上的演算法小公司沒成本去實施。
6. 音頻濾波,用在HiFi產品,比如車載音響,手機廠商,圈子其實蠻小的。
7. 控制演算法,自適應濾波演算法,用在機械領域上,比如機械臂行程式控制制,穩定性。
8. 有限元演算法,這塊從雷達,機械,電磁學,到服裝設計,都有很有價值的應用。
9. 信號處理,比如插值,頻譜分析,盲信號分離,壓縮感知,物聯網大部分應用會涉及這一塊。
互聯網和軟體行業把演算法分離成一個獨立的崗位大體有兩個原因。第一,低級的軟體工程師不懂演算法,或者更乾脆一點說不懂數學,所有涉及到模型和計算公式的工作都必須要找專業人員來搞定。第二,從生產效率考慮,初級演算法工程師很多沒有很好的軟體工程背景,簡單點說就是不會寫代碼只會寫matlab,這種工程師的工作交付沒有辦法直接投入生產,所以需要將他們的工作和生產環節隔離開。綜上所述,就是小編今天給大家分享的內容,希望可以幫助到大家。
⑸ 演算法工程師崗位職責
演算法工程師崗位職責(通用4篇)
在現實社會中,崗位職責使用的情況越來越多,制定崗位職責可以有效規范操作行為。那麼制定崗位職責真的很難嗎?以下是我為大家收集的演算法工程師崗位職責(通用4篇),僅供參考,歡迎大家閱讀。
主要職責:
1、結合業務需求,研究並實現數據挖掘演算法;
2、參與業務解決方案的設計和編寫,撰寫相關技術文檔。
崗位要求:
1、有扎實的數據基礎,數學、物理等相關專業;
2、掌握統計分析方法、數據挖掘演算法法及原理,並能基於業務問題靈活運用;
3、較強的文檔編寫功底和邏輯思維能力;
4、充分理解Hadoop基礎架構和實現原理;
5、有較強的理解抽象問題能力和自我學習能力;
優先考慮:
1、有大數據挖掘相關項目經驗者優先;
2、精通編程語言,能獨立完成演算法實現者優先。
3、具備良好的工作態度,積極進取者優先。
崗位職責:
1、負責圖像處理和機器視覺的研發工作;
2、開發與演算法相關的軟體,根據實際產品需求設計演算法;
3、負責演算法的產品開發、優化實現、移植及其在嵌入式系統的實現。
任職要求:
1、本科以上學歷,模式識別、自動化、計算機、電子信息、數學相關專業;
2、具備數字圖像處理、機器學習和模式識別等方面的理論基礎和實踐經驗,有存款機、清分機、點鈔機等金融電子相關演算法開發經驗者優先;
3、精通常用的編程語言,具有扎實的.圖像處理基礎和數學基礎,對計算機視覺具有濃厚興趣,熟悉演算法建模、嵌入式開發者尤佳;
4、具備高度的責任心、良好的職業道德素養、溝通能力及團隊精神,有良好的語言表達和文檔撰寫能力和英文讀寫能力。
職位描述:
1、 設計/訓練垂直領域圖像處理模型
2、 搭建相似圖片高效檢索系統
3、 將圖像處理模型應用於產品推薦系統/檢索系統中。
4、 分析與改進模型性能。
職位要求:
1、 計算機及相關專業本科以上學歷
2、 熟悉Python或者C
3、 熟悉數據結構和演算法,擁有優秀的編程能力
4、 良好的溝通與表達能力、思路清晰,較強的動手能力與邏輯分析能力
5、 擁有Image Processing和Machine learning研究經驗優先
崗位職責:
1、 根據工程案例,提出合適的數學演算法,並編寫相關計算程序;
2、本崗位設置培養方向:線性規劃(線性規劃、最優化)、數理統計(假設檢驗、參數估計、方差分析、回歸分析等)、微分方程類(根據物理工程模型建立微分方程)
崗位要求:
1、全日制計算機、統計、數學、物理、信息技術或其他專業但對數學特別感興趣者,本科以上學歷;
2、有數據分析、數據挖掘和建模的經驗;
3、具備C語言的編程能力優先;
4、熟悉matlab或同類軟體者優先;
5、對演算法研究具有濃厚興趣,願意從事研究工作;
;