如何從一名軟件工程師轉(zhuǎn)行做人工智能
人工智能是一個(gè)令人興奮、不斷變化的領(lǐng)域 , 一名軟件工程師如果打算轉(zhuǎn)行做人工智能 , 需要掌握哪些技能呢?以下是小編為你整理的轉(zhuǎn)行做人工智能所需技能 , 希望能幫到你 。
將機(jī)器學(xué)習(xí)作為一項(xiàng)技能
作為軟件工程師關(guān)鍵在于要緊跟框架、標(biāo)準(zhǔn)以及范式的最新?tīng)顟B(tài) 。軟件工程師不停地努力學(xué)習(xí) , 希望把最好的工具運(yùn)用到工作中 。機(jī)器學(xué)習(xí)在當(dāng)今諸多的應(yīng)用程序中找到了立足點(diǎn) , 很自然地它就變成了許多工程師想要掌握的一項(xiàng)技能 。
但是 , 相比于新框架機(jī)器學(xué)習(xí)更難掌握 。作為一個(gè)高效的實(shí)踐者 , 你需要充分理解該領(lǐng)域的理論、廣泛掌握當(dāng)前最尖端的知識(shí) , 并且有能力以不確定的方式塑造問(wèn)題 。
網(wǎng)上很多的指南只會(huì)簡(jiǎn)單地教你如何在一個(gè)策劃好的數(shù)據(jù)集上訓(xùn)練可以立即使用的模型 , 并達(dá)到一個(gè)不錯(cuò)的準(zhǔn)確度 , 然后就結(jié)束了 。事實(shí)上 , 要成為一個(gè)優(yōu)秀的機(jī)器學(xué)習(xí)工程師必須掌握更加廣泛的技能 。
轉(zhuǎn)行人工智能需掌握的技能
1.統(tǒng)計(jì)學(xué)
為了理解機(jī)器學(xué)習(xí) , 堅(jiān)實(shí)的統(tǒng)計(jì)學(xué)基礎(chǔ)知識(shí)是必須的 。這包括:
評(píng)估模型成功的不同方法、特征曲線(xiàn)下的面積等) 。你選擇的損失函數(shù)和評(píng)估指標(biāo)如何測(cè)量你的模型輸出的偏差 。
如何理解過(guò)擬合和欠擬合 , 以及偏差/變量權(quán)衡 。
模型的結(jié)果與置信度之間有什么聯(lián)系 。
2.機(jī)器學(xué)習(xí)理論
當(dāng)你在訓(xùn)練神經(jīng)網(wǎng)絡(luò)時(shí) , 實(shí)際上發(fā)生了什么?是什么使這些任務(wù)可行而其它的不行呢?對(duì)待該問(wèn)題的好方法是 , 在深入理解理論之前 , 首先通過(guò)圖和實(shí)例理解機(jī)器學(xué)習(xí) 。
需要理解的概念有不同的損失函數(shù)工作的方法 , 反向傳播有用的原因 , 以及計(jì)算圖究竟是什么 。深入理解構(gòu)建函數(shù)模型并且與團(tuán)隊(duì)其他成員有效地對(duì)其進(jìn)行溝通非常關(guān)鍵 。
另一個(gè)基礎(chǔ)技能是有能力閱讀、理解和實(shí)驗(yàn)研究論文 。起初看上去這似乎是一個(gè)艱巨的任務(wù) , 所以一個(gè)不錯(cuò)的方法是從一篇后面附有代碼的論文開(kāi)始 , 并深入理解其實(shí)現(xiàn) 。
3.數(shù)據(jù)整理
問(wèn)任何一個(gè)數(shù)據(jù)科學(xué)家 , 他們會(huì)告訴你其 90% 的工作是數(shù)據(jù)再加工 。它對(duì)于應(yīng)用人工智能的重要性就如同你的模型的成功與你的數(shù)據(jù)的質(zhì)量高度相關(guān)一般 。數(shù)據(jù)在許多方面起作用 , 可分為以下幾個(gè)類(lèi)別:
數(shù)據(jù)獲取 。
數(shù)據(jù)預(yù)處理、特征工程、數(shù)據(jù)增強(qiáng)、數(shù)據(jù)歸一化、交叉檢驗(yàn)拆分) 。
數(shù)據(jù)后處理 。
熟悉數(shù)據(jù)整理的最好方法是掌握原始的數(shù)據(jù)集 , 并嘗試使用它 。網(wǎng)上有很多的數(shù)據(jù)集并且許多社交媒體和新聞媒體網(wǎng)站都有著很好的應(yīng)用程序接口 。
4.調(diào)試/調(diào)節(jié)模型
對(duì)一些不收斂或者包含與調(diào)試代碼非常不同的過(guò)程但是給出合理結(jié)果的機(jī)器學(xué)習(xí)算法進(jìn)行調(diào)試 。同樣地 , 找到正確的架構(gòu)和超參數(shù)需要堅(jiān)實(shí)的理論基礎(chǔ) , 良好的基礎(chǔ)建設(shè)工作可以測(cè)試不同的配置 。
由于該領(lǐng)域在向前發(fā)展 , 調(diào)試模型的方法也在不斷進(jìn)化 。以下是從我們的討論和部署反映了 KISS 理論和軟件工程師之間的熟悉度的模型的經(jīng)驗(yàn)中得來(lái)的「合理性檢查」 。
盡快從已被證明可以在類(lèi)似數(shù)據(jù)集上工作的簡(jiǎn)單模型入手 , 掌握基線(xiàn) 。古典統(tǒng)計(jì)學(xué)習(xí)模型或者簡(jiǎn)單的啟發(fā)式方法或規(guī)則會(huì)讓你明白 80% 的方法并且更快地進(jìn)行實(shí)現(xiàn) 。入門(mén)的時(shí)候 , 以最簡(jiǎn)單的方法去解決問(wèn)題 。
如果你決定訓(xùn)練一個(gè)更加復(fù)雜的模型以在基線(xiàn)上有所提升 , 不妨從數(shù)據(jù)集的一小部分入手 , 在分?jǐn)?shù)據(jù)集上訓(xùn)練模型使其過(guò)擬合 。這保證了你的模型最起碼的學(xué)習(xí)能力 。不斷地在模型上迭代直到你可以過(guò)擬合 5% 的數(shù)據(jù) 。
一旦你開(kāi)始在更多的數(shù)據(jù)上訓(xùn)練 , 超參數(shù)就開(kāi)始變得更重要了 。理解這些參數(shù)背后的理論從而理解什么是要探索的合理值 。
使用理論方法調(diào)節(jié)你的模型 。寫(xiě)下你使用的最低限度的配置并總結(jié)其結(jié)果 。理想情況下 , 使用自動(dòng)超參數(shù)搜索策略 。在最開(kāi)始 , 隨機(jī)搜尋可能就足夠了 。盡可能地去探索更多理論方法吧 。
許多步驟都能被你的開(kāi)發(fā)技能加速 , 這引出了最后一個(gè)技能 。
5.軟件工程
許多應(yīng)用型機(jī)器學(xué)習(xí)允許你充分利用軟件工程技巧 , 有時(shí)需要做些變換 。這些技巧包括:
測(cè)試轉(zhuǎn)換線(xiàn)路的不同方面 。
構(gòu)建模塊化的代碼和可重復(fù)的實(shí)驗(yàn)加速方法 。
在訓(xùn)練的不同階段備份模型 。
【如何從一名軟件工程師轉(zhuǎn)行做人工智能】建立一個(gè)分布式基礎(chǔ)架構(gòu)來(lái)運(yùn)行訓(xùn)練、超參數(shù)搜索或者更有效地推理 。
推薦閱讀
- 如何對(duì)付小三?挽回愛(ài)情
- 從“包辦婚姻”到“自由選擇”,如何把喜歡的人追回家?
- 什么是假性分手?什么是真性分手?如何識(shí)別
- 如何甩掉自卑心理
- 小栗旬近況如何 小栗旬個(gè)人資料簡(jiǎn)歷
- 兩性生活:教你如何成為一個(gè)調(diào)情高手
- 被拒絕的時(shí)候,十二星座會(huì)如何應(yīng)對(duì)?
- 拍婚紗照新郎發(fā)型如何選 這5種發(fā)型值得選
- 網(wǎng)戀怎么和女生聊天 如何正確刷好感度
- 女人如何美白 銀耳美白的方法
