딥러닝 4단계 알고리즘

아래 내용은 현재 작업 중인 책 <알고리즘과 휴리스틱> 2장 인공지능 편에 실릴 내용입니다. 인용하실 경우 출처를 알리도록 출판사와 계약되어 있습니다.




인공신경망의 기본적인 논리구조 - 선순환, 가중, 중첩, 대항

형태와 패턴을 인식하는 인공지능은 영상의학 분야에 상당한 영향력을 미쳤다. MRI, CT, OCT, 흉부 엑스레이, 피부확대경Dermoscopy, 초음파, PET 및 현미경을 이용한 환자의 디지털 영상데이터 대부분은 인공지능의 도움을 거쳐 진단과 처치 단계로 이어진다. 영상인공지능의 현재 수준은 판독 정확도와 정밀도에서 두드러지는데, 향후에는 아직 병변이 드러나지 않은 상태에서도 미래에 형성될 수 있는 병변을 예측하는 디지털 예방의학에까지 확장되고 있다.

인공지능 전문가가 아니더라도 영상인공지능의 기본적인 논리를 이해하는 일은 중요한데, 그 이유는 그런 이해를 통해서 인공 신경망구조에 내재된 의료윤리적 문제들을 합리적으로 대처할 수 있기 때문이다. 인공지능의 논리를 이해하기 위하여 인공 신경망 구조가 갖고 있는

(i)선순환논리back-propagation
(ii)가중논리wieghts
(iii)중첩논리convolution
(iv)대항논리adversary의 구조를 아래처럼 설명한다.

*****

(i)선순환논리back-propagation

첫째 논리로서 먼저 초기 입력값으로 입력해보고 결과 출력값이 유효하지 않으면 다시 입력값을 조정하여 그래도 출력값이 유효하지 않으며 또 다시 재조정하여 출력값을 비교하면서 원하는 결과가 나올 때까지 인공신경망을 계속 반복시키는 피드백의 논리구조가 중요하다. 인공신경망 연산에서는 이를 역전파(back-propagation)라고 말한다.

역전파라고 해서 출력층(output layer)에서 입력층(input layer)으로 거꾸로 연산정보가 전달된다는 것이 아니라 입력층에서 출력층으로 가는 전방향(Feedforward) 네트워크가 유지된다. 출력값의 오차가 조정되어 다시 입력값으로 입력되는 것으로, 그 조정의 논리는 다음의 둘째 논리로 설명된다.

(ii)가중논리wieghts

둘째 논리는 출력값이 맞는지 아닌지를 정답에 비교하여 정답이 나올 때까지 오차를 교정하도록 하는 논리이다. 정답을 알려주는 지도학습이거나 아니면 인공신경망 알고리즘이 적정의 패턴을 형성하여 스스로 오차를 좁혀가도록 보정해가는 비지도학습의 형태가 있다. 이때 이전 출력값이 미흡하면 새로운 방식으로 입력값을 조정하여 앞서 첫째 논리에서처럼 연산을 다시 반복하게 하는데, 이때 조정하는 방식을 가중논리라고 표현했다.

가중논리란 입력 유닛마다 중요도를 매기는 논리적 절차이다. 중요도란 출력값에 기여하는 정도를 말하는데, 가중치weights라고 표현하며 연산망에서는 이를 계수(WT; weighting factor)라고 번역하여 사용한다. 가상적인 예를 만들어 보자. 암에 노출된 백혈구가 외형적으로 변한 특징들을 설정해 본다. 의심되는 환자들의 영상데이터에서 보여지는 외형적 특징으로 백혈구 세포의 모양과 색깔 군집도와 상대적 위치를 설정할 수 있다.

그렇다면 모양(S)에 가중치를 65%, 색깔(C)의 가중치를 20%, 군집도(M)의 가중치를 10%, 핵과의 상대적 위치(P)의 가중치를 5%로서 설정한 최초 지표가 있다고 하자. 일차 입력값에 의한 출력값이 암 노출도를 예측하는 데 실패하거나 오차를 가졌다면, 두 번째 시도하는 입력값에 대하여 가중치를 조정하여 다시 입력시킨다.

예를 들어서 68%(S), 19%(C), 9%(M), 4%(P)로 계수를 조정하여 입력할 때 그 출력결과를 다시 비교한다. 이러한 비교작업은 가중치를 재조정하면서 최적의 결과를 얻을때까지 연속적으로 수행된다. 여기서 ‘비교’ 과정은 신경망 알고리즘에서 ‘지도학습’supervised learning으로 표현되며, 출력값이 정답에 가까울 때까지 계속 지도하면서 오차를 줄이는 연산과정은 ‘가중논리’weights로 표현된다.

(iii)중첩논리convolution

셋째 논리는 직전의 연산수행의 적분방식인 함수를 무시하지 않고 되살려서 수정된 연산수행 함수에 중첩시켜서 새로운 함수를 적용하는 방식이다. 앞의 가중논리처럼 직전 연산의 가중치를 보정하는 일에 그치지 않고 직전 연산의 함수 자체를 포섭함으로써 목표결과치에 이르는 과정을 비약적으로 줄이는 실용적 논리이다. 수학적으로 말하면 중첩convolution 논리란 dE/dW 편미분에서 기울기를 줄이는(gradient descent) 과정을 말한다. 직전 연산함수와 수정된 연산함수를 상호 중첩시킨다는 점에서 이 논리를 컨볼루션convolution으로 이름지워졌으며, 이 책에서는 ‘중첩’으로 번역했다. 중첩논리는 중첩신경망(Convolutional Neural Network; CNN) 알고리즘의 핵심이며, 손글씨 인식의 신경망을 기초한 르쿤의 또 하나의 성과였다.(Lecun 1998)

중첩신경망CNN 알고리즘은 이미지 처리에 특히 강점을 갖는다. 이미지는 일반 연산과 다르게 픽셀로 구성되어 있어서, 3차원 픽셀 하나하나가 은닉층에 입력될 때는 3차원이 아니라 2차원으로 펼쳐진(flattening) 개별 유닛으로 입력될 것이다. 개별 유닛이지만 이미지의 특성상 하나의 픽셀은 주변 픽셀과 어울려져 연관되어 있다. 개별 유닛을 하나의 입력단위이기 때문에 개별 유닛마다 가중치를 설정하여 출력을 시도할 것이다. 그런데 픽셀의 유닛 개체가 대단히 큰 분량이므로 일일이 가중치를 재조정하는 일은(fully-connectivity) 시간이 많이 소요되고 연산용량도 많이 필요하고 에너지도 많이 든다. 단위 픽셀은 주변 픽셀과 연관되어 있다는 이미지의 특성을 이용하여 서로 연관된 픽셀들 영역에만(local connectivity)

선택적으로 가중치군집을 설정하여 해당 가중치 군집 함수를 중첩시키면 그 효율은 매우 높아질 것이다. 연관된 군집에만 적용하는 가중치의 모음이 곧 중첩 함수에 해당하는 필터(커널kernel) 개념이다. 이러한 중첩 논리를 통해서 가중치를 매길 때 일일이 단위 유닛에 설정하지 않아도 되고 이미지의 군집 별로 동일한 필터를 적용할 수 있다. 중첩논리는 이미지 부분(픽셀)간의 연관성을 축조함으로써 손글씨와 같은 난필을 인식할 수 있으며 이미지의 흐리거나 손상된 조각(patch)을 생성 혹은 복구시킬 수 있다.

(iv)대항논리adversary

넷째, 기존 인공신경망(CNN 포함)의 알고리즘처럼 입력값에서 출력값을 생성하는 생성generative 알고리즘과 이렇게 생성된 결과값을 판별하는 별도의 판별discriminative 알고리즘, 이 2개의 알고리즘을 자체적인 견제방식으로 작동시킴으로써 다수의 레이블이 결핍된 상태에서도 출력값의 오차를 줄일 수 있고 나아가 출력값(레이블)에서 거꾸로 잠재적 입력값(피처)들을 자가 생성할 수 있다. 예를 들어 판별 알고리즘이 무작위 메일 안에 유해성 단어들을 근거로 해당 메일을 스팸이라는 레이블로 붙이면, 거꾸로 스펨 레이블에서 잠재적인 유해성 단어를 찾아낼 수 있다. 나아가 레이블을 붙이지 않은 데이터들을 비지도학습을 거쳐서 이미지 패턴을 완성시키거나 이미지 손상부분을 복구할 수 있는 확률을 크게 높였다.

레이블의 예를 다시 들어보자. 앞에서 언급한 조정과 반복 그리고 판별과 분류를 위하여 최소한 수천 장에서 수만 장에 이르는 영상데이터가 필요할 것이다. 나아가 영상이미지 데이터 하나하나마다 일일이 레이블(label)을 만들어 붙여주어야 한다. 레이블이란 개별 영상데이터를 분류하여 제목을 다는 일이다. 우리식 영어로 ‘라벨을 달아준다’는 말로 하면 좀 더 직관적으로 이해하기 쉽다. 엄청난 양의 개별 데이터에 라벨을 붙여주지 않으면 그 데이터는 입력 혹은 재입력할만한 기본데이터로서 가치를 갖지 못한다. 아직 완전하지 않지만 이런 난점들을 어느 정도 해결해 주는 알고리즘이 개발되었다. 기존 레이블과 무관하게 해당 레이블에 맞게 이미지를 수정할 수 있는 알고리즘이다.

이러한 알고리즘은 영상의학에서 의미있는 변화를 가져다 줄 수 있다. 예를 들어 영상픽셀을 주변에 어울리게 확장하고 복구함으로써 CT 이미지를 마치 MRI 이미지 해상도와 볼륨(깊이) 수준으로 재생성시킬 수 있으며 부분적으로 손상되거나 흐린 영상을 복구할 수도 있다. 최근 이미지 인식 분야에서 이러한 방식의 알고리즘을 대항적 생성네트워크(GAN, GANs; Generative Adversarial Networks)라고 말한다.

데이터기반 발견술 새로운 알고리즘으로 가는 토대

데이터-기반 발견술” data-based heuristic은 CNNs과 GANs의 알고리즘을 통해서 실현되고 있으며, 영상의학 분야만이 아니라 최근에는 산업수학 연구네트워크가 주도하는 신약개발 부문에서 활발하게 연구되고 있다. 현재의 신약개발 연구는 주로 신경세포 시냅스의 전기화학적 신호정보 메커니즘에 초점을 맞추고 있다. 그런데 신경세포 시냅스의 활성작용을 단백질 질량분석장비와 전자현미경이 있는 실험실에서 다루기에는 연구 투여시간과 관련이론이 역부족이다. 또한 수학적 시뮬레이션을 통해 그러한 역부족을 메꿀 수 있다는 이론적 희망을 갖고 생물정보에 대한 수학적 창조물에 도전하고 있다. 실제로 수학적 형식을 통해서 경험적 내용을 생성하는데 성공하는 경우가 많으며, 그런 도구가 바로 앞서 말한 중첩신경망CNNs과 대항적 생성네트워크GANs 알고리즘이며, 향후에는 더 혁신적인 알고리즘의 탄생이 분명히 가능하다.

마찬가지로 데이터-기반 발견술data-based heuristic의 인공지능에서 발견술의 주체가 인간을 벗어나서 인공지능 자체로 변질될 우려와 리스크도 역시 분명히 가능하다. 앞서 들은 사례처럼 대항적 생성네트워크는 창조적 영상을 생성할 수 있기 때문에 영상 분야에서 가공할만한 장점을 많이 가지고 있지만, 사람이 구분하지 못할 정도의 가짜 영상을 조작할 수 있기 때문에 부정적 부작용이나 폐해도 클 수 있다.

아래 내용은 현재 작업 중인 책 <알고리즘과 휴리스틱> 2장 인공지능 편에 실릴 내용입니다. 인용하실 경우 출처를 알리도록 출판사와 계약되어 있습니다.

" style="width:100%; height:500px;">

아래 내용은 현재 작업 중인 책 <알고리즘과 휴리스틱> 2장 인공지능 편에 실릴 내용입니다. 인용하실 경우 출처를 알리도록 출판사와 계약되어 있습니다.




인공신경망의 기본적인 논리구조 - 선순환, 가중, 중첩, 대항

형태와 패턴을 인식하는 인공지능은 영상의학 분야에 상당한 영향력을 미쳤다. MRI, CT, OCT, 흉부 엑스레이, 피부확대경Dermoscopy, 초음파, PET 및 현미경을 이용한 환자의 디지털 영상데이터 대부분은 인공지능의 도움을 거쳐 진단과 처치 단계로 이어진다. 영상인공지능의 현재 수준은 판독 정확도와 정밀도에서 두드러지는데, 향후에는 아직 병변이 드러나지 않은 상태에서도 미래에 형성될 수 있는 병변을 예측하는 디지털 예방의학에까지 확장되고 있다.

인공지능 전문가가 아니더라도 영상인공지능의 기본적인 논리를 이해하는 일은 중요한데, 그 이유는 그런 이해를 통해서 인공 신경망구조에 내재된 의료윤리적 문제들을 합리적으로 대처할 수 있기 때문이다. 인공지능의 논리를 이해하기 위하여 인공 신경망 구조가 갖고 있는

(i)선순환논리back-propagation
(ii)가중논리wieghts
(iii)중첩논리convolution
(iv)대항논리adversary의 구조를 아래처럼 설명한다.

*****

(i)선순환논리back-propagation

첫째 논리로서 먼저 초기 입력값으로 입력해보고 결과 출력값이 유효하지 않으면 다시 입력값을 조정하여 그래도 출력값이 유효하지 않으며 또 다시 재조정하여 출력값을 비교하면서 원하는 결과가 나올 때까지 인공신경망을 계속 반복시키는 피드백의 논리구조가 중요하다. 인공신경망 연산에서는 이를 역전파(back-propagation)라고 말한다.

역전파라고 해서 출력층(output layer)에서 입력층(input layer)으로 거꾸로 연산정보가 전달된다는 것이 아니라 입력층에서 출력층으로 가는 전방향(Feedforward) 네트워크가 유지된다. 출력값의 오차가 조정되어 다시 입력값으로 입력되는 것으로, 그 조정의 논리는 다음의 둘째 논리로 설명된다.

(ii)가중논리wieghts

둘째 논리는 출력값이 맞는지 아닌지를 정답에 비교하여 정답이 나올 때까지 오차를 교정하도록 하는 논리이다. 정답을 알려주는 지도학습이거나 아니면 인공신경망 알고리즘이 적정의 패턴을 형성하여 스스로 오차를 좁혀가도록 보정해가는 비지도학습의 형태가 있다. 이때 이전 출력값이 미흡하면 새로운 방식으로 입력값을 조정하여 앞서 첫째 논리에서처럼 연산을 다시 반복하게 하는데, 이때 조정하는 방식을 가중논리라고 표현했다.

가중논리란 입력 유닛마다 중요도를 매기는 논리적 절차이다. 중요도란 출력값에 기여하는 정도를 말하는데, 가중치weights라고 표현하며 연산망에서는 이를 계수(WT; weighting factor)라고 번역하여 사용한다. 가상적인 예를 만들어 보자. 암에 노출된 백혈구가 외형적으로 변한 특징들을 설정해 본다. 의심되는 환자들의 영상데이터에서 보여지는 외형적 특징으로 백혈구 세포의 모양과 색깔 군집도와 상대적 위치를 설정할 수 있다.

그렇다면 모양(S)에 가중치를 65%, 색깔(C)의 가중치를 20%, 군집도(M)의 가중치를 10%, 핵과의 상대적 위치(P)의 가중치를 5%로서 설정한 최초 지표가 있다고 하자. 일차 입력값에 의한 출력값이 암 노출도를 예측하는 데 실패하거나 오차를 가졌다면, 두 번째 시도하는 입력값에 대하여 가중치를 조정하여 다시 입력시킨다.

예를 들어서 68%(S), 19%(C), 9%(M), 4%(P)로 계수를 조정하여 입력할 때 그 출력결과를 다시 비교한다. 이러한 비교작업은 가중치를 재조정하면서 최적의 결과를 얻을때까지 연속적으로 수행된다. 여기서 ‘비교’ 과정은 신경망 알고리즘에서 ‘지도학습’supervised learning으로 표현되며, 출력값이 정답에 가까울 때까지 계속 지도하면서 오차를 줄이는 연산과정은 ‘가중논리’weights로 표현된다.

(iii)중첩논리convolution

셋째 논리는 직전의 연산수행의 적분방식인 함수를 무시하지 않고 되살려서 수정된 연산수행 함수에 중첩시켜서 새로운 함수를 적용하는 방식이다. 앞의 가중논리처럼 직전 연산의 가중치를 보정하는 일에 그치지 않고 직전 연산의 함수 자체를 포섭함으로써 목표결과치에 이르는 과정을 비약적으로 줄이는 실용적 논리이다. 수학적으로 말하면 중첩convolution 논리란 dE/dW 편미분에서 기울기를 줄이는(gradient descent) 과정을 말한다. 직전 연산함수와 수정된 연산함수를 상호 중첩시킨다는 점에서 이 논리를 컨볼루션convolution으로 이름지워졌으며, 이 책에서는 ‘중첩’으로 번역했다. 중첩논리는 중첩신경망(Convolutional Neural Network; CNN) 알고리즘의 핵심이며, 손글씨 인식의 신경망을 기초한 르쿤의 또 하나의 성과였다.(Lecun 1998)

중첩신경망CNN 알고리즘은 이미지 처리에 특히 강점을 갖는다. 이미지는 일반 연산과 다르게 픽셀로 구성되어 있어서, 3차원 픽셀 하나하나가 은닉층에 입력될 때는 3차원이 아니라 2차원으로 펼쳐진(flattening) 개별 유닛으로 입력될 것이다. 개별 유닛이지만 이미지의 특성상 하나의 픽셀은 주변 픽셀과 어울려져 연관되어 있다. 개별 유닛을 하나의 입력단위이기 때문에 개별 유닛마다 가중치를 설정하여 출력을 시도할 것이다. 그런데 픽셀의 유닛 개체가 대단히 큰 분량이므로 일일이 가중치를 재조정하는 일은(fully-connectivity) 시간이 많이 소요되고 연산용량도 많이 필요하고 에너지도 많이 든다. 단위 픽셀은 주변 픽셀과 연관되어 있다는 이미지의 특성을 이용하여 서로 연관된 픽셀들 영역에만(local connectivity)

선택적으로 가중치군집을 설정하여 해당 가중치 군집 함수를 중첩시키면 그 효율은 매우 높아질 것이다. 연관된 군집에만 적용하는 가중치의 모음이 곧 중첩 함수에 해당하는 필터(커널kernel) 개념이다. 이러한 중첩 논리를 통해서 가중치를 매길 때 일일이 단위 유닛에 설정하지 않아도 되고 이미지의 군집 별로 동일한 필터를 적용할 수 있다. 중첩논리는 이미지 부분(픽셀)간의 연관성을 축조함으로써 손글씨와 같은 난필을 인식할 수 있으며 이미지의 흐리거나 손상된 조각(patch)을 생성 혹은 복구시킬 수 있다.

(iv)대항논리adversary

넷째, 기존 인공신경망(CNN 포함)의 알고리즘처럼 입력값에서 출력값을 생성하는 생성generative 알고리즘과 이렇게 생성된 결과값을 판별하는 별도의 판별discriminative 알고리즘, 이 2개의 알고리즘을 자체적인 견제방식으로 작동시킴으로써 다수의 레이블이 결핍된 상태에서도 출력값의 오차를 줄일 수 있고 나아가 출력값(레이블)에서 거꾸로 잠재적 입력값(피처)들을 자가 생성할 수 있다. 예를 들어 판별 알고리즘이 무작위 메일 안에 유해성 단어들을 근거로 해당 메일을 스팸이라는 레이블로 붙이면, 거꾸로 스펨 레이블에서 잠재적인 유해성 단어를 찾아낼 수 있다. 나아가 레이블을 붙이지 않은 데이터들을 비지도학습을 거쳐서 이미지 패턴을 완성시키거나 이미지 손상부분을 복구할 수 있는 확률을 크게 높였다.

레이블의 예를 다시 들어보자. 앞에서 언급한 조정과 반복 그리고 판별과 분류를 위하여 최소한 수천 장에서 수만 장에 이르는 영상데이터가 필요할 것이다. 나아가 영상이미지 데이터 하나하나마다 일일이 레이블(label)을 만들어 붙여주어야 한다. 레이블이란 개별 영상데이터를 분류하여 제목을 다는 일이다. 우리식 영어로 ‘라벨을 달아준다’는 말로 하면 좀 더 직관적으로 이해하기 쉽다. 엄청난 양의 개별 데이터에 라벨을 붙여주지 않으면 그 데이터는 입력 혹은 재입력할만한 기본데이터로서 가치를 갖지 못한다. 아직 완전하지 않지만 이런 난점들을 어느 정도 해결해 주는 알고리즘이 개발되었다. 기존 레이블과 무관하게 해당 레이블에 맞게 이미지를 수정할 수 있는 알고리즘이다.

이러한 알고리즘은 영상의학에서 의미있는 변화를 가져다 줄 수 있다. 예를 들어 영상픽셀을 주변에 어울리게 확장하고 복구함으로써 CT 이미지를 마치 MRI 이미지 해상도와 볼륨(깊이) 수준으로 재생성시킬 수 있으며 부분적으로 손상되거나 흐린 영상을 복구할 수도 있다. 최근 이미지 인식 분야에서 이러한 방식의 알고리즘을 대항적 생성네트워크(GAN, GANs; Generative Adversarial Networks)라고 말한다.

데이터기반 발견술 새로운 알고리즘으로 가는 토대

데이터-기반 발견술” data-based heuristic은 CNNs과 GANs의 알고리즘을 통해서 실현되고 있으며, 영상의학 분야만이 아니라 최근에는 산업수학 연구네트워크가 주도하는 신약개발 부문에서 활발하게 연구되고 있다. 현재의 신약개발 연구는 주로 신경세포 시냅스의 전기화학적 신호정보 메커니즘에 초점을 맞추고 있다. 그런데 신경세포 시냅스의 활성작용을 단백질 질량분석장비와 전자현미경이 있는 실험실에서 다루기에는 연구 투여시간과 관련이론이 역부족이다. 또한 수학적 시뮬레이션을 통해 그러한 역부족을 메꿀 수 있다는 이론적 희망을 갖고 생물정보에 대한 수학적 창조물에 도전하고 있다. 실제로 수학적 형식을 통해서 경험적 내용을 생성하는데 성공하는 경우가 많으며, 그런 도구가 바로 앞서 말한 중첩신경망CNNs과 대항적 생성네트워크GANs 알고리즘이며, 향후에는 더 혁신적인 알고리즘의 탄생이 분명히 가능하다.

마찬가지로 데이터-기반 발견술data-based heuristic의 인공지능에서 발견술의 주체가 인간을 벗어나서 인공지능 자체로 변질될 우려와 리스크도 역시 분명히 가능하다. 앞서 들은 사례처럼 대항적 생성네트워크는 창조적 영상을 생성할 수 있기 때문에 영상 분야에서 가공할만한 장점을 많이 가지고 있지만, 사람이 구분하지 못할 정도의 가짜 영상을 조작할 수 있기 때문에 부정적 부작용이나 폐해도 클 수 있다.

아래 내용은 현재 작업 중인 책 <알고리즘과 휴리스틱> 2장 인공지능 편에 실릴 내용입니다. 인용하실 경우 출처를 알리도록 출판사와 계약되어 있습니다.


블로그 목록

홈페이지