?
引言:?從 GPT 模型說起
23 年科技界最大的熱點(diǎn),無疑是自然語(yǔ)言處理的 GPT 模型,起初有人還對(duì) ChatGPT 不屑一顧,質(zhì)疑其缺乏獨(dú)立思考,考試成績(jī)不好。結(jié)果新 GPT-4 模型,在律師資格考試成績(jī)排名前 10%,在 SAT 數(shù)學(xué)考試中排名前 11%。這些成績(jī)背后的分析綜合、邏輯推理、歸納總結(jié),不正是父母?jìng)兩焚M(fèi)苦心,給人類幼崽們培(灌)育(輸)的能力嗎?
一、大模型,還是小模型?
然而巨型自然語(yǔ)言模型成功背后,也是以驚人算力為代價(jià)的。據(jù) Semafor 披露, GPT-4 語(yǔ)言模型有 1 萬(wàn)億模型參數(shù)。巨型模型有其固有特點(diǎn):
01
海量數(shù)據(jù)集
海量模型參數(shù),就需要海量的訓(xùn)練數(shù)據(jù)。海量數(shù)據(jù)的采集、標(biāo)注成本高昂。這也是為什么之前的巨型模型,大都源于像谷歌、微軟等方便獲得海量數(shù)據(jù)的互聯(lián)網(wǎng)/科技巨頭。
然而“足夠”的數(shù)據(jù),在很多醫(yī)療領(lǐng)域是不存在。如罕見先心病,Ebstein 異常三尖瓣畸形,6000 多萬(wàn)人口的意大利,一年只有 30 例左右。且臨床致病因素復(fù)雜、隱私保護(hù)、壁壘等種種原因,醫(yī)療領(lǐng)域并沒有像互聯(lián)網(wǎng)一樣,唾手可得且標(biāo)注完善的海量數(shù)據(jù)集。多數(shù)需要解決的問題,恰恰是如何在小型數(shù)據(jù)集上,高質(zhì)量解決實(shí)際臨床應(yīng)用。
02
落地部署
GPT-4 語(yǔ)言模型據(jù)說有萬(wàn)億級(jí)模型參數(shù),一旦大規(guī)模實(shí)際部署,將是驚人的算力成本。高昂的算力成本,也許對(duì) NVIDIA 是好消息,對(duì) AI 醫(yī)療設(shè)備落地推廣卻未必。因此真正有應(yīng)用前景的醫(yī)療設(shè)備,不僅僅要做得出來(模型精度),更重要的是用得起(輕量級(jí)模型)。
而輕量級(jí)模型的低算力成本、低功耗、低延遲特性,則明顯便于小型便攜醫(yī)療設(shè)備的實(shí)現(xiàn),無論是醫(yī)院臨床應(yīng)用,還是對(duì)于術(shù)后家用監(jiān)護(hù),都是最佳選項(xiàng)。如心電監(jiān)護(hù)、呼吸監(jiān)護(hù)、哮喘監(jiān)測(cè)、可穿戴設(shè)備、腦機(jī)接口等醫(yī)學(xué)信號(hào)處理應(yīng)用,輕量級(jí)模型都更便于部署和使用。
綜上,AI 在醫(yī)學(xué)信號(hào)處理中的應(yīng)用落地來說,有很不同的需求差異,即小型數(shù)據(jù)集以及輕量化模型的部署。也因此,吳恩達(dá)這位來自斯坦福的 AI 大咖,近年來致力于 AI 的落地,一改前十幾年中在谷歌、百度的思路,即以模型為中心,模型越來越大,越來越復(fù)雜的傾向;開始推廣輕量級(jí)落地 AI(Unbiggen AI)。去解決大多數(shù)實(shí)際工程化落地應(yīng)用中,真正要面對(duì)的“小數(shù)據(jù)集”(small data)問題【1】。
二、輕量級(jí)模型的工程化實(shí)現(xiàn)
簡(jiǎn)潔,并不簡(jiǎn)單。比如,AI 業(yè)內(nèi),大家傳統(tǒng)認(rèn)為模型精度會(huì)隨數(shù)據(jù)集增大,也一起提高。而當(dāng)數(shù)據(jù)集有限時(shí),如何持續(xù)優(yōu)化模型,使其具備不亞于巨型模型的精度?再比如,小數(shù)據(jù)集通常的過擬合問題,如何解決?
實(shí)際上,如果僅僅是進(jìn)行純學(xué)術(shù)研究,使用完善的開源數(shù)據(jù)集,那么僅需要關(guān)注模型本身。但如果要做的是 AI 模型的工程化實(shí)現(xiàn),則與純學(xué)術(shù)研究不同,AI 工程化實(shí)現(xiàn)的性能,并不僅僅由模型本身決定(下圖中紫色框)。而是由從左到右的四個(gè)過程共同決定的,這也是為什么若只關(guān)注模型本身的優(yōu)化,不斷用更大規(guī)模、更復(fù)雜到的模型,其結(jié)果往往是逼迫擁有海量參數(shù)的模型在舊數(shù)據(jù)集上,以死記硬背的方式記住“正確答案”;而在新數(shù)據(jù)集就差強(qiáng)人意。
? ?
對(duì)于數(shù)據(jù)集準(zhǔn)備、模型開發(fā)和部署實(shí)現(xiàn),MATLAB 中提供了系列的自動(dòng)化 APP,可以幫助大家以高度自動(dòng)化的方式,快速完成耗時(shí)費(fèi)力的數(shù)據(jù)集標(biāo)注、模型的快速搭建和訓(xùn)練、模型的裁剪和量化、嵌入式代碼生成等,具體內(nèi)容,大家可以參考這里的介紹:將深度學(xué)習(xí)用于信號(hào)處理【2】和創(chuàng)建標(biāo)注數(shù)據(jù)來訓(xùn)練和驗(yàn)證模型【3】。
三、輕量化模型的點(diǎn)睛之筆——預(yù)處理及特征提取
本文將主要關(guān)注于預(yù)處理及特征提取。臨床實(shí)際應(yīng)用情況千變?nèi)f化,難以想象一臺(tái)臨床醫(yī)療設(shè)備,監(jiān)測(cè)分析的結(jié)果飄忽不定、忽好忽壞。而預(yù)處理及特征提取,這個(gè)部分恰恰為工程化實(shí)現(xiàn),提供了重要的魯棒性;而信號(hào)特征的提取,將稀疏、復(fù)雜的原始數(shù)據(jù)進(jìn)行提煉,尤其投影在變換域上,得到精干的描述,這才使輕量級(jí) AI 模型的使用成為可能。
可能有小伙伴覺得,AI 時(shí)代了,應(yīng)該是:
AI vs. Signal Processing
其實(shí)業(yè)內(nèi)的成功案例,恰恰是各取所長(zhǎng),即:
AI + Signal Processing
讓我們看兩個(gè)成功實(shí)例,一個(gè)是 Respiri 開發(fā)用于喘息檢測(cè)和哮喘管理(如下圖)。他們將采集的喘鳴聲,進(jìn)行預(yù)處理轉(zhuǎn)換為頻譜圖,然后分析頻譜圖,根據(jù)其能量模式和其他常見特征識(shí)別潛在的哮喘患者。
將復(fù)雜的哮喘預(yù)測(cè)和管理問題,轉(zhuǎn)化為頻譜圖,并選取恰當(dāng)特征,取得了四兩拔千斤的效果。輕松在手持便攜設(shè)備上實(shí)現(xiàn),使哮喘監(jiān)測(cè),從醫(yī)院臨床走進(jìn)千家萬(wàn)戶,提高哮喘患者生活質(zhì)量,同時(shí)也獲得健康管理這個(gè)龐大的市場(chǎng)。
另一個(gè)例子(如下圖),德州大學(xué)奧斯汀分校的腦機(jī)語(yǔ)言轉(zhuǎn)化試驗(yàn)。希望幫助肌萎縮癥晚期患者,通過腦機(jī)接口,仍保持與外界的溝通。借助? Wavelet Toolbox,使用小波多分辨率分析技術(shù)將腦磁圖 MEG 信號(hào)降噪,并分解為特定的神經(jīng)振蕩帶(高伽馬、伽馬、阿爾法、貝塔、西塔和德爾塔腦波)。
然后從去噪和分解的信號(hào)中提取特征。包括均值、中位數(shù)、標(biāo)準(zhǔn)差、四分位數(shù)和均方根。當(dāng)嘗試的 SVM 和 ANN 方法,得到大約 80% 的分類準(zhǔn)確率,而當(dāng)結(jié)合小波和深度學(xué)習(xí)時(shí),這個(gè)準(zhǔn)確率提高到了 96 %以上。AI + Signal Processing?的神奇合力。
? ? ?
四、AI + Signal Processing 實(shí)例——無接觸式病人監(jiān)測(cè)
故事講完了,下面就為大家舉一個(gè)實(shí)例,讓大家眼見為實(shí),體會(huì)到 AI + Signal Processing 的神奇合力,以達(dá)到小模型,大效果的目標(biāo)。
【實(shí)例】
無接觸式病人監(jiān)測(cè)。術(shù)后病人往往渾身插滿大大小小的管線,其中除了輸液和供氧,大都是心跳和呼吸監(jiān)控的。翻身和活動(dòng)都受限,尤其術(shù)后,會(huì)很難受。因此,臨床產(chǎn)生墻裂的無接觸式病人監(jiān)控設(shè)備需求。如下圖所示,在病人上方設(shè)置一個(gè)功率很小的雷達(dá),通過檢測(cè)心跳的胸腔起伏,對(duì)連續(xù)波雷達(dá)波的影響,從回波中還原出病人的心跳。
數(shù)據(jù)準(zhǔn)備:1.從志愿者身上以傳統(tǒng)方式采集準(zhǔn)確的心電圖,2.同時(shí)從雷達(dá)上采集回波數(shù)據(jù)。
目標(biāo):從下圖中,上面一行的雷達(dá)回波中,得到下面一行的ECG心電圖。
?
?
01
Test?1:
首先嘗試將 Raw Signal 雷達(dá)回波原始數(shù)據(jù),直接提供給神經(jīng)網(wǎng)絡(luò)。
構(gòu)建 1D 卷積網(wǎng)絡(luò) +BiLSTM 的神經(jīng)網(wǎng)絡(luò)如下:
心中默念“芝麻開門”,等待不到一個(gè)世紀(jì)后,得到訓(xùn)練后模型,對(duì)輸入雷達(dá)回波,還原出的心電圖如下圖所示,第一行是雷達(dá)回波,第二行是實(shí)測(cè)心電圖,第三行是還原出的心電圖。第二、三行信號(hào)天壤之別,是不是神經(jīng)網(wǎng)絡(luò)的神力消失了?第一反應(yīng),是用更大的更高級(jí)的模型?
且慢。想到小模型,大效果的目標(biāo)。讓我們?cè)囋?AI + Signal Processing 的神奇合力。
02
Test?2:
這次,我們希望嘗試添加一些預(yù)處理和特征提取功能,看看能否化腐朽為神奇??赡芎芏嘈』锇槿狈π盘?hào)處理背景,對(duì)信號(hào)處理望洋興嘆。確實(shí),過去我們?cè)O(shè)計(jì)信號(hào)處理算法,還需要查手冊(cè)、記語(yǔ)法、寫代碼、調(diào) Bug,想想處處是坎,步步有坑。T-T
而 MATLAB 提供了非常豐富、好用的信號(hào)處理算法設(shè)計(jì)功能。還有一系列圖形化界面的 APP,可以快速嘗試各種算法設(shè)計(jì),設(shè)置調(diào)整各種參數(shù)和配置,并可視化效果,達(dá)到要求后,所有在圖形化 APP 中完成的操作,自動(dòng)轉(zhuǎn)化為對(duì)應(yīng) MATLAB 函數(shù)/代碼。
下面,給大家展示,如何快速設(shè)計(jì)用“高深”的小波分解和信號(hào)重構(gòu),來設(shè)計(jì)這里的預(yù)處理和特征提取模塊。注意哦,我們不看手冊(cè)、不記語(yǔ)法、不寫代碼,更不調(diào) bug。
基本思路:根據(jù)物理原理,我們知道心跳胸腔起伏,會(huì)在雷達(dá)回波中,引發(fā)微多普勒效應(yīng),因此回波中應(yīng)該包含了心跳信號(hào),我們先對(duì)回波進(jìn)行小波分解,然后再基于有效成分,進(jìn)行信號(hào)重構(gòu)。
我們打開信號(hào)多分辨率分析器,這個(gè)圖形化 APP。在左上角可以設(shè)置小波基及分解層數(shù)等。中間窗口,可看到分解的各個(gè)成分。左下角可勾選用于最終重構(gòu)的成分。最右邊窗口,用不同顏色顯示原始信號(hào)和重構(gòu)信號(hào)。
將回波導(dǎo)入 APP 后,在中間窗口看到如下各分解成分。將其與目標(biāo) ECG 心電信號(hào)比對(duì),發(fā)現(xiàn) level1、level2、level6 及 scaling coefficients 與目標(biāo) ECG 相關(guān)度很小。于是僅將 level3-5,在左下角勾選,用于 ECG 信號(hào)重構(gòu)。滿意后,做的所有操作,可以點(diǎn)擊 export,自動(dòng)生成 MATLAB 函數(shù),不必寫代碼,不必調(diào) bug。
03
算法模型搭建:
基于上面的分析,設(shè)計(jì)的網(wǎng)絡(luò)如下。傳統(tǒng)預(yù)處理模塊,通常獨(dú)立于神經(jīng)網(wǎng)絡(luò)之外,而 MATLAB 中專門提供了離散小波分解的層,并支持選擇小波基和信號(hào)重構(gòu)的成分。這一層的可理解成固定系數(shù)的層,不需要參與學(xué)習(xí)。放在網(wǎng)絡(luò)模型中的預(yù)處理層,大大簡(jiǎn)化模型搭建;在訓(xùn)練時(shí),也不必單獨(dú)先對(duì)數(shù)據(jù)成批預(yù)處理,將預(yù)處理后的特征向量,存在本地,再分批讀取訓(xùn)練;MATLAB 支持合并在同一個(gè)模型中,就可以像普通網(wǎng)絡(luò)模型一樣,直接提供數(shù)據(jù)訓(xùn)練即可(生活多美好)。類似的層,MATLAB 也提供cwtLayer、 stftLayer 層,分別可支持連續(xù)小波變換和短時(shí)傅里葉變換。
心中再次默念“芝麻開門”,得到訓(xùn)練后模型,對(duì)輸入雷達(dá)回波,還原出的心電圖如下圖所示,第一行是雷達(dá)回波,第二行是實(shí)測(cè)心電圖,第三行是之前未使用小波變換,還原出的心電圖,第四行是使用小波分解和信號(hào)重構(gòu)的預(yù)處理后,還原出的心電圖。第四行和第二行高度一致,驚不驚喜,意不意外?還是那個(gè)毫不起眼的輕量小模型,在與 AI + Signal Processing 的結(jié)合,產(chǎn)生出神奇的效果。
五、總結(jié)
請(qǐng)慢慢品味算法中的美感,我們簡(jiǎn)單總結(jié)下所展示的。最初直接將原始信號(hào)輸入 1D 卷積 +BiLSTM 神經(jīng)網(wǎng)絡(luò),經(jīng)過漫長(zhǎng)訓(xùn)練,還原出的信號(hào),完全看不出目標(biāo)心電信號(hào)的影子;而采用信號(hào)多分辨率分析器快速探索設(shè)計(jì)的,基于離散小波分解和信號(hào)重構(gòu)的預(yù)處理算法,與最初這個(gè)輕量級(jí)模型結(jié)合,就馬上化腐朽為神奇。從一片嘈雜的回波中,準(zhǔn)確還原出了目標(biāo)心電信號(hào)。這個(gè) Demo 已被發(fā)布在 MATLAB shipping demo 中。心動(dòng)不如行動(dòng),感興趣的小伙伴?【4】。
細(xì)細(xì)品味后,好的預(yù)處理及特征提取,是高性能、輕量化模型成為可能的點(diǎn)睛之筆。臨床實(shí)際應(yīng)用千變?nèi)f化,這個(gè)部分恰恰為醫(yī)療設(shè)備的工程化落地,提供了重要的魯棒性和可靠性;而信號(hào)特征的提取,將稀疏、復(fù)雜的原始數(shù)據(jù)進(jìn)行提煉,尤其投影在變換域上,得到精干的描述,這才使輕量級(jí) AI 模型的使用成為可能。
編輯:黃飛
?
評(píng)論