工作內容
1.工作環境介紹
目前是在一館七樓R1712大數據中心工作,而教授在五樓也有分配R1509B的實驗室給我,但主要工作地點還是在大數據中心,大數據中心相當於一個小型企業,有會議室、數個半開放式辦公桌、兩間辦公室以及小型的開放式茶水間,工作環境相當舒適、整潔,辦公室內的每個人都會定時打掃自己負責的區域。
室內因有空調系統所以通風良好,半開放式的辦公區域不只有一定程度的隱私保障,在疫情延燒的現在也能有效的避免辦公室內的交叉感染,茶水間提供微波爐、電鍋、電磁爐等,電氣設備以供辦公室內的人可以準備午餐,也有水槽可以清洗餐具、保持清潔,茶水間與兩間辦公室皆有對外窗,若當天天氣晴朗則在辦公室內工作時甚至可以不用開燈,不只節省能源,也讓工作環境更為自然、令人心曠神怡,中午休息時間可以在茶水間靠著流理台望著窗外享受片刻的寧靜、忙裡偷閒。
辦公室內的職員基本上只有一位中心助理,助理人很好,剛進中心實習時就是她帶著我們實習生熟悉工作環境與交辦部分工作內容,平時除了工作上的交流,也會分享一些彼此生活上的趣事,讓實習工作不會這麼嚴肅。大數據中心辦公室地理位置實屬風水寶地,鄰近廁所、飲水機、電梯,要買午餐的話,五館的便利商店也只有步行三分鐘的距離。
2.工作詳述
在大數據中心的工作一開始是去熟悉機房的環境與虛擬機的操作,之後進階到去學習機房內大大小小的事務處理、系統重灌、問題排除、虛擬機架設、防火牆管理等等,這都只是大數據機房管理的冰山一角而已。
在熟悉環境與稍微有點基礎知識後,教授會開始出一些課題給我們解決或去思考,在教授的引導下慢慢去自我學習有關流量分析、資安評估的相關知識,每個禮拜要固定跟教授與教授底下的研究生開團體會議,也因此認識了值得效仿與學習的學長姊,每個人都非常認真的研究自己的課題,一方面可以吸收智慧醫療與智慧製造的相關知識與技術,另一方面可以練習英文報告與聽力。
實習中途,大數據中心的黃博士突然離職了,因此他份內的工作就交辦到了我們手上,這才發現原來還有這麼多事情要處理,從博士手中接下了與廠商的對接窗口、虛擬機的管理權、機房事務等,甚至要接管博士原本的「座位」, 在這之後陸陸續續有需多廠商與我聯絡,有的要來做消防的維護、有的要來做交換器的維護、有的則有一些相關會議的邀請。不久後遇到了總務處的設備盤點,要先去機房盤點總務處要檢查的設備,之後在盤點日與總務處人員一同盤點。
在接下博士的職位之後,漸漸的會有其他專題生、教授、碩博生聯繫我們,表示自己的虛擬機有問題需要修理或查看,因此需要立即的去處理並隨時回報進度給當事人、當事人的指導教授、詹前隆教授等。
暑期開始有新進同仁來接管大數據中心的事務,我們的重心也漸漸轉向智慧醫療的研究,透過深度學習去訓練模型做肺結節的分類,去辨識肺結節是良性還是惡性的,透過去比較不同的模型與資料集的預處理去增加模型預測的準確率,期望能夠降低人工判斷的時間與錯誤率。
3.實習期間完成的內容進度
Promox VE
介紹:
實體主機會有很多問題,常見的問題就是要擴充更多的主機時,也要一併新增機櫃,因此會占用越來越多的空間,線路的配置也會越來越複雜,而且發生故障時要還原 資料的程序也跟著變得更費時。因此就要採用伺服器虛擬化的方式,將一台實體主機透過虛擬化分割成好幾個虛擬機,這樣可以很有效的利用空間,維護上也比較輕鬆。 Proxmox VE 是開源的伺服器虛擬化平台,它支援了相當多的功能,比較常會用到的 有 Web 管理介面、中文化的操作頁面、KVM 虛擬機,在儲存格式上有支援 ZFS,連接 模式支援 NFS 協定,對於學校而言,Proxmox VE 已經可以應付絕大部分的需求了。
安裝:
Proxmox VE 的安裝很容易上手,基本上跟個人電腦安裝作業系統的流程很類似。需 要先到官方網站下載 Proxmox VE 的 ISO 檔,接著用製作系統開機碟的軟體,將 ISO 檔 燒錄進 USB 隨身碟中,再把燒錄完成的 USB 插入到主機後面板的 USB 孔中後開機,在 安裝的過程中也需要連接另一台小型電腦,方便我們用視窗的方式完成安裝
建立虛擬機:
1.掛接NAS
進入 Web 管理網頁將指定的 NAS 以 NFS 的方式掛接。
2.ubuntu Linux 虛擬機建立
在管理介面上點選「建立虛擬機」,之後選擇要使用的系統 ISO 檔與要分配的 CPU 數、記憶體數、硬碟大小、網路設定,都確定好了以後就可以將虛擬機開機進行系統安裝。
3.備份
為了要應付虛擬機突然發生問題,需要進行備份以便還原資料,主要有兩種方式:(1)把一整個虛擬機的資料整個都複製到儲存區,優點是保持資料的完整性,缺點是 備份時要先將虛擬機停機。
(2)快照模式可以記錄當前的系統狀態,優點是可以在虛擬機運行的狀態下備份、製 作備份的時間較短,缺點是資料完整性較低。
Vcenter的架設
Vcenter架設流程如下:
1.Login Server的建立
2.安裝作業系統
3.架設DNS
4.設定Bind9套件的相關設定檔
5.設定網路
6.VCenter的開設
7.打開該VM的網頁瀏覽器確認管理介面無誤
FortiGate 的使用和 ForiSIEM 的學習
FortiGate 在建置完畢之後,可以用瀏覽器進到 Web 管理介面,在這個頁面可以用來 設定中心這邊的每一台電腦和 VM 的防火牆設定。
(1)防火牆 input 設定: 為了保護校內的電腦和 VM 不被可疑的 IP 遠端連線進來或是阻擋某些地區的 IP 送來的網路封包攻擊,需要為每一台電腦和 VM 建立起 input 規則,有了這些規 則的保護,可以降低資安風險。
(2)防火牆 outout 設定: input 設定完之後,接著要設定校內電腦和 VM 可以連線的地區 IP,一般來說不 會特別限制只能連到某些國家或地區,有一部分的校內的電腦可能才要設定成只能 連到台灣網域的 IP。
(3)ForetiSIEM 的學習: FortiSIEM 可以收集 FortiGate 使用的相關數據,例如:網路流量、硬體效能等 等,在這個軟體中還可以透過告警事故隨時查看有可能存在資安風險的事件,例如: 有突然大量的網路流量進來或是送出到某個 IP 位址,Fortigate 會先阻擋下來,然後 把警告傳送給 FortiSIEM 這邊,FortiSIEM 再分類成資安風險程度高、中、低其中一 個,並且給這起事件一個阻斷式服務(DOS) 的標籤,給予這個標籤的判斷標準是由 MITRE ATT&CK™ 資安框架的知識庫所提供,有了這個標籤就可以很容易查詢到這類攻擊相關的戰術、技術、程序等等,讓管理人員的資安防護工作更輕鬆。
以深度學習為基礎的肺部CT影像結節分類
研究動機:
在台灣人最容易罹患的十大癌症中,肺腺癌類的發生率男性是第二名、女性則是第一名,死亡率更是所有的癌症類別中最高的。恐怖的是,肺癌初期很難讓患者察覺到,除非是惡性腫瘤長在會導致相關病變的特別部位,否則等到患者發現並就醫時,通常就錯過早期醫治的黃金時期。因此例行的健康檢查與篩檢成為把握黃金就醫時期的關鍵。
不過病患健康檢查所產生出的CT醫療影像,需要經由專業醫生一一判斷每一張影像是否有潛在的肺部結節,並且還要診斷是否為良性與惡性,這個過程相當花時間且重複的工作太多,所以本專題中希望透過比較數個影像辨識的模型在肺部結節影像資料集中的表現,找出最適合用在判別良性與惡性結節的方法,輔助醫師完成檢查的工作。
研究方法:
先以曾在ImageNet上得到過優良表現的ResNet、EfficientNet、DenseNet模型做訓練,最終對測試集上表現最好的再去做調整,以此得到可以協助醫師做結節診斷的深度學習模型。
研究流程與目的:
首先是準備資料集與前處理的部分,我們先從LIDC-IDRI的公開資料集中取出300張含有良性結節CT影像與300張含有惡性結節的CT影像,由於原始檔案的格式與大小無法直接輸入進模型做訓練,所以將影像從原本的.dicom格式轉換成.png格式,並且每張影像的大小縮放成349x349。資料集的訓練集與測試集分配為9:1,訓練集再保留20%作為驗證集用。
再來是模型初始設定的部分,為了可以公平比較出三個模型的表現水準,我們統一設定相同的平均池化層、權重的部分也都導入imagenet上預先訓練好的權重、設定相同的優化器、損失函數以及學習速率,透過訓練完成之後三個模型在測試集上的表現,觀察其在相同的設定環境下的表現。
得到初步的訓練結果之後,依據表現結果進行調整,像是調整批次大小、增加dropout層、影像增補等方式,提高模型在分辨良性與惡性結節的準確度至少能有90%的表現。
資料及模型介紹:
(1)訓練資料:LIDC-IDRI
該資料集由胸腔醫學圖像文件(如CT、X光片)和對應的診斷結果病變標註組成,是美國國家癌症研究所發起收集的,目的是為了研究高危人群早期癌症檢測。總共收錄了1018個病患資料,有兩十萬張以上的醫學影像。我們只取當中的600張圖片來用。
(2)深度學習模型:
由於越深的網路架構,更容易導致梯度消失的問題,ResNet利用殘差映射的概念透過Residual Block結構,允許網路模型盡可能的加深,而不會有準確度下降的問題。
DenseNet受到ResNet與Inception的啟發,以Dense block間的特徵傳遞與合併,提高特徵利用效率,降低梯度消失的發生率,有助於模型收斂。
EfficientNet是為了使傳統CNN解決更複雜的問題或是提高AI系統的精確度而誕生的,通常為了達到上述的目的,放大CNN是設計模型時常用的手法,透過調整深度、寬度、輸入解析度來優化模型,但傳統上只會調整其中一個,但EfficientNet是通過「複合式模型縮放」來依照固定的比例一次調整三個維度,以獲得一個有效率的模型。
訓練模型:
(1)模型訓練時的情況
這三個模型都在訓練的過程中遇到過擬和的問題,訓練時表現出來的準確度高於驗證時的準確度太多,這表示模型的泛化能力不足,。所以這是再接下來的調整中需要改善的地方。
(2)訓練結果
ResNet50混肴矩陣
DenseNet201的混肴矩陣
EfficientNetB4的混淆矩陣
從初次訓練結果看來模型的準確度表現都在73%~75%之間,Precision、recall、F1-score三者表現幾乎相同,目前看起來EfficientNetB4的表現略好一些。從三者的混淆矩陣來看,DenseNet201的良性分辨能力與其他兩者相比之下較差。接下來會進行各種的調整,讓準確率盡可能的提升與改善過擬合問題。
調整模型與資料集:
(1)增加dropout層
我們訓練用的資料集可能太小,以致於訓練過程有過擬合的狀況發生,加入dropout層是一種對抗過擬合常見的方法,dropout會以50%的機率隨機丟棄隱藏層神經元,使訓練過程中不會過度依賴某一些特徵。左邊是沒有dropout的訓練曲線,右邊是有dropout的訓練曲線。
可以看得出來訓練與驗證的曲線好很多,但是整體還是過擬合的。
(2)資料增強
主要是利用旋轉、平移、翻轉去做影像增強,目的是為了透過現有的資料,變形出更多的資料幫助模型可以額外學習到更多的圖像,減少過擬合的狀況。下圖為影像增強後訓練的準確度曲線,訓練水準與驗證時的水準已經相當接近,過擬合問題得到大幅度改善。
(3)增加實際資料集大小
我們有試過許多參數的調整,包括讓學習速率的步伐隨著訓練迭代次數做下降、更換損失函數之類的方法,想要嘗試提高模型的準確度,但是效果都很有限,提升的幅度非常小甚至會使表現下降。後來我們認為是模型所需要的訓練集大小應該要再擴大一些,深度學習本來就是有越多的資料就越容易可以讓模型學習到更多的圖片特徵,也可以提高模型的泛化能力。所以我們從kaggle上找到另一個肺結節相關的資料集,將原來的訓練集增加296張圖片以及測試集增加118張圖片之後進行訓練,結果可以讓模型在測試集上原本只有74%左右的準確度提升至87%左右,翻倍的訓練圖像的確對提升模型表現有很大的幫助。
(4)改變批次大小
稍微調整輸入資料時的批次大小也會影響到模型的準確度,原本我們是將批次大小設定在32,後來改成34之後準確度有2~3%的提升,但是在往上提高就沒有更好的效果了。
最終結果:
結果顯示EfficientNetB4在本次收集的資料集中獲得了最好的表現,準確度達到了我們的目標90%。
從EfficientNetB4的混淆矩陣可以看到,良性與惡性的辨識能力幾乎一致,但是明明是惡性結節的影像模型卻判斷成是良性的情況有10次,這是模型或是訓練資料還可以再做設計以及改良的地方,因為在真實的結節檢驗上如果出現偽陰性,這樣的話很可能會使病患錯失掉早期觀察早期治療的機會,這是很值得反省並改進的地方。
4.工作中扮演的角色
10801708蕭逸軒
(三下)
我認為我在工作中扮演的角色同時是一個專題生也是實習生,除了跟著教授的引導完成研究與課題,也包辦了大數據中心的實務,一方面可以學習、專研管理機房與虛擬機的相關知識,對機房的管理一步步從陌生到熟悉,原本遇到問題還會手忙腳亂,現在卻可以很從容的一步一步檢查有可能出現問題的地方並做問題的排除。
大數據中心的業務也很多,除了先前提到的虛擬機維修、廠商維護、設備盤點外,消防安全教育、會議室布置、授權問題排解等,很多事情需要處理,有些是在意料之內的事,有些則屬於突發狀況,能否冷靜的應對是非常重要的事。
身為一名專題生,跟隨教授研究專題及提出對大數據中心日後發展有用的研究與數據是我的職責,解決現有問題或整理相關技術做成文件以求對大數據中心的發展做出貢獻。
(暑期)
經過暑期的專題製作我能漸漸學到從一名實習生變成研究員的轉變的過程,原本只是幫助與學習大數據中心的事物,在學完機房實務之後慢慢將重心轉回醫療影像辨識,每天做的事就是想辦法去改善模型,讓模型可以更好的輔助人的決策與判斷,讓模型的預測可以與實際結果更加相符,總結來說,暑期的專題我扮演的是一個需要應變的角色,同時要將大數據中心剩餘事務處理完畢與交接,且要將重心與心態轉成一個潛心研究著專題生。
(四上)
專題的製作已經漸漸進入尾聲,接下來的挑戰是將研究的動機、過程、結果視覺化成書面報告、海報、簡報、網站等等,除了要簡明扼要的解釋研究的內容與成果,也同時要對於重點部分著重分析與說明。 雖說專題的部分已經結束,但大數據中心的事務還要繼續進行,要將原本的事務交接回來,繼續做機房的管理與網路的維護,回歸實習生的角色。
1083107黃信智
(三下)
在這學期的實習中,我大多的時間都是扮演學習者的腳色,前面的幾個月都是跟著大數據中心的黃正男博士學習管理機房和一些軟體的使用。後來的幾個月黃博士離職, 他原本負責的一些工作事項就需要暫時由我們三位實習生接替著,不過我們對這方面的 工作還不是很熟悉,有很多的問題與事情的處理還需要再跟黃博士和詹教授學習,所以現階段也會擔任支援者的腳色。
(暑期)
暑假開始時,我們把機房的相關工作交接給新來的機房工程師之後,就開始準備要做專題,我在這期間才開始加深有關機器學習的知識與技術,而我大部分時間都是在負責搜尋需要用到的數據集與一些可能對我們的專題製作上有幫助的資訊。
(四上)
新學期開始之後我們也開始加緊腳步完成專題,在這段期間我主要還是負責查詢有助於專題進度的資訊,以及專題相關內容的撰寫。
1081707陳彥維
(三下)
除了學習專業知識外,辦公室內的一些小事我們三位實習生也都會幫忙,打掃衛生或是會議的準備工作等,在正男博士離職後,實習變得不在單純只是學習,機房的維護及管理,不論是設備定期檢查,或是防火設備的熟習及緊急狀況的應對方法,大大小小的事務都是要與各方面的廠商聯繫,雖然在對接的部分主要是蕭同學在負責,但是如何與各方人物溝通也從旁學到不少。
(暑期)
與工程師做完交接後,原先要用來做大數據中心管理的時間便用來學習智慧醫療及智慧製造,除了閱讀資料外,有時也會和其他實習生討論所讀到的文章,與大部分時間都在使用vmware進行管理時需要學習的部分並沒有不同,只是換個目標繼續前進。
(四上)
這學期因為有工程師的加入,處理大數據中心管理方面的工作,讓我們輕鬆不少,工作中扮演的腳色和其他實習生一樣,時間都用於精進智慧及機器學習的內容以及共同完成專題製作。