###### tags: `paper` # BEHRT: Transformer for Electronic Health Records [TOC] ## Author * ==Deep Medicine, Oxford Martin School, University of Oxford, Oxford, United Kingdom== * Yikuan Li * Shishir Rao * José Roberto Ayala Solares * Abdelaali Hassaine * Rema Ramakrishnan * Dexter Canoy * Yajie Zhu * Kazem Rahimi * Gholamreza Salimi-Khorshidi ## 不知道在幹嘛 * concepts * 診斷、干預、實驗室測試、臨床敘述 ## Abstract BEHRT: A deep neural sequence transduction model for electronic health records (EHR), capable of simultaneously predicting the likelihood of **301 conditions** in one’s future visits. When trained and evaluated on the data from nearly **1.6 million individuals**, BEHRT shows a striking improvement of **8.0–13.2%** (in terms of average precision scores for diferent tasks), over the existing state-of-the-art deep EHR models * ## Introduction * Ardila 藉由斷層影像預測肺癌的風險,有 94.4% 的準確度 * Poplin 藉由視網膜眼底照片預測一系列的心血管風險因子 * 國家的 EHR 系統,可以連結到個人的診斷、干預、實驗室測試、臨床敘述,只要一個人住一次院,就可以產生大量的資料,以便於訓練模型 * 近期的DL,不需要特別經過處理的資料和專家的指導,經過一層一層的layer 就可以有答案ㄌ * Tran 使用 RBM 學習 EHR,可以預測一個人的自殺風險 * Miotto 展示出 SDA ,從 EHR 預測一些疾病,他的 model 優於其他的 feature extraction 和 feature transformation 的方法 * 早期的研究沒有考慮到 EHR資料的小缺點 * 可能有人很少生病,所以獲得的看診時間間隔不一 * 時間順序和事件 * 利用 embedding 的技術, 將不是數字的資料轉換到代數空間 * Nguyen 使用 CNN 預測再次入院的機率,把醫療歷史看成一系列的概念,並在每兩次看診的紀錄中間插入特殊的字來表示時間差 * Choi 使用 RNN 來預測下一次看醫生的診斷結果與藥物 * DL 用在 EHR 上的進展,能夠捕捉這些事件的長期依賴關係 (如:糖尿病在第一次發生以後會對一個人以後的人生帶來影響) * BERT 是在 NLP 裡有利的 Transformer 的結構 ## Methods ### Data * 資料使用 * Clinical Practice Research Datalink (CPRD) * longitudinal primary care data (縱向初級保健數據) * 英國 674 家 GP(全科醫生、家庭醫生)診所 * 覆蓋了3500 萬患者,1000萬註冊 * 最新的是覆蓋了 6000 萬患者,1600 萬註冊 * 年齡 性別 種族 * 二級保健(即住院事件統計數據或 HES ) * 英格蘭國民健康服務 (NHS) 醫院所有入院的住院、門診、意外和急診 * 占英格蘭大約 75% CPRD GP 診所(佔英國所有 CPRD GP 診所的 58%) * 只考慮了同意(並因此具有)與 HES 記錄關聯的 GP 診所數據 * 其他健康和行政數據庫(例如,國家統計局死亡登記處)。 ### Pre-processing of CPRD ![](https://i.imgur.com/ccgIxGy.jpg) * 留下至少有5次看診紀錄的病人 * 使用 160萬 進行 training 和 evaluate * 使用 Read code 和 ICD-10 分類 '疾病' * ICD-10 : https://dep.mohw.gov.tw/dos/lp-2490-113-xCat-02-1-20.html * 感覺應該是把疾病分成 G = 301 disease code * 標示第 p 個病患的 EHR 為 $V_p = \{v^1_p,v^2_p,\dots,v^{n_p}_p\}$ * $n_p$ 看了幾次病 * $v^j_p$ 第 j 次看病 * $v^j_p =\{d_1, \dots,d_{m^j_p}\}$ 第 j 次的診斷結果 * $m^j_p$ 診斷出的數量 * $d_i$ disease code * $V_p = \{CLS,v^1_p,SEP,v^2_p,SEP,\dots,v^{n_p}_p,SEP\}$ * CLS 表示一開始看病 * SEP 表示看病的間隔 ![](https://i.imgur.com/mbqZAcm.png) ### BEHRT: A Transformer-based Model for EHR * 預測未來會診斷出啥疾病,這是一個 multi-label classification problem * C.1 時間序列問題 * C.2 早期的疾病對於未來的影響 * C.3 看病的次數不同 * C.4 看病的區間不同 > ![](https://i.imgur.com/cHKq1XQ.png) > ![](https://i.imgur.com/EQPiR93.png) > * 沒有 visit 1 跟 visit 4 應該是因為在 figure 2 沒有診斷出東西 > * <div style='color:red'>不知道,position 是啥</div> > * 對於大多的疾病而言 Age 是一個關鍵的風險因子, > * segment 使用 A,B 做區分,用來作為 2 次 看病的區分點 * EHR 的時間序列 和 nlp 的概念相同,所以可以用 nlp 的方式 * 每個診斷是 words,每次看診是一個 sentence,病人的整個病歷是一個document * BEHRT 是 multi-head self-attention, positional encoding, and masked language model (MLM), for EHR * 使用 feed-forward neural (可以平行學習,而不是sequence),而不是 RNN (可能會有梯度爆炸或是梯度消失的問題)、CNN(只能擷取有限大小的資訊) * positional encoding 扮演了學習 sequence 的重要角色 * 每次看醫生的診斷結果沒有前後順序 ### Pre-training BEHRT using masked language model(MLM) * 目標是學習被遮起來的字 (binary class,threshold = 0.5) * 隨機初始化 disease, age, segment * 86.5% 的 words 不變,12% 使用 [mask] 取代,1.5%的字使用隨機選**疾病單字**處理 * 12% + 1.5% 是為了使 model 可以克服 noise ### Disease Prediction * 首先隨機將病患分成training 80%,testing 20% * 預測接下來會得啥病 * 評估三個預測任務 1. 下次看病會得哪些病(T1) * 隨機選 index j ($3 < j < n_p$),表示成 $x_p = \{v^1_p,\dots,v^j_p\}$ 和 $y_p = W_{j+1}$ * $W_{j+1}$ 是 multi-hot vector,如果是 1 ,表示 $v^{j+1}_p$ 會得那個病 * j 表示 第 j 次看病 * $n_p$ 看了幾次病 * 每個病患只會有一筆的 input-output pair * 最後有 69.9 萬個病人 3. 接下來 6 個月會得啥病(T2) * 如果資料不足 6 個月的資料,則被剃除 * index j = ($3 < j < n*$),這裡的 n* 是指之後還有大於 6 個月的看診時間 * 最後有 39.1 萬個病人 5. 接下來 12 個月會得啥病(T3) * 如果資料不足 12 個月的資料,則被剃除 * index j = ($3 < j < n*$),這裡的 n* 是指之後還有大於 12 個月的看診時間 * 最後有 34.2 萬個病人 * 對於每個病人表示成 $y^*_p$ 預測結果,$y'_p$ 是正確答案 ### Resources and Implementation * GPU = Titan Xp * 使用 BertAdam ,optimizer ## Results ### Disease Embedding * ### Attention and Interpretability * ### Disease Prediction * ## Discussion * ## Note :::spoiler {%pdf https://www.nature.com/articles/s41598-020-62922-y.pdf %} {%pdf https://static-content.springer.com/esm/art%3A10.1038%2Fs41598-020-62922-y/MediaObjects/41598_2020_62922_MOESM1_ESM.pdf %} ::: ## Knowledge * - [Transformer](https://hackmd.io/@abliu/BkXmzDBmr)