의료 영상 분석의 개요



4차 산업혁명 시대에서 인공지능은 다양한 분야에서 쓰이고 있고, 그중 의료 영역 내에서도 적용 범위가 확대되어 가고 있습니다. 영상 이미지로 정상 유무를 판정하거나 병리 영상 데이터 분석에 쓰이는 판독보조, 음성 인식 의무기록이나 생체 신호 모니터링과 같은 진료보조, 유전체 데이터 분석 기반의 신약개발 등 인공 지능 기반의 의료 진단 기술이 개발되고 있으며, 특히 의료 영상 판독 분야에서 인공지능이 매우 유용하게 쓰이고 있습니다.
 
병원에서 다루어지는 영상 이미지는 모두 디지털 이미지로, 영상의학과 전문의들이 이 디지털 이미지를 직접 보며 판단하는 아날로그적 방식에 인공지능이 들어오면서 영상 판독 시간이 5분에서 20초로 줄어들거나 두 명 중 한 명의 전문의를 대체할 수 있는 수준에 이르게 되었습니다.
이런 의료 영상 분석의 발전을 가능하게 만든 핵심 요소는 의료 영상 처리 기술과 딥러닝입니다. 딥러닝의 적용은 기존에 사용해오던 기계학습의 효율을 넘어 전문의에 따르거나 이를 넘어서는 결과들이 등장하면서 큰 반향을 일으킨 바가 있습니다.
이번 글에서는 본격적으로 의료 영상 분석을 하기에 앞서 일반 영상과 달리 의료 영상이 가지는 특성들을 알아보고, 의료 영상 처리 및 분석 기술에 대해 전반적으로 알아보며 워밍업을 해보도록 하겠습니다.



Image Acquisition


우선 이미지를 얻는 원리에 대해서 간단히 알아봅시다.
카메라의 기본 원리는 Light source로부터 빛을 쏘아서 어떤 물체에 닿으면 특정 빛이 반사되고, 이 반사된 빛을 센서로 취득해서 전기신호로 바꿔주면 명암차이로 영상이 만들어지게 됩니다. 카메라는 light source가 가시광선이고 이를 취득할 수 있는 CCD, CMOS 센서를 쓰는 데 반해, 적외선을 쏘고 이를 detection 할 수 있는 센서를 놓으면 적외선 카메라, X-ray 신호를 주고 이를 detection 할 수 있는 센서를 놓으면 X-ray 시스템이 됩니다.


[Fig. 1] Electromagnetic spectrum
 

그럼 light source에 따른 다양한 의료 영상 데이터에 대해 살펴보겠습니다.

가시광선을 이용한 의료 영상 :

  • Endoscopy (내시경) : 위, 장 내시경 검사 시 사용하는 것으로, 내시경 앞부분에 light source와 CCD 센서가 모두 있어서 영상으로 보여줍니다.
  • Microscopy (현미경) : 조직 검사 시 현미경의 접안렌즈, 대물렌즈를 이용해 작은 물체를 크게 확대해서 보여줍니다.

방사선을 이용한 의료 영상 :

  • X-ray : X-tube에서 light source를 내보내고 몸을 통과하는데, 각 부위 조직의 투과된 x-ray intensity 차이로 영상을 만들어냅니다.
  • CT (Computed Tomography) : 인체의 단면 주위를 돌며 다각도에서 x-ray 영상을 찍고, 여러 장의 2D x-ray 이미지를 합쳐 한 장의 3D 영상 이미지로 만듭니다. 수 초 내로 짧은 시간 안에 3D 영상을 얻을 수 있지만, 방사선에 노출되고 조영제를 사용하여 몸 밖으로 배출이 잘 안 될 수 있다는 것이 단점입니다
  • PET (positron emission tomography) : 양전자를 방출하는 방사성 의약품(방사성 포도당)을 몸에 주입 후, 인체의 360도에서 이를 detection 후, 3D 영상 이미지로 만듭니다. 포도당 대사는 암세포에서 비정상적으로 높으므로 PET에서 밝게 나와 암 조기진단에 유용하게 쓰입니다. 신진대사를 볼 수 있어 조기진단이 가능하지만, 방사선을 몸에 주입하고 비싸다는 단점이 있습니다.

자기장을 이용한 의료 영상 :

  • MRI (Magnetic Resonance Imaging) : light source는 아니지만, 자기장을 걸어주어 몸 안의 수소 원자들이 근육, 지방 등 tissue에 따라 도는 속도의 차이를 바탕으로 3D 영상을 만듭니다. 방사선 노출이 없어 몸에 유해하지 않고, brain처럼 soft tissue들을 잘 구분해서 볼 수 있으나, 비싸고, 찍을 때 소음이 나며, 영상을 얻는 데 시간이 오래 걸리는 단점이 있습니다.

이 밖에 심장, 태아 검사를 위한 초음파나 망막 단층검사를 하기 위한 근적외선을 이용한 영상 등이 있습니다.


Digital Image Acquisition

이렇게 찍은 영상들은 디지털화를 하는데요, 격자로 쪼개서 화소들의 이차원 배열로 표현하는 sampling, 각 화소의 컬러 범위를 결정하는 quantization을 거칩니다.

[Fig. 2] Digital image acquisition process

이때, 디지털화된 이미지는 다음의 요소들로 표현합니다.

  • Resolution : Sampling이 이루어지는 매트릭스 갯수 (이미지 사이즈)
  • Intensity : 각 sampling point (2D에서는 pixel, 3D에서는 voxel) 에서의 값
  • Gray level : quantization의 단계 (보통 0~255까지 256레벨)
 
 

 
PACS (Picture Archiving and Communication System)

그렇다면 이 디지털 이미지가 병원 시스템에서 어떻게 동작할까요? 영상 장비에서 얻은 디지털 의료 영상 이미지는 병원의 PACS 서버로 전송되고, 의사들이 client system을 이용해서 영상을 띄워서 봅니다.
 

[Fig. 3] PACS system

여기서 PACS는 의료 영상 저장 전송 시스템을 말하며, 디지털 영상 이미지를 DICOM이라는 국제표준 규약에 맞게 저장, 가공, 전송하는 시스템입니다. DICOM으로 저장될 때 판독결과와 진료기록이 추가될 수 있고, 네트워크를 통해서 병원 내외의 단말로 전송할 수 있습니다.

DICOM (Digital Imaging and Communications in Medicine)

그럼 의료 영상을 다루기 위해 DICOM에 대해 더 살펴보겠습니다. DICOM은 의료용 기기에서 디지털 영상 표현과 통신에 사용되는 표준을 총칭하는 말로 북미방사선학회(RSNA)에서 1990년대에 정한 국제 표준입니다. 의료 빅데이터를 분석할 때 데이터를 표준화하고 정제하는 것이 어려운데, 여러 분야 중 그나마 영상 분석이 수월한 것은 이 DICOM 국제 규약에 의해 표준화 돼있기 때문일 것입니다.
하나의 DICOM single format (.dcm)은 기본적으로 header와 image 정보가 있습니다.

  • Header
    • header에는 태그별로 환자 정보, 영상 취득 날짜 등 부가적인 meta 정보를 담고 있습니다. 주로 참고할 만한 태그로 (0008,~)에는 modality 및 study에 대한 정보, (0010,~)에는 환자 정보, (0028,~)은 dimensions 및 scale 등 이미지 정보들을 담고 있습니다.
    • (0028,~) 이미지 정보 예시로는 3차원 이미지의 x,y,z가 몇 개의 voxel로 구성되어 있는지 나타내는 dimensions, 한 voxel의 x,y,z가 각각 몇 mm인지 나타내는 voxel spacing, 영상마다 보기에 최적화된 pixel 범위 기준인 window center, window width 등이 있습니다.
    • 이 header 정보들은 이미지에서 필요부분을 추출할 때 기준방향과 pixel 및 voxel의 실제크기 등 변환 연산에 필요한 정보로 이용되고, 이런 정보들을 바탕으로 이미지들의 voxel spacing을 맞춰야 유의미한 분석이 됩니다.


[Fig. 4] 프리웨어인 Sante DICOM Viewer 프로그램을 이용하여 본 한 장의 DICOM 파일의 header 정보


  • Image data
    • 압축된 비트맵(bitmap) 또는 압축되지 않은 형식(jpeg, gif..)의 이미지 정보를 담고 있습니다. 이미지 매트릭스에 한 pixel마다 intensity 값이 있습니다.
 



[Fig. 5] 프리웨어인 Sante DICOM Viewer 프로그램을 이용하여 본 한 장의 DICOM 파일 이미지



이외에 Nifti (nii) 등 다른 포맷들이 있는데, 파일이 두 개로 나누어져 있는 경우 영상 정보와 헤더 정보가 따로 있습니다. (예시: Analyze (hdr/img), Raw data (mhd/raw))

 


 
의료영상을 시각화하여 확인하기 위해서는 다음과 같은 도구를 이용합니다. 간단한 사용방법과 직관적인 사용자 Interface를 갖고 있는 Sante DICOM Viewer, segmentation을 잘 그려주는 것이 장점인 ITK-snap, 병리 영상 분석에 최적화된 Qupath, 이 밖에 MITK, MRICron, 3D Sicer, ImageJ 등을 활용합니다.
 


[Fig. 6] ITK-SNAP 을 이용한 brain MRI
 
그림과 같이 ITK-SNAP를 이용했을 때 3차원 상에서 이미지를 보고 헤더 정보도 별도로 확인할 수 있습니다. Contrast를 조절해서 특정 영역만 보는 등 기본적인 이미지 프로세싱을 서포트하고, 원하는 영역을 segmentation 해서 여러 장을 그리면 쌓아서 3D volume 이미지로 볼 수 있습니다.

3D 영상은 3가지 방향에서 볼 수 있는데, top-down 방식의 axial 뷰, 몸을 left-right로 나누는 sagittal 뷰, anterior-posterior로 나누는 coronal 뷰가 있습니다.
 

[Fig. 7] Image reconstruction planes


 
 
의료 영상은 일반 영상과 확실히 다른 특징들을 보입니다. 그러므로 분석 시 고려해야 할 사항들이 있는데요, 몇 가지를 나열해 보자면 다음과 같습니다.
의료 영상은 대량의 데이터를 얻기 힘들고, 지도학습에 필요한 레이블 정보를 얻는 것은 더욱 어렵습니다. PACS 시스템을 이용해서 병원마다 많은 영상 데이터는 있지만, 제도적, 사회적 이슈로 인해 데이터 접근이 쉽지 않고, 병변의 위치를 레이블링하는 것도 숙련된 전문의의 판독이 필요한데 PACS에서 얻는 영상들은 레이블링이 되어있지 않은 경우가 많으므로 필요한 데이터 자원을 최소화하면서 좋은 성능을 기대할 수 있는 방법론의 개발이 중요합니다.
또한, 3D 영상이 많고 영상의 크기가 상당히 큽니다. 2015년 이미지넷 대회에서 1위를 차지한 영상 분류에서 기준 영상은 짧은 변 기준으로 최대 640픽셀 크기를 입력으로 받았는데, 흉부 X ray영상은 한 변이 2,000픽셀 이상이고 유방촬영영상은 4,000픽셀이 넘으며, 병리 영상은 10만 픽셀보다 큰 경우가 대부분입니다. 연산 능력을 감당할 수 있는 환경이 필요한 것뿐만 아니라 이를 효율적으로 처리할 수 있는 알고리즘의 개발이 필요합니다. 그리고 객체의 크기가 상대적으로 굉장히 작은 경우가 많기 때문에 이를 잘 검출할 수 있는 기술도 필요로 합니다.
이 밖에 같은 질병의 같은 조직 영상이라도 나이에 대한 보정이 필요하고, 영상 이미지 외에도 성별, 흡연, 음주여부 등의 기타 정보들을 분류 분석에 사용하기도 합니다.
 
 

 
의료 영상 데이터를 이용한 여러 분석 중 4가지 문제를 간단히 살펴보겠습니다.
Classification
전형적인 computer vision 문제로, 영상 이미지를 보고 정상인지 환자인지 분류합니다. 보통 의료 영상 분석은 분류하는 것이 주목적입니다.
Segmentation
영상에서 organ(장기)나 nodule(결절)과 같이 관심 있는 특정 영역을 추출합니다. intensity값으로만 구분하는 thresholding, 시작점과 비슷한 값을 assign해 나가는 “seeded” region growing 등 다양한 방법이 있습니다.
Enhancement
영상에 noise가 있거나 해상도가 낮은 경우 영상 퀄리티를 높이는 방법입니다. Intensity의 분포를 가지고 value를 바꿔주는 histogram processing, pixel 주변을 보고 블러를 통해 노이즈를 감소하는 smoothing 및 영상의 edge 부분을 강조하는 sharpening과 같은 spatial filtering이 있습니다.
Registration
각기 다른 영상들을 모았을 때 비교할 수 있게 잘 맞춰주는 방법입니다. 파노라마나 시차를 두고 영상을 취득했을 때 이미지를 합침으로 이미지가 이어진다거나 차이점을 볼 수 있게 하는 방식입니다.
 
 

 
의료 영상 분석을 위해서 기계학습은 지난 몇십 년간 매우 유용하게 사용됐고, 가장 보편적인 용도 중 하나가 병변 또는 장기와 같은 대상을 병변 또는 비병변, 악성 또는 양성종양처럼 특정 부류로 분류하는 것이었습니다. 이때, 기계학습은 특징 입력을 통해 클래스(암 또는 비암) 분류를 위한 최적의 경계를 설정하고, 새로운 미지의 객체(병변)가 속한 클래스를 찾는 데 쓰였습니다. 마치 동그랗고 주먹보다 작은 특정 사이즈에 노란 형광 빛을 가진 특징을 가진 것이 테니스공이라고 분류하듯이요. 그런데 이것은 병을 못 찾거나 오진을 만들어내며 문제점이 많았었습니다. 이후, 딥러닝이 도입되면서부터 이미지 입력을 통해 분류 성능이 월등히 좋아지고 인간의 영상 인식 수준을 넘어서는 결과를 보이기도 하였습니다. 그냥 처음부터 테니스공 이미지를 보여주고 학습을 시키는 것이지요.
 

[Fig. 8] 딥러닝 도입 전후 기계학습
 
딥러닝이 도입된 이후 기계학습은 분할(segmentation), 수작업 특징 추출(handcrafted feature extraction) 및 특징 선택(feature selection) 단계가 필요하지 않고, 분할 오류나 비효율적인 기능을 피하면서 end-to-end 머신러닝 패러다임을 제공합니다. 이때 대표적으로 쓰이는 모델이 CNN(convolutional neural network)이고, 최근에는 GAN (generative adversarial network)도 활발하게 적용되고 있습니다. 서로 다른 영역의 영상 간의 번역이나 변환에 사용되며 시간과 비용을 단축하거나 판독의 정확도를 향상하는데도 활용이 되고 있습니다.
 
 

 
이상 의료 영상 분석을 하기 위해 기본적으로 알아야 할 배경 지식과 전반적인 개념에 대해서 살펴보았습니다. 현재 환자의 CT영상을 통해 코로나 19로 인한 폐렴 병변을 정량화하는 등 국내외에서 인공지능 기반의 많은 의료 영상 분석 소프트웨어들이 개발 및 활용되고 있습니다. 향후 의료 영상과 유전체 정보를 통합하여 분석함으로써 질병의 조기진단 및 예후 예측, 환자들의 삶의 질 향상을 가능케 하리라 봅니다. 이 글에서 딥러닝 알고리즘이나 수식 등 분석에 대해 깊이 다루지는 않았지만, 의료 영상 분석을 시작하는데 앞서 기본 내용을 이해하는 데 도움이 되길 바라며 글을 마칩니다.
 
 

 

Posted by 人Co

2020/09/27 18:26 2020/09/27 18:26
Response
No Trackback , No Comment
RSS :
https://www.insilicogen.com/blog/rss/response/358

페토의 역설


암은 우리나라 사망 원인 1위인 질병입니다. 보건복지부의 통계에 따르면 암 발생률은 꾸준히 증가하는 추세입니다. 물론, 환자의 5년 생존율도 꾸준히 증가하는 추세이고 조기 발견하는 경우 70% 이상 완치가 가능하다고 하지만, 암은 여전히 무서운 질병입니다.
 
암의 발병 원인은 다양하지만, 세포의 돌연변이 누적이 주원인인 것으로 알려졌습니다. 정상 세포는 세포 주기에 따라 일정한 기간이 지나거나 돌연변이가 누적되면 사멸하게 됩니다. 암세포의 경우 정상 세포와는 달리 누적된 돌연변이에 의해 세포로서 기능하지 못하면서도 사멸하지 않고 지속해서 증식합니다. 이 과정에서 정상 세포를 밀어내고 다른 세포들이 사용해야 할 영양분을 흡수하면서 신체에 문제를 일으킵니다. 영양분 흡수가 쉽지 않으면 자체적으로 혈관을 생성(Angiogenesis)해서 영양분을 수급하는데, 이러한 혈관은 암 전이를 쉽게 하는 역할을 하기도 합니다.
암은 세포의 돌연변이 누적으로 발병하기 때문에 이론상으로 모든 생물이 암에 걸릴 수 있습니다. 심지어 기생충에게도 암이 발병하며, 수천만 년 전 지구에 생존했던 공룡의 화석에서도 암에 걸렸던 흔적이 발견되기도 합니다.




1977년, 영국의 통계학자이자 역학자인 리차드 페토는 흥미로운 연구 결과를 발표합니다. 리차드 페토는 세포의 돌연변이 누적으로 암이 발병하는 거라면, 생물의 사이즈가 크고 수명이 길수록 암 발병률이 높을 것이라는 가설을 세웁니다.
본인의 가설을 바탕으로 실제 사람과 쥐의 암 발생률에 관한 연구를 합니다. 사람과 쥐는 세포 수는 약 1,000배, 수명은 30배 정도 차이가 나기 때문에, 암 발생률도 양의 상관관계 (positive correlation) 가 있을 것으로 예측했습니다. 그는 쥐나 사람이나 암 발생률은 비슷하다는 것을 발견함으로써 그의 가설이 틀렸음을 알게 됩니다. 이러한 현상을 발견한 페토는 이를 “페토의 역설 (Peto’s paradox)” 라고 명명합니다.
그는 이 현상을 인간이 신체 사이즈가 커지고 수명이 늘어나는 방향으로 진화하는 과정에서 암 발생을 억제하는 메커니즘 또한 함께 진화했기 때문일 것이라고 설명합니다.

[Fig. 1] 페토의 역설 요약

위 [Fig. 1] 이미지와 같이 종 내(intra-species)에서는 신체 질량이 암 발병률과 관계가 있는 것으로 보이지만, 종 간(inter-species)에서는 그렇지 않다는 것이 밝혀졌습니다. 이후 많은 연구진이 페토의 역설에 힘을 실어주는 연구 결과를 발표합니다.
 
가장 대표적인 예는 2015년에 발표된 Schiffman 연구진의 연구결과입니다. 2015년 유타 대학교의 Schiffman 교수 연구진들이 San Diego 동물원의 쥐, 코끼리 등을 포함한 36종의 포유동물을 부검해서 암에 의한 사망률을 조사합니다. 이들은 종간 신체 크기나 수명 등은 암 발병률과 통계적으로 상관관계가 없음을 발표합니다.
 

 
[Fig. 2] 36개의 포유동물의 암 발병률

위 그래프를 통해 종의 수명이나 크기는 암 발병률과 상관관계가 없음을 확인할 수 있습니다. 더불어, 암 발생률이 낮은 다른 종의 암 억제 메커니즘을 밝혀내는 연구도 활발하게 이루어지고 있습니다. 대표적으로 암 발생률이 5% 내외로 알려진 코끼리가 있습니다. 앞서 언급된 Schiffman 교수 연구진과 시카고대학교 Lynch 교수의 연구진이 2015년에 발표한 두 연구 결과에 의하면 코끼리는 암 억제 유전자로 알려진 TP53 유전자를 사람보다 더 많이 보유한 것으로 밝혀졌습니다.
 
포유류 대부분이 보유하고 있는 TP53 유전자는 사람의 경우 유전자가 하나이지만, 코끼리의 경우 20개를 가진 것으로 확인되었습니다.
TP53 유전자는 DNA가 손상된 세포의 복구나 세포자살을 유도하는 역할을 하는 것으로 알려졌습니다. 실제, Li-Fraumei syndrome(LFS) 라는 질병은 TP53 유전자 결함에 의해 발병하게 되는데, 이 환자의 경우 각종 암에 걸릴 확률이 매우 높습니다. 코끼리의 TP53 유전자의 경우 손상 세포의 복구보다는 손상 세포를 소멸시키는 메커니즘에 적극적으로 관여하는 것으로 알려졌습니다.

2018년, 시카고 대학의 Lynch 교수 연구진은 코끼리가 가지는 또 다른 항암 메커니즘을 밝혀냅니다. 코끼리에서 특이적으로 발현하는 LIA 6 라는 유전자입니다. 이 유전자도 TP53 유전자에 의해 활성화되어 DNA가 손상된 세포 사멸을 유도하는 유전자로 밝혀져 있습니다. 연구진은 이 유전자를 좀비 유전자라고 칭하는데, 수천만 년 전까지 위유전자(pseudogene)로 존재하던 LIF 유전자 중 하나인 LIF6 유전자가 진화과정 중 발생한 변이 때문에 TP53 유전자로 인해 활성화되었기 때문입니다.
 

[Fig. 3] 코끼리의 LIF6 유전자의 세포자살 유도 메커니즘

이외에도 암에 거의 걸리지 않는 것으로 알려진 벌거숭이두더지쥐나 고래 등도 주요 연구 대상 중 하나입니다. 두 종 모두 노화 정복을 위해 연구하는 연구자들 사이에서 주목받는 종이기도 합니다.
 


 
현대 의학이 발달하면서, 조기 발견 시 완치율도 높고 환자의 5년 생존율도 꾸준히 증가하고 있습니다. 하지만 현재까지 암은 여전히 무서운 질병 중 하나입니다.

일부 연구자들은 여전히 이 이론에 의문을 품고 있지만, 페토의 역설은 오늘날 암을 정복하기 위한 하나의 방향으로 받아들여지고 있습니다. 구글 자회사인 캘리코 사에서는 현재 생명연장 프로젝트에서 벌거숭이 두더지쥐에 관한 연구를 진행 중이고, 코끼리의 항암 메커니즘을 밝혀냈던 두 연구자는 이를 응용하여 코끼리의 항암 단백질을 이용한 암 치료제 개발을 위한 신생기업 기업을 세웠습니다.

사람 이외의 동물들에 대한 항암 메커니즘에 관한 연구들은 여전히 시작단계이고, 밝혀진 부분보다는 밝혀져야 할 부분들이 많겠지만, 언젠가 이 연구들이 성과를 보는 날을 기대해 봅니다.




  • Viviane Caliier, 2019, Solving Peto’s Paradox to better understand cancer. PNAS.
  • Marc Tollis et at., 2017. Peto’s Paradox: how has evolution solved the problem of cancer prevention?. BMC Biology.
  • Lisa et al., 2016. Potential Mechanisms for Cancer Resistance in Elephants and Comparative Cellular Response to DNA Damage in Humans. JAMA
  • 박수경, “[캔서앤서 A to Z] 암, 정체가 뭐지? 왜 생기는거지?”, <CANCER ANSWER>
  • 엄남석, “코끼리에게서 암 정복 길을 찾다.. ‘좀비유전자’ 규명”, <연합뉴스>

작성자 : BS실 박서우 주임개발자

Posted by 人Co

2020/09/14 00:05 2020/09/14 00:05
Response
No Trackback , No Comment
RSS :
https://www.insilicogen.com/blog/rss/response/357


전 세계 COVID-19 확진자가 1,000만 명을 넘어선 지금, 일일 확진자 수의 상승세와 함께 한국에서도 COVID-19는 재유행 국면을 맞고 있습니다. FDA에서는 아직 백신과 치료제가 없다고 공표하였고, 의료진의 처방 이외의 약품에 주의하라고 권고하고 있습니다.
SARS-CoV-2를 잘 이해하기 위해, 이들이 인간의 숙주 단백질에 어떤 영향을 미치는지 예측된 생물학적 네트워크를 확인할 수 있는 웹사이트인 Coronavirus Network Explorer를 소개합니다.
Coronavirus Network Explorer는 SARS-CoV-2가 숙주 세포에 어떤 영향을 미치는지 보여주는 생물학적 네트워크를 살펴볼 수 있는 웹페이지입니다(Fig.1). 생물/의학 문헌의 증거를 바탕으로, 이 네트워크들은 대규모 지식 그래프 및 머신러닝을 사용하여 선택된 생물학적 과정, 질병 또는 경로에 대한 유전자 및 약물 영향을 예측합니다. 지금부터 Coronavirus Network Explorer를 소개하려고 하며, Fig.1에서의 위치(좌측/우측 등)를 기준으로 설명하고자 합니다.
최근 Gorden 외 연구진은 친화 정제-질량 분석법(AP-MS)을 통한 스크리닝으로 SARS-CoV-2 바이러스 단백질과 상호작용하는 인간 숙주 단백질을 확인하였습니다(출처 : Gordon et al., 2020. Nature.). COVID-19에 대비하여 잠재적으로 사용할 수 있는 약물을 확인하기 위해 숙주 단백질은 기능적으로 특징지어지고, 기존 약물 표적에 대해 스크리닝 되었습니다(Fig.2). 생물/의학 문헌에서 얻은 지식 데이터베이스인 QIAGEN Knowledge Base와 머신러닝이 결합한 IPA를 바탕으로(출처 : Krämer et al., 2013. Bioinformatics.), Gorden 외 연구진의 연구결과인 SARS-CoV-2와 숙주 단백질과의 상호 작용 정보를 바이러스 감염에 의해 영향을 받는 생물학적 기능 또는 질병에 연결되어 네트워크가 구성되었습니다.
Coronavirus Network Explorer에서 분석할 수 있는 것은 크게 다음과 같습니다.
  • SARS-CoV-2가 숙주에 미치는 영향을 설명하는 네트워크 탐색
  • 설정한 조건에서 유전자의 예측된 활동 패턴 표시
  • 바이러스의 효력에 영향을 줄 것으로 예상하는 약물의 잠재적 표적 유전자를 식별
Coronavirus Network Explorer의 구성을 자세히 살펴보도록 하겠습니다.
Coronavirus Network Explorer는 좌측 패널의 조정을 통해 원하는 네트워크를 도출하게 됩니다. 사용자가 원하는 설정을 할 수 있는 부분(빨간색)과 네트워크의 촉진/억제에 관련된 설명(파란색), 그리고 각 노드의 색에 대한 설명이 있는 부분(초록색)으로 나뉘게 됩니다(Fig.3).
Select Network 패널에서는 SARS-CoV-2와 인간의 단백질이 연관되어 있다고 예측된 네트워크들을 확인할 수 있습니다(Fig.4).
앞서 말씀드린 두 패널 아래에는 숙주 단백질과 상호 작용하는 바이러스 단백질에 의해 현재 보고 있는 해당 network가 촉진/억제되는 것으로 추측되는 결과라는 것을 알려줍니다(Fig.6, 파란색). 또한, 기존 약물 표적 유전자를 표시할 것인지의 여부와(빨간색) 억제/활성으로 추론되는 네트워크상 구성 노드의 표시 및 존재하는 약물 표적을 확인할 수 있습니다(초록색).
화면 가운데 영역은 각 패널에서 설정한 네트워크를 보여줍니다(Fig.7). Fig.7은 예시로, "Replication of coronavirus"라는 네트워크 정보입니다. 노드마다 생김새가 다른 것을 볼 수 있는데, Show Legend 버튼을 클릭하면 이 노드들이 어떤 기능을 하는지 확인할 수 있습니다. 노드들은 클릭 후 드래그를 통해 이동시킬 수 있습니다.
노드를 클릭하면 해당 노드에 관련된 정보를 화면 우측 영역에서 확인할 수 있습니다(Fig.8). 해당 영역에서 유전자 정보(왼쪽), 기존 약물 표적 단백질의 경우 약물 리스트를 볼 수 있습니다(오른쪽). Fig.8은 Replication of coronavirus 네트워크상의 CHRNA3 노드를 클릭한 결과입니다. IPA 사용자들은 더 자세한 유전자 정보와 약물 정보를 링크 클릭으로 확인할 수 있습니다.
이처럼 SARS-CoV-2의 단백질과 인간의 단백질이 상호작용하는 정보를 바탕으로, 어떤 네트워크들이 활성/억제될 것인지 예측된 결과를 Coronavirus Network Explorer를 통해 확인하는 방법을 알아보았습니다. 현재 COVID-19 관련 연구를 위하여 무료로 사용할 수 있으므로 치료제 개발에 도움이 되길 바라며, 하루빨리 연구가 진척되어 이 사태가 안정화되었으면 합니다.



  1. Gorden et al., 2020. A SARS-CoV-2 Protein Interaction Map Reveals Targets for Drug Repurposing. Nature, Online ahead of print. https://www.nature.com/articles/s41586-020-2286-9
  2. Krämer et al., 2013. Causal analysis approaches in Ingenuity Pathway Analysis. Bioinformatics, 30(4):523–530. https://academic.oup.com/bioinformatics/article/30/4/523/202720

작성 : insilico Lab 김형민 컨설턴트

Posted by 人Co

2020/07/17 12:48 2020/07/17 12:48
Response
No Trackback , No Comment
RSS :
https://www.insilicogen.com/blog/rss/response/351




오늘 블로그 주제는 과거 2016년 구글 Google I/O 에서 소개된 웹 기술 프로그레시브 웹앱(Progressive Web Apps)을 다루어 보고자 합니다.

구글에서는 프로그레시브 웹앱(이하 PWA)을 최고의 웹과 최고의 앱을 결합한 경험으로 정의하고 있는데요, 브라우저를 처음 방문하는 사용자에게 유용하며, 별도의 설치를 요구하지 않습니다. 이러한 PWA라는 웹 기술이 탄생하게 된 배경과 자세한 내용을 차근차근 알아가 보도록 하겠습니다.




과학기술정보통신부에서 발표한 '2019년 인터넷이용실태조사' 결과를 보면, 우리나라 가구의 인터넷 접속률은 99.7%로 거의 모든 가구에서 인터넷을 접속하고, 접속 가구는 와이파이(100%), 모바일 인터넷(94.9%) 등 무선방식을 통해 주로 접속하는 것으로 나타났습니다. 
 

 
2007년 아이폰이 처음 등장한 후 스마트기기 보급률은 급속히 증가했고 이동통신 기술의 발전으로 통신서비스의 중심이 데스크톱에서 모바일로 이동하는 등 2016년을 기점으로 모바일 시장 점유율이 데스크톱을 넘어서게 됐습니다. 데스크톱 뿐만 아니라 스마트폰, 태블릿, 심지어 TV에서도 웹에 접속할 수 있는 환경이 만들어짐으로써 언제 어디서나 정보로의 접근이 가능해졌습니다.
 

[Flg.2] Desktop vs Mobile Market Share Worldwide

웹(Web)에 접근할 수 있는 기기의 폭이 넓어진 만큼, 다양한 기기에 대응하기 위해 유연한 너비와 유연한 이미지, 미디어 쿼리를 이용해서 기기 사이즈에 맞추어 레이아웃을 재구성하는 반응형 웹(Responsive Web) 기술이 보편화하였습니다.
 
그러나 그림에서 보듯이 모바일 환경에서는 대부분의 사람이 웹(Web)보다는 앱(App)에서 더 많은 시간을 보낸다는 것을 알 수 있습니다. 모바일 환경에서 웹보다 앱을 더 선호하는 이유는 앱이 웹보다는 더 빠르고 편하며 사용성이 좋기 때문입니다.


[Flg.3] Share of time spent on Mobile: App vs Web




2015년에 구글 크롬의 엔지니어 알렉스 러셀(Alex Russel)이 자신의 블로그에 'Progressive Web Apps: Escaping Tabs Without Losing Our Soul' 라는 제목의 글을 통해 차세대 웹의 개념, 즉 웹은 웹인데 점진적으로 앱 수준으로 근접해가는 웹이라는 개념의 아이디어를 제공했습니다. 그리고 이듬해 Google I/O(개발자 콘퍼런스) 2016에서 PWA를 미래의 웹 기술로 소개합니다.
비록 웹이지만 데스크톱이나 모바일에서 설치가 가능하고 앱과 유사한 사용자 환경을 제공해주며 하이브리드앱(Hybrid App)과 비교했을 때 보다 간편하게 설치와 개발을 할 수 있고 무엇보다 검색이 가능합니다. 앱과 유사한 경험을 지원하기 위해 푸쉬알림(Push Notification), 설치(Install), 오프라인 실행(Offline Access) 등의 기능도 지원합니다.
PWA에 대한 설명에서 가장 자주 등장하는 단어는 'App like'와 'Natively' 이지만 링크(URL)로 공유가 가능한 웹 페이지입니다. 즉, PWA는 다음 그림과 같이 앱(App)이 가지고 있는 높은 품질(Capability)과 웹(Web)의 넓은 도달 범위(Reach)를 결합한 개발 형태입니다.
 

[Flg.4] 앱과 웹, 프로그레시브 웹의 기능 및 도달 범위,



 
  • 반응형(Responsive) 기기에 따라 레이아웃을 자동으로 조정하는 등 다양한 플랫폼과 여러 기기에서 동일한 사용자 경험(UX)을 제공해줍니다.
  • 연결 독립적(Reliable) 로컬 기기의 캐시를 활용하여 오프라인이나 불안한 네트워크에서도 실행할 수 있습니다.
  • 재참여 가능(Engageble) 브라우저가 닫혀 있더라도 푸쉬 알람(Push Notification)을 보낼 수 있어서 재방문율을 높여줍니다.
  • 안전성(Safe) HTTPS 통신으로 제공되므로 기존 웹 대비 안전합니다.
  • 설치 가능한 경험 제공(Installable) 앱스토어를 찾지 않아도 브라우저에서 바로 빠르고 간단히 홈스크린에 앱을 둘 수 있습니다.
  • 검색을 통해 발견 가능(Search) 구글, 네이버 등 포털 검색 결과에 노출됩니다.
  • 링크 연결 가능 링크(URL)를 통해 손쉽게 공유할 수 있습니다.
  • 즉각적인 업데이트
  • 경량
 
 


  • 로딩 속도와 성능이 다소 떨어집니다.
  • 일부 플랫폼에 제한이 있습니다.
  • 크롬, 오페라, 파이어폭스에서는 동작하지만, 사파리 브라우저에서 지원되지 않습니다.
  • 아이폰에서 푸시알림을 보낼 수 없고 Siri와 통합할 수 없는 등 일부 기기에서 기본 기능에 제한이 있습니다.
  • 지오 펜싱, 지문 스캐닝, NFC, Bluetooth 및 고급 카메라 기능과 같은 장치 기본 기능을 지원하지 못합니다.
  • PWA를 사용하려면 인터넷에 액세스해야 하므로 배터리 수명을 더 빨리 소모합니다.




PWA는 최신 웹 기능을 활용합니다.
  • 웹 메니페스트(Web App Manifest) 브라우저가 웹 앱을 설치할 때 그리고 홈 화면에서 웹 앱을 적절히 표현하는 데 필요한 정보 등을 담고 있습니다.
  • 서비스 워커(Service Worker) 브라우저가 백그라운드에서 실행하는 스크립트로, 웹페이지와는 별개로 작동하며, 푸시 알림(Push Notification, Android Chrome 한정) 및 백그라운드 동기화(Background Sync, Android Chrome 한정)와 같은 기능 등 웹페이지 또는 사용자 상호작용이 필요하지 않은 기능에 대해 지원합니다.
  • 반응형 웹(Responsive Web) 현재 사용되는 대부분의 반응형 웹 기술들을 사용합니다.




앱을 다운로드하지 않고 웹주소를 클릭해 앱과 유사한 서비스를 이용하게 해주는 PWA 장점을 살려 여행, 유통, 뉴스 분야에 활용도가 높을 것으로 보입니다. 핀터레스트(Pinterest), 알리바바(Alibaba), 트위터 라이트(Twitter Lite) 등 PWA 도입으로 접속 시간은 상승하고, 이탈률은 감소하는 등 유의미한 결과를 얻는 많은 사례를 볼 수 있습니다.
  • 핀터레스트(Pinterest)
    • 평균 접속 시간이 40% 증가하였고 사용자 생성 광고 수익이 44% 증가, 핵심 사용자 참여율이 60% 증가하였다고 보고하고 있습니다.
    • 안드로이드 및 아이폰 앱과 비교하면 9.6MB 및 56MB에 비해 150KB로 매우 가볍습니다.
 


[Flag. 5] PWA Pinterest
 

 
현재 구글을 주축으로 마이크로소프트(MS), 모질라(Mozilla), 오페라(Opera) 등이 동참하고 있고 대부분의 안드로이드 기기에서는 PWA를 완벽하게 지원하지만 아쉽게도 iOS 기기에서는 여전히 제한적입니다.
그럼에도 불구하고 우리나라에서도 대표적 쇼핑몰 플랫폼 CAFE24가 PWA를 적용한 '스마트웹 앱'을 출시하는 등 점점 많은 전자 상거래 사이트에 PWA를 적용해서 구현하고 있습니다. 이는 앱을 개발하는데 드는 비용 대비 비교적 적은 자원으로 높은 효율을 기대하는 것을 목표로 하는 전자 상거래 사이트에 대안이 될 수 있기 때문입니다.
(주)인실리코젠의 자회사인 (주)디이프 에서도 현재 서비스중인 아이푸드진 앱을 개발할 당시 여러 기술들 중 하나로 PWA도 함께 고려한 바 있습니다. 비록 네이티브 앱의 기능을 충분히 활용하고 호환성에서 높은 점수를 얻은 플러터(Flutter)가 채택되었지만, 사용자 친화적인 앱을 만드는데 이제 더 이상 웹 기술을 포기할 필요가 없어졌습니다. PWA가 아직 완벽하지 않지만, iOS나 안드로이드 같은 플랫폼 전용 폐쇄적인 앱에 비해 유연하고 개방적이어서 플랫폼에 종속되지 않는 웹의 특성으로 볼 때 PWA의 더 큰 성장을 기대해봅니다.
 



작성 : FED 팀 김태영 선임 개발자
 

Posted by 人Co

2020/07/04 18:42 2020/07/04 18:42
Response
No Trackback , No Comment
RSS :
https://www.insilicogen.com/blog/rss/response/350

 
최근 여러 분야에서 딥러닝에 대한 관심이 많아지고 있습니다.
생물정보 분야에서는 MRI나 CT 같은 의료 이미지로 학습한 뒤, 질병을 진단하는 연구가 많이 진행되고 있습니다. 그렇다면 이미지를 이용한 딥러닝은 어떤 방식으로 진행될까요?

이미지 딥러닝은 어떠한지 알고 싶어도 코드 위주의 설명이 많아, 코드가 익숙하지 않은 분들은 시작부터 벽이 세워진 느낌이 드셨을 거예요.
코드가 익숙하신 분이시든 그렇지 않은 분이시든 이미지 딥러닝의 입문자분들께 개념 잡는 것에 대해 조금이나마 도움이 되셨으면 하여 알고리즘 개념 설명 위주로 이 글을 준비하였습니다. 그럼 이미지 딥러닝을 하기 위한 알고리즘에 대해 알아보기에 앞서, 컴퓨터는 이미지 파일을 어떤 방식으로 인식하는지에 대해 알아볼까요?
 
 


우리가 이미지를 인식하는 방식과 컴퓨터가 이미지를 인식하는 방식은 많이 다릅니다. 우리는 이미지를 눈에 보이는 모습을 그대로 받아들이지만, 컴퓨터의 경우는 숫자로 된 형태로 인식합니다. 숫자는 색의 명암을 나타내며, 0에 가까울수록 어두운색이고 255에 가까울수록 밝은색입니다. 그렇다면 색상은 어떻게 표현할까요? 흑백 이미지의 경우에는 1개의 채널로, 컬러 이미지의 경우엔 RGB(R-Red, G-Green, B-Blue) 3개의 채널로 빨강, 초록, 파란색 각각의 명암을 이용하여 이미지의 색상을 표현합니다.


[그림 1] 컬러 이미지의 구조 - Insilicogen (IX Team)

컬러 이미지는 각 픽셀을 채널별로 실수로 표현된 3차원 데이터입니다. 흑백 이미지는 2차원 데이터로, 1개의 채널로만 구성되어 있습니다.
[그림 2] 컬러 이미지의 3차 구조
위의 그림처럼 높이가 4 pixel, 폭이 4 pixel의 이미지일 경우,
 
컬러 이미지 데이터의 shape은 (4, 4, 3)
흑백 이미지 데이터의 shape은 (4, 4, 1)
 
로 표현합니다.
 
컴퓨터가 이미지를 어떤 방식으로 인식하는지에 대해 간단하게 알아봤습니다. 그럼 이제 이미지 딥러닝에선 어떤 알고리즘이 주로 사용되는지 알아볼까요? 딥러닝을 이용하여 이미지를 분류할 때에는 주로 CNN(Convolutional Neural Network) 알고리즘이 많이 사용되고 있습니다. 그렇다면, 이 CNN 알고리즘이 나오기 이전에는 어떻게 학습을 했을까요?
 

  
 
CNN 알고리즘 이전에는 Fully-connected Multi-layered Neural Network의 학습 방식을 이용하여 이미지 딥러닝을 수행했습니다.
 
[그림 3] Fully-connected Multi-layered Neural Network
형상을 가졌는지에 대해 알 수 없고, 각각의 픽셀을 1차원적으로 보게 됩니다. 이러한 학습 방식으로 인하여 이미지의 크기가 커져서 픽셀의 수가 많아진다거나 은닉층(Hidden layer)의 수가 증가하면 학습시간 및 학습해야 하는 매개변수(Parameter)의 수가 기하급수적으로 증가하게 됩니다. 또한, 이미지가 살짝 회전되었거나 gif처럼 이미지가 움직이는 상태라면 이를 같은 이미지라고 인식하지 못하므로, 조금이라도 변화가 생길 때마다 새로운 입력으로 이미지 데이터를 처리해 주어야 합니다. 그럼 이미지를 분류하기 위해 Fully-connected 학습 방식처럼 이미지의 모든 픽셀이 꼭 중요할까요? 그렇지 않습니다. 이미지의 특성을 찾는 데에 중요하게 작용하는 픽셀이 있지만, 단순히 배경인 부분이라 픽셀 정보를 가지고 있지 않더라도 이미지를 구분하는 데 큰 영향을 주지 않기 때문입니다. 이미지 분류를 하는 데 중요하지 않은 픽셀은 제거하고 학습을 하기 위해 고안된 알고리즘이 바로CNN(Convolutional Neural Network)입니다.
 

 
 
그렇다면 CNN 알고리즘은 어떠한 구조를 이루고 있을까요?
 
 
[그림 3] CNN 알고리즘의 구조
 
CNN은 크게 이미지의 특징을 추출하는 부분과 클래스를 분류하는 부분으로 나뉩니다. 특징 추출 영역은 합성곱층(Convolution layer)과 풀링층(Pooling layer)을 여러 겹 쌓는 형태(Conv+Maxpool)로 구성되어 있습니다. 그리고 이미지의 클래스를 분류하는 부분은 Fully connected(FC) 학습 방식으로 이미지 분류를 합니다.
 

 
 
합성곱이란, 주어진 이미지 데이터를 합성곱 필터(Convolution filter)를 통해 이미지 분류에 중요하게 작용할 feature들을 추출하는 데 사용됩니다. CNN 알고리즘 이전에 사용되었던 FC 알고리즘과 달리, 이미지의 형태를 유지하기 때문에 합성곱층을 지나더라도 인접한 픽셀에 대한 정보를 알 수 있습니다. 그렇다면, 합성곱에서 사용되는 합성곱 필터는 무엇일까요? 우선, CNN에서 필터는 커널(Kernel)이라고도 합니다. 필터는 이미지의 공용 매개변수(weight)로 작용하며, 주어진 이미지를 슬라이딩하면서 이미지의 feature들을 찾아냅니다. 여기서 공용 매개변수라고 하는 이유는 합성곱을 진행할 때, 하나의 이미지에 대해서 하나의 필터가 사용되기 때문입니다. 일반적으로 (3, 3)이나 (4, 4)와 같은 정사각 행렬로 정의가 되고, 주어진 이미지를 지정된 간격(Stride)만큼 순회합니다. 그럼 합성곱 필터를 이용하여 합성곱 연산은 어떤 방식으로 진행되는지 알아보기 위해, 아래의 그림으로 설명하겠습니다.
 
 
[그림 5] Convolution 연산
 
위의 그림에서 주어진 이미지 데이터의 크기는 6x6이고, 필터의 크기는 3x3입니다. 이미지를 순회하는 간격(stride)은 1입니다. 연산은 이미지와 필터가 서로 겹쳐지는 부분은 곱을, 각각의 곱은 합하는 방식으로 진행됩니다. 위의 그림에서 Result 아래에 적힌 연산을 참고하시면 이해가 더 쉬우실 거예요.
 
Fig6.Convolution_layer.gif
 
위의 그림은 합성곱 연산이 진행되는 방식입니다. 이 그림 역시 필터가 이미지를 순회하는 간격은 1입니다. 이처럼 합성곱을 진행하여 얻어진 결과를 피처맵(Feature Map, 위의 그림에서는 오른쪽의 분홍색)을 만듭니다. 여기서 피처맵은 주어진 이미지에서 특징들을 추출한 것이고, 액티베이션맵(Activation Map)이라고도 합니다. 피처맵은 여러 가지의 의미로 사용되지만, 액티베이션맵은 주로 합성곱층의 최종 출력 결과를 의미합니다.

합성곱층에서 필터와 스트라이드의 작용으로 이미지(피처맵)의 크기는 입력 데이터보다 작아지게 됩니다. 그렇다면 합성곱층을 지나면 이미지가 자꾸 줄어드는데, 계속 반복적으로 합성곱층을 지나면 이미지가 없어지지 않을까? 라는 생각이 들게 되죠. 이를 방지하는 방법이 패딩(Padding)입니다. 패딩은 입력 데이터의 외각에 지정된 픽셀만큼 특정 값으로 채워 넣는 것을 의미하고, 보통 0으로 값을 채워 넣습니다.
 

 
 
위의 그림을 보면, 3x3 이미지의 외각에 0이 채워진 것을 볼 수 있습니다.
 
 

 
[그림 8] Pooling
지금까지 합성곱에 대해서 알아보았습니다. CNN 알고리즘에서 이미지 특징을 추출하는 부분에서 합성곱층 다음으로 나오는 층은 풀링층(Pooling layer)입니다. 합성곱층의 출력 데이터(액티베이션 맵)를 입력으로 받아, 출력 데이터의 크기를 줄이거나 특정 데이터를 강조하는 용도로 사용됩니다. 풀링층을 처리하는 방법으로는 Max, Average, Min Pooling이 있습니다. 정사각 행렬의 특정 영역 안에 값의 최댓값, 평균 혹은 최솟값을 구하는 방식이고, 주로 Max Pooling을 사용합니다. 앞의 합성곱처럼 인접한 픽셀값만을 사용한다는 것은 비슷하지만, 합성곱처럼 곱하거나 더하는 연산 과정이 없어서 학습이 필요한 부분이 없고 입력 데이터의 변화에 영향을 적게 받습니다. 이는 최댓값, 평균값, 최솟값 중 하나를 구하는 것이기 때문에, 입력 데이터가 조금 변하더라도 풀링의 결과는 크게 변하지 않습니다.
  

 
 
앞에서 설명해드렸던 바와 같이, CNN은 크게 특징 추출(Feature extraction) 부분과 분류(Classification) 부분으로 나뉩니다. 특징 추출은 합성곱층과 풀링층이 반복적으로 수행되고, 분류는 앞에서 추출된 Feature들이 Fully-connected layer 학습 방식을 이용하여 어떤 이미지인지 분류합니다.
 
참고) 학습시킬 이미지가 부족하시다면! 이미지 학습을 위한 open data source
 
이미지 분류하기 위해 이미지를 학습시킬 때, 하나의 클래스(ex. 강아지 클래스, 고양이 클래스)당 최소 1,000장이 필요합니다. 학습을 많이 시키면 많이 시킬수록 이미지를 분류하는 정확도는 당연히 올라갑니다. 그렇다면, 이미지 학습을 하기 위해서 많은 양의 이미지 데이터가 필요하겠죠? 딥러닝이 활성화되면서 공개 이미지를 수집하는 데이터베이스가 많아졌고, 대표적으로 ImageNet과 Kaggle 등이 있습니다. 이미지를 학습하는 데 필요한 이미지 데이터를 공개적으로 제공하는 사이트이므로, 아래 사이트를 들어가시면 이미지 딥러닝 활용에 여러 방면으로 도움이 될 것입니다. :)
 

[그림 9] ImageNet
(http://www.image-net.org/)


[그림 10] Kaggle
(https://www.kaggle.com/)


CNN 알고리즘에 대해서 더 자세하게 설명해 드리고 싶었지만, 그러면 본 취지에 맞지 않을 것 같았어요. 제가 생각하기에 이미지 딥러닝의 입문자분들께 가장 필요한 부분 위주로 이 글을 작성하였습니다. 이 글에 적힌 것들을 바탕으로 궁금한 부분이 생길 때마다 조금씩 조금씩 자료를 찾다 보면, 깨닫지 못한 사이에 이미지 딥러닝에 대해 많이 알게 되실 거예요. 조금이나마 도움이 되셨길 바라며, 너무 두려워하지 마시고 힘내시길 바랍니다. :D
 
 

Posted by 人Co

2020/06/01 19:28 2020/06/01 19:28
, , ,
Response
No Trackback , No Comment
RSS :
https://www.insilicogen.com/blog/rss/response/346

p-value(유의 확률)의 역설



전 세계 30만 명이 넘는 확진자와 증가세를 보이는
코비드-19(COVID-19, Corona virus disease 2019)!
세계보건기구 WHO가 최고 경보단계 '팬데믹(pandemic)'을
선언한 지금 어느 때보다 바이오 연구가 높은 관심과 집중을 받고 있습니다.
오늘은 이와 관련한  p-value에 대해 알아보도록 하겠습니다!
 
먼저 p-value란 무엇일까요? 불과 서너 달 사이 코비드-19와 관련하여 출판된 논문만 1만여 편에 달하는데요. (국제 코비드-19 연관 연구 현황) 확산세 경감과 치료제, 백신 개발 등 다양한 생명연구에서 사용되는 통계지표 p-value! 그 정의부터 연구사례까지 차근차근 보겠습니다!

p-value 정의
p-value(유의 확률, significance probability)
p-value는 '귀무가설(Null hypothesis)이 맞는다고 가정할 때 얻은 결과보다 극단적인 결과(관측 결과)가 나타날 확률'로 정의됩니다. 일반적으로 p-value < 0.05 혹은 0.01을 기준으로 합니다. 계산된 p-value가 기준값보다 작은 경우 귀무가설을 기각하는 것으로 즉, 극단적으로 귀무가설이 일어날 확률이 매우 낮은 상태를 의미합니다.
 
단측검정(위 : left-tail p-value, 아래 : right-tail p-value)



코비드-19 연구 단측검정 사례 : 지난 3월 19일에 한국방사선학회지(Korean J Radiol)에 게재된 논문입니다.(Korean J Radiol, 2020) 이 연구의 가설은 '코비드-19 감염 천식 증상을 보이는 환자 중 폐섬유화(fibrosis)가 나타난 경우는 나이가 많을수록 높다.'는 것입니다. 귀무가설은 '환자 중 섬유화가 일어난 사람과 일어나지 않은 사람의 평균 연령은 같다.' 입니다 . 여기서 세워진 가설은 '섬유화가 같이 일어난 환자의 평균 나이가 일어나지 않은 환자보다 많다.' 라고 할 수 있습니다. 이렇게 대립가설에서 '높다.' 혹은 '낮다.' 라는 방향성이 있는 경우 우리는 단측검정을 사용합니다.
 
양측검정



[출처] 유의 확률

코비드-19 연구 양측검정 사례 : 지난 2월 Cell Discovery에 게재된 논문입니다. ACE2 라는 SARS-coronavirus 수용체 단백질의 서열이 인종 별로 차이가 있는지를 확인한 연구입니다.(Cell Discov, 2020) 귀무가설은 인종 간 단백질 서열의 '차이가 없다.'이고 대립가설은 '차이가 있다.' 입니다. 이렇게 우리가 주장하는 가설의 방향성이 정해지지 않았을 때 우리는 양측검정을 사용할 수 있습니다.
 
미국통계학회(ASA, American Statistical Association) 2016 성명서
우리는 연구 과정에서 수립한 가설을 증명하기 위한 척도로 p-value를 사용합니다. 즉, 가설이 참인지 거짓인지를 가려내는 갈림길에 서게 되는 것이죠. 앞서 '극단적인 결과가 실제로 관측될 확률' 부분을 잘 읽어보세요! p-value=0.05라는 것은 귀무가설을 참이라고 가정할 때 대립가설에 따른 결과가 우연히 일어날 확률이 5%라는 것을 의미할 뿐, p-value 그 자체로는 어떤 가설의 참/거짓 여부를 판단하는 지표가 될 수 없다는 것이죠.
 
2016년 3월 미국통계학회는 이러한 과학자들의 p-value에 대한 의존성에 일침을 가합니다.
성명의 6가지 원칙 원문:미국통계학회, 2017
1. P-values can indicate how incompatible the data are with a specified statistical model. 
 - P-value는 주어진 데이터가 얼마만큼 통계모델을 따르지 않는지를 나타낼 수 있다.
2. P-values do not measure the probability that the studied hypothesis is true, or the probability that the data were produced by random chance alone.
 - P-value는 대립가설이 참일 확률, 또는, 우연히 발생할 확률을 측정하는 값이 아니다.
3. Scientific conclusions and business or policy decisions should not be based only on whether a p-value passes a specific threshold.
 - 어떤 과학적, 정책적인 결론의 근거로 p-value만을 그 지표로써 사용해서는 안 된다.
4. Proper inference requires full reporting and transparency.
 - 합당한 추론을 위해 완전한 보고와 투명성이 보장되어야 한다.
5. A p-value, or statistical significance, does not measure the size of an effect or the importance of a result.
 - p-value는 연구 결과에 중요성이나 효과의 크기를 측정한 값이 아니다.
6. By itself, a p-value does not provide a good measure of evidence regarding a model or hypothesis. 
 - p-value 자체만으로는 모형 또는 가설에 대한 좋은 증거가 되지 못한다.


논지는 'p-value 자체는 내가 세운 가설이 참인지 거짓인지를 판단하는 근거의 하나일 뿐이다.' 입니다. 즉, 이 값이 나의 연구 결과의 중요성이나 효과의 크기를 설명하는 데 있어서 어떤 근거를 제시하지 않는다는 것입니다. 여기서 오해하시면 안 됩니다. 미국통계학회는 p-value가 갖는 의미를 곡해하지 말고 본 의미에 맞게 사용하고 해석하자는 것이 핵심입니다. 통계 도구를 사용하는 많은 사람이 쉽게 빠지게 되는 오류중의 하나인 '확실성'에 대한 추종은 그동안 p-value를 일종의 절대적 지표로써 사용되게 하였습니다.

p-value의 오용
그렇다면 우리가 겪을 수 있는 p-value에 의존한 결론 도출이 가져오는 오류는 어떤 것들이 있을까요? 아래 두 가지 오류를 살펴보도록 하겠습니다.

1. 2종 오류(Type II error)로 인한 실제 의미 있는 결과의 배제
2. 기준점 5%를 맞추기 위한 지나친 표본 수의 증가

첫 번째 오류는 이렇습니다. 질병 A 환자군과 정상인 군에서 유전자 B 발현 값 평균을 검정한 결과 p-value=0.06가 나왔다면 우리는 유전자 B와 질병 연관성이 없다고 결론을 내려왔습니다. p-value의 정의로 해석해보면 다음과 같습니다. '질병 A 환자군과 정상인의 유전자 B 발현 값 평균이 같을 확률은 6%이다. = 100번의 테스트 중 6번의 결과가 A, B에서 동일하게 확인되었다.' 뭔가 이상하지 않나요? 전자는 p-value 0.05 이하의 경우 유(有) 의미(반대로 p-value 0.05 초과는 무(無)의미)하다는 확정성에 근거하여 질병 A와 유전자 B 연관성을 부정하였습니다. 하지만 실제로 4%, 5%, 6%가 유/무의미를 결정지을 만큼의 절대적 기준이 될 수 있을까요?
두 번째 오류는 먼저 p-value 계산에 사용되는 통계치인 Z 통계치(Z statistic) 산정식입니다.



뭔가 이상한 점을 찾으셨나요? 바로 'n' 표본 수입니다. 동일한 표본 평균과 분산을 가질 때 이 n이 커지게 되면 p-value는 낮아지지는 경향이 있습니다.

마무리
이번 글에서는 통계학에서의 p-value의 의미와 해석 방법 그리고 오용했을 때 발생할 수 있는 오류에 대해 살펴보았습니다. 어떠신가요? 그동안 여러분들을 옭아매던 p-value < 0.05의 굴레에서 벗어나셨나요? 생물학에는 정말이지 셀 수조차 없는 변수들이 존재합니다. 그중에서 질서를 찾기 위해 하나의 지표로써 p-value는 분명히 의미를 갖습니다. 통계 도구의 올바른 적용과 해석으로 가치 있는, 즐거운 연구 되시기를 바랄게요~!

참고문헌

작성자 : RDC 경동수 주임

Posted by 人Co

2020/03/25 16:11 2020/03/25 16:11
Response
No Trackback , No Comment
RSS :
https://www.insilicogen.com/blog/rss/response/341

인공지능(AI)의 역사

 
인공지능(AI, 기계학습) 공부에 도움될 사전 지식 및 사이트 포스트에 이어서
인공지능(Artificial Intelligence)의 역사에 대해 알아볼까 합니다. 
인공지능의 개념은 언제, 어디서부터 시작되어
오늘날 이렇게 각광 받고 있는지 함께 알아보도록 하겠습니다!
 
 
000
2008년 4월 존 파브로 감독의 아이언맨(Iron Man)이라는 영화가 개봉했습니다. 

 
영화 속 주인공인 토니 스타크가 아이언맨 슈트를 착용하면 헬멧 속 UHD를 통해 인공지능 비서인 자비스(J.A.R.V.I.S, Just A Rather Very Intelligent System)가 눈으로 보이는 시각 데이터 분석부터 다양한 전문적인 지식을 빠르게 분석하고 알려줍니다.

아래는 아이언맨 1의 한 장면으로 화면에서 보이는 여러 사람 중에서 일반 시민과 인질범을 구분하여 타겟팅하고 타겟이 된 인질범들에게만 미사일이 발사됩니다.
 
 
000
영화에서 인공지능을 통해 사람을 구분하는 기술이 이제는 현실에서도 이루어지고 있습니다.
실시간 안면인식 기술을 통해 영상에 찍힌 사람 중에서 높은 정확도로 특정한 사람의 얼굴을 인식하여 찾아내고 있습니다. 슈퍼컴퓨터급의 인공지능 기술이 발전하면서 사진을 넘어 동영상 속 수십 명의 얼굴을 실시간으로 인식, 분석, 대조하는 것이 가능해졌기 때문입니다.
 
이제는 영화 속에서가 아니라 현실에서도 볼 수 있는, 또한 차세대 트렌드로 4차 산업혁명을 이끄는 인공지능(AI)의 시작에 대한 역사를 알아보고자 합니다.
 
인공지능(Artificial Intelligence) vs 머신러닝(Machine Learning) vs 딥러닝(Deep Learning)
[출처] 전자신문

인공지능이 우리에게 확 다가온 계기가 있었습니다. 바로 2016년 알파고와 이세돌 9단의 바둑 대국이었죠. 당연히 인간이 승리하리라 생각했던 예상과는 다르게 알파고가 이세돌 9단을 4:1이라는 압도적인 스코어로 승리하면서 인공지능에 대한 전 세계적인 관심이 쏟아졌고, 그 이후로 알파고 뿐만 아니라 인공지능 산업이 빠른 속도로 성장하고 있습니다.

인공지능 산업의 성장으로 “AI와 딥 러닝을 활용한 저해상도 의료영상을 고해상도로 변환”이나 “국내 최초 강화학습 AI 알고리즘을 적용한 머신러닝 적용” 등과 같은 기사들을 많이 볼 수 있습니다. 이러한 기사들에서 인공지능이라는 용어와 함께 사용되는 딥 러닝, 머신러닝은 무엇일까요? 인공지능의 역사를 알아보기에 앞서 간략하게 인공지능, 머신러닝, 딥 러닝에 대한 개념을 한 번 알아보겠습니다.



[출처] 투비소프트 칼럼

인공지능의 정의는 ‘사고나 학습 등 인간이 가진 지적 능력을 컴퓨터를 통해 구현하는 기술’로서 개념적인 정의에 가깝습니다. 1950년대 인공지능을 연구하던 학자들이 인간의 지능과 유사한 특성을 가진 복잡한 컴퓨터 제작을 목표로 함께 연구를 시작했고, 이때 인공지능이라는 개념이 등장했습니다.

이러한 인공지능을 구현하기 위한 구체적인 접근 방식이 바로 머신러닝인 거죠. 머신러닝의 정의는 말 그대로 ‘컴퓨터가 스스로 학습하여 인공지능의 성능을 향상하는 기술 방법’을 의미합니다. 여기서 중요한 단어가 ‘스스로 학습’입니다. 프로그래머가 구체적으로 로직을 직접 코딩하는 것이 아닌, 빅데이터와 알고리즘을 통해 컴퓨터에 ‘학습’을 시켜 원하는 결괏값을 도출해내는 것이죠.

딥러닝이란 머신러닝의 한 분야로 인공신경망(Artificial Neural Network) 방식으로 정보를 처리하는 기술을 의미합니다. 최근 인공지능 붐을 일으킨 분야로 완전한 머신러닝을 실현하는 기술이라고 볼 수 있습니다.

요약하자면 그림에서 표시된 것과 같이 인공지능이 가장 큰 범주이고, 그다음으로 머신러닝, 가장 세부적인 부분이 현재의 인공지능 붐을 주도하고 있는 딥 러닝입니다. 이 세 단어의 관계를 정의하자면 다음과 같습니다.

-> 인공지능 ⊃ 머신러닝(기계 학습) ⊃ 딥 러닝(심층 학습)

인공지능의 역사000
초기 인공지능에 대한 연구는 인공지능이라는 개념이 없는 이론적인 분야였기에 다양한 분야의 수많은 학자가 연구했습니다. 일례로 인공지능이라는 용어는 1956년에 처음 등장하였지만, 현재 인공지능의 세부적인 부분으로 분류되는 딥 러닝의 기원이 되는 인공신경망에 대한 기초이론은 1943년도에 논문으로 발표되었습니다. 수많은 시행착오를 거치면서 인공지능이라는 학문의 분야가 생겨났고, 긴 시간 동안 정립된 이론과 기술들이 정리되어 현재의 인공지능 분야를 이루게 되었습니다. 본 글에서는 인간 두뇌의 뉴런 작용을 처음으로 논리적 모델로 설명한 1943년부터 시작됩니다.
 
1943, 딥러닝의 기원을 열다, 워런 맥컬럭 & 월터 피츠
1943년 논리학자인 월터 피츠(Walter Pitts)와 신경외과의 워렌 맥컬럭 (Warren Mc Cullonch)은 ‘A Logical Calculus of Ideas Immanent in Nervous Activity’ 논문을 발표합니다.
 
이 논문에서 뉴런의 작용을 0과 1로 이루어지는 2진법 논리 모델로 설명했고 이는 인간 두뇌에 관한 최초의 논리적 모델이었습니다. 이렇게 현재 인공지능의 트렌드를 이끌고 있는 딥 러닝에 대한 연구가 시작되었습니다.
 
1943, 딥러닝의 기원을 열다, 워런 맥컬럭 & 월터 피츠


[출처] 인공지능 그리고 머신러닝의 모든것, 고지식-거니

1950년 영국 수학자 앨런 튜링(Alan Mathison Turing)은 ‘계산 기계와 지능(Computing Machinery and Intelligence)’라는 논문을 발표합니다. 이 논문에서 앨런 튜링은 기계가 생각할 수 있는지 테스트하는 방법과 지능적 기계의 개발 가능성, 학습하는 기계 등에 관해 기술하였습니다. 이 기술을 현실화한 튜링머신은 존 폰 노이만 교수에게 직접 또는 간접적인 영향을 주어 현대 컴퓨터 구조의 표준이 되었습니다.

이후 1956년 인공지능이라는 용어가 처음으로 등장하였습니다. 1956년 미국 다트머스 대학에 있던 존 매카시(John McCarthy) 교수가 ‘다트머스 AI 컨퍼런스’를 개최하면서 초청장 문구에 ‘AI’라는 용어를 처음으로 사용했습니다.

We propose that a 2 month, 10 man study of artificial intelligence be carried out during the summer of 1956 at Dartmouth College in Hanover, New Hampshire. 
(1956년 여름 뉴 햄프셔 하노버에 있는 다트머스대에서 두 달 동안 10명의 과학자가 모여 인공지능을 연구할 것을 제안합니다)

 
이 AI 컨퍼런스에서 모인 10여 명의 과학자들은 앨런 튜링의 ‘생각하는 기계’를 구체화하고 논리와 형식을 갖춘 시스템으로 이행시키는 방안을 논의했습니다.


1950, Perceptron의 등장


1950년대의 인공지능 연구는 크게 두 가지 분야로 구분되었습니다.  바로 '기호주의'와 '연결주의'인데요, 기호주의(Symbolism)은 인간의 지능과 지식을 기호화해 매뉴얼화하는 접근법이었고, 연결주의(Connectionism)는 1943년 월터 피츠와 워런 맥컬럭이 연구한 뇌 신경 네트워크의 재현을 목표로 하는 접근법이었습니다. 각 장단점이 있었으나 1950년대에 현실적으로 실현 가능한 기호주의 분야가 사람들의 관심을 더 받고 있었습니다.

1958년 기호주의로 독주하고 있던 마빈 민스키(Marvin Lee Minsky)에게 도전장을 내민이가 있었으니, 바로 퍼셉트론(Perceptron)을 고안한 마빈 민스키의 1년 후배인 프랭클린 로젠 블랫(Frank Rosenblatt)입니다. 퍼셉트론은 인공신경망(딥러닝)의 기본이 되는 알고리즘으로 월터 피츠와 워런 맥컬럭의 뇌 모델과 1949년에 발표된 도널드 헵(Donald Hebb)의 ‘헵의 학습이론’에 힌트를 얻어 가중치를 추가한 업그레이드 버전이었죠. 이렇게 세상 밖으로 나온 퍼셉트론은 사람들의 사진을 대상으로 남자와 여자를 구별해내고 뉴욕 타임즈에 실리게 됩니다. 인공지능 연구의 트렌드가 기호주의에서 연결주의로 넘어오게 되는 계기가 되었죠.

[출처] 인공지능 탄생의 뒷이야기, 야만ooo

1969, AI의 1차 겨울 : XOR 문제 등판

 

로젠 블랫의 퍼셉트론에 모든 관심이 집중되자 기호주의의 마빈 민스키는 제자 시모어 페퍼트(Seymour Papert)와 퍼셉트론의 한계를 수학적으로 증명하면서 로젠 블랫의 퍼셉트론이 무너지고 2년 뒤인 1971년 로젠 블랫이 사망하면서 인공지능의 빙하기가 도래하게 됩니다.

로젠 블랫의 퍼셉트론으로 AND, OR, NAND 같은 선형문제는 풀 수 있지만, XOR 같은 비선형 문제는 해결할 수 없었고, 대부분 데이터는 선형보다 비선형 형식으로 데이터가 분포되어 있었습니다. 이러한 문제로 퍼셉트론을 기반으로 한 수많은 인공지능 연구가 끊기게 되고 다시 마빈 민스키의 기호주의 학문으로 관심이 집중되었으나, 기호주의도 한계에 도달하면서 인공지능은 세간의 관심에서 점점 멀어져 갔습니다.

1986, AI의 부활 : 딥 러닝의 아버지 제프리 힌튼

[출처] Neural Network, Sliude Share

인공지능에 대한 관심은 줄어들었지만, 묵묵히 연구를 지속해오던 연구자들도 있었습니다. 1986년 인공지능의 첫 번째 빙하기를 깨고 인공지능의 부활을 알린 사람이 있었으니 바로 딥 러닝의 아버지라 불리는 제프리 힌튼(Geoffrey Everest Hinton)입니다. 제프리 힌튼 교수는 다층 퍼셉트론(Multi-Layer Perceptrons, MLP)과 Back-propagation Algorithm을 실험적으로 증명하였고 이를 통해 XOR 문제를 해결하였습니다.

사실 제프리 힌튼이 다층 퍼셉트론와 Back-propagation Algorithm을 고안해낸 것은 아니었습니다. 1969년 위치 호(Yu-Chi Ho)와 브라이손(Arthur E. Bryson)에 의해 Back-propagation Algorithm이 고안되었으며, 1974년 하버드대의 폴 워보스(Paul Werbos)는 다층 퍼셉트론 환경에서 학습을 가능하게 하는 Back-propagation Algorithm으로 박사학위 논문을 썼으나 인공지능 분야의 침체한 분위기 속에 8년 후 1982년에 논문을 발표하였습니다. 이것이 1984년 얀 르쿤(Yann LeCun)에 의해 다시 세상 밖으로 나왔고, 1986년 데이빗 럼멜하트(David Rumelhart)와 제프리 힌튼에 의해 세상에 알려지게 되었습니다.

1990년대 후반, AI 2차 겨울 : MLP의 문제점
제프리 힌튼의 다층 퍼셉트론과 Back-propagation Algorithm을 계기로 1990년대 초반까지 인공지능 연구에 큰 발전을 이루었습니다. 그러나 1990년대 다층 퍼셉트론에서도 한계가 보이기 시작하면서 인공지능 연구의 두 번째 빙하기를 맞이하게 됩니다.

두 번째 문제는 Vanishing Gradient와 Overfitting 이었습니다. 다층 신경망의 은닉층(Hidden layer)을 늘려야 복잡한 문제가 해결 가능한데 신경망의 깊이가 깊어질수록 오히려 기울기(gradient)가 사라져 학습이 되지 않는 문제인 Vanishing Gradient가 발생했습니다. 또한, 신경망이 깊어질수록 너무 정교한 패턴을 감지하게 되어 훈련 데이터 외 새로운 데이터에 대해서는 정확성이 떨어지는 Overfitting 문제가 발생했던 거죠.

2006, 제프리 힌튼의 심폐소생술 : 딥 러닝 용어의 등장

000

모두가 인공신경망을 외면하던 암흑기 시절에도 제프리 힌튼은 꿋꿋하게 인공신경망을 연구해왔습니다. 제프리 힌튼은 “A fast learning algorithm for deep belief nets” 논문을 통해 가중치(weight)의 초깃값을 제대로 설정한다면 깊은 신경망을 통한 학습이 가능하다는 것을 밝혀냈습니다.

기존 인공신경망과 크게 달라진 점은 없었지만, 인공지능의 두 번째 겨울을 거치면서 인공신경망이라는 단어가 들어간 논문은 제목만 보고 거절당하거나 사람들의 관심을 끌지 못해 deep을 붙인 DNN(Deep Neural Network)이라는 용어를 사용하면서 본격적으로 딥 러닝(Deep Learning) 용어가 사용되기 시작했습니다.

2012, ImageNet : ILSVRC
ImageNet는 2009년 페이페이 리(Fei-Fei Li)가 만든 방대한 이미지의 데이터베이스입니다. 인공지능을 학습시키기 위해서는 수천, 수만 번의 반복 학습이 필요한데 이때 알고리즘 뿐만 아니라 학습량도 매우 중요하다고 생각했죠. 이를 계기로 ImageNet이라는 방대한 이미지 데이터베이스를 구축하게 되었고, 2010년부터 ILSVRC(ImageNet Large Scale Visual Recognition Challenge)라는 이미지 인식(image recognition) 경진대회도 진행하였습니다.

ILSVRC는 주어진 대용량의 이미지 셋을 데이터로 이미지 인식 알고리즘의 정확도, 속도 등의 성능을 평가하는 대회입니다. 2010년, 2011년까지는 얕은 구조(shallow architecture)를 가진 알고리즘이 우승하였으나, 약 26% 정도의 오류율을 보여 왔습니다. 오류율이 0.1%라도 낮아진다면 우승이라는 말이 있었을 만큼 얕은 구조 기반의 알고리즘으로는 오류율을 낮추는 것이 매우 힘든 일이었죠.

000
그러나 2012년, 깊은 구조(deep architecture) 제프리 힌튼 팀의 AlexNet이 약 26%였던 오류율을 16%로 낮추는 압도적인 정확도로 우승을 차지하면서 딥 러닝은 부흥기를 맞게 됩니다.
 
이후 등장하는 알고리즘들은 모두 깊은 구조 기반의 딥 러닝 알고리즘이었으며, 2015년에는 사람의 정확도라고 알려진 5% 대의 오류율을 거뜬히 넘겨버렸습니다. 이제 사람보다 기계가 이미지를 더 잘 구별하게 된 것입니다.

마무리000
인공지능은 우리가 생각했던 것보다 더 오랜 시간 많은 연구자를 통해 꾸준히 연구됐고, 딥 러닝 기술이 고안되어 세상의 관심과 빛을 보고 있습니다. 네트워크 및 하드웨어의 발달을 바탕으로 최근 인공지능 분야는 처리 능력과 연산 효율성을 크게 개선하였습니다. 이러한 컴퓨팅 파워 및 클라우드, 빅데이터와 혁신적으로 발전하고 있는 알고리즘들이 융합되면서 이미지나 영상 내 개체 식별, 자연어 처리, 음성 처리 등 현재는 딥 러닝이 사용되지 않는 분야가 없을 정도로 여러 분야에서 활용되고 있으며, 필수 학문으로 자리 잡고 있습니다.
IBM은 근 미래인 2025년 인공지능 산업이 2,000조 원에 이르는 시장을 창출할 것으로 내다보고 있으며, 맥킨지는 인공지능으로 인해 7,000조 원에 이르는 파급 효과가 창출될 것으로 전망하고 있습니다. 물론 딥 러닝이 모든 분야에서 만능은 아닐 것입니다. 다만 수많은 벽에 부딪히면서도 앞으로 나아갔던 과거처럼 지금도 수많은 연구자, 기업이 다양한 방법으로 새로운 기술을 개발하고 있으며, 인공지능 산업 또한 매우 빠르게 성장하고 있습니다. 언제라고 장담할 수는 없겠지만, 영화 속에서만 볼 수 있었던 아이디어들이 언젠가는 현실 세계에서 먼저 나타나지 않을까 생각해 봅니다.
 
참고문헌
작성자 BS실 강전모 주임

Posted by 人Co

2020/03/10 14:16 2020/03/10 14:16
Response
No Trackback , No Comment
RSS :
https://www.insilicogen.com/blog/rss/response/340

유연해야 산다(Content is like water)

반응형 웹이란 하나의 url로 다양한 디바이스를 통해서 접속했을 때, 접속하는 디바이스 종류에 따라 화면크기가 자동으로 다양한 디바이스 크기에 최적화되어 사용자들에게 보이는 웹페이지 접근 기법을 말합니다.


사진출처 : 위키피디아

이해를 돕기 위해 간단한 예를 들겠습니다. 테이블 위에 와인 잔, 티포트, 허리가 가는 유리 꽃병이 있는데 그 안에 물을 부으면, 물은 각 용기의 모양에 따라 담길 것입니다. 여기서 각 용기는 디바이스 즉 데스크톱, 태블릿, 모바일 기기를 의미하며, 물은 사이트의 콘텐츠를 의미합니다.

반응형 웹에서는 고려해야 할 요소가 두 가지가 있는데, 해상도와 이미지 블러링 현상입니다.
첫 번째, 해상도란 화면 또는 인쇄물 등에서 표현된 그림이나 글씨 등이 섬세하게 표현된 정도를 나타내는데, 픽셀 수가 많아질수록 해상도가 높아집니다. 한정된 공간 속에 더 많은 픽셀(디스플레이를 구성하는 가장 작은 단위)이 있다면, 그만큼 더욱 콘텐츠를 선명하고 섬세하게 표현할 수 있습니다.


사진출처 : (주)인실리코젠

두 번째, 이미지 블러링 현상은 해상도 차이에 따라 발생하는 현상입니다. 데스크톱을 기준으로 만든 이미지가 모바일 화면에서 보았을 때 화질이 선명하지 않은 경우가 종종 있는데, 이는 데스크톱과 모바일 화면의 해상도 차이로 인해 발생합니다. 이미지 블러링 현상을 방지하기 위해서는 모바일 사이즈를 고려하여 원본 이미지의 1.5~최대 2배가량의 크기로 제작해야 합니다.

그렇다면 반응형 웹을 기획할 때는 어떻게 해야 할까요?? 먼저 데스크톱 사이즈보다 모바일 디바이스 사이즈가 작다는 것을 인지하여, 콘텐츠의 그리드(혹은 레이아웃)를 구성해야 합니다.


사진출처 : http://24h3vq.axshare.com/#p=home

반응형 웹을 구현하기 위해서는 분기점 설정이 필요합니다. 분기점 설정이란 내가 어느 지점에서 화면 레이아웃을 바꿔줄 것인지 설정하는 것을 말합니다. 분기점 미 설정 시 나타나는 문제점을 예를 들어보겠습니다. 직장인 A 씨는 핸드폰으로 N 사이트에서 모바일 쇼핑을 하려고 하는데 상품 이미지와 상품정보가 잘려서 쇼핑을 할 수가 없었습니다. N 사이트는 분기점 지정을 하지 않았기 때문이었죠. 직장인 A 씨가 N 사이트에서 쇼핑할 수 있는 방법은 데스크톱에서 PC 버전으로 쇼핑하는 방법 밖에 없습니다.

자아! 그럼 반응형 웹이 적용된 사이트를 보시겠습니다. 인실리코젠 홈페이지의 경우 분기점을 3가지로 적용하였습니다. 반응형으로 제작했기 때문에 하나의 URL로 모바일, 태블릿, 데스크톱으로 접속해도 해상도에 구애받지 않고, 알맞은 크기로 사이트의 레이아웃과 정보를 구독할 수 있습니다. 모바일 기기에서 가로 또는 세로로 화면을 돌리더라도 화면에 맞게 사이트의 정보가 배치됩니다. 이는 데스크톱에서 브라우저 창의 크기를 증감해도 적용됩니다. 마지막으로 유지관리 측면에서 보았을 때 관리할 코드가 한 맥락이기 때문에 유지관리하는데 효율적입니다.


사진출처 : (주)인실리코젠 홈페이지(http://insilicogen.com/)

마치며...
현재 세계는 디바이스 춘추 전국시대라고 칭해도 과언이 아닐 만큼 다양한 디바이스가 출몰하고 있습니다. 사용자들의 편의와 동등한 정보제공을 위해 반응형 웹 기술이 늘 정답은 아니지만 필요한 웹 기술 중 하나라고 필자는 생각합니다. 이 글을 읽고 반응형 웹에 대한 이해에 도움이 되셨기를 바라며 마칩니다. 제 글을 읽어 주셔서 감사합니다.

작성자 : PlatformLab
프론트엔드개발자  진효빈

Posted by 人Co

2017/11/03 14:53 2017/11/03 14:53
Response
No Trackback , No Comment
RSS :
https://www.insilicogen.com/blog/rss/response/263

어느새 무더운 여름이 지나고 서늘한 가을이 찾아 왔습니다. 어떻게 지난 여름 잘 버티셨나요? 이번 여름은 그 어느 해 보다 더 덥게 느껴지면서 사회적으로도 누진세 같은 이슈가 화제되곤 했었습니다.
어떻게 보면 우리 (주)인실리코젠도 더위와 싸우는 기업입니다. 좀 더 정확히 말하자면 서버실에 있는 분석 및 스토리지 서버들이 더위와 맞서 싸우고 있습니다. 대용량의 생물정보 데이터 분석을 위해 수십대의 분석 서버들이 열을 내며 24시간 쉬지 않고 일을 하고 있답니다. 이 열을 제대로 식혀주지 않으면 서버들은 곧 강제 종료되고 장시간 실행중이던 분석 작업도 중단되며 저장중이던 데이터나 장비에 치명적인 문제가 발생할 수도 있습니다.
 
<열화상카메라... 가 없어서 구한 다른 서버실의 열화상 카메라 사진>
 

그러다 보니 서버실의 더운 공기를 식히고 순환시켜주는 에어컨이나 공조장치들의 역할이 중요합니다. 보통은 에어컨에 적정온도를 맞춰 두고 24시간 가동하여 이런 문제를 대비하지만 언제나 그렇듯 사고는 예상치 못할 때 발생합니다.

의외로 이런 사고는 경험상 여름보다는 겨울이나 초여름에 잘 발생했습니다. 지난 겨울에는 실외기가 너무 추운 바깥 공기에 얼어붙어 버려서 냉매의 순환에 문제가 생겨 차가운 바람이 충분히 나오지 않는 문제가 생겼습니다. 그리고 보통 겨울에는 여름보다 조금 높은 온도를 에어컨에 설정해 두는데 갑자기 더위가 찾아오는 초여름에 너무 높아진 온도에 비해 충분히 차가운 바람을 내지 못하면서 서버실의 온도가 높아진 적도 있습니다.

이런 사고를 몇 번 겪었을 무렵 세상은 IoT(Internet on Things) 열풍이 불기 시작했습니다. 그중에서도 저의 관심을 끌었던 장비가 바로 라즈베리 파이(Raspberry Pi) 입니다. 라즈베리 파이는 영국 잉글랜드의 라즈베리 파이 재단이 학교와 개발도상국에서 기초 컴퓨터 과학의 교육을 증진시키기 위해 개발한 신용카드 크기의 싱글 보드 컴퓨터입니다. 크기는 작지만 하드디스크 대신 SD카드를 사용하고 HDMI 포트로 모니터와 연결도 가능하며 LAN포트도 있어서 인터넷 연결도 되는 엄연한 컴.퓨.터 입니다.

<스마트폰 보다 더 작은 컴퓨터, 라즈베리파이>

라즈베리 파이의 장점은 일반 USB 포트뿐만 아니라 다양한 통신 포트도 제공해서 여러가지 센서들도 제어할 수 있다는 점입니다. 예를 들어서 전기 신호를 켜고 끄도록 프로그램을 만들면 발광 다이오드에 불을 켤 수도 있고, 작은 모터를 동작 시킬 수도 있습니다. 초음파 센서나 감광센서를 이용하면 누군가 센서 앞을 지나가는 것을 알 수도 있습니다. 이젠 정말 좋은 아이디어가 있으면 누구나 직접 만들어 낼 수 있는 세상이 온 것입니다.


<다양한 센서를 조합하면 구현하지 못할 아이디어가 없다>

저는 이 라즈베리 파이에 몹시 흥미를 느꼈습니다. 그리고 이 작은 컴퓨터를 이용해 회사가 겪고 있는 어떤 문제를 해결하는데 사용하고 싶었습니다. 바로 우리 서버실을 높은 온도로부터 지켜줄 수 있는 장치를 만들고 싶었습니다.

저는 이 프로젝트의 이름을 Rainbow Guard Project 라고 이름을 지었습니다.

보통 서버들은 host name이라고 부르는 별명을 가지고 있습니다. 보통은 node0, node1, node2 이렇게 이름을 짓거나 소속 기관의 영어 약자로 붙여주곤 합니다. 디자인에 강한 우리 인실리코젠은 각 서버들의 성격에 맞는 색을 이름으로 지어 줬습니다.

  • 강력한 파워를 자랑하는 분석 서버에게는 BLACK
  • CPU가 많아 언제나 많은 분석량을 자랑하는 서버에게는 RED
  • 많은 고객이 찾아오는 웹사이트를 운영하는 서버에는 GREEN
  • 테스트를 많이 해서 정신이 오락가락한 서버에게는 PURPLE

Rainbow Guard Project 이렇게 다양한 색깔의 레인보우를 지켜주겠다는 의미를 지닙니다.

<애네들이 생각 나도 모른척 하세요, 아~재 소리 듣습니다...>

Rainbow Guard Project는 크게 3부분으로 나뉩니다.

1. 서버실의 온도를 체크하고 기록
2. 특정 온도 이상으로 온도가 올라갈 경우 서버실 관리자에게 경고 메일 발송
3. 24시간 동안의 서버실 온도 현황 조회

첫 번째 기능을 위해 먼저 라즈베리 파이와 온도센서를 연결하는 작업을 진행했습니다. 기왕이면 평상시 정상 작동 때와 온도가 높을 때를 구분할 수 있도록 LED도 있으면 좋겠네요. 이런 기능을 위한 회로도를 설계해 보고 납땜질도 하면서 깔끔하지는 않지만, 동작은 하는 온도 감시 및 알림 회로를 만들어 라즈베리 파이와 연결하였습니다. 저도 V=IR이라는 공식밖에 모르지만, 열심히 구글링하고 공부하면서 만들 수 있었습니다.

<PPT로 회로 설계도면을 만들고, 겨우겨우 납땜해서 만든 모듈>

리눅스에는 crontab 이라는 스케줄러가 있는데요, 온도센서의 값을 읽어와서 저장하는 프로그램을 만든 후 이 crontab의 스케줄에 추가해 주면 정기적으로 온도 감시가 진행됩니다. 덤으로 온도가 높아 졌을때 서버실 밖에 있는 사람들이 빨리 알아챌 수 있도록 음악이 나오게 셋팅해 뒀습니다. 경고 상태에서 나오는 음악은 f(x)의 'Dangerous' 입니다. 듣기만 해도 위험한 상태라는걸 알 수 있게 해줍니다.


<원래는 마이클잭슨의 Dangerous를 재생 시키려고 했는데 음원을 못 구해서...>

경고 상태가 되면 설정된 서버실 관리자들에게 다음과 같은 메일이 발송됩니다. SMS 문자를 보낼 수도 있지만, 유료 서비스라서 메일을 보내도록 설정해 뒀습니다. 어짜피 스마트 시대에 메일이 오든 문자가 오든 틈틈이 확인하는 습관이 있어서 상관은 없습니다.

마침 이 글을 작성하는 동안 경고 메일을 수신했습니다. 앞서 말씀드린 것처럼 봄, 가을 같은 환절기에는 에어컨의 적정온도가 변경되어 간혹 이런 경고가 발생하기도 합니다. 이번에는 날씨가 선선해 지면서 건물 중앙 관리 시스템이 적정온도를 조금 높이다 보니 서버실의 온도가 높아져 경고가 발생했습니다. 서버실 자체 에어컨의 온도를 조금 더 낮춰 해결하였습니다.

<토요일 새벽 6시에 경고 메일을 받은 서버관리자가 긴급 출동하여 초기에 대처>
 

경고 알림 메일에 있는 URL을 클릭하면 지난 24시간 동안의 온도 현황을 그래프와 함께 볼 수 있는 웹페이지로 이동하게 됩니다. 이 사이트는 Python Django를 이용하여 구현하였습니다. 제가 디자인 감각은 꽝이라서 정말 필요한 정보가 보이게끔만 만들어 봤습니다. 지금은 회사 동료들과 함께 조금씩 예쁘게 업그레이드하는 중입니다.


<저의 html 레벨은 15년 전에 멈춰 있습니다...
(그렇다고 배경에 보노보노를 넣고 싶진 않았어요 ㅠㅠ)>


이렇게 경고 알림 메일을 받으면 몇몇 직원들이 급히 서버실로 출동하여 상태를 점검하고 위기의 우리 서버들을 더위로부터 구출해 냅니다. 제가 납땜질이 서툴러서 회로의 한 부분이 끊어져 잠시 운영하지 못한적도 있지만 지금은 24시간 서버실에서 제 역할을 하고 있는 중입니다.


<일부러 서버실에서 더운 곳에 둬서 빨리 경고가 울리도록 설치>
 
위에서도 잠시 언급했지만 저는 주입식 교육을 통해 V=IR이라는 공식만 기억하는 동물세포 실험실 출신의 생물학 전공자입니다. 하지만 다양한 분야의 융합을 통하여 가치를 생성해 나가는 생물정보 분야의 동료들과 함께 일하면서 새로운 분야에 대한 도전 의지도 키울 수 있었던 것 같습니다. 잘 모르는 분야라도 꾸준히 보고, 듣고, 배우다 보니 생물학 너머 다양한 분야의 기술과 노하우를 배울 수 있었습니다. 그렇다고 아주 잘 하는 건 아닙니다. 생물 정보 분석을 위한 넓고 얕은 지식 정도 되겠네요. 여러분들도 생물정보 분석을 하면서 리눅스, 코딩, 통계 등의 난관에 부딪혀 많이 힘든 상황을 겪으실 것 같습니다. 하지만 포기하지 말고 꾸준히 밀고 나가다 보면 경계 너머의 다양한 즐거움을 느끼게 되실 거라고 믿습니다.  
 

<이미지 출처>
  • IDC HOWTO - http://idchowto.com/?p=12787

  • RayHightower.com - http://rayhightower.com/blog/2012/12/03/ruby-on-raspberry-pi/

  • SUNFOUNDER - https://www.sunfounder.com/rpi2-sensorv2.html

  • 후레쉬맨 - http://blog.daum.net/gkglh16/3

  • f(x) - http://ppulset.tistory.com/552


작성자 : BS실 SP팀 심재영 선임 컨설턴트

Posted by 人Co

2016/10/31 18:33 2016/10/31 18:33
Response
No Trackback , No Comment
RSS :
https://www.insilicogen.com/blog/rss/response/226

제 4차 산업혁명

최근 제 4차 산업혁명이라는 용어가 크게 이슈화되어 많은 사람들에게 회자되고 있어 이에 대해 짧게 간추려 보고자 합니다.


제 4차 산업혁명이란?
제 4차 산업혁명의 핵심 키워드는 융합과 연결이라고 할 수 있습니다. 이를 더 쉽게 풀어 이야기한다면, 제조업에 정보통신기술이 접목된 것이라 할 수 있습니다. 애초에 제 4차 산업혁명이라는 의미는 제조업 강국인 독일이 새로운 성장동력을 모색하는 과정에서 정립한 개념인 ‘인더스트리 4.0’을 확장한 것으로 그 범위가 더욱 확장되어 제조업뿐만 아니라 사회 전반에 일어날 엄청난 변화와 영향력을 내포하고 있습니다.
인류의 삶을 변화시킨 지난 1차, 2차 그리고 3차 산업혁명에 비하면 제 4차 산업혁명의 정체는 아직 불분명하지만, 산업생태계가 새로운 먹거리 중심으로 재편되어 인류에게 또 다른 혁신의 삶을 제공할 것임은 확실한 것 같습니다. 특별히 빅데이터, IoT, 인공지능과 같은 첨단기술과의 융합이 가져올 변화는 무궁무진한 듯합니다.
그럼 새로운 패러다임인 제 4차 산업혁명의 특징은 무엇일까요? 그 특징은 사람과 사물, 사물과 사물이 인터넷으로 연결되는 초연결성, 그 초연결성으로부터 파생된 막대한 데이터를 분석하고, 그 분석을 통해 일정 패턴을 파악해 내는 초지능성, 그리고 마지막으로 분석결과를 토대로 인간의 행동을 예측해 내는 예측가능성입니다. 이러한 단계를 거쳐 새로운 가치를 창출해 내는 것입니다.


<출처 : http://www.newspim.com/news/view/20160102000009>


국내외 정책동향
국내외적으로 제 4차 산업혁명의 정책적 동향을 살펴보면, 독일은 2011년부터 인더스트리 4.0을 통해 스마트 팩토리에 집중하여 정책적 지원을 추진하고 이를 추진하면서 노출된 문제점인 표준화, 보안정책, 중소기업 거부 등을 개선하기 위한 전략적 수정을 추진하고 있습니다. 미국은 2014년부터 ‘미국에서 만들기 (Making in America)를 통해 디지털 디자인과 3D 프린팅 역량강화로 시제품 제작기간 단축, 비용절감은 물론 혁신형 기업 창업 촉진을 정책적으로 지원하고 있습니다. 중국 또한 IT 경쟁력 강화를 통해 ‘중국제조 2025’를 발표하여 제조대국에서 제조 강국으로 도약하기 위한 전략을 추진하고 있습니다. 이에 뒤질세라 일본은 2013년 ‘세계 최첨단 IT 국가 창조선언’을 하고, 2016년 ‘로봇 혁명 신전략’을 내세워 미국, 독일에 비해 상대적으로 경쟁 우위에 있는 로봇혁명을 통해 IoT 시대에 로봇으로 세계를 리드할 전략을 추진하고 있습니다.
국내에서도 제조업의 창조경제 구현을 목표로 스마트센서, CPS(Cyber-Physical-System), 3D프린팅, 에너지절감, IoT, 빅데이터 등 스마트 제조기술개발과 더불어 이러한 스마트기술과 소프트웨어를 연결하여 이루어지는 지능화 산업 발전을 위한 R&D 예산 확대를 도모하고 있습니다.


제4차 산업혁명 주요 기술
대다수의 전문가들과 문헌에서는 제 4차 산업혁명의 주요기술로 ICT 관련 기술인 IoT, CPS, 빅데이터 그리고 인공지능(AI)을 언급하고 있습니다.

<출처 : 해외 ICT R&D 정책 동향, 정보통신기술진흥센터(2016)>

몬산토, 듀폰, 존 디어 등 다국적 기업들은 빅데이터를 활용한 '처방식 재배(prescriptive planning)'를 통해 농업 분야의 가치 창출을 본격화하고 있고, 국내에서도 각종 센서를 통해 환경정보, 생육정보, 에너지 정보, 농작업 정보 등을 통합적으로 수집, 분석한 빅데이터 기술을 활용하여 스마트 팜 산업이 확대되고 있습니다.
 
에필로그
생물정보분석 전문회사인 (주)인실리코젠은 유전체 분석 외에도 생물정보를 기반한 디지털융합사업, 다양한 정보화 사업을 수행해 왔습니다. 아마도 이미 10년 전부터 데이터의 가치를 알고, 데이터의 축척, 데이터 연결 그리고 데이터를 통합하는 4차 산업혁명의 주요 기술인 빅데이터 기술을 준비해 왔으며, 로봇 기술을 제외한 주요 기술들(빅데이터 기술, IoT, 머신러닝)을 꾸준히 연구, 개발하여 미래를 준비하고 있었던 것 같습니다.
현재 (주)인실리코젠은 수년간 준비해온 식품 빅데이터 정보를 이용하여 식품 산업의 제 4차 산업 혁명의 단초를 제공하고자 준비하고 있습니다. 아마도 식품 빅데이터 정보는 바이오 헬스, 진단 및 의료 산업을 비롯해 식품 산업으로까지 확대되어 더 폭넓게 견인하게 될 것입니다. 제 4차 산업혁명으로 산업의 패러다임이 대변신을 이루어 갈 때 (주)인실리코젠이 바이오 혁신 산업의 제 4차 산업혁명 그 중심에 서지 않을까 기대해 봅니다.




작성자 : R&D센터 DS그룹 신가희 책임 연구원

Posted by 人Co

2016/09/07 14:27 2016/09/07 14:27
Response
No Trackback , No Comment
RSS :
https://www.insilicogen.com/blog/rss/response/221