回覆列表
  • 1 # 北航秦曾昌

    對於這個問題,我們首先必須旗幟鮮明的給出答案,即:演算法工程師並不等價於調參工程師。

    所謂的調參工程師從字面意義上理解就是對模型的引數進行調整,使得模型達到最最佳化的狀態,這顯然和演算法工程師的定位不匹配。一個演算法工程師要掌握多方面的技能、要擁有強大的專業知識儲備,調參在這些工程基礎面前就顯得十分渺小。至於為什麼會有人得出演算法工程師等價於調參工程師這樣的結論,我認為這很大程度上是因為持有這種觀點的人員對於演算法工程師的工作知之甚少或者說相關的工作還停留於表層不夠深入,這就好比盲人摸象,只看到了演算法工程師這一職業的很片面的一部分。當然一個合格的演算法工程師也同時具有較強的調參能力,但是調參工程師在絕大多數情況下並不具備演算法工程師所具備的核心素質和能力。

    那麼怎麼樣才算是一個合格的演算法工程師呢?我認為一個演算法工程師要具備以下集中能力:

    1.數學基礎

    機器學習在一定的程度上是建立在數學大廈之上的,機率、矩陣等數學思想和方法經常作為工具在演算法設計中應用,所以一個合格的演算法工程師需要具備良好的數學基礎。

    2.機器學習理論基礎

    掌握理論才能對各種工具、技巧靈活應用,而不是隻會照搬套用。只有在這個基礎上才能夠真正具備搭建一套機器學習系統的能力,並對其進行持續最佳化。否則只能算是機器學習搬磚工人,算不得合格的工程師。出了問題也不會解決,更談不上對系統做最佳化。

    3.基礎開發能力、開發語言和開發工具

    演算法工程師歸根結底還是工程師的一種,不僅僅需要對演算法進行設計,還需要親自動手實現。如果不能應用開發語言和開發工具來將好的idea和設計變為現實的話也不算是一個合格的工程師,這是將理論變為實際的重要環節,基礎的開發技能是每一個演算法工程師必備的技能。

    4.架構設計

    在業務規模和複雜度發展到一定程度的時候,機器學習一定會走向系統化、平臺化。這個時候就需要根據業務特點以及機器學習本身的特點來設計一套整體架構,這裡麵包括上游資料倉庫和資料流的架構設計,以及模型訓練的架構,還有線上服務的架構等等。架構設計的能力是對演算法工程師提出的又一要求。

    最後給出機器學習演算法工程師需要掌握的能力的示意圖,在圖中我們可以清晰的看到成長為一個合格的演算法工程師是一個漫長、艱辛的過程,培養一個合格的演算法工程師的任務十分巨大,演算法工程師當然不等價於調參工程師了。

  • 中秋節和大豐收的關聯?
  • ICS網路共享設定!求詳細?