跳到主要內容

機器學習的五大實務問題:對企業的影響與相應的化解方式

Appier 首席機器學習科學家 林守德博士

正如 Jason Jennings 及 Laurence Haughton 在《以快吃慢–如何藉速度在商戰中克敵制勝》一書中指出──未來,不是大公司吃掉小公司,而是速度快的公司吃掉速度慢的公司。

從現在開始,唯有善用適當的資訊快速做出決策的企業,才能成為戰場上的贏家。

機器學習技術驅動了這場變革。無論企業是嘗試向顧客提出建議、改進生產製造流程或應對市場的變動,都能運用機器學習技術處理大量的資料,進而提高自身的競爭優勢。

然而,機器學習雖能創造大好機會,卻也同時帶來了相應的挑戰。機器學習系統需要大量的資料,以及執行複雜的運算能力。顧客期望改變、出乎意料的市場波動等等外部因素,都意味著機器學習模型的運作並不是百分之百的自動,往往仰賴許多外部的資源來作監控及維護。

此外,機器學習也有不少尚待解決的實務問題。以下將深入探討機器學習的五大實務問題,以及這些問題對企業應用會產生的影響。

1. 資料品質

機器學習系統仰賴資料進行訓練,而訓練資料在廣義上可分為「特徵」及「標籤」兩種類別。

「特徵」是輸入機器學習模型的資料,像是來自感測器、顧客問卷、網站 cookie 或歷史資訊等等。

然而這些特徵的品質可能良莠不齊。舉例而言,顧客在填寫問卷時可能會隨便填寫,或對題目略而不答;感測器可能因失靈而回傳錯誤資料;即使使用者的網頁行為明確,網站 cookie 回報的資訊也可能不完整。

此外,資料也可能包含雜訊,當無謂的資訊夾雜其中時,機器學習模型將會受到誤導而做出不正確的預測。

相較於「特徵」,「標籤」的正確性與穩定度更為重要。標籤是機器學習模型最後輸出的結果。所以需要在訓練的時間利用正確的結果教導機器學習模型。標籤的稀疏性也是個問題,這是當系統已掌握大量輸入的資料卻對輸出的結果沒有把握時出現的現象。在這樣的情況下,將難以針對該模型偵測其特徵與標籤之間的關聯性優化,甚至需要耗費額外的人力干預,將標籤與輸入資料關聯起來。

機器學習需仰賴輸入與輸出資料的關聯,才能具備足夠的泛化能力以預測未來行動並提供相關建議。因此,如果輸入資料過於雜亂、殘缺或有所偏差時,將可能難以理解某輸出/標籤的產出原因。近年來機器學習也開發出許多先進的方法如半指導式學習,轉移學習來處理這樣的問題。

2. 複雜性與品質的取捨

建立強大的機器學習模型需要大量的計算資源來處理特徵和標籤,編寫複雜的模型更需要AI科學家和軟體工程師投入大量心力,同時也需要強大的計算能力、較長的執行時間,才能夠得出可用的結果。

而企業必須在這樣的情況下權衡利弊。可以選擇較快的開發速度或響應速度,但是結果可能不夠精確;或是可以接受較慢的速度或使用比較多的資源,但是獲得相對精準的產出。不過,無論是以較高成本換得精確模型或選擇以速度取勝,整體而言仍需視應用的情況而定,企業未必會因取捨而吃虧。

舉例而言,由於零售購物網站對顧客進行推薦需要即時應對,則此時成果即使出現意料外的變化,也仍在可接受範圍。然而,金融交易系統則會需要較可靠的判定結果。由於不需要即時產出結果,系統能運用更多資料讓模型執行更精密的計算,以便產出更理想的結果。

隨著「機器學習即服務」(Machine Learning as a Service,簡稱「MLaaS」)進入市場後,模型複雜性和品質間的利弊權衡開始受到更多關注。芝加哥大學的研究人員深入分析機器學習即服務的成效後,發現「如果能為關鍵決策(如分類器和特徵選擇)產出足夠的洞察,則其所能達到的效益相當於另一個獨立的分類器。」

3. 資料的樣本偏差

許多企業會借助機器學習的演算法進行員工招聘。不過,Amazon卻發現用於輔助挑選適任應徵者的演算法其實並不公正。此外,普林斯頓的研究人員也指出,有些系統彷彿像人類般擁有好惡,傾向選擇帶有歐洲色彩的姓名。

這不僅是模型發生問題,更多來自用以訓練模型的資料本身帶有偏見。幸好,在察覺資料出現偏差後,科學家便能設法將其導正,或盡可能降低偏差對資料的影響。

第一項挑戰便是判定資料是否含有偏見,這表示須執行額外的前置作業。雖然不可能將資料的偏見全數消除,但仍可藉由導入人類知識將影響降至最低。近年來也有許多帶有公平性原則的機器學習模型被提出,希望能夠處理這樣的問題。

而在部分情況下,也可能需要限制模型中可以使用的特徵數量。例如,在模型產出結果時,忽略某些特徵(如種族或膚色)將有助於減少偏差資料的影響。

4. 變化多端的顧客期望與概念漂移

機器學習模型會在特定情境下運作,而顧客追求的也不一定一樣。以數位廣告為例,有些客戶在乎的是點擊率,有些客戶在乎的是購買數量,有些客戶在乎總營收,有些客戶甚至有更複雜的評估機制。如果機器學習模型無法與時俱進地跟上顧客需求,則可能被淘汰。

模型可能因不同原因而出現衰退的現象。當新資料引入模型時發生漂移,即稱為「資料漂移」。或者,當人們對資料的解讀以及需求有所改變時也會發生漂移,即為「概念漂移」。

而為了適應上述的漂移現象,模型必須善用不斷新增的資料持續自我更新和進步。這也意味著必須定期對於模型作一些偵測與測試,讓機器學習的模型有「自我修正」的能力。

持續收集特徵及標籤並即時應對變化,才能讓模型適時更新並維持最佳狀態。雖然模型能夠自動執行某些層面的再訓練,但有時候人為的介入還是有其必要性,例如常常我們需要考慮新的特徵,或是更換學習的目標函數。

5. 監測與維護

建模其實不難,甚至可以將整個流程自動化。然而,許多模型的維護及線上服務需要完善的計畫與相應的資源。

機器學習模型只是系統產生結果流程中的一部分,這個流程包含前端的資料蒐集與校正,以及模型結果產生後的後製與顯示,再加上對於模型結果的回饋也需要重新回到模型本身來調整。這整個系統中任何一個環節都可能出錯,尤其是當企業有數以千計甚至萬計的模型在線上服務的時候。

所以在MLaaS的使用情境下,當模型產出的結果出乎預期時,有時不是源於機器學習的模型預測錯誤,而是作業鏈中出現問題。舉例而言,推薦引擎需與線上網頁建立連結以向顧客展示商品;而當連結中斷或是有延遲的時候,客戶的點擊率就會被影響。這樣的結果並不是模型推薦錯誤造成的,而且往往要花上一段時間才能找出錯誤。所以,如何能夠快速的找出可能的問題所在,反而是MLaaS相關企業非常需要的能力。

機器學習可為企業帶來不少益處。預測未來結果以推斷並影響顧客行為,以及協助企業運作等等,都是機器學習能提供的實質效益。然而,機器學習同時也為企業帶來了不少挑戰。企業應對相關挑戰有所了解並發展因應的解決策略,準備周全之下才能安心地運用機器學習。

強力徵求

Machine Learning Scientist

Responsibilities

  1. Use machine learning and analytical techniques to build prediction models for advertising/enterprise solutions.
  2. Experience in analyzing and extracting valuable information from large amounts of business data.
  3. Design, develop and test advanced models for predictive consumer behavior.
  4. Co-operate with software engineering teams to drive real-time model implementations and new feature creations.
  5. Design efficient, scalable, automated processes for large scale data analyses, model development, model validation and model implementation.
  6. Research and evaluate pioneering machine learning and statistical models.

Backend Engineer

Responsibilities

  1. Developing and operating scalable, reliable and maintainable service-based softwares and related components.
  2. Cowork with team members to design system architecture, choose proper technologies and plan development.
  3. Design & develop server-side architecture & function logic of new services.
  4. Design and maintain database schemas for new services.
  5. Ensures the scalability of the system.
  6. Ensure the high performance of responsiveness to requests from the front-end.
  7. Integrate the front-end modules built by your coworkers into new services.
  8. Responsible for laying the foundation for the platform as well as proposing solutions to ease software development, monitoring of software, etc.
  9. Profiling and performance tuning of critical components.
  10. Deploy system to production and monitor service health.
  11. Participate in idea brainstorming and contribute ideas to technology, algorithms and products.
  12. Participate on-call rotation within the Backend team to ensure product reliability and scalability.

Frontend Engineer

Responsibilities

  1. Design & develop front-end architecture & interactive user interfaces.
  2. Integrate the back-end modules built by your coworkers into new services.
  3. Ensures the flexibility of front-end architecture.
  4. Ensure the high performance of responsiveness.
  5. Build reusable code and libraries for future use.
  6. Build unit tests and test automation.
  7. Perform code reviews to ensure existing code stays high-quality, fast, and flexible.
  8. Handle and resolve issues escalated from the production operational environment.
  9. Participate in idea brainstorming and contribute ideas to technology, algorithms and products.

其他職缺更多職缺資訊,請見 Appier網站

  • Data Backend
  • Technical Program Manager
  • Product Manager
  • QA Engineer
  • Mobile Development
  • DevOps Engineer
  • Technical Solution Engineer

留言

這個網誌中的熱門文章

COSCUP 2024 徵稿辦法 / COSCUP 2024 Call for Proposals

COSCUP 2024 Call for Proposals: Until 9th, May Submit Your Proposals HERE! 今年 COSCUP 一如往常,徵求各式各樣不同的 Open Source 相關稿件。請於 05 月 09 日(AoE) 前投稿,徵稿主題可參考本頁下方各議程軌資訊。 請注意,每場議程長度預設為 30 分鐘 ,惟部分議程軌開放其他議程長度,會在報名表單第二頁選填。 為了增添 COSCUP 的國際能見度,今年所有入選稿件希望都可以提供中英文版雙語資訊。徵稿階段,您可先以自己偏好的語言準備演講或撰寫 CfP 稿件。 提醒您,COSCUP 是一個倡導開放的研討會,所有演講將錄影並以創用 YouTube CC 姓名標示-相同方式分享 4.0 釋出。如果您的演講有任何不能錄影或不願以此條款釋出的狀況,請務必於投稿表單上註明。 We are looking for talks in several open-source related areas, please submit your proposal before May 09th, 2024 (AoE, Anywhere on Earth) . The theme for submissions can be referenced from the information on various tracks at the bottom of this page. Please note that the length of each agenda is preset to 30 minutes, only the specific tracks are open to other agenda lengths for selection, which will be filled in on the second page of the registration form. To make it more accessible for international audiences, we kindly request CFP information to be provided in both Chinese and

COSCUP 2024 Call for Participation 議程軌與攤位即日起開放申請

COSCUP 2024 Call for Participation, 議程軌與攤位即日起開放申請 COSCUP 2024 的社群議程/攤位即日起開始接受申請,社群議程於 3 月 17 日截止申請,社群攤位於 6 月 3 號截止。請有興趣在今年與我們共襄盛舉的社群把握機會! 點此快速報名 / Quick Apply 點此跳到社群攤位 Jump to Community Track English Ver. Jump to Community Booth English Ver. 社群議程 Community Room COSCUP 2024 社群議程提供場地與行政協助,您可以在此舉辦一整天關於特定開源議題的討論、座談、工作坊等。 特色包括: 自訂議程時長:各社群可以自己決定每段議程的時間,無論 15 分鐘、30 分鐘、45 分鐘,甚至直接開設數個小時的工作坊都可以。 自訂休息時間:各社群可以決定是否有休息時間,或是連番上陣。 What's new in COSCUP 2024 今年 COSCUP 有一些新的合作注意事項,歡迎欲報名的社群夥伴們確認,報名即視為貴社群同意今年度的合作注意事項 COSCUP 歡迎社群夥伴宣傳、分享社群在 COSCUP 的活動相關資訊,包含且不限於規劃獨立報名系統、架設宣傳活動網頁,或是使用票卷系統等,惟須請在相關管道中註明合作夥伴為 COSCUP 團隊。且秉持 COSCUP 精神,所有以 COSCUP 名義相關的活動,請避免限定會眾參與身分,若因特殊原因需限定參與身分,請與議程組聯絡與討論。 申請加入 COSUCP 的夥伴將視為同意大會 CoC準則,敬請夥伴們一同宣導大會 CoC ,為會眾創造尊重與友善的活動 更多社群合作準則,請參考 本文件,報名即視為同意本文件所提到的各項注意事項 Changes in COSCUP 2024 今年 COSCUP 將基於 20

COSCUP 2024 Customized Community Sponsorship Program/ 2024 贊助社群客製化方案

COSCUP 2024 Customized Community Sponsorship Program 中文版  |  COSCUP provides a unique opportunity for sponsors to support COSCUP and their chosen communities. This customized sponsorship program enhances sponsors’ visibility and strengthens their connection with the community. Sponsorship method instructions: Choose a Sponsorship Package : Sponsors must select the “Friend” package or a higher-level sponsorship. Total Sponsorship Amount = Sponsorship Package Fee + Chosen Community Sponsorship Amount. Sponsorship Amount for a Community: The amount allocated to a community cannot exceed one-third of the total sponsorship amount. Example 1: Gold-level Sponsorship (NTD 137,500) + Booth (NTD 27,500) = NTD 165,000. The maxi