KR102162895B1 - 듀얼 클래스를 지원하는 질병 진단 시스템 및 그 방법 - Google Patents
- ️Wed Oct 07 2020
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 아니 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 명세서에 있어서, “포함하다”또는 “가지다”등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터를 '전송'하는 경우에는 상기 구성요소는 상기 다른 구성요소로 직접 상기 데이터를 전송할 수도 있고, 적어도 하나의 또 다른 구성요소를 통하여 상기 데이터를 상기 다른 구성요소로 전송할 수도 있는 것을 의미한다. 반대로 어느 하나의 구성요소가 다른 구성요소로 데이터를 '직접 전송'하는 경우에는 상기 구성요소에서 다른 구성요소를 통하지 않고 상기 다른 구성요소로 상기 데이터가 전송되는 것을 의미한다.
이하, 첨부된 도면들을 참조하여 본 발명의 실시 예들을 중심으로 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 기술적 사상에 따른 뉴럴 네트워크를 이용한 질병의 진단 시스템의 개략적인 시스템 구성을 나타내는 도면이다.
도 1을 참조하면, 본 발명의 기술적 사상에 따른 뉴럴 네트워크를 이용한 질병의 진단 시스템(이하, 진단 시스템, 100)은 소정의 서버(10)에 설치되어 본 발명의 기술적 사상을 구현할 수 있다. 상기 서버(10)는 본 발명의 기술적 사상을 구현하기 위한 연산능력을 가진 데이터 처리장치를 의미하며, 일반적으로 네트워크를 통해 클라이언트가 접속가능한 데이터 처리장치뿐만 아니라 개인용 컴퓨터, 휴대 단말 등과 같이 특정 서비스를 수행할 수 있는 어떠한 장치도 서버로 정의될 수 있음을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다.
상기 서버(10)는 도 3에 도시된 바와 같이 프로세서(11) 및 저장장치(12)를 포함할 수 있다. 상기 프로세서(11)는 본 발명의 기술적 사상을 구현하기 위한 프로그램(12-1)을 구동시킬 수 있는 연산장치를 의미할 수 있으며, 상기 프로세서(11)는 상기 프로그램(12-1)과 본 발명의 기술적 사상에 의해 정의되는 뉴럴 네트워크(Nerual Network, 12-2)를 이용해 진단을 수행할 수 있다.
상기 프로그램(12-1)은 본 발명의 기술적 사상을 구현하기 위해 정의되는 소프트웨어를 의미할 수 있다.
상기 저장장치(12)는 상기 프로그램(12-1) 및 뉴럴 네트워크(12-2)를 저장할 수 있는 데이터 저장수단을 의미할 수 있으며, 구현 예에 따라 복수의 저장수단으로 구현될 수도 있다. 또한 상기 저장장치(12)는 상기 서버(10)에 포함된 주 기억장치 뿐만 아니라, 상기 프로세서(11)에 포함될 수 있는 임시 저장장치 또는 메모리 등을 포함하는 의미일 수도 있다.
상기 진단 시스템(100)은 도 1 또는 도 3에서는 어느 하나의 물리적 장치로 구현된 것으로 도시하였지만, 필요에 따라 복수의 물리적 장치가 유기적으로 결합되어 본 발명의 기술적 사상에 따른 진단 시스템(100)을 구현할 수 있음을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다.
이하 본 명세서에서 상기 진단 시스템(100)이 소정의 기능을 수행한다고 함은, 상기 프로세서(11)가 상기 프로그램(12-1)을 이용하여 소정의 기능을 수행함을 의미할 수 있음은 물론이다.
본 명세서에서 상기 진단 시스템(100)이 진단을 수행한다고 함은 생체조직이 표현된 생체이미지를 소정의 단위 유닛별로 입력받아 본 명세서에서 정의된 출력 데이터를 출력하는 일련의 프로세스를 의미할 수 있다.
상기 단위 유닛은 진단을 수행할 단위를 의미할 수 있다. 일 예에 의하면 상기 단위 유닛은 생체 이미지의 픽셀 단위일 수도 있다. 물론 실시 예에 따라 상기 단위 유닛은 생체 이미지의 패치 단위일 수도 있고, 슬라이드 단위일 수도 있다.
본 명세서에서는 상기 단위 유닛이 픽셀 단위인 경우, 따라서 픽셀별로 상기 진단 시스템(100)에 의해 진단된 결과가 질병이 발현된 픽셀인지 그렇지 않은 픽셀인지가 판단될 경우를 일 예로 설명하지만 구현 예에 따라 상기 단위 유닛은 달라질 수 있음을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다.
상기 출력 데이터는 상기 진단 시스템(100)이 이용하는 뉴럴 네트워크의 출력 레이어가 출력하는 정보를 의미할 수 있으며, 상기 출력 데이터에는 상기 생체 이미지에 포함된 단위 유닛에 해당하는 생체조직이 특정 질병에 대해 어떠한 상태인지를 나타내는 상태정보를 포함할 수 있다.
예컨대, 상태정보는 상기 단위 유닛에 해당하는 조직에 특정 질병(예컨대, 특정 종류의 암)이 발현되었는지 여부에 대한 확률에 상응하는 정보일 수 있다. 또는 후술할 바와 같이, 단순히 특정 질병의 발현여부뿐만 아니라, 특정 질병의 진행 정도를 나타내는 정보(또는 상기 진행 정도에 해당할 확률)일 수도 있다. 예컨대, 후술할 바와 같이 본 발명의 기술적 사상이 전립선 암의 진단에 이용되는 경우, 전립선 암의 진행 정도를 나타내는 지표인 글리슨 패턴(Gleason Pattern) 또는 글리슨 스코어(Gleason Score)가 상기 상태정보에 포함될 수 있다. 예컨대, 글리슨 패턴은 2 내지 5의 값을 가지며, 숫자가 클수록 전립선 암이 발현된 정도가 심한 것을 나타낸다. 따라서 상기 상태정보는 진단의 대상이 되는 단위 유닛에 해당하는 생체조직이 글리슨 패턴의 특정 값(예컨대, 3, 4, 또는 5)에 해당할 확률에 상응하는 정보 또는 노멀(즉, 질병이 발현되지 않은 경우)에 해당할 확률에 상응하는 정보를 포함할 수 있다.
상기 상태정보는 복수 개 존재할 수 있다. 예컨대, 본 발명의 기술적 사상에 의하면 상태는 4개의 채널로 구현될 수 있다. 예컨대, 제1상태는 해당 단위 유닛이 노멀일 상태, 제2상태는 글리슨 패턴이 3인 상태, 제3상태는 글리슨 패턴이 4인 상태, 제4상태는 글리슨 패턴이 5인 상태일 수 있다.
각각의 상태채널에 해당하는 피쳐 값은 각 상태가 가질 확률에 상응하는 값일 수 있으며, 값이 클수록 그 상태일 가능성이 커지도록 상기 뉴럴 네트워크는 학습될 수 있다.
이러한 복수의 상태에 해당하는 피쳐 값을 출력하는 레이어는 상기 뉴럴 네트워크의 최종 레이어일 수도 있고, 최종 레이어의 직전 레이어일 수 있다. 후자의 경우 상기 복수의 상태에 해당하는 피쳐 값을 출력하는 직전 레이어는 복수의 상태들(예컨대, 전술한 4개의 상태)에 해당하는 피쳐 값을 출력하고, 최종 레이어는 직전 레이어의 피쳐 값 중 가장 큰 값을 가지는 상태(예컨대, 노멀, 글리슨 패턴 3, 4, 5 중 어느 하나)를 출력 값으로 출력할 수도 있다.
또는 최종 레이어가 상기 복수의 상태들을 출력하는 레이어일 수도 있다. 이는 뉴럴 네트워크를 설계하는 실시 예에 따라 용이하게 달라질 수 있음은 물론이다.
본 발명의 기술적 사상에 의하면, 상기 뉴럴 네트워크의 학습 데이터는 상기 복수의 상태들 중 어느 하나로 라벨링되는 것이 아니라, 복수의 상태로 라벨링될 수 있다.
즉, 숙련된 의료인 또는 단위 유닛을 육안으로 확인하여 해당 단위 유닛이 어떤 상태인지를 어노테이션(라벨링)할 수 있는 전문가의 입장에서, 상기 단위 유닛은 복수의 상태들 중 어느 하나의 상태인 것으로 명확하게 구분될 수 있는 것이 아니라 제1상태 또는 제2상태로 분류될 가능성이 있는 경우가 존재할 수 있다.
즉 학습 데이터로 이용되는 생체 이미지의 단위 유닛이 명확하게 어느 하나의 상태(클래스)로 분류될 수 있는 것이 아니라, 복수의 상태들을 가질 가능성 즉 모호한 경우가 존재할 수 있다.
이러한 경우 종래에는 비록 모호성을 가지더라도 복수의 상태들 중 어느 하나를 선택하여 해당 단위 유닛은 선택된 상태로 라벨링되고, 이러한 라벨링 결과에 따라 뉴럴 네트워크가 학습된다.
하지만 본 발명의 기술적 사상에 의하면 모호성을 가지는 이미지 특성 자체가 유용한 정보를 가질 수 있고, 이러한 이미지 특성은 어느 하나의 가능성이 높은 클래스(상태)로 예단되어 라벨링되는 것보다, 모호성을 가지는 그 자체로 라벨링되는 경우 종래의 방식보다 높은 정확성을 가질 수 있도록 뉴럴 네트워크가 학습될 수 있다.
예컨대, 라벨링을 수행하는 전문가의 판단으로는 어떤 특정 단위 유닛은 제1상태(예컨대, 노멀)로 분류될 가능성이 크지만 제2상태(예컨대, 글리슨 스코어 3)으로 판단될 가능성도 조금은 있는 것으로 판단될 수 있다.
이러한 경우와 제1상태(예컨대, 노멀)로 명확히 분류될 수 있는 단위 유닛은 이미지 특성에 어떠한 미세한 차이라도 차이가 존재하는 경우일 수 있다. 하지만 종래의 방식대로 확률이 높아 보이는 어느 하나의 상태(예컨대, 노멀)로 단순히 라벨링을 한다면 이는 상기의 미세한 차이가 무시되는 결과를 가져올 수 있다.
하지만 본 발명의 기술적 사상에 의하면, 이러한 모호성을 가지는 단위 유닛은 그 자체로(즉, 보다 높은 확률을 가질 것으로 판단된 제1상태 및 제1상태보다는 낮은 확률을 가지지만 제2상태일 가능성도 있는 상태) 라벨링되어, 제1상태 또는 제2상태 어느 하나로 라벨링되는 것과 비교하여 구분되도록 라벨링될 수 있다. 그리고 이러한 방식 즉 복수의 상태로 라벨링되는 방식(본 명세서에서는 2개의 상태로 라벨링되는 경우를 예시적으로 설명하며, 그에 따라 '듀얼 클래스 라벨링'이라 부르기로 함)에 의하면, 특정 단위 유닛이 듀얼 클래스로 라벨링된 것 자체가 학습에 반영되어 뉴럴 네트워크의 성능을 높일 수 있다.
이러한 듀얼 클래스 라벨링 방식의 경우에는 듀얼 클래스 라벨링의 특성을 반영할 수 있는 로스 펑션(손실 함수)가 정의되는 것이 필요함은 물론이다.
예컨대, 특정 단위 유닛은 프라이머리(primary) 상태 즉, 보다 높은 확률을 가질 것으로 판단된 상태와 세컨더리(secondary) 상태로 라벨링될 수 있다. 즉, 모호한(혼동되는) 이미지 특성을 갖는 단위 유닛은 이렇게 듀얼 클래스로 라벨링되는 것이 허용될 수 있다.
이러한 경우 뉴럴 네트워크를 정의하는 로스 펑션은 프라이머리 상태 및 세컨더리 상태를 모두 반영하도록 정의될 수 있다. 예컨대, 뉴럴 네트워크가 프라이머리 상태를 높은 확률로 출력하는 경우에는 높은 보상(낮은 손실)을 갖도록 정의되며, 뉴럴 네트워크가 세컨더리 상태를 높은 확률로 출력하는 경우에는 낮은 보상(높은 손실)을 갖도록 정의될 수 있다. 물론 프라이머리 상태나 세컨더리 상태가 아닌 다른 상태보다는 세컨더리 상태 역시 높은 확률로 피쳐 값이 출력되어야 손실이 줄어들도록 로스 펑션은 정의될 수 있다.
따라서 뉴럴 네트워크는 손실이 최대한 작아질 수 있도록 학습되므로, 듀얼 클래스 라벨링된 단위 유닛에 대해 프라이머리 상태를 보다 높은 확률로 출력하도록 학습되지만 세컨더리 상태 역시 다른 프라이머리 상태보다는 낮은 확률을 갖더라도 다른 상태에 비해서는 높은 확률에 해당하는 피쳐 값들을 가지도록 학습될 수 있다.
이러한 기술적 사상에 의하면, 결국 혼동되는 이미지 특성을 가지는 단위 유닛의 경우, 혼동되는 상태 자체를 학습에 반영하도록 함으로써 혼동되는 이미지 특성이 무시되는 것이 아니라 혼동되는 이미지 특성 역시 뉴럴 네트워크의 진단결과에 반영되도록 함으로써 보다 높은 정확도를 가지는 딥러닝 기반의 진단 시스템이 구축될 수 있는 효과가 있다.
한편, 상기 진단 시스템(100)이 소정의 서버(10)에 포함되어 구현되는 경우, 상기 진단 시스템(100)은 상기 서버(10)에 접속가능한 적어도 하나의 클라이언트(예컨대, 20, 20-1)와 통신을 수행할 수도 있다. 이러한 경우 상기 클라이언트(예컨대, 20, 20-1)는 생체이미지를 상기 진단 시스템(100)으로 전송할 수 있고, 상기 진단 시스템(100)은 전송된 생체이미지에 대해 본 발명의 기술적 사상에 따른 진단을 수행할 수 있다. 그리고 진단결과를 상기 클라이언트(예커대, 20, 20-1)로 전송할 수도 있다.
상기 진단 시스템(100)은 본 발명의 기술적 사상에 따른 뉴럴 네트워크를 이용하여 진단을 수행할 수 있다. 물론, 이러한 진단을 수행하기 위해 복수의 상태채널들 중 어느 하나 또는 듀얼 클래스로 라벨링된 학습데이터를 통해 상기 뉴럴 네트워크를 학습시키는 프로세스를 먼저 수행할 수 있다.
따라서 상기 진단 시스템(100)은 본 발명의 기술적 사상에 따라 학습된 뉴럴 네트워크 및 상기 뉴럴 네트워크를 이용하여 진단을 수행하기 위한 프로그램을 외부로부터 수신하여 진단을 수행하는 시스템일 수도 있고, 상기 뉴럴 네트워크의 학습까지 수행하는 시스템일 수도 있다. 또한, 상기 진단 시스템(100)은 범용의 데이터처리장치가 아니라 본 발명의 기술적 사상을 구현하기 위해 제작된 전용 장치로 구현될 수도 있고, 이러한 경우에는 생체이미지를 스캔하기 위한 수단 등이 더 구비될 수도 있다.
상기 뉴럴 네트워크는 소정의 단위 유닛(예컨대, 픽셀 또는 패치)의 정보(예컨대, RGB 3채널 정보)를 입력받아 해당 단위 유닛이 가지는 소정의 질병(예컨대, 전립선 암)에 대한 복수의 상태정보들 각각을 피쳐 값으로 출력하거나, 또는 복수의 상태정보들 중 가장 확률이 높은 어느 하나의 상태를 출력하는 네트워크일 수 있다.
일 예에 의하면, 상기 뉴럴 네트워크는 공지된 Resnet 뉴럴 네트워크를 이용하며 deeplab 모델을 이용하는 방식일 수 있다.
다른 실시 예에 의하면, 상기 뉴럴 네트워크는 본 출원인이 출원한 한국특허출원(출원번호 10-2016-0168176, 뉴럴 네트워크를 이용한 질병의 진단 시스템 및 그 방법, 이하, '이전 출원')에 개시된 바와 같이 미시 네트워크와 거시 네트워크를 동시에 이용하는 뉴럴 네트워크일 수도 있다.
이러한 경우 미시 네트워크는 단위 유닛을 입력받고, 거시 네트워크는 단위 유닛을 포함하는 주변 단위 유닛을 입력받아 상기 단위 유닛과 관련된 상태정보를 출력하도록 할 수 있다. 예컨대, 단위 유닛이 픽셀단위일 경우, 상기 미시 네트워크는 특정 픽셀을 입력받고, 거시 네트워크는 상기 특정 픽셀의 주변 픽셀까지 포함하는 소정의 입력 데이터를 입력받아서 상기 특정 픽셀의 상태를 출력하도록 정의될 수도 있다. 이러한 경우 어느 하나의 단위 유닛뿐만 아니라 주변 단위 유닛까지 해당 단위 유닛의 질병발현 판단여부에 영향을 미칠 수 있으므로 보다 정확도 높은 학습이 가능할 수 있다. 또한, 질병에 따라 실제로 특정 단위 유닛에 해당하는 생체조직의 진단을 위해서 상기 생체조직뿐만 아니라 상기 생체조직의 주변조직의 상태까지 고려하여야 하는 질병의 진단에 매우 유의미한 수준으로 정확도의 향상이 가능해지는 효과가 있다. 또한 생체이미지를 다수의 단위 유닛을로 분할하는 경우, 패치의 분할방식이나 분할된 영역이 생체조직의 어떤 위치인지 여부에 따라 발생할 수 있는 진단결과의 영향에 강인한 효과를 가질 수 있다.
상기 이전출원에 개시된 내용은 본 발명의 레퍼런스로 포함될 수 있으며, 이전출원에 개시된 내용은 본 명세서에서 상세한 설명은 생략하도록 한다.
이러한 기술적 사상을 구현하기 위한 상기 진단 시스템(100)은 논리적으로 도 2와 같은 구성을 가질 수 있다.
도 2는 본 발명의 실시 예에 따른 뉴럴 네트워크를 이용한 질병의 진단 시스템의 논리적 구성을 설명하기 위한 도면이다.
도 2를 참조하면, 상기 진단 시스템(100)은 제어모듈(110) 및 뉴럴 네트워크가 저장된 뉴럴 네트워크 모듈(120)을 포함한다. 또한, 상기 진단 시스템(100)은 전처리 모듈(130)을 더 포함할 수 있다.
상기 진단 시스템(100)은 본 발명의 기술적 사상을 구현하기 위해 필요한 하드웨어 리소스(resource) 및/또는 소프트웨어를 구비한 논리적인 구성을 의미할 수 있으며, 반드시 하나의 물리적인 구성요소를 의미하거나 하나의 장치를 의미하는 것은 아니다. 즉, 상기 진단 시스템(100)은 본 발명의 기술적 사상을 구현하기 위해 구비되는 하드웨어 및/또는 소프트웨어의 논리적인 결합을 의미할 수 있으며, 필요한 경우에는 서로 이격된 장치에 설치되어 각각의 기능을 수행함으로써 본 발명의 기술적 사상을 구현하기 위한 논리적인 구성들의 집합으로 구현될 수도 있다. 또한, 상기 진단 시스템(100)은 본 발명의 기술적 사상을 구현하기 위한 각각의 기능 또는 역할별로 별도로 구현되는 구성들의 집합을 의미할 수도 있다. 예컨대, 상기 제어모듈(110), 상기 뉴럴 네트워크 모듈(120), 및/또는 상기 전처리 모듈(130) 각각은 서로 다른 물리적 장치에 위치할 수도 있고, 동일한 물리적 장치에 위치할 수도 있다. 또한, 구현 예에 따라서는 상기 제어모듈(110), 상기 뉴럴 네트워크 모듈(120) 및/또는 상기 전처리 모듈(130) 각각을 구성하는 소프트웨어 및/또는 하드웨어의 결합 역시 서로 다른 물리적 장치에 위치하고, 서로 다른 물리적 장치에 위치한 구성들이 서로 유기적으로 결합되어 각각의 상기 모듈들을 구현할 수도 있다.
또한, 본 명세서에서 모듈이라 함은, 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예컨대, 상기 모듈은 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스(resource)의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나, 한 종류의 하드웨어를 의미하는 것은 아님은 본 발명의 기술분야의 평균적 전문가에게는 용이하게 추론될 수 있다.
상기 제어모듈(110)은 본 발명의 기술적 사상을 구현하기 위해 상기 진단 시스템(100)에 포함된 다른 구성(예컨대, 상기 뉴럴 네트워크 모듈(120) 및/또는 상기 전처리 모듈(130) 등)을 제어할 수 있다.
또한, 상기 제어모듈(110)은 상기 뉴럴 네트워크 모듈(120)에 저장된 뉴럴 네트워크를 이용하여 본 발명의 기술적 사상에 따른 진단을 수행할 수 있다. 진단을 수행한다고 함은 전술한 바와 같이 출력 레이어에 정의된 적어도 하나의 채널의 채널 값(피쳐 값)을 출력함을 의미할 수 있다. 각각의 피쳐 값은 진단의 대상이 되는 단위 유닛이 해당하는 채널이 정의하는 정보에 해당할 확률에 상응할 수 있다.
상기 뉴럴 네트워크 모듈(120)은 뉴럴 네트워크를 저장할 수 있다. 상기 뉴럴 네트워크는 뉴럴 네트워크를 정의하는 일련의 설계사항들을 표현하는 정보의 집합을 의미할 수 있다. 본 명세서에서 상기 뉴럴 네트워크는 컨볼루션 뉴럴 네트워크일 수도 있다. 또한, 전술한 바와 같이 공지된 deeplab 뉴럴 네트워크가 이용될 수도 있고, 이전출원에서 개시된 뉴럴 네트워크가 이용될 수도 있다.
어떠한 경우든 상기 뉴럴 네트워크는 듀얼 클래스 라벨링된 학습 데이터를 이용하여 학습이 가능하도록 하는 로스 펑션이 정의될 수 있다.
알려진 바와 같이 로스 펑션(Loss function)에 의해 정의되는 손실이 최소화될 수 있도록 상기 뉴럴 네트워크는 학습된다.
이때 본 발명의 기술적 사상에 따라 듀얼 클래스로 단위 유닛이 라벨링될 수 있는 경우 즉, 복수의 상태들로 라벨링될 수 있고, 이때 복수의 상태는 보다 높은 확률의 상태를 가질 것으로 판단되는 제1상태 및 제1상태보다는 낮은 상태 가질 것으로 판단되는 제2상태를 포함하도록 라벨링된 경우, 상기 로스 펑션은 복수의 상태들에 상응하는 피쳐 값들 중 제1상태에 상응하는 제1피쳐 값과 상기 제2상태에 상응하는 제2피쳐 값이 모두 로스에 반영되도록 정의될 수 있다.
물론, 상기 뉴럴 네트워크는 해당 단위 유닛에 상응하는 제1피쳐 값이 제2 피쳐 값에 비해 큰 영향을 미치도록을 정의될 수 있다.
예컨대, 제1피쳐 값이 높을수록 전체 로스는 낮아지도록 정의되고, 제2피쳐 값 역시 값이 높을수록 전체 로스는 낮아지도록 정의되도 제1피쳐 값이 제2피쳐 값에 비해 보다 영향력이 크도록 정의될 수 있다. 그리고 나머지 상태에 상응하는 피쳐 값은 값이 높을수록 손실이 크도록 정의될 수 있다.
예컨대, 본 발명의 실시 예에 의하면, 상기 로스 펑션은 종래의 크로스 엔트로피(Cross Entropy)를 개선하여 즉, 제2피쳐 값 역시 로스에 반영되도록 정의될 수 있다.
본 발명의 일 실시 예에 따른 로스 펑션은 아래의 수학식 1과 같을 수 있다.
[수학식 1]
그리고 p는 0과 1사이의 값을 가질 수 있다.
예컨대, 특정 단위 유닛이 입력되면, 상기 뉴럴 네트워크는 미리 정의된 복수의 상태채널들(예컨대, 노멀, 글리슨 스코어 3, 글리슨 스코어 4, 글리슨 스코어 5) 각각의 피쳐 값을 출력하는 소정의 레이어를 포함할 수 있다. 상기 레이어는 최종 레이어로 설계될 수도 있고, 최종 레이어 직전의 레이어일 수도 있다.
그리고 특정 단위 유닛은 프라이머리 상태 및 세컨더리 상태로 라벨링 즉, 듀얼 클래스 라벨링이 된 단위 유닛일 수 있다.
이러한 경우 프라이머리 상태의 피쳐 값이 크면 즉, 뉴럴 네트워크가 출력한 피쳐 값들 중 프라이머리 상태에 상응하는 피쳐 값이 클수록
의 값은 커지고, 결과적으로 전체 로스는 작아질 수 있다. 마찬가지로 세컨더리 상태에 상응하는 피쳐 값이 클수록
의 값은 커지고, 결과적으로 전체 로스는 작아질 수 있다. 하지만 프라이머리 상태의 피쳐 값이 세컨더리 상태의 피쳐 값에 비해, p가 1보다 작은 값을 가지므로, 로스가 작아지도록 하는데 보다 큰 영향을 가지게 된다.
따라서 상기 뉴럴 네트워크는 상술한 바와 같은 로스 펑션에 의해, 가급적 프라이머리 상태가 큰 값을 가지고 세컨더리 상태도 상대적으로 큰 값을 가지며(비록 프라이머리 상태보다는 작은 값을 가지더라도), 나머지 상태는 작은 값을 가지도록 학습될 수 있다. 그 결과는 실제 전문가에 의해 라벨링된 듀얼 클래스 라벨링의 결과가 반영될 수 있다.
한편, 이처럼 듀얼 클래스를 허용하도록 라벨링되는 경우의 상기 뉴럴 네트워크의 정확도를 판단하는 기준은 다음과 같을 수 있다.
기존의 경우, 정확도를 계산하기 위해서는 컨퓨전 매트릭스를 이용하여 정확도를 계산했다. 컨퓨전 매트릭스란, 정답이 ‘A’인 것에 대한 것의 예측 값이 ‘B’인 것들의 개수를 (A, B)의 위치에 표시한 행렬이다. 픽셀 단위 정확도와 IoU(intersection over union) 같은 세그멘테이션의 성능 측정은 이 컨퓨전 매트릭스를 기반으로 이루어진다. 기존의 경우 단순한 한 가지 정답만 존재했으므로, 맞추거나 틀리거나의 결과만 존재했지만, 본 발명의 기술적 사상에 의하면 프라이머리와 세컨더리라는 두 가지 답안이 존재한다. 따라서 조금은 다른 방식으로 컨퓨전 매트릭스를 계산할 필요가 있다.
만약 프라이머리로 답을 얘기하거나, 프라이머리와 세컨더리 두 가지 모두가 아닌 다른 답을 얘기하면 기존과 마찬가지로 컨퓨전 매트릭스에 반영이 되게 한다. 하지만 세컨더리로 답을 얘기할 경우, 이것은 프라이머리 답에 대해서는 틀렸지만, 세컨더리 답에 대해서는 맞았다고 볼 수 있다. 따라서 (프라이머리, 세컨더리)에 p만큼을, (세컨더리, 세컨더리)에 1-p 만큼을 주어서 계산을 할 수 있다. 여기서 p는 0에서 1 사이에서 정해지는 값일 수 있다.
한편, 상술한 바와 같은 기술적 사상을 위해, 상기 제어모듈(110)은 상기 뉴럴 네트워크 모듈(120)에 저장된 뉴럴 네트워크 즉, 학습된 뉴럴 네트워크에 입력 데이터를 입력할 수 있다. 그리고 뉴럴 네트워크에 의해 정의되는 연산들을 수행하여 출력 데이터를 출력할 수 있다.
상기 전처리 모듈(130)은 뉴럴 네트워크를 이용하여 진단을 수행하기 전에 필요한 생체이미지의 전처리를 수행할 수 있다. 예컨대, 상기 생체이미지의 전처리는 상기 생체이미지를 미리 정의된 크기의 단위 유닛들로 구분하는 과정을 포함할 수 있다. 필요에 따라 상기 단위유닛이 픽셀단위일 결우 상기 전처리 모듈(130)은 필요하지 않을 수도 있고, 이러한 단위 유닛으로의 분할 이외에도 필요에 따라 뉴럴 네트워크 학습을 위한 다양한 상기 전처리 모듈(130)에 의해 수행될 도 있음을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다.
상기 뉴럴 네트워크는 전술한 바와 같이 입력 단위 유닛들에 대해 해당 단위 유닛이 소정의 질병에 의해 가질 수 있는 미리 정해진 상태(예컨대, 노멀, 글리슨 스코어3, 글리슨 스코어4, 및 글리슨 스코어 5)를 각각의 피쳐 값으로 출력하는 레이어를 포함할 수 있다.
이러한 뉴럴 네트워크를 개념적으로 도시한 일 예는 도 4와 같을 수 있다.
도 4는 본 발명의 실시 예에 따른 뉴럴 네트워크의 개념을 설명하기 위한 도면이다.
도 4를 참조하면, 본 발명의 실시 예에 따른 뉴럴 네트워크(300)는 도 4에 도시된 바와 같이 소정의 단위 유닛(예컨대, 픽셀, 패치 등)을 입력받을 수 있다. 도 4에서는 생체이미지가 소정의 크기(예컨대 512 by 512)로 분할된 패치가 입력되는 것을 도시하고 있지만, 각 패치단위로 픽셀 값(예컨대, RGB 3채널 값)이 입력 데이터로 입력될 수 있음은 물론이다.
상기 단위 유닛이 픽셀일 경우, 소정의 숙련된 전문가는 생체이미지로부터 소정의 툴을 이용해 특정 영역을 마킹하고, 마킹한 영역에 라벨링을 수행할 수 있다. 그러면 라벨링된 영역에 포함된 픽셀은 해당 영역에 라벨링 값을 가질 수 있다.
물론 단위 유닛이 패치인 경우는 패치별로 라벨링이 수행될 수도 있다.
상기 뉴럴 네트워크(300)는 전술한 바와 같이 공지된 deeplab 모델일 수도 있고, 이전출원에 개시된 뉴럴 네트워크일 수도 있다. 또는 또 다른 뉴럴 네트워크일 수도 있다.
어떤 경우든 상기 뉴럴 네트워크(300)에는 소정의 레이어(예컨대, 310)가 포함될 수 있다. 상기 레이어(예컨대, 310)은 상기 단위 유닛에 대한 복수의 상태들에 상응하는 피쳐 값을 출력하는 레이어일 수 있다. 예컨대, 상기 레이어는 4개의 채널에 상응하는 피쳐 값을 각각 출력할 수 있고, 각각의 피쳐 값들은 미리 정해진 복수의 상태들(예컨대, 노멀, 글리슨 스코어3, 글리슨 스코어4, 및 글리슨 스코어 5)에 해당하는 확률에 상응하는 값일 수 있다.
상기 레이어(예컨대, 310)는 최종 레이어일 수도 있고, 상기 레이어(310) 직후에 최종 레이어(예컨대, 320)가 더 존재할 수 있다. 이러한 경우 상기 최종 레이어(예컨대, 320)는 상기 레이어(예컨대, 310)의 피쳐 값들 중 가장 큰 값을 가지는 상태를 출력하는 레이어일 수 있음은 물론이다.
어떠한 경우든 상기 레이어(예컨대, 310)가 출력하는 출력 값은 상기 뉴럴 네트워크(300)에 정의되는 로스 펑션에 의해 로스가 최소가 되도록 학습된 결과일 수 있다.
상기 로스 펑션은 전술한 바와 같이, 듀얼 클래스로 라벨링된 특정 단위 유닛에 대해서는 프라이머리 상태의 피쳐 값이 클수록, 그리고 프라이머리 상태보다는 작지만 세컨더리 상태의 피쳐 값 역시 클수록, 그리고 나머지 상태의 피쳐 값은 작을수록 전체 로스가 줄어들 수 있도록 정의될 수 있다.
그러한 일 예는 상술한 바와 같은 수학식 1일 수 있지만, 이에 한정되지는 않으며 다른 로스 펑션의 실시 예가 가능할 수도 있음은 물론이다.
이를 통해 실제 혼동되는 단위 유닛은 혼동되는 상태 그 자체가 학습에 반영되어 전체적으로는 성능의 향상을 가져올 수 있다.
상기 진단 시스템(100)이 진단하는 질병의 종류가 전립선 암인 경우를 일 예로 설명하지만, 본 발명의 기술적 사상이 반드시 전립선 암에 국한되어 적용될 필요는 없음을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다.
한편, 상기 진단 시스템(100)은 상기 단위 유닛이 픽셀일 경우, 상기 픽셀 단위의 판단 값에 기초하여 각각의 픽셀이 미리 정해진 판단 값을 가지는 경우(예컨대, 글리슨 스코어 3 내지 5), 해당 픽셀은 질병에 해당하는 질병 픽셀로 판단할 수 있다. 그리고 판단결과에 기초하여 상기 생체이미지에서 질병 픽셀을 다른 픽셀과 구분하여 표시할 수 있다.
즉, 본 발명의 기술적 사상에 의하면, 픽셀 단위로 진단이 이루어질 수 있고, 이러한 경우 생체이미지에서 질병이 발현된 부분만이 세그멘테이션(segmentaton)될 수 있다.
이러한 일 예는 도 5에 도시된 바와 같을 수 있다.
도 5는 본 발명의 실시 예에 따른 세그멘테이션 결과를 예시적으로 나타내는 도면이다.
도 5의 좌측부분은 숙력된 전문가에 의해 라벨링된 생체이미지를 나타낼 수 있고, 각각의 라벨링된 영역은 질병이 발현된 영역을 나타낼 수 있다.
그리고 도 5의 우측부분은 본 발명의 기술적 사상에 따라 픽셀단위로 질병이 발현된 것으로 판단된 픽셀을 다른 부위와 다르게 표현(예컨대, 노란색으로 표시)하여, 픽셀단위의 세그멘테이션을 수행한 결과를 나타내는 도면이다.
이러한 세그멘테이션을 통해 종래의 패치단위의 진단 및 세그멘테이션이 수행된 결과에 비해 보다 정밀한 세그멘테이션이 수행될 수 있는 효과가 있다.
또한 본 명세서에서는 전립선 암에 대해 본 발명의 기술적 사상이 적용된 일 예를 주로 설명하였지만, 질병에 대한 상태가 복수의 상태들로 구분될 수 있는 다른 질병에 대해서도 본 발명의 기술적 사상이 적용될 경우 정확한 진단이 가능할 수 있음을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다.
본 발명의 실시 예에 따른 듀얼 클래스를 지원하는 질병 진단 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 하드 디스크, 플로피 디스크, 광 데이터 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.