https://real-st-ory.tistory.com/36
[약물 추천, AI 논문 정리 #1-1] 기존 모델의 한계와 SafeDrug의 등장 배경
https://real-st-ory.tistory.com/35 의료 AI의 핵심, '약물 추천'이란 무엇인가?"병원에서 받은 약, 누가 골랐을까?" 병원에 가면 우리는 진단을 받고, 바로 처방전을 받는다.그런데 그 약은 누가, 어떤 기
real-st-ory.tistory.com
이 포스팅은 약물 추천 AI 논문 [SafeDrug]을 읽고, 핵심 아이디어를 정리한 글입니다.
앞선 글(#1-1)에서는 SafeDrug가 등장하게 된 배경과 기존 모델의 한계를 살펴봤다면,
이번 글(#1-2)에서는 SafeDrug가 약물의 "구조 정보"와 "부작용 위험(DDI)"을 어떻게 분석하고 처리하는지를 중심으로 소개합니다.
이전 글이 궁금하신 분들은 위에 첨부한 링크를 참고해주세요!


📌 이전글 요약
SafeDrug은 약물 추천 AI 모델로, 기존 모델들이 고려하지 못한 "약물 분자 구조"와 "부작용(DDI)"을 명시적으로 모델링합니다.
이전 글에서는 SafeDrug이 등장하게 된 배경과 기존 약물 추천 시스템의 한계점을 정리했습니다.
📌 이번 글 목표
SafeDrug이 어떤 구조로 약물의 특성과 부작용을 고려하여 추천을 수행하는지, 핵심 아이디어를 간단히 살펴보려고 합니다.
이 글은 0~1) 초록과 서론 (2)으로 SafeDrug의 모델 구조와 핵심 아이디어를 정리할 예정입니다!
시간이 없어서 요약만을 보고 싶은 분들을 위해, 아~주 간단하게 정리한 요약본입니다!
↓↓↓
📌 이번 글 요약
약물 추천 모델 SafeDrug는 다음 두 가지 한계를 극복하고자 합니다.
❌ 기존 한계
- 기존 AI 모델은 약물의 "구조 정보"를 제대로 반영하지 못함
- "부작용(DDI)" 위험도는 간접적 제약만 두는 soft 방식으로 처리
✅ SafeDrug의 핵심 아이디어
- 약물의 "전반적 구조(MPNN)" + "부분 구조 정보(지역 인코더)"를 함께 학습
- "부작용 위험(DDI)"을 명시적으로 제어하는 손실 함수(loss function)를 적용


검정색 글씨는 논문을 1차 번역한 것, 파란 글씨는 내가 조금 더 이해할 수 있도록 문장을 정리한 것.
-Safe Drug의 제안 및 기여-
이 문제를 해결하기 위해 우리는 약물의 분자 구조를 활용하고 DDI를 명시적으로 모델링하는 DDI 제어 가능한 약물 추천 모델, SafeDrug를 제안합니다. 우리는 약물 추천에 분자 구조를 통합하는 것이 이롭다고 주장합니다. 우리의 SafeDrug는 다음과 같은 기여를 합니다:
이 문제를 해결하기 위해, 우리는 약물의 구조를 직접 분석하고, 약물 간 부작용을 통제할 수 있는 모델(SafeDrug)을 만들었다.
약물을 추천할 때 약의 구조 정보를 포함시키는게 훨씬 효과적이라고 보기 때문이다.
-Safe Drug의 구조 및 기능-
전역 및 지역 분자 패턴을 포착하는 이중 분자 인코더 (Dual Molecular Encoders to Capture Global and Local Molecule Patterns): SafeDrug 모델은 먼저 환자 표현을 학습하며, 이는 이중 분자 인코더(dual encoder)에 입력되어 전반적인 약리학적 특성과 약물의 지역적 하위 구조 패턴을 포착합니다.
SafeDrug은 약물을 분석할 때 전체 약물의 큰 그림과 작은 구조들의 기능성을 둘 다 학습해서, 더 정확하고 세밀한 약물 추천이 가능하다.
<복습 (이전 글에서 한 번 다뤘음)>
Safe Drug는 환자 데이터를 먼저 이해하고, 이중분자 인코더를 통해 SafeDrug 모델이 약물 하나를 볼 때, 두 가지 시각으로 동시에 분석한다.그 다음 약물의 전체구조와 부분구조를 함께 분석한다.
▶ 이중 인코더는 두 개의 인코더를 의미한다.
-
- 전역 인코더: 약물 전체 구조를 보는 인코더 (MPNN 등)
- 지역 인코더: 약물의 일부 구조(하위 구조, 서브그래프)를 따로 보는 인코더
즉, 하나의 약물 데이터를 두 개의 방식으로 동시에 분석한다는 뜻
▶ 전반적인 약리학적 특성 (pharmacological properties) 포착
- 약물 전체가 가지는 화학적/생리학적 특성을 말한다.
예) 이 약물이 심장에 작용하나? 간에서 대사되나? 염증을 억제하나?
- 전역 인코더는 약물의 전체 분자 그래프를 보고, 이 약이 대체로 어떤 작용을 할지 큰 틀의 정보를 파악한다.
▶ 약물의 지역적 하위 구조 패턴 (local substructure patterns) 포착
- 약물 안에는 작고 반복되는 분자 구조들이 있다. 예) 특정 링 구조, 작고 반응성 강한 작용기 등
- 이런 구조들은 특정 기능성과 연결되어 있다. (어떤 구조는 항생 기능을 하고, 어떤 구조는 간 독성 유발을 한다.)
- 지역 인코더는 이 하위 구조를 따로 떼어내서, 그 작은 구조가 어떤 역할을 할지 학습한다.
전반적으로, 메시지 전파 신경망(MPNN) 인코더가 구성되어, 분자 정보 메시지를 전체 약물 레이어를 따라 계층별로 전달합니다. 약물 연결 정보는 여러 홉에서 잘 포착됩니다.
MPNN은 약물 안의 분자정보 메세지를 계층별로 전달한다. 이렇게 약물 안의 원자들이 서로 연결된 구조를 이해할 수 있도록 한다.
한 원자에서 멀리 떨어진 구조이더라도, 잘 분석할 수 있게 된다.
지역적으로는, 이분 인코더가 약물 분자를 서브 구조로 분할하며, 각 서브 구조는 특정 기능에 연결될 수 있습니다.
작고 기능적인 그룹. 본 연구에서 하위 구조 표현은 효과적인 마스킹된 신경망에 입력됩니다. 모델의 최종 출력은 전역 및 지역 인코딩된 임베딩의 요소별 통합을 통해 얻어집니다.
지역 인코더는 약물 분자를 서브구조로 분할하며 약을 작게 나눠서 각 부분이 특정 기능에 연결될 수 있도록 한다.
이렇게 작고 중요한 구조는 특별 신경망에 넣어서 더 정확하게 분석한다.
마지막으로, 전체 구조와 부분구조의 정보(전역 및 지역 인코딩된 임베딩의 요소)를 합쳐서 최종 약물 추천에 사용한다.
“하위 구조 표현은 효과적인 마스킹된 신경망에 입력된다.”
→ 약물의 하위 구조(작은 부분 구조)를 마스킹된 신경망에 넣어서 특정한 방식으로 처리한다.
🔹 마스킹(Masking)이란?
- AI 모델이 일부 입력을 가려놓고(=mask) 그걸 예측하거나 학습하게 만드는 기법.
- 예시)
문장 “나는 [MASK]을 좋아해요” → [MASK]에 들어갈 단어를 예측하도록 학습
🔹 약물 구조에 마스킹을 쓴다는 것?
- 분자 구조(그래프)에서 일부 서브구조나 노드(원자)를 일부러 가려놓고,
모델이 그걸 복원하거나 예측하도록 훈련시킨다는 뜻.
즉, “이 부분이 가려졌을 때 나머지 구조만 보고 이게 무슨 기능을 가졌을까?” 를 학습하는 방식
마스킹을 하는 이유?
- 하위 구조가 어떤 기능을 가지는지 정확히 파악하려면, 그 하위 구조를 독립적으로 이해해야 함.
→ 따라서 그 구조를 일부러 가려보고, 모델이 나머지 정보만으로, 그 구조의 기능이나 특성을 잘 파악할 수 있는지 테스트.
“효과적인 마스킹된 신경망”이란?
약물의 하위 구조를 잘 학습하기 위해,
일부 구조를 가리고 학습하는 특수한 신경망 구조를 사용하는 것.
-Safe Drug의 DDI 제어 손실 함수-
• DDI 조절 손실 함수 : 비례-적분-미분(PID) 제어기 [Astrom and Hagglund, 1995]에서 영감을 받아, 우리는 상당한 유연성을 가지고 감독된 손실과 비 감독된 DDI 제약을 적응적으로 결합하는 새로운 기술을 설계합니다. 훈련 중, 개별 샘플의 DDI 비율이 특정 임계값/목표를 초과하는 경우 부정적인 DDI 신호가 강조되고 역전파됩니다.
약물 간 부작용(DDI)를 조절하기 위해 공학에서 사용하는 PID 제어기를 참고하여, 학습과정에서 AI 가 스스로 위험한 DDI를 피할 수 있도록 하는 방법을 만들었다. 학습 중 개별 샘플의 DDI 비율이 부작용 기준(특정 임계값)을 초과하면, 부정적 DDI 신호를 강조하여 학습에 반영(역전파)할 수 있도록 한다.
* 부작용이 많은 약 조합일수록, 손실값이 커지고 → 이걸 기반으로 모델이 다음번에 그런 조합을 피하도록 학습이 조정된다.
실험에서 적응형 경량 하강법은 모델 정확도와 최종 DDI 수준의 균형을 유지할 수 있습니다. 사전 설정된 목표가 있는 경우, SafeDrug 모델은 다양한 DDI 요구 수준을 충족하는 신뢰할 수 있는 약물 조합을 제공합니다.
실험학습을 할 때, 너무 계산이 복잡하거나 느리지 않은 적응형 + 계산부담이 적고 효율적인 경량하강법 (lightweight descent)을 통해 모델 정확도를 높이고 부작용(DDI)을 낮추는 두 가지 목표가 균형있게 충족되었다. 이렇게 사용자가 원하는 부작용 허용 수준을 설정하면, 그 조건에 맞춰서 안전한 약 조합을 추천할 수 있게 되었다.
• 포괄적 평가
우리는 이전 작업 [Zhang et al., 2017; Shang et al., 2019; Le et al., 2018]를 따르고 MIMIC-III 데이터베이스 [Johnson et al., 2016]에서 추출된 벤치마크 약물 추천 데이터셋에서 SafeDrug을 평가합니다. SafeDrug은 DDI 감소에서 19.43%, Jaccard 유사도에서 2.88%, F1 측정에서 2.14%의 개선으로 기존의 최상의 기준을 초과합니다.
또한, SafeDrug은 이전의 딥러닝 기반 약물 추천 접근법보다 훨씬 적은 매개변수를 요구하며, 훈련 시간에서 14% 감소하고 추론 중 약 2배의 속도 향상을 이룹니다.
SafeDrug는 의료 데이터셋(MIMIC-III)에서 성능을 평가했다. SafeDrug은 DDI 19.43% 감소 , Jaccard 유사도 2.88%, F1 측정에서 2.14%의 개선으로 기존의 최상의 기준을 초과했다. 모델은 훨씬 가볍고 빠르며, 학습 속도는 14% 빨라졌고, 결과를 내는 속도는 두 배 더 빨라졌다.
데이터 처리 파일 및 코드는 GitHub에 공개되었습니다. 논문의 전체 버전은 arXiv에서 확인할 수 있습니다.
https://github.com/ycq091044/SafeDrug
GitHub - ycq091044/SafeDrug: IJCAI2021: Code for SafeDrug, MIMIC data processing, Medical code mapping
IJCAI2021: Code for SafeDrug, MIMIC data processing, Medical code mapping - ycq091044/SafeDrug
github.com
이번 글에서는 SafeDrug의 모델 구조와 핵심 아이디어를 정리했습니다.
특히 약물의 전역/지역 구조와 DDI 통제를 함께 고려하는 방식이 인상적이었죠.!
다음 글(#2)에서는 SafeDrug이 등장하기 전까지의 기존 약물 추천 모델들과,
분자 구조 표현 방식이 어떻게 발전해왔는지를 정리할 예정입니다.
(궁금한 점이나 도움이 된 부분은 댓글로 소통해주시면 힘이 됩니다 😊)
'💻 본업(컴공생) 이야기 > 연구 이야기' 카테고리의 다른 글
[약물 추천, AI 논문 정리 #3] 약을 추천하는 AI, 뭘 기준으로 결정할까? (0) | 2025.03.26 |
---|---|
[약물 추천, AI 논문 정리 #2] 약물 추천 ai 기술의 변천사: LEAP부터 SafeDrug까지 (4) | 2025.03.24 |
[약물 추천, AI 논문 정리 #1-1] 기존 모델의 한계와 SafeDrug의 등장 배경 (6) | 2025.03.22 |
의료 AI의 핵심, '약물 추천'이란 무엇인가? (2) | 2025.03.21 |