跳到主要內容

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

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

留言

這個網誌中的熱門文章

【攤位大地遊戲(開源巔峰挑戰賽)】Booth Reward Activity! 2024

/English Below/ 來啊,造訪攤位掃 QRCode,集點數換 2024 年限定贈品啊! 一年只有這一檔,錯過要再等一年! 在找工作嗎?想認識不同的社群嗎?想獲得 COSCUP 2024 專屬的限量贈品嗎? 利用空餘時間去各個攤位聊聊天、看一看,就可以參與大地遊戲拿獎品喲! 大地遊戲怎麼玩:​​ (歡迎順路參與 參與者大調查),填寫表單取得 OPass 票券,並下載與登入 OPass App: 取得 OPass 票券 。 前往 TR 309、312、409-1、515、516 逛各攤位。 在攤位前打開 OPass 的「我的票卷」,秀出 Opass QRcode 讓攤位人員掃描取得點數。 到 TR309 的「大會攤位」兌換贈品,數量有限! 造訪每個攤位掃描後,可獲得 5 點,今年有 28 攤 完成一日志工任務後,可獲得 50 點,至多可解 4 次 擔任講者,可享福利 400 點(請以收到的登入連結進入,每名講者限領取乙次) 今年的紀念品除了可以現金購買,也可以用點數兌換呦! ≡≡≡≡ 集點方法 ≡≡≡≡ 上方每ㄧ個方框,都是ㄧ個攤位或者ㄧ個小任務,每當你造訪完成任務後,即可打開「我的票券」中顯示你的 QRcode 給關主獲取點數,您可以在上方看到您的戰果點數。當您心滿意足準備離開大惠會場前,記得到下述地方將您的點數兌換成滿滿的回憶! ≡≡≡ 點數兌換處 ≡≡≡ 【TR309 外:大會攤位】 1 點即是 1 元,您可以在大會攤位上購置各種精美紀念品,包含滑鼠墊、鍵帽、透卡與紀念 T 恤!。 ≡≡≡ 點數兌換規則 ≡≡≡ 您可以於【紀念品攤位】旁的點數兌換區把點數兌換

你所不知道的 foodpanda

  2020 左右,隨著新冠疫情流行,台灣也逐漸流行起一股懶人旋風。懶懶躺在沙發上,動動手指滑滑螢幕,生鮮或美食就能快速又安全地由可愛的粉紅色熊貓外送員送達您門口。多數人知道 foodpanda 是台灣最大生鮮美食外送平台,也不少人知道 foodpanda 在台灣不斷擴張業務範圍,但 foodpanda 也有許多台灣科技圈所不知道的事。 例如,foodpanda 其實並非台灣本土廠商,也非只專注在亞洲區域。foodpanda 隸屬於德國 Delivery Hero 集團,業務橫跨歐洲、亞洲、美洲及北非,旗下更有十多個生鮮美食外送品牌。除此之外,foodpanda 於 2021 年時也在台灣正式成立全球第三個 Tech Hub。做為四大產品 RD 研發中心之一,台灣與德國柏林、新加坡及土耳其伊斯坦堡的人才緊密地合作,專注於打造 end-to-end 的顧客體驗。諸如月費方案 Panda Pro、外帶自取、餐廳內用 (目前仍未在台灣上市) 等功能。期待能持續吸收優秀人才、與其它三個跨國研發中心合作,打造後疫情時代新的成長引擎。 事實上,台灣的 foodpanda 研發團隊並不僅止於打造台灣本土產品。反之,我們所建立的平台及產品,已成功於近 20 個國家、10 個品牌上市。要在快速的步調下,打造持續進步且符合不同國家文化客戶需求的產品,我們依靠的是 專案團隊成員一條龍組合 從 Product Manager、Engineering Manager、iOS/Android/Web/Backend developer、QA、Product Designer、Product Analyst 全都在同一個 product line squad。讓相同產品的團隊成員能緊密合作、第一手快速了解市場、滿足需求。 國際專業團隊緊密合作 foodpanda 的 iOS/Android/Web/Backend 等專業工程師,都各自設有其跨 squad 的 chapter 組織。讓工程師能在專案團隊以外,有跨國跨團隊專業能力交流的機會。在 chapter 中,相同技術域領的專家們,會一起制定共同的實作標準、分享在專案中遇到類似的挑戰,並且找出可能的應對方案。因此,在 foodpanda 我們不只打產品專案團隊的速度戰、還打整個集團的整合能力團體戰,讓德國、新加坡、台灣、伊斯坦堡的工程師們用最有

行前通知信 / It’s that time of year… All the fun at COSCUP x RubyConfTW 2021

(English below / 下半部有英文版) COSCUP x RubyConfTW 2021 即將在 07/31 - 08/01 線上舉辦! 在即將到來的活動有幾件事情需要事先準備的,在此一一說明,讓當日的活動可以順利進行。 活動前 議程表 還沒看這次有哪些議題的,可以先看看已公告的 議程表 ,每一軌的的議程表上方將會在議程開始時出現 YouTube 轉播。讓妳有隨意逛教室、逛議程的感受。 講者須知 如果您是講者,在活動前應該會收到關於 StreamYard 的連結邀請,如果沒有收到,請聯絡您的社群負責人或是議程主持人。 線上會場大廳 由於目前此刻,我們的線上會場還在加緊趕工敲敲打打中,建議連回到 COSCUP 官網首頁,由首頁上的指引進入。 我們這次會使用 Gather.Town 平台登入,在活動開始期間,可以先閱讀 操作手冊 ! 活動入口連結: 活動大廳: 連結 攤位區 01: 連結 攤位區 02: 連結 BoF: 連結 前夜派對(Welcome Party!): Party 1 | Party 2 Opening Hours 7/30 7/31 8/01 入口區 ENTRANCE 24H 24H 24H 攤位區 Booth 1 / Booth 2 CLOSED 10:00 18:00 10:00 18:00 Party | BoF Party 1 / Party 2 17:30 22:00 17:30 22:00 CLOSED 個人贊助 感謝各方好友支持 COSCUP!每贊助一筆 2500 元,可獲得 COSCUP 2021 獨家贈品一份。或是其他金額小額捐款/香油錢(無贈品)。 個人贊助由此去! 活動前一天