編程技巧
成為 AI 工程師所需的第一項技能是編程。要精通 AI,學習Python、R、Java和 C++等編程語言來構建和實現模型至關重要。
線性代數、概率和統計
要理解和實現不同的 AI 模型(例如 Hidden Markov 模型、Naive Bayes、Gaussian mixture 模型和 linear discriminant 分析),您必須具備線性代數、概率和統計的詳細知識。建議對矩陣、向量和矩陣乘法的概念有很好的理解。此外,導數和積分及其應用方面的知識, 平均值、標準偏差和高斯分佈等統計概念, 對於理解梯度下降等, 簡單概念也是必不可少的。
應用數學和演算法
算法理論方面的紮實基礎, 和專業知識肯定是必須的。該技能將有助於理解 Gradient Descent、Convex Optimization、拉格朗日、二次規劃、偏微分方程, 和求和 ( Summations) 等主題。
巨量儲存和大數據技術
AI 工程師處理大量數據,這些數據可能是 TB 或 PB 級的流數據或實時生產級數據。對於這樣的數據,這些工程師需要了解 Spark 和其他大數據技術, 才能自由的操控它。除了 Apache Spark,還可以使用其他大數據技術,例如Hadoop、Cassandra 和 MongoDB。
溝通和解決問題的能力
AI 工程師需要正確溝通, 才能向利益相關者推銷他們的產品和想法。他們還應該具有出色的解決問題的能力,以解決決策制定, 和得出有用的商業見解的障礙。
行業領域知識
無論 AI 和 ML 工程師為哪個行業工作,深入了解該領域的工作原理以及對業務有什麼好處都是至關重要的。例如,如果您必須在基因工程中應用 AI 或 ML,那麼您需要對遺傳生物學有很好的了解。
適當的行業領域知識, 還有助於解釋潛在的挑戰, 並實現業務的持續運行。
快速原型製作
以最少的時間持續致力於完美的想法是非常關鍵的。尤其是在機器學習中,選擇正確的模型以及進行 A/B 測試等項目是項目成功的關鍵。Rapid Prototyping 有助於形成不同的技術,以加快擴張模型的開發。
類神經網路和框架
了解: 線性回歸、KNN、Naive Bayes、Support Vector Machine 等, 深度學習算法的工作原理, 將幫助您輕鬆實現機器學習模型。此外,要使用非結構化數據構建 AI 模型,您應該了解深度學習算法(如卷積神經網絡、循環神經網絡, 和生成對抗網絡)並使用框架實現它們。人工智能中使用的一些框架是 PyTorch、Theano、TensorFlow 和 Caffe。
信號處理技術
理解信號處理(Signal Processing)的能力, 以及:使用信號處理技術, 解決多個問題的能力, 對於特徵提取至關重要,這是機器學習的一個重要面向。然後有 Time-frequency 分析和高級信號處理算法,如: Wavelets、Shearlets、Curvelets 和 Bandlets。深刻的理論和實踐知識, 將幫助您解決複雜的情況。
語言、音頻和視頻處理
借助自然語言處理,人工智能和機器學習工程師有機會從事兩個最重要的工作領域:語言學和計算機科學,如文本、音頻或視頻。AI 和 ML 工程師應該精通 Gensim、NLTK 等庫以及 word2vec、情感分析和求和等技術。
物理、強化學習和計算機視覺
物理:將會有現實世界的場景需要將機器學習技術應用於系統,這就是物理知識發揮作用的時候。例如:物體碰撞後的角度, 重力對運動的影響, 各種運動力的速率與方向...等等
強化學習: 2017 年見證了強化學習(Reinforcement Learning), 在很大程度上提高了深度學習和人工智能的主要原因。這將有助於進入: 機器人技術、自動駕駛汽車, 或其他人工智能領域的工作。
計算機視覺:計算機視覺 (Computer Vision, CV) 和機器學習, 是計算機科學的兩個主要分支,它們可以單獨工作和控制非常複雜的系統,這些系統完全依賴於 CV 和 ML 算法,但當兩者協同工作時, 可以帶來更多產出。
以上摘錄自這兩篇原文:
https://www.simplilearn.com/tutorials/artificial-intelligence-tutorial/how-to-become-an-ai-engineer
https://www.knowledgehut.com/blog/data-science/skills-of-ai-and-ml-engineer
我是個半調子的AI工程師
人工智慧的「人工」那一半
AI 尤其是最近 Neural based 的方法,個人感覺就是在一片漆黑中開槍。工作上要解的問題很多都沒有參考可循,縱使有他每年主流技術改朝換代很快而且方法前後可以幾乎不連貫。人人都可以快速入門但是真正能一直留在那裏的人除了要有強大的創新思考能力找到別人還沒想到的突破點,也要有強大的心理素質接受自己苦思冥想出來的東西不斷失敗再失敗。
入門很簡單,網路上有很多 NN based 的教學資源找一套看完做一些小實驗了解基礎工具你就入門了。之後要活下去可以整天大量閱讀你有興趣的領域的論文(像是NLP, self-supervised, RL, ...),去理解最新的想法是什麼,很多都有 release code 可以 trace 一下或是靠文章文字描述自己試著寫去訓練自己對工具的了解以及快速開發的能力。
NN 一大特色是 end-to-end learning,而且性能可能遠勝於傳統方法,但不代表傳統方法不重要,如果以後工作上有用到可以再試著去了解傳統解法那一大串流程,他們通常聚集許多前人的智慧,體系完整且被證實可信,或許能啟發你改善目前現有的 NN 方法也說不定。