간호사의 관점으로 보는 미래 의료: 의료인공지능 야매 리뷰

/

“간호사의 관점으로 보는 미래 의료” 라니…

알면 이미 주식거부…

하지만 강의요청은 들어왔고, 주제는 정해졌고… 여기저기 주워들은 지식을 탈탈 털어서 이거저거 적다보니, 무사히 강의는 마쳤습니다. . .

생각보다 들어주신 선생님들의 반응이 좋아, 언젠가 차분히 정리해보자는 생각 중, 논문 쓰는거 빼고는 다 재미있는 방학때가 와서 토막토막 적어보고자 합니다.

이 블로그의 대상 독자는 의료정보 분야를 처음 접하는 의료인, 특히 간호학생과 현직 간호사입니다.

의료 정보를 공부하는 1.5세대 간호사가 다음 시대를 어떻게 보고 있는지 가볍게 읽어주시기를 부탁드립니다.

의료인공지능 야매 리뷰

첫 글은, 예상 독자분들의 대부분이 소위 인공지능이라는 것에 대해 익숙하시지 않을것이라 생각하여, 인공지능에 대해 리뷰를 간단히 짚고 넘어가보고자 합니다. 다만 저 스스로부터가 인공지능 전문가는 아니기에, 큰 그림만 훑어볼까 합니다.

초기 AI 시대

인공지능의 개념은 꽤나 멀리 거슬러 올라갑니다. 초기 인공지능은 연산력을 바탕으로 수많은 경우의 수를 측정하여, 이길 수 있는 경우의 수를 선택하는 것이었고, 체스와 같이 경우의 수가 제한된 환경에서는 “잘” 동작했습니다.

의료분야에서는 전문가 시스템이 가장 초보적인 인공지능이라고 볼 수 있을 텐데요. 아래 그림과 같이 여러 명시적 규칙들을 조합하여 환자를 진단하는 것은 전문가 시스템의 일환입니다.

하지만 인공지능이라는 이름에 걸맞는 컴퓨터가 지적이고, 상황에 맞게 적절히 변하며, 안정적이길 바랐던 기대에는 미치지 못했고, 결국 1차 대 폭망… 아니 대실망이 오게 됩니다….

Machine Learning 시대

이후 머신러닝이라는 개념이 나왔습니다. 톰 미첼이라는 사람은 머신러닝을 이렇게 정의했는데요

A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P if its performance at tasks in T, as measured by P, improves with experience E.

대충 의역하자면, “프로그램이 데이터(E)를 부어줬더니 과업(T)을 수행하는 성능(P)이 향상되면 이 프로그램은 학습하였다고 하자.” 정도가 되겠네요.

이러한 머신러닝은 무척 혁신적인 개념입니다.

예를들어 숫자 0을 구분 해 내는 알고리즘을 개발하기 위해 명시적 코딩을 하기 위해서는 이런 기준이 필요할 것입니다. (예)

  1. 각이지지 않을것
  2. 둥근 형태일것
  3. 가운데에는 빈 공간이 있을것
  4. 중앙의 빈 공간은 하나만 존재하여 8과 구분될것

곧이어 온갖 예외사유가 튀어나옵니다.

  1. 예외사유 1. 옆집 철수는 0을 적을 때 좌하부에서 부터 적으니 해당 부분에서 각이 지더라도 0으로 간주한다
  2. 예외사유 2. 앞집 영희는 …

하지만 ML의 등장하며 이러한 명시적 코딩을 생략할 수 있게 되었습니다. 다양한 사람의 필적 백만장을 모아서 학습시키면 (차라리 명시적 코딩을 할께…) 알아서 0을 잘 구분해 낼 수 있는, 심지어는 다양한 예외사유에도 잘 적용되는 알고리즘이 “뚝딱” 하고 나오게 되는 것입니다.

Deep Learning 시대

딥러닝은 인간의 Neuron, Axon 구조를 모방하여 만든 ML의 세부 방법론 중 하나입니다. 이론적으로는 오래된 알고리즘이지만 하드웨어와 분석기술이 발전하며 최근에서야 빛을 봤죠. 딥러닝의 두드러진 특징 중 하나는 높은 성능입니다. 여타 ML알고리즘으로 결코 넘지 못했던 여러 과업을, 심지어는 인간보다 높은 성능을 보이며 인공지능분야의 중흥기를 이끌었습니다.

딥러닝은 의료분야에서 어떻게 활용될까요?

제가 제일 재미있게 들었던 활용 사례는 모기 퇴치입니다.

모기는 지금까지 가장많은 인류를 죽인 동물입니다. 엄밀하게는 모기 그 자체가 유해하다기 보다는 모기가 옮기는 다양한 질환이 그런 것이지만요. 미국의 한 연구소에서는 모기 박멸을 위해 불임 모기를 키워 지역사회에 풀어놓기로 합니다. 그럼 정상 모기가 불임 모기와 교미함으로써 모기 개체수가 늘지 않게 될테니까요.

difference between male and female mosquito

이 때 암컷모기는 풀어놓을 수 없습니다. 수컷모기와 달리, 암컷모기는 사람을 물기 때문이죠. (연구소 주변 부동산이 떨어지고, 또 연구비도 또르르르 하고…) 수컷모기만 선별해서 풀어줘야 하는데 바로 여기에 딥러닝이 활용되었습니다.

암컷모기와 수컷모기 사진을 수만장을 찍어, 암-수 구분 labeling을 달아주었습니다. 이 데이터를 기반으로 알고리즘을 학습시키고, 수컷 모기만 선별적으로 배출하였습니다. 그 결과 해당지역의 모기 개체수를 주변 지역에 비해 획기적으로 낮출 수 있었습니다. 이를 통해 말라리아 등 모기 매개 질환을 예방하는데 딥러닝, 즉 의료인공지능이 활용되었습니다.

아! 암, 수 모기는 사람도 구분할 수 있습니다. 다만 수백만마리의 모기를 구분해야하는 일은 , 지치지도 않고, 인간보다 높은 정확도로 구분하는 딥러닝에게 양보하고 싶네요^^
(난 못해, 안해…)

의료인공지능

지금까지 인공지능과, 의료분야에의 적용에 대해 간단히 살펴보았습니다. 머신러닝, 딥러닝은 의료분야를 향상시킬 수 있는 유망한 방법임에는 틀림 없는것 같습니다. 그렇다면 의료알고리즘을 개발하기 위해서는 무엇이 필요할까요?

첫번째는잘 labeling된 Outcome입니다. 저희 연구실에서 활발하게 연구하고 있는 환자 안전문제에 대해 이야기 해 봅시다. 이를테면 낙상 발생을 예측하고자 하는데, “낙상” 을 catch할 수 있는 정보가 의료사고를 기록하는 DB에 있어 저희가 접근조차 할 수 없다면, 학습을 할 수 없겠죠?

두번째는 Input variable 입니다. 집에있는 양말의 갯수 데이터가 100만건이 있다고 해도, 해당 정보를 input으로 넣는다면, 낙상을 예측하기는 불가능 할 것입니다. 관련 선행연구 (특히 위험요인에 관한) 에서 언급한 변수들을 리뷰하여, 의식상태나 위약감, 수액 route를 가지고 있는지 여부 등에 대한 데이터를 잘 선정할 수 있어야 합니다.

셋째로는 충분히 많은 n입니다. 머신러닝 알고리즘은 일반적으로 많은 n으로 부터 정확하고 (accurate) 견고한 (robust) 한 알고리즘을 만들 수 있다고 여겨지고 있습니다. 의료사고와 같이 rare하게 일어나는 이벤트를 머신러닝 주제로 잡는다면… 가시밭길이;;; (네..그래서 저희는 개고생 중입니다 ㅠㅠ)

네번째는 다소 비공식적인데요, 의료 인공지능 분야는 현재 대항해시대, 혹은 서부개척시대와 같습니다. 의료인공지능 주제를 주욱 리뷰 해 보시고, 남들이 한번도 하지 않은 주제를 찾아보면, 확실히 논문 쓸 때 편하긴 한 것 같습니다. (물론 개척자들은 개고생을…)


대학원생 나부랭이가 비 전문가를 위해 적은 글이다 보니 부족한 점이 많습니다. 그래도 의료정보를 처음 접하실지 모르는 독자분들께 다소나마 도움이 되었으면 좋겠습니다.

다음 편에서는 간호사, 의료 전문가로서의 데이터 과학분야에서의 역할 이라는 제목으로 찾아오겠습니다.

Leave a Comment