作者|Richmond Alake
編譯|Flin
來源|towardsdatascience

介紹
我真不敢相信,離我寫第一篇詳細描述了我第一天的職業生活的文章已經有六個月了,
時間過得真快,
所以,歡迎再次光臨我作為計算機視覺工程師的在線日志,
在這篇文章中,你可以看到一個計算機視覺工程師在一個初創企業中的日常活動的許多細節,同時也希望我能回憶起我犯過的一些錯誤和我所慶祝的成就,
對于你來說,這篇文章將介紹當你在初創公司中擔任機器學習/計算機視覺的角色時,會遇到的情況,以及當前機器學習從業者的典型角色和職責,
我認為這是一個足夠好的介紹,
讓我們直接跳進去,用4000字或更少的話來總結這六個月,
機器學習/計算機視覺/深度學習

讓我們先把我的角色分解一下,再加上職位描述,
在本節中,我還將向你精確介紹對計算機視覺工程師的期望,
機器學習可以簡單地說就是開發能夠從資料中學習和改進的系統,
計算機視覺是一個機器或系統通過呼叫一個或多個演算法對所提供的資訊產生理解的程序,這種理解被轉化為決策、分類、模式觀察等等,
深度學習是利用深度卷積神經網路來解決計算機視覺任務,如影像分類、姿態估計、語意分割等,
我的主要職責在于研究和實施計算機視覺技術,例如姿勢估計,語意分割,手勢識別和面部特征檢測,所有列出的技術都在移動設備上實作,
技巧
以下是我在過去六個月中使用深度學習解決方案實作的各種計算機視覺技術,
在某些情況下,我包括了已經使用的模型:
姿勢估計:這是對影像或視頻中顯示的人的關鍵關節位置的估計,我利用諸如堆疊沙漏,卷積姿態機(CPM)和Posenet之類的研究解決方案來實作姿態估計,
- 堆疊沙漏:https://arxiv.org/abs/1603.06937
- 卷積姿態機(CPM):https://arxiv.org/abs/1602.00134
- Posenet:https://www.tensorflow.org/lite/models/pose_estimation/overview
手勢識別:人采取的動作的分類可以稱為活動或手勢識別,我實作該技術的程序是通過遷移學習利用MobileNetV2網路(在imagenet上訓練),并使用定制的分類頭對影像中的手勢進行適當分類,
- MobileNetV2網路:https://arxiv.org/abs/1801.04381
手檢測/跟蹤:這是一項瑣碎的計算機視覺任務,主要涉及影像或視頻中手的檢測和定位,
語意分割:這可以看作是在像素級別完成的粒度分類,因為我們正在將影像中的每個像素分類為一個物件,實作這一程序很有趣,并且涉及到TensorFlow的DeepLabV3分割示例的逆向工程,
- DeepLabV3:https://arxiv.org/abs/1706.05587
人臉檢測/跟蹤:這是一個系統的實作,可以跟蹤和定位在影像或視頻中的人臉位置,
工具類
如果你是機器學習的從業者,你可能知道以下提到的一些工具,對于剛剛進入AI領域的人,資料科學家,ML Researchers和ML Engineers都使用列出的工具,
這些是我每天使用的工具,
TensorFlow:一個用于實施,訓練和部署機器學習模型的開源平臺,
- TensorFlow:https://www.tensorflow.org/
Keras:一個開放源代碼庫,用于實作在CPU和GPU上運行的神經網路體系結構,
- Keras:https://keras.io/
TensorFlow Lite:一個開放源代碼框架,旨在在智能手機等邊緣設備上部署機器學習模型,
- TensorFlow Lite:https://www.tensorflow.org/lite
其他值得注意的工具:
Jupyter Lab:https://jupyter.org/
Anaconda:https://anaconda.org/anaconda/python
CoreML:https://developer.apple.com/machine-learning/core-ml/
Vision Framework:https://developer.apple.com/documentation/vision
Visual Studio:https://code.visualstudio.com/
提示:不要專注于工具,技術和流程,應該專注于你快速學習和適應新環境的能力,
軟體工程

以前我認為軟體工程是一種技能,但隨著我職業生涯的發展,我逐漸接受了這樣一個事實:軟體工程更像是一種實踐,
軟體工程不是一項你可以在三個月內獲得的技能,但它是一種方法,你可以通過多年的軟體應用開發經驗來開發,
作為一名機器學習工程師,我每天都在實踐軟體工程,更具體地說,我將軟體工程原理的各個方面納入我的開發作業流程和程序中,
大多數現代機器學習工程師都有3+編程語言的良好知識,這看起來似乎很多,而使用集成學習系統和ML技術構建現代應用程式需要各種平臺和工具之間的協同作用,所有這些平臺和工具都利用不同的編程語言撰寫可執行指令,
以下是我過去六個月使用的主要編程語言:
- Swift:用于iOS應用程式開發
- https://developer.apple.com/swift/
- Python:用于ML模型的實作、訓練和評估
- https://www.python.org/
- JavaScript:用于實作ML模型,也可以撰寫自定義腳本,
- https://developer.mozilla.org/en-US/docs/Web/JavaScript
我還掌握了HTML、CSS、SQL、Kotlin、NodeJS、Flask等實用知識,這些都是三年來通用軟體工程所學的工具和語言,
提示:學習OOP(面向物件編程)的基本原理,OOP的知識在廣泛使用的編程語言中是可應用和可轉移的,
如果你了解OOP,學習編程語言就是熟悉特定語言的語法,
新冠病毒

沒有人能預測到2020年會有一場全球性大流行病,使全世界的國家陷入癱瘓,廁紙在西方國家成了一種商品;肘部問候取代了握手,遠程作業現在成為大多數科技型行業的新規范,
大流行蔓延到英國時,我才剛剛上任一個月,然后我們進入了封鎖狀態,
遠程作業并沒有改變創業公司的目標,團隊動力和完成作業的雄心,身為計算機視覺工程師,并擁有大量基于技術的職位,這意味著我可以在任何地方通過Internet連接作業,
有助于遠程作業的事情:
-
購買臺燈:這是我最近購買的東西,對此我感到非常滿意,我讀了很多書,深夜編碼/寫作會議變得非常頻繁,因此,擁有良好的人造光源對于閱讀時的可見度和整體生產率非常有幫助,
- https://www.amazon.co.uk/TaoTronics-Eye-caring-Dimmable-Charging-Brightness/dp/B00VX17VWK
-
Zoom:這可能是2020年最受關注的視頻會議工具,Zoom以其同行所沒有的方式創建了無縫的虛擬出席狀態擴展,我以與同事進行的縮放會議開始新的一天,并以與朋友舉行的縮放聚會結束我的夜晚,
- https://zoom.us/
-
TeamViewer:出門在外時,TeamViewer可讓我從我的GPU機器訪問計算資源,
- https://www.teamviewer.com/en/
-
反應迅速的團隊:讓團隊成員發送 Slack訊息或Zoom呼叫,可以消除由大流行引起的差距,我遇到的任何問題都只是解決方案中的一條小訊息,
- https://slack.com/intl/en-gb/
有人說,遠程作業將成為員工的永久選擇,顯然,公司本身在辦公空間上節省了很多錢,并且公司團隊沒有明顯缺乏生產力或成果,
硬體
當我寫我作為計算機視覺工程師的第一個月的文章時,我寫了一項分配給我的具體任務,那就是購買GPU作業站,
經過艱苦的研究以及與美國和英國的GPU提供商公司的來回交流后,我終于購買了一個,
在過去的五個月中,我利用GPU計算資源連續數天訓練定制模型,由于作業站擁有14個CPU內核,我還執行了可以并發運行的腳本,而沒有任何問題,
提示:即使你可能只購買一個實際的GPU,也請確保購買具有多個GPU插槽的GPU作業站,在可預見的將來,你可能需要擴展GPU功能,因此最好為此做好準備,
我對GPU的歷史以及它們的發展變得有點興趣,作為一名深度學習從業人員,我們都知道,隨著AlexNet的推出和深度卷積神經網路的出現,使用GPU訓練CNN變得很流行,
我可能會寫一篇關于GPU的歷史以及有關其利用率和壯舉的其他有趣事實的文章,
學習/研究

在與ML相關的職業中學習永遠不會結束,AI領域本身的發展步伐總是有新的發展需要注意(當前是GPT-3的發布)或要實施的新技術,
回顧過去的六個月,我真的感到自己仍在重返大學,完成“ 9-5”作業后,我回到家中閱讀研究論文,撰寫論文并實施ML模型,
對于那些希望從事機器學習事業的人來說,你必須意識到,有一個不言而喻的期望,可以讓你了解最新的AI開發資訊,大多數人希望你比普通人更了解新的人工智能應用程式版本,
目前,我將學習盡可能多的實踐和理論知識,然后再著手實作我的神經網路體系結構或修改DCNN的子組件,
我永遠不會百分百了解要實施的CV技術,在我考慮任何形式的實作之前,通常有一個廣泛的研究期,對于我正在研究或實施的每一項新技術,大約70%的內容對我來說都是新的,
學習永無止境,
提示:不要害怕退后一步,而要時常溫習以確保你建立了堅實的學習基礎,最近,與深入了解最新的神經網路體系結構相反,我回顧了深度學習早期發布的研究論文,
恐懼

如果我告訴你在過去的六個月里我沒有質疑我的能力,那我就是在騙你,
這是我的第一個與ML相關的角色,更可怕的是我是公司第一個機器學習型員工,
你聽說過冒名頂替綜合癥嗎?
這是一種無能和不充分的感覺,即使你做得很好,這是自我懷疑、缺乏自信和虛假的智力欺騙的混合體,它們會偷走你的成功和成就,
在過去的六個月里,我發現自己總是在問以下問題:
我走得夠快嗎?我夠好嗎?我夠聰明嗎?我知道的夠多嗎?夠好嗎?如果我失敗了怎么辦?如果我錯了怎么辦?
這是關于冒名頂替綜合癥的問題;它可以是消極的,也可以是積極的,這都取決于你采取的行動,以及你選擇如何消除你的自我懷疑,
我利用我的“冒名頂替者綜合癥”來確保我在游戲中處于最佳狀態,我沒有被它削弱,
冒名頂替綜合癥比你想象的要普遍,即使是最偉大的人也會遭受這種病的折磨,

“我畢生的作業受到過分的尊重,這使我感到非常不安,我認為自己是一個不自覺的騙子,我覺得自己已經完蛋了
ML社區

我在作業之外所做的作業與我在作業中所做的作業同樣重要,
在過去的六個月中,我意外地開始在AI社區中建立個人品牌,通過幾個不同的在線平臺,我每天可以聯系到成百上千的人,
我認為你可以并且應該這樣做,
以下是我用來在ML社區中建立影響力的平臺的摘要,
Medium

在我的學術研究和現在的職業生涯中,Medium上與AI相關的內容一直是??重要的資訊來源,
我已經閱讀了簡化復雜的神經網路架構研究論文的文章;以及提供了有關如何在AI行業進行作業選擇或薪資談判的有用建議的文章,
在2019年夏季,我決定不僅要成為Medium內容的消費者,而且要成為創作者,我不知道會發生什么,但是我有一個目標,
我的目標是使用Medium作為一種工具,以加強我通過學習和專案獲得的知識和資訊,對我而言,Medium是保留知識的一種形式,
對我而言,現在是一個平臺,使我每天都能接觸到成千上萬的人,我已經寫了70多篇關于AI和ML的文章,我看到很多人都受到我寫作的啟發,正在學習并拿走一個可行的專案,
我(由于某種原因)被公認為以下主題的頂級作家之一:人工智能,技術和教育,實際上,這是我希望能夠保留的榮譽,

我不記得我首次建立LinkedIn帳戶的初衷,但是我可以說的是,與任何其他年份相比,我使用LinkedIn的次數比2020年要多,
相當多的人閱讀了我的作品,有些讀者對我文章中的內容有疑問,LinkedIn是聯系我的傳統方法之一,
我非常樂于回答任何問題,并就我的技術專長范圍內的主題提供任何建議,到目前為止,我已經回答了大約50多個通過LinkedIn與我聯系的個人的問題,我也花了一些時間與個人進行視頻電話會議,我收到的一些問題需要更廣泛的答案,
我被問到的大多數問題都圍繞著學習機器學習的最佳方法,或者是走哪條職業道路,盡管我不是專家,但我很高興分享我通過學習,研究和經驗中學到的知識,
如果你想給我發訊息或討論與ML相關的問題,請點擊這里,
- https://www.linkedin.com/in/richmondalake/
咨詢
在過去的六個月里,我和一些尋求專案建議的人坐在一起,在一些情況下,我得到了相應的報酬,現在,我的薪水并沒有改變我的生活,我也不會很快成為一名全職顧問,事實上,人們只看重我的專業知識,這一事實對我來說仍然是瘋狂的,
除了咨詢作業,我最近還被邀請成為一本即將出版的計算機視覺書籍的技術作者,這個機會似乎好得令人難以置信,但我今天就在這里,進入這本尚未出版的書的幾個章節,
除了我的學習和事業,我無法預測我會遇到什么樣的機會,每個月都不一樣,
YouTube

我很欣賞AI / ML YouTube頻道,主持人在那里教授與機器學習相關的話題,或者解釋和實施研究論文中介紹的技術,
當然,我是Alex Fridman的播客和YouTube頻道的粉絲,
在YouTube上,我是一位消費者,并且關注與ML相關的渠道,例如:
-
Two Minutes Paper:https://www.youtube.com/channel/UCbfYPyITQ-7l4upoX8nvctg
-
Daniel Bourke:https://www.youtube.com/channel/UCr8O8l5cCX85Oem1d18EezQ
-
Sentdex:https://www.youtube.com/user/sentdex
-
Deep Lizard:https://www.youtube.com/channel/UC4UJ26WkceqONNF5S26OiVw
-
3Blue1Brown,:https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw
-
Yannic Kilcher:https://www.youtube.com/channel/UCZHmQk67mSJgfCCTn7xBfew
-
Abhishek Thakur :https://www.youtube.com/channel/UCBPRJjIWfyNG4X-CRbnv78A
我決定開始在YouTube平臺上構建,很快,我將發布一些我認為對機器學習/深度學習入門者有用的內容,
隨時在這里訂閱我的頻道(https://www.youtube.com/channel/UCNNYpuGCrihz_YsEpZjo8TA?view_as=subscriber),
提示:不要害怕擴大范圍,讓世界知道你的存在,
我犯的錯誤

在過去的六個月中,我犯的錯誤數量是無法計數的,
這里有一些“不太”令人尷尬的錯誤,
-
沒有推送我的git repo并失去了兩個星期的作業量,
-
對我的作業表現出不耐煩的態度,這導致了很多錯誤和bug,
-
我真正需要時不尋求幫助,
-
裝有電子設備的團隊書桌上灑滿了水,
-
星期五開始生產,然后花了整個周末修復bug,
-
即使我在家作業,我參加在線會議也遲到了(此錯誤需要一定水平的技能,哈哈),
每個人都會犯錯誤;錯誤是不可避免的,重要的是,你要從犯下的錯誤中吸取教訓,并記住自己的錯誤并不能定義自己,
我敢肯定,在接下來的六個月中,我還會犯更多的錯誤,
年度愿景

簡而言之,六個月,
總結六個月,并在接下來的一年中,我將與你分享我為自己設定的目標,
這些目標主要是為了讓我在事業、個人和學術發展上保持正軌,列出的一些目標是模棱兩可的,我很可能會在以后完善它們,
-
在年底之前閱讀10篇研究論文
-
在線發布兩個基于AI的應用程式
-
在邊緣設備上實施更多的計算機視覺技術
-
在ML社區中建立更強大的影響力
-
建立牢固的個人品牌
-
獲得每個人都熱衷的TensorFlow證書
- https://www.tensorflow.org/certificate
原文鏈接:https://towardsdatascience.com/6-months-as-a-machine-learning-computer-vision-engineer-c05978592368
歡迎關注磐創AI博客站:
http://panchuang.net/
sklearn機器學習中文官方檔案:
http://sklearn123.com/
歡迎關注磐創博客資源匯總站:
http://docs.panchuang.net/
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/192865.html
標籤:其他
