• <tbody id="wslfv"><pre id="wslfv"></pre></tbody>
    <span id="wslfv"></span>
    <tbody id="wslfv"><pre id="wslfv"></pre></tbody>
    <th id="wslfv"><track id="wslfv"><rt id="wslfv"></rt></track></th>

    <li id="wslfv"><acronym id="wslfv"></acronym></li>
    更多課程 選擇中心

    嵌入式培訓
    達內IT學院

    400-111-8989

    如何從一名軟件工程師轉行做人工智能?

    • 發布:嵌入式培訓
    • 來源:嵌入式問答
    • 時間:2017-09-01 13:50

    近日,Insight AI 發布了一篇題為《Transitioning from Software Engineering to Artificial Intelligence》的文章,提出一名軟件工程師如果打算轉行做人工智能,需要掌握這 5 項技能:統計學、機器學習理論、數據整理、調試/調節模型、軟件工程。

    Chris Lesniewski-Laas 正在與 Insight AI 員工討論 Dropbox 的機器學習問題

    關于將機器學習作為一項技能

    作為軟件工程師關鍵在于要緊跟框架、標準以及范式的最新狀態。軟件工程師不停地努力學習,希望把最好的工具運用到工作中。機器學習在當今諸多的應用程序中找到了立足點,很自然地它就變成了許多工程師想要掌握的一項技能。

    但是,相比于新框架機器學習更難掌握。作為一個高效的實踐者,你需要充分理解該領域的理論、廣泛掌握當前最尖端的知識,并且有能力以不確定的方式塑造問題。

    網上很多的指南只會簡單地教你如何在一個策劃好的數據集上訓練可以立即使用的模型,并達到一個不錯的準確度,然后就結束了。事實上,要成為一個優秀的機器學習工程師必須掌握更加廣泛的技能。

    以下是我們與超過 50 個灣區和紐約頂尖的機器學習團隊對話的精華部分,他們來到 Insight AI,準備好解決其問題并加速實現人工智能應用的普及。

    為什么機器學習不只是「另一個工具」

    部署機器學習的解決方案不僅僅是在你的數據集上隨意訓練一個模型。它需要理解以下內容:

    你擁有的數據類型、它的統計學分布方式、它含有什么偏差。

    適用于你的特定數據集的統計模型,以及這些模型成功的可能性。

    相關指標的優化以及你的模型輸出的意義。

    換句話說,為了整合、部署以及調試模型,除去工程學的知識,你還需要有統計學、線性代數和優化理論的基礎知識。

    為一個問題搭建特定的機器學習解決方案,你需要考慮從數據的獲取、標記和預處理到構建、更新并服務一個推理模型以及中間的一切等問題。

    最終,我們認為可以提前為標準的網站搭建一個數據接口(REST API)。我們不能保證機器學習模型總是收斂或產生有用的輸出。學習如何審視和傳遞有效的機器學習產出的最佳方式是理解其理論基礎與數據分類之間聯系的方式。

    轉行人工智能你需要掌握這 5 項技能

    1.統計學

    為了理解機器學習,堅實的統計學基礎知識是必須的。這包括:

    評估模型成功的不同方法(精確度、召回率(recall)、特征曲線下的面積等)。你選擇的損失函數和評估指標如何測量你的模型輸出的偏差。

    如何理解過擬合(overfitting)和欠擬合(underfitting),以及偏差/變量權衡。

    模型的結果與置信度之間有什么聯系。

    2.機器學習理論

    當你在訓練神經網絡時,實際上發生了什么?是什么使這些任務可行而其它的不行呢?對待該問題的好方法是,在深入理解理論之前,首先通過圖和實例理解機器學習。

    需要理解的概念有不同的損失函數工作的方法,反向傳播有用的原因,以及計算圖究竟是什么。深入理解構建函數模型并且與團隊其他成員有效地對其進行溝通非常關鍵。以下是一些資源,以高層概述開始,逐漸深入。

    另一個基礎技能是有能力閱讀、理解和實驗研究論文。起初看上去這似乎是一個艱巨的任務,所以一個不錯的方法是從一篇后面附有代碼的論文開始,并深入理解其實現。

    3.數據整理(Data Wrangling)

    問任何一個數據科學家,他們會告訴你其 90% 的工作是數據再加工(data munging)。它對于應用人工智能的重要性就如同你的模型的成功與你的數據的質量(和數量)高度相關一般。數據在許多方面起作用,可分為以下幾個類別:

    數據獲取(找到好的數據源,精確測定數據的質量和分類,獲取并推理標簽)

    數據預處理(補全缺失值(missing data)、特征工程、數據增強、數據歸一化、交叉檢驗拆分)

    數據后處理(使模型的輸出有用,去除人為數據,處理特殊情況和異常值)

    熟悉數據整理的最好方法是掌握原始的數據集,并嘗試使用它。網上有很多的數據集并且許多社交媒體和新聞媒體網站都有著很好的應用程序接口。遵循以下步驟是一個不錯的學習方法:

    掌握一個開源的數據集并對其進行檢測。它有多大(觀測值和特征值的數量)?數據是如何分布的?是否有缺失值或者不含異常值?

    開始在原始數據和有用數據之間構建一條轉換的通道。你是如何回填丟失值的呢?處理異常值最合適的方法是什么?你如何歸一化數據?你可以創造更具表現力的特征嗎?

    檢查你的轉換數據集。如果一切看上去都不錯,進行下一步吧!

    4.調試/調節模型

    對一些不收斂或者包含與調試代碼非常不同的過程但是給出合理結果的機器學習算法進行調試。同樣地,找到正確的架構和超參數需要堅實的理論基礎,良好的基礎建設工作可以測試不同的配置。

    由于該領域在向前發展,調試模型的方法也在不斷進化。以下是從我們的討論和部署反映了 KISS 理論和軟件工程師之間的熟悉度的模型的經驗中得來的「合理性檢查(sanity checks)」。

    盡快從已被證明可以在類似數據集上工作的簡單模型入手,掌握基線。古典統計學習模型(線性回歸、最近鄰等)或者簡單的啟發式方法或規則會讓你明白 80% 的方法并且更快地進行實現。入門的時候,以最簡單的方法去解決問題(查看谷歌機器學習規則的第一點)。

    如果你決定訓練一個更加復雜的模型以在基線上有所提升,不妨從數據集的一小部分入手,在分數據集上訓練模型使其過擬合。這保證了你的模型最起碼的學習能力。不斷地在模型上迭代直到你可以過擬合 5% 的數據。

    一旦你開始在更多的數據上訓練,超參數就開始變得更重要了。理解這些參數背后的理論從而理解什么是要探索的合理值。

    使用理論方法調節你的模型。寫下你使用的最低限度的配置并總結其結果。理想情況下,使用自動超參數搜索策略。在最開始,隨機搜尋可能就足夠了。盡可能地去探索更多理論方法吧。

    許多步驟都能被你的開發技能加速,這引出了最后一個技能。

    5.軟件工程

    許多應用型機器學習允許你充分利用軟件工程技巧,有時需要做些變換。這些技巧包括:

    測試轉換線路的不同方面(數據預處理和增強、輸入和輸出清除、模型推理時間)。

    構建模塊化的代碼和可重復的實驗加速方法。

    在訓練的不同階段備份模型(檢查點)。

    建立一個分布式基礎架構來運行訓練、超參數搜索或者更有效地推理。

    在工作中使用工具

    上述資源會幫助你處理切實的機器學習問題。但是應用人工智能領域變化的特別快,最好的學習方式是動手實踐并且真正嘗試構建一個完整方案解決實際的問題。

    待辦事項:

    找一個你可以構建的產品應該會很有意思。什么可以讓你的人生更高效呢?什么是可以提升使用數據完成的方法的工具?什么是解決一個有趣問題的數據驅動的方法?

    尋找與問題相關的數據集。對于如今大多數容易處理的問題,你應該尋找標注數據。如果對于你的問題不存在標注數據集,那么你就應該變得有創造性一點。什么是尋找相似數據或者高效標注數據的方法?

    從探索數據入手,看看你嘗試完成的任務在你所擁有數據的數量和質量下是否可行。在你開始 TensorFlow 之前,網上搜索人們解決過的相似問題是一個不錯的主意。哪些是你可以閱讀的相關博文與論文,有助于你加快探索新方法?

    找一些靈感,然后深入研究吧!記住,盡管機器學習工程的核心是構建產品,但是它還包含一個不可或缺的理論層面。你會探索一些模型和范式,這些東西在未來也許被證明是不成功的,但是這非常好,因為它會使你更好地了解問題的復雜性。

    附 言

    人工智能是一個令人興奮、不斷變化的領域,它對機器學習工程師的需求很大,鋪天蓋地的新聞都在圍繞這個主題進行報道。我們建議聽取一些可靠的資源和新聞,從而將與該領域密切相關的一些創新中分離 PR 和抽象研究。以下是一些有所幫助的資源。

    Hacker News:這是一家關注計算機科學、數據科學和創業精神的社會新聞網站。由 Y Combinator 運營—一家著名的公司孵化器。別被名字騙了!「hacker」這個單詞最初的用法與網絡罪犯沒什么關系,而是指一些通過編程技巧聰明地解決問題的人。

    Import AI :由 OpenAI 的 Jack Clark 運營的一家不錯的簡報,在行業內保持領先地位。

    Insight Blog:我們時刻在進步。在我們 AI blog 中有一些推文關于之前的不同工程,并且可以為有趣的問題的結局提供不錯的靈感。

    預約申請免費試聽課

    填寫下面表單即可預約申請免費試聽!怕錢不夠?可就業掙錢后再付學費! 怕學不會?助教全程陪讀,隨時解惑!擔心就業?一地學習,可全國推薦就業!

    上一篇:零基礎報名嵌入式培訓學習怎么樣?
    下一篇:淺析嵌入式Linux開發的一般流程

    怎么樣成為優秀嵌入式系統開發工程師?

    想學嵌入式開發,嫌自學時間長怎么辦?

    嵌入式開發工程師怎么樣?

    嵌入式開發學習難不難?

    • 掃碼領取資料

      回復關鍵字:視頻資料

      免費領取 達內課程視頻學習資料

    • 視頻學習QQ群

      添加QQ群:1143617948

      免費領取達內課程視頻學習資料

    Copyright ? 2021 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

    選擇城市和中心
    黑龍江省

    吉林省

    河北省

    湖南省

    貴州省

    云南省

    廣西省

    海南省

    欧美一级高清片,一级欧美免费大片视频,欧美三级在线电影免费 百度 好搜 搜狗
    <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>