如今,許多組織已經或打算將其資料用於尖端的機器學習技術中,以瞭解或預測對運營非常重要的事件。有效利用資料所帶來的優勢是顯而易見的,也是公認的。然而,根據經驗,許多組織在採用這種機器學習技術方面相對進展較慢。由於缺乏這種技術,他們承擔著降低競爭力的風險。
在本篇文章中,我們將探討以下幾個問題:
1. 機器學習的概述和應用,重點主要放在工程領域;
2. 介紹並闡明機器學習的常用關鍵術語和概念;
3. 分享一些機器學習技術用於特定工程的案例。
本文作者
Dr. Shidan C. Murphy
Director of APAC Solutions Specialists, Data Intelligence
視頻講解如下,不想看影片的使用者也可以看下面的圖文講解。(影片時長23分鐘,注意調節音量哈~)
數值方法與T檢驗
數值方法在商業上的應用有著悠久的歷史。吉尼斯啤酒廠在100多年前率先開發了這種方法。當時,如果你有科學天賦,那吉尼斯啤酒廠就是適合你工作的地方。吉尼斯啤酒廠以在最具競爭力的大學招聘最優秀、最有才華的科學家而聞名:數學家、化學家、物理學家、生物學家等等。這些人被聘請進行創新、開發和創造,以便他們能夠實施新技術來解決吉尼斯啤酒廠面臨的業務問題。
這些人中最有名的是William Sealy Gosset。最終成為吉尼斯啤酒廠的首席釀酒師,他在牛津大學攻讀自然科學和數學後加入了這個公司。
當他加入吉尼斯時,因為啤酒的需求不斷增長,啤酒廠正在經歷一段快速擴張時期。在這一擴張階段,他們的主要業務問題是在增加產量和降低成本的同時保持啤酒品質的一致性。
吉尼斯啤酒的主要成分是一種叫做麥芽提取物的液體。麥芽提取物是從大麥穀物中提取的。吉尼斯的早期釀造方法是採取“外觀和感覺”的方法來選擇這種大麥。他們會選擇最“香”或最“好看”的大麥,然後用這些原料釀造盡可能多的啤酒。可惜的是,對吉尼斯來說,大麥的“外觀”和“感覺”實際上與啤酒的最終味道並不相關。因此,通常在釀造環節結束時,人們認為釀造風味低於可接受的品質標準,他們必須將其全部扔掉——浪費大量的原料、時間和精力。這種對產品的高要求使他們付出了金錢的代價,而且難以滿足客戶的需求。他們必須找到一種更好的選擇原料的方法,因為他們原有的“外觀”和“感覺”方法並不經濟——因為品質差,有太多的啤酒被扔掉了。
William Sealy Gosset為原料的選擇帶來了科學的嚴謹性。他開發了一種數值方法,能夠根據很少的麥芽提取物樣本對大麥品質做出廣泛的結論。第一次,一個釀酒師可以根據3或4個麥芽提取物樣本來確定整批大麥的總體品質。這裡的創新之處在於將結論從一個小樣本擴展到一個群體。
這項工作之後繼續以 Student 的筆名發表,今天被稱為T檢驗。
這項工作令人興奮有兩個原因。對吉尼斯啤酒廠來說,這一結果令人激動,因為這將使他們能夠在釀造環節內對所用材料做出明智的決定——滿足他們保持釀造品質的願望,同時增加產量並降低成本。對於統計學家來說,這種方法令人激動,因為它引入了一個概念,即通過使用分佈表來瞭解如何將某一結果與隨機機會相比較,以衡量結果的確定性。這項工作激發了整個統計工作的潮流,構成了現代統計理論的基礎。
由於專注于資料、創新和基於證據的決策,吉尼斯啤酒仍然是全球最成功的啤酒品牌之一,這並不令人驚訝。事實上,公司利用數位創新來增加商業優勢的趨勢還在繼續。如今,各組織都在投資機器學習技術,以瞭解他們的大量資料。這樣做的經濟優勢是如此之大,以至於資料常常被稱為“新石油”,一個最初由數學家Clive Humby創造的短語。
在2017年,《經濟學人》寫了一篇文章,認為資料正在推動下一次經濟革命。文章指出,當今世界上最大的公司都是資料驅動的公司,例如,每個人都知道的公司——Facebook、Alphabet(或Google)、亞馬遜等等。顯然,資料和對資料的高品質分析是變革性的。
然而,根據經驗,工程公司在運營中採用最新的機器學習技術和概念的速度相對較慢。
機器學習
工程領域的機器學習
首先,讓我們看一下工程領域的機器學習。
這是一張圖表,顯示了1990年至2018年的出版物數量,其中包括論文摘要中的“機器學習”和“機械工程”關鍵字。我們可以很清楚地看到,這些主題同時也在學術出版中被越來越多的考慮,事實上,出版率正在提高。在過去的5年裡,關於這些主題的出版物比過去的24年的都要多。機器學習技術在工程中的應用正在明顯增長。儘管這些資料是機械工程領域特有的,但總體趨勢是跨工程學科的。
但它在哪裡增長?在哪些領域?以下是普華永道會計師事務所的一份報告,該報告對機器學習將應用于智慧製造的技術進行了排名。
螢幕左側的主題按紅色橫條排列,這表示未來5年技術的預期增長。請注意,預測性維護是預測機械故障以便執行主動維護的能力,在這些技術中排名最高。機器學習在預測性維護方面有著非常明確的應用,並且有充分的理由來實現預期的增長——公司的經濟效益是顯而易見的。麥肯錫報告了幾項技術的重大經濟和運營效益,其中就包括預測性維護。具體來說,他們發現當實施預測性維護計畫時,能實現:
--每年維護費用降低10%
--停機時間減少20%
--設備檢修費用降低25%
--息稅前利潤提高10%至20%。
機器學習快速增長的三個原因
那麼,這是為什麼?為什麼組織中機器學習的應用正在快速增長?有三個關鍵原因:
1)硬體——提高功率和品質;
2)軟體——特別是在開發開源軟體和開發商業應用程式方面,這些應用程式使許多新技術可供技術水準較低的用戶使用;
3)資料——各種資料集的廣泛可用性,以及傳輸資料的感測器和連接設備的激增。
相信你們中的許多人都聽說了這三個原因推動了機器學習技術的普遍採用。但是,這到底是如何實現的?
簡而言之,一隻貓。或者更確切地說,用一種演算法驅動的方法可以得知這個圖像確實是一隻貓。
現在,我們都有足夠的經驗與動物的互動,知道這是貓而不是狗。但電腦能做到嗎?2012年,Google X實驗室提出了這個確切的問題。電腦能僅僅通過識別圖像就知道圖像中是什麼嗎?關鍵的挑戰是,電腦能否在沒有任何關於貓或貓長什麼樣的建議和資訊,將其識別為貓?
Google X實驗室通過從Youtube視頻中隨機抽取的1000萬張圖片來測試這個問題,查看電腦是否能夠識別圖像。大約20000張圖像之後,他們的系統開始識別貓的圖像。回想一下這裡的關鍵創新——系統自己找出了圖片的內容。穀歌並沒有告訴電腦什麼是貓,什麼不是貓,也沒有提供有關圖片內容的資訊。
這是一個大專案——它需要大量資料、大量軟體創新和對硬體的重大投資——1000台電腦協同工作及16000個核連續處理三天,完成這項任務花了幾百萬美元。
沒有比這個案例更能說明硬體、軟體和資料升級的效果了。
2007年/2008年
這項工作是不可能的。沒有足夠的資料——沒有足夠的貓的照片。硬體不夠強大,軟體也沒有能力。
2012年
Google X實驗室完成了這項工作。它需要1000萬張圖片,1000台電腦協同工作,16000個核和3天的連續處理。
2014年
3個現成的GPU複製了一個類似的任務,而它只花費了數小時,而不是數天。這些縮短的處理時間與硬體的顯著改進以及依託于硬體開發的軟體直接相關。
2017年
在Google X實驗室原本從事這項工作的人鼓勵人們使用高性能電腦HPC來完成類似的任務。
重申一下觀點——當談到硬體的改進時,我們不僅僅是在談論單個電腦晶片內計算能力的提高——今年的臺式電腦比去年的電腦更強大。這是真的,但另一個方面是硬體使用越來越先進,並且硬體可供普通使用者使用。
2007年/2008年
這項工作很可能是在一台桌上型電腦或伺服器上完成的。
2012年
他們將多台電腦連接起來,在本例中為1000台,並將工作負載分配給這些電腦。
現在
各組織正在轉向GPU,機器學習中的思想領袖正在鼓勵大家朝著高性能計算的方向發展。
所以,個人電腦確實變得更加強大,但人們也正在轉向更高效、更先進的硬體。
機器學習的定義
關於這個話題有很多流行語,但文中只會關注兩個詞,因為它們經常被談論:人工智慧和機器學習。
人工智慧是一種多層次協同工作的電腦應用,用來類比智慧決策。機器學習是人工智慧概念中的一個層面,它是推動實際決策的引擎。
顧名思義,機器學習可以分為兩個直觀的概念:機器和學習。
機器學習中的機器是指自動化。
自動化的類型包括:
1. 資料理解的自動化。這些資料太複雜了,無法進行人工推斷。
2. 模型創建的自動化。模型是在沒有人為干預的情況下建立的,模型中發現的結論過於複雜,無法完全理解。
3. 模型改進的自動化。隨著時間的推移,模型有了持續的自動化改進。
那麼,機器學習中的學習呢?學習是指三種關鍵的範式:
1. 強化學習
2. 無監督學習
3. 監督學習
強化學習的基礎是在循序的決策過程中獎勵正確的行為。最終的結果是為了在一系列的決策之後使累積的獎勵最大化。強化學習在最著名的人工智慧應用中被大量使用,人工智慧在國際象棋和圍棋中擊敗了世界級的人類棋手。然而,除了機器人領域的自動化之外,強化學習在工程中的應用還很少。
無監督學習是基於資料不言自明的觀點,沒有與資料相關聯的預測。相反,資料中的模式用於將其組織為邏輯單元。換句話說,我們從模式本身學習資訊。例如,看下方這個圖表,我們看到兩個變數相互繪製。
無監督學習與我們看圖表非常相似,我們會說“嗯,這些點看起來彼此不同。它們可能代表不同的類別。”我們把這些觀測稱為不同的聚類。無監督學習在異常檢測和探索性資料分析中的應用最為普遍。它在理解大資料中的資料模式方面非常強大。今天,有一些最先進的機器學習技術結合了無監督和有監督的學習,將在下面進行討論。
當你有變數時,你可以使用監督學習,這些變數將用於預測已知結果。在這種情況下,利用率、範圍、有效載荷和能源等變數將用於預測變數“已知結果”中的值。這種學習類型的目標是讓演算法瞭解與“已知結果為是”和“已知結果為否”相關的模式。監督學習是大多數機器學習技術的基礎。
現在我們來重點介紹一下監督學習模型下的通用模型構建過程。
第一部分顯然是資料。在工程中,通常有三種主要類型的資料可用于生成機器學習模型:
1. 模擬資料,來自物理驅動的模型,可能來自於Altair自己的產品模組。
2. 歷史資料,來自實驗或在常規操作中收集的。
3. 流資料,或者即時資料,來自即時記錄資料的設備或感測器。這類資料通常與物聯網相關聯。
每一個資料來源都要經過自己的資料清理、變數創建和準備過程,然後可以組合在一起生成最終的模型構建資料集。通常,最終的模型構建資料集有許多變數,這些變數將用於理解在另一個單一變數(已知結果變數)中找到的模式。
模型開發過程的最後一步是測試模型是否過度擬合。當模型和建立模型的資料集太緊密對應時會產生過擬合問題,該問題最終會導致建立的模型很難預測未來或產生不同的觀測結果。
為了防止過度擬合,使用與最終模型構建資料集形式相同的測試或驗證資料集來評估模型結論的穩定性。驗證資料集和模型構建資料集之間的巨大差異是,驗證資料集不包括用於開發機器學習模型的觀察結果。
最後一步叫做評估或預測。在這一步,機器學習演算法使用包含所有預測欄位但不包含已知結果變數的資料集來生成一組預測。這些值是已知結果變數的預測值,將用於做出後續業務決策。
那麼,資料科學家使用的一些更常見的演算法的名稱是什麼?線性回歸,邏輯回歸,一般線性模型,線性判別分析和穩健回歸。這些構成了資料科學家建模工具箱的基礎。推進和擴展這些方法已經發展出今天更為常見的方法,即機器學習。其中的一些技術包括神經網路、決策樹(構成Boosting, Bagging和隨機森林決策樹的方法)以及支援向量機。
案例分享
前文已經展示了機器學習的發展和應用,並幫助定義了這些方法所涉及的內容。接下來,我們將帶您瞭解一下Altair與客戶實踐的一些案例。
但在分享之前,先來談談對成功的案例至關重要的三個關鍵點。這些關鍵點確實需要定義和評估。
首先,你需要意識到你要解決的問題。正確的問題陳述有時很難確定。
第二,資料的可用性。現有資料是否反映了充分性、品質、持續時間等問題。
最後,你需要一個模型。這個模型應該致力於減少限制因素,減少約束——例如,模型可能試圖減少產品開發所需的時間,最小化材料或增加經濟效益。
研發一款具有商業競爭力的火箭
這個案例涉及到與歐洲航天局的合作。他們正在開發一種火箭,以便與當今其他航太組織和商業機構競爭。
歐洲航天局將他們的火箭設計為使用液體燃料,這比他們的一些競爭對手使用的固體燃料要貴得多。他們擔心火箭燃料的價格會導致沒有競爭力的報價。因此,他們設計了一種火箭,可以同時發射多顆軌道高度不同、軌道旋轉不同的衛星——這是當今其他火箭無法做到的。
一次發射就能發射不同的多顆衛星,這大大增強了歐洲航天局的競爭優勢。然而,在同一枚火箭上釋放多顆衛星的問題是,每顆衛星要在不同的軌道高度釋放。要釋放這些衛星,你需要關閉火箭發動機,以一定的轉速發射衛星,然後再次啟動火箭發動機,並進一步向太空飛行。然而,火箭的設計者關心的是發動機在低重力下的啟動和關閉將如何影響火箭的穩定性。
當火箭在加速時,它最終會達到一個能產生動態穩定性的速度。然而,當引擎關閉以釋放衛星,然後重新加速時,這種加速度變化將導致液體燃料在火箭內來回晃動。因此,他們需要回答的問題是,儘管存在這種不穩定性,火箭能否升空,達到第一個目標高度,關閉引擎,釋放第一顆衛星,重新開機引擎,繼續升到更高的高度,再次關閉引擎,釋放另一顆衛星,重新開機引擎,然後繼續沿著計畫的軌跡進行。
回答這個問題的傳統方法是使用計算流體力學。這種方法將準確地模擬液體的預期形態。這種方法的問題是——模擬需要很長時間才能運行,大約50天。他們正在尋找一種更快的方法來理解這些作用在火箭上的動力。
他們採取了兩種方法。首先,使用機器學習模擬晃動,並創建基於地面的實驗資料,用來驗證這些模擬是否正確。他們開發了一種人工神經網路來理解流體運動背後的模式。他們使用實驗和模擬資料的組合訓練神經網路,然後使用已知準確的資料比較預測。他們發現機器學習方法能夠很好地複製實際的流體運動。
由於人工神經網路被發現能夠準確地預測液體的流動,因此它可以在最初的開發階段代替計算流體力學。機器學習方法將模擬時間縮短了6倍。
機械臂的預測性維護
如前所述,預測性維護是機器學習在工程領域中的一個常見且日益增長的應用。在這個特定的使用案例中,一家經營工廠的公司正在使用一組機械臂來組裝產品。他們希望在這些機械臂上開發一個預測性維護程式,以減少工廠停機時間。這一想法——如果他們能夠預測即將出現的問題,他們就可以安排維護,避免計畫外停機。這樣的程式將大大提高工廠的生產率。
這是他們的一些資料——在正常操作過程中收集的歷史資料,諸如:使用時間、機器人的到達範圍、平均有效載荷等因素。除了這些資訊,他們還記錄了機器人是否需要維護,以及是否由於維護而無法使用。
現在的問題是,資料中是否有模式可以讓我們瞭解何時需要維護機械臂,何時不需要維護。我們用建立在模型資料集上的一組機器學習模型來回答這一問題,然後在驗證資料集上確認結果。我們發現有非常清晰的信號——表明機器人手臂何時需要維護,何時不需要維護。
現在,一旦構建了這個模型,我們就可以部署這個模型了。這個實現的基本步驟是獲取機械臂的使用資料,然後使用我們的機器學習模型預測機械臂是否需要儘快維護。
機器學習模型將產生兩個輸出——一個是機械臂是否需要維護的預測,另一個是該預測模型的確定性。該一模型的部署使工廠停機時間減少了約22%,維護成本減少了約8%。
本次分享就到這裡啦,歡迎大家在評論裡分享自己對於機器學習的觀點~
留言列表