비정형 텍스트 분석 기법과 모델
2018년 이후 등장한 사전 학습 기반의 기계 학습 모델들은 문서 분류와 같은 고전적인 자연어 처리 문제뿐 아니라 실생활에서 응용 가능한 감정 분석, 질의응답, 챗봇 등 복잡한 자연어 처리 문제들에 대해 사람과 유사한 성능을 낼 수 있을 정도로 빠르게 향상되고 있습니다. 특히 생성 모델인 GPT-3는 사람과 구분할 수 없을 정도로 정교한 글을 쓸 수 있으며, GPT-3가 작성한 기사 신문에 실리거나 소설로 발간되는 등의 다양한 시도들이 이루어지고 있죠. 자연어 처리는 기계 학습 분야에서도 역사가 오래된 주제 중 하나이나 최근 2,3년 이내 이전과는 다른 속도로 성장하고 있기 때문에 최신 연구 동향을 파악하는 것이 무엇보다 중요합니다.
텍스트 분석 모델
처음으로 단어 임베딩에 대해서 소개해드리도록 하겠습니다. 전통적으로 자연어 처리에서 단어는 데이터셋에 등장하는 모든 단어를 사전 화한 후, 사전 상의 순서 혹은 색인으로 치환하여 처리합니다. 사전에 등장하는 단어를 벡터로 치환하는 가장 간단한 방법은 총 단어 수만큼의 차원을 가진 벡터에서 다른 모든 값은 0으로 하고 단어 순서에 해당하는 원소만 1로 표시하는 것입니다. 예를 들어 사과, 회사, 식사 세 단어만 있고, 순서대로 1번, 2번, 3번이라고 하면 회사는 (0,1,0)으로 나타내는 것입니다. 이를 원 핫 인코딩이라고 합니다. 단어 문서 행렬에 각 행, 즉 문서를 나타내는 벡터는 그 문서를 이루는 단어 벡터들을 모두 더한 것과 같습니다. 원 핫 코딩은 표현이 희소하므로, 사전 내 단어 수가 늘수록 고차원 벡터가 필요하다는 문제가 있습니다. 또한 단어의 표현형만을 고려하므로 단어 자체의 의미를 담을 수 없다는 한계점 또한 존재합니다. 이러한 문제를 해결하기 위해 단어 임베딩 방법론이 등장하게 되었으며 이에 대표적인 예 씨가 Word2 Vec입니다. 다음 그림은 Word2 Vec으로 임베딩 된 단어들의 예시입니다. Word2 Vec은 2013년에 니콜 러프와 동료들이 제안한 모형입니다. Word2 Vec은 언어 모델을 학습하면서 단어 임베딩을 만드는데, 이때 언어 모델이란 이전에 나온 단어들을 바탕으로 다음 단어를 예측하는 모델을 가리킵니다. 분류 문제와는 다르게 별도의 레이블 없이 텍스트만 있어도 학습이 가능합니다. Word2 Vec은 CBOW와 Skip-Gram 두 가지 방식이 있습니다. 둘 모두 대상 단어와 주변 단어의 관계를 이용합니다. 예를 들어 의료 인공지능은 새로운 분야이다라는 문장에서 새로운이 모델링 하고 싶은 대상이라고 가정하겠습니다. 여기에 윈도를 좌우 1 단어라고 하면 주변 단어는 인공지능은 분야이다가 될 것입니다. CBOW는 주변 단어 임베딩을 더해서 대상 단어를 예측하고 Skip-Gram은 대상 단어의 임베딩으로 주변 단어를 예측합니다. 다음은 시퀀스 모델링입니다. 시퀀스 모델링의 가장 기본적인 모델은 순환 신경망입니다. 시퀀스의 두 가지 중요한 성질이 있습니다. 시퀀스 구성 요소들 간의 순서 정보와 가변적인 길이를 모델링하기 위해 순환 신경망이 등장했습니다. RNN은 은닉층의 노드에서 활성화 함수를 통해 나온 결괏값을 출력 층 방향으로도 보내면서 다시 은닉층 노드에 다음 계산의 입력으로 보내는 특징을 가지고 있습니다. RNN의 은닉층에서 활성화 함수를 통해 결과를 내보내는 역할을 하는 노드를 셀이라고 합니다. 이 셀은 이전의 값을 기억하려고 하는 일종의 메모리 역할을 수행하므로 이를 메모리 셀 또는 RNN 셀이라고 표현합니다. 은닉층의 메모리 셀은 재귀적으로 작동하며 각각의 시점에서 바로 이전 심 저의 은닉층 메모리 셀에서 나온 값을 자신의 입력으로 사용합니다. 다음은 LSTM과 GRU입니다. 이론상 RNN은 임의의 길이의 시퀀스를 모두 인코딩할 수 있지만 실제로는 시퀀스 길이가 너무 길 경우, 과거의 시퀀스 정보들을 잊어버리는 단점이 있습니다. 이런 단점을 해결하기 위해 LSTM과 GRU가 제안되었습니다. 두 모델과 RNN의 차이는 들어온 입력과 과거 정보 중 어떤 것을 더 보존할지 결정하는 관문이 존재하며, 이 관문들로 인해 과거 정보를 효과적으로 보존할 수 있게 되었다는 것입니다. 다음 그림은 LSTM의 구조를 도시화한 것입니다. 입력과 과거 정보들 사이의 흐름을 통제하는 여러 개의 관문을 보실 수가 있습니다. 다음은 트랜스포머입니다. LSTM과 GRU에 힘입어 순환 신경망은 긴 시퀀스들을 잘 모델링할 수 있게 되었지만 순환 신경망에는 근본적인 문제가 존재합니다. 순환 신경망은 입력을 재귀적으로 처리하며, 이로 인해 시퀀스의 앞부분부터 뒷부분까지 순차적으로 계산해야 하므로 여러 개의 연산 장치를 통해 입력 시퀀스를 병렬적으로 연산하는 것이 불가능합니다. 또 Bahdanau의 연구를 통해 은닉층 사이에 유사도를 기반으로 특정 은닉층 정보를 강조하는 어텐션 메커니즘을 사용하는 것이 순환 신경망만 사용하는 것보다 좋은 성능을 내는 것을 관측하였습니다. 트랜스포머는 시퀀스를 병렬적으로 처리하며, 어텐션 메커니즘을 통해 단어 각각의 의미를 모델링하는 모델입니다.
사전 학습 기반의 텍스트 분석 모델
사전 학습된 언어 모델입니다. 사전 학습이란 대규모의 데이터를 활용하여 모델을 미리 학습시키는 방법론을 의미합니다. 사전 학습된 모델들은 다른 문제를 풀 때 사전 학습 때 얻은 파라미터로 모델을 초기화한 후, 문제에 맞게 적응시켜 사용되며, 이러한 과정을 전이 학습이라고 합니다. 2018년 이후 자연어 처리는 대규모 자연어 코퍼스에 언어 모델을 사전 학습시켜 사용하는 것이 대세로 자리 잡았으며, 사전 학습 때 언어 모델들은 다양한 자연어 처리 문제에서 기존 학습 기반 모델들에 비해 월등한 혹은 인간과 비슷한 성능을 보였습니다. BERT는 사전 학습 기반 자연어 처리 모델 중에서도 가장 보편적으로 많이 사용되는 모델입니다. BERT의 언어 모델 사전학습은 두 가지 문제를 해결하면서 이루어집니다. 첫 째로 마스킹된 언어 모델과 둘째로 다음 문장을 예측하는 것입니다. 마스킹된 언어 모델은 사람들이 시험을 보는 방식과 유사하게, 문장의 일부분을 빈칸으로 처리한 후 해당 빈칸에 들어갈 가장 적합한 단어를 찾는 방식으로 학습합니다. 다음 문장 예측은 2 개의 문장 쌍이 입력으로 들어왔을 때 두 문장이 의미적으로 연결될 수 있는지, 없는지 구분하는 문제를 풀게 됩니다. 의료 인공지능 분야에 맞게 최적화된 Bio BERT, Clinical BERT 등은 다양한 의료분야 자연어 처리에서 최고 성능을 갱신하였습니다. 마지막으로 GPT-3입니다. BERT가 다양한 자연어 처리 분야에서 두각을 나타냈지만 BERT는 기본적으로 빈칸을 예측하도록 학습되었기에 문장을 생성할 수 없습니다. GPT-3는 아주 많은 파라미터와 데이터를 사용하여 모델이 자기 회귀적으로 출력을 생성하는 법을 학습합니다. GPT-3가 생성하는 데이터는 사람과 구분이 힘들 정도로 높은 퀄리티를 보여주었습니다.
'의료 인공지능 전망, 의료 영상 분석 방법, 의료 데이터 분석 기법' 카테고리의 다른 글
의료 영상 데이터 분석 기법 - 서포트 벡터 머신, 결정 트리, 랜덤 포레스트 모델 (0) | 2022.08.02 |
---|---|
의료 영상 데이터 분석 기법 - 로지스틱 모델 (0) | 2022.08.02 |
의료 영상 데이터 분석 - 지도 학습의 종류와 인공지능 학습 (0) | 2022.08.01 |
의료 영상 데이터 분석 기법 - CNN 구조와 특징 (0) | 2022.08.01 |
의료 데이터 분석 기법 - CNN 기반의 딥러닝 모델(Segmentation, Detection 모델) (0) | 2022.08.01 |
댓글