Classification 살펴보기

Hugman Sangkeun Jung
20 min readApr 18, 2024

--

(영어버젼의 포스트는 링크에서 찾아볼 수 있습니다.)

Classification of the Platypus (Image by the author using ChatGPT)

Classification 에 대해 살펴보기

이번에는 인공지능 기술에서 빼놓을 수 없는 중요한 도구 중 하나인 ‘분류(Classification)’에 대해 자세히 알아보겠습니다. 인공지능 소프트웨어 개발 시 다양한 기술이 사용되는데, 그 중에서도 분류는 특히 중요합니다. 실제로, 많은 인공지능 문제들은 분류 문제로 변환될 수 있습니다.

예를 들어, 자율주행 자동차를 생각해 봅시다. 자동차가 주행 중에는 핸들을 왼쪽으로 꺾을지 오른쪽으로 꺾을지 결정해야 하는데, 이는 전형적인 분류 문제입니다. 간단해 보이는 ‘왼쪽이냐 오른쪽이냐’의 문제는 결국 두 가지 선택지 중 하나를 선택하는 과정으로, 분류의 기본적인 형태를 따릅니다.

비슷하게, 브레이크를 언제 밟을지 결정하는 것도 분류 문제로 볼 수 있습니다. 이처럼 자율주행의 다양한 상황 판단은 모두 분류 문제로 귀결되며, 이를 통해 차량은 안전하고 효과적으로 운행할 수 있는 결정을 내릴 수 있습니다.

분류 기술은 단순히 자동차 운전뿐만 아니라 일상생활의 다양한 문제 해결에도 적용될 수 있습니다. 예를 들어, 자연어 처리에서는 문장이나 단어의 의미를 분류하여 언어의 뉘앙스를 파악하고, 보다 정확한 정보를 제공하는 데 중요한 역할을 합니다.

이렇듯 분류는 인공지능 분야에서 널리 사용되는 기술로, 복잡한 문제를 명확하고 구조화된 선택으로 단순화시켜 문제 해결의 효율성을 높여줍니다. 이 글에서는 분류 기술을 좀 더 넓고 깊게 살펴보도록 하겠습니다.

분류란?

분류 문제는 입력 데이터가 주어졌을 때, 이를 특정 클래스에 할당하는 과정을 말합니다. 이 과정은 다양한 형태의 입력(숫자, 기호 등)과 출력(클래스 레이블)을 처리할 수 있어야 하며, 이에 따라 여러 알고리즘이 개발되었습니다.

분류 문제를 해결하기 위한 기본적인 접근 방법에는 정말 대단히 많은 종류가 있습니다. 전통적으로는 구현 방법에 있어서 아래와 같은 방식이 많이 거론됩니다.

  • 확률 모델 기반: 이 방법은 입력 데이터가 특정 클래스에 속할 확률을 계산하여 분류를 결정합니다. 예를 들어, 베이지안 분류기(Bayesian Classifier)가 이에 해당됩니다.
  • 뉴럴 네트워크 기반: 딥러닝 기술을 활용하여 복잡한 패턴과 데이터 구조를 학습하고, 이를 바탕으로 분류를 수행합니다.
  • 통계 및 규칙 기반 방법: 이러한 기법들은 데이터의 통계적 속성이나 사전에 정의된 규칙을 사용하여 분류를 실행합니다.

이외에도 다양한 방법이 있으며, 그 구현에 따라 다양하게 나뉠 수 있습니다. 각기 다른 분류기 기술은 고유의 장점과 단점을 가지며, 특정 상황에 더 적합할 수 있습니다. 예를 들어, 확률 모델은 불확실성을 모델링하는 데 강점을 가지지만, 복잡한 데이터 패턴을 학습하기 위해서는 뉴럴 네트워크가 더 효과적일 수 있습니다.

이 글의 목적은 각각의 기술을 심도 있게 들여다 보는 것이 아닌, 분류기들에는 어떤 종류가 있는지, 각 분류기의 핵심 아이디어는 어떤것이지 살펴보는 것입니다. 보다 구체적인 테크닉들은 향후에 다시 깊게 살펴보시기를 바랍니다.

분류 문제의 다양한 접근 방식 넓게 살펴보기

우선 분류 테크닉에는 어떤 것들이 있는지 먼저 넓게 살펴보고, 다시 상세하게 각각의 아이디어를 살펴보겠습니다.

Categories of Classification Techniques and Famous Classifier Names (Image by the author)

선 기반 분류 (Line-based Classification)

선 기반 분류는 데이터를 분리하는 결정 경계를 선형(Linear)으로 설정합니다. 이 방식은 간단하고 계산 효율이 높아 많이 사용됩니다. 전통적으로 가장 많이 연구되고 활용되어온 기법 중 하나입니다. 대표적으로는 아래와 같은 기법이 있습니다.

  • 로지스틱 회귀(Logistic Regression): 결과를 확률로 표현하여 특정 클래스에 속할 확률을 계산합니다.
  • 서포트 벡터 머신(Support Vector Machine, SVM): 데이터 클래스 사이의 마진을 최대화하는 선을 찾아 최적의 분류 경계를 설정합니다.
Line-Based Classification (Image by the author)

거리 기반 분류 (Distance-based Classification)

이 기술은 데이터 포인트 간의 거리를 측정하여 가장 가까운 데이터의 클래스로 분류합니다.

  • K-최근접 이웃(K-Nearest Neighbors, KNN): 입력 데이터와 가장 가까운 K개의 훈련 데이터를 찾고, 이들 중 가장 많은 클래스를 결과로 선택합니다.
Distance-Based Classification (Image by the author)

확률 기반 분류 (Probabilistic Classification)

이 접근 방식은 입력 데이터가 각 클래스에 속할 확률을 기반으로 분류를 수행합니다.

  • 나이브 베이지안(Naive Bayes) 분류기: 특성들의 독립성을 가정하고, 베이즈 정리를 사용하여 각 클래스의 조건부 확률을 계산합니다.

트리 기반 분류 (Tree-based Classification)

이 방식은 결정 트리를 사용하여 데이터를 여러 단계에 걸쳐 분류합니다.

  • 결정 트리(Decision Tree): 데이터의 특성을 기준으로 트리 구조를 생성하고, 각 노드에서 질문을 통해 데이터를 분리합니다.

신경망 기반 분류 (Neural Network-based Classification)

신경망은 복잡한 데이터 패턴을 추상화 할 수 있는 능력을 가지고 있어, 다양한 형태의 데이터에 대해 효과적인 분류 정보를 제공하거나 혹은 직접적으로 분류를 수행할 수 있습니다.

  • 인공신경망(Artificial Neural Networks, ANN): 여러 층을 통해 데이터에서 고차원 특성을 추출하고, 이를 저차원 벡터로 추상화 (보통 # of classes 만큼)하는 방식으로 분류를 수행합니다.

다른 용어로는 low-dimension projection based 방식이라고 저는 부르고 있습니다.

Low-Dimensional Projection-Based Classification (Image by the author)

프롬프트 기반 분류 (Prompt-based Classification)

이는 최신 기술로, 특히 언어 모델을 이용한 분류에서 강력한 성능을 발휘합니다.

  • 언어 모델 기반 분류: 주어진 프롬프트에 따라 언어 모델이 적절한 답변을 생성하고, 이를 분류의 기준으로 사용합니다.
Prompt-Based Classification (Image by the author)

이러한 다양한 분류 기술들은 특정 문제의 성격에 맞게 선택되어야 하며, 각각의 기술은 특정 상황에서 더욱 효과적일 수 있습니다. 분류 문제에 접근할 때는 데이터의 특성, 필요한 정확도, 처리 시간 등 여러 요소를 고려하여 가장 적합한 기술을 선택하는 것이 중요합니다.

지금까지 주요 분류 기술의 각 아이디어를 살펴보았습니다. 이후에는 이 중에서도 특히 많이 쓰이고, 주의 깊게 살펴보아야 할 몇 가지 분류 테크닉에 대해 상세하게 살펴보겠습니다.

  • 거리 기반 분류
  • 선 기반 분류
  • 저차원 투사 기반 분류
  • 프롬프트 기반 분류

거리 기반 분류(Distance-based Classification)

거리 기반 분류는 데이터 사이의 거리를 계산하여 가장 가까운 데이터의 클래스를 할당하는 방식으로 작동합니다. 이 방법은 직관적이며, 구현이 비교적 간단해서 실제 응용에서 널리 사용됩니다.

Pair-wise distance can be used to establish a ‘relationship’ between two entities, A and B. (Image by the author)

다음은 거리 기반 분류 방법의 작동 원리와 주요 특징에 대해 자세히 설명합니다.

작동 원리

  1. 데이터 분할: 먼저, 알려진 데이터(훈련 데이터)를 각 클래스에 따라 구분합니다. 예를 들어, 클래스 A, B, C 등으로 데이터를 분류하고 각 데이터 포인트의 위치를 결정합니다.
  2. 새로운 입력 처리: 새로운 입력 데이터가 시스템에 제공되면, 이 데이터는 알려진 데이터 공간(known space) 내에서 위치를 찾게 됩니다. 이때 입력 데이터와 알려진 각 데이터 포인트 간의 거리(Distance)를 계산합니다.
  3. 가장 가까운 데이터 찾기: 계산된 거리를 기반으로, 입력 데이터와 가장 가까운 데이터 포인트를 찾습니다. 이 가장 가까운 알려진 데이터의 클래스가 새로운 입력 데이터의 클래스로 배정 됩니다.

주요 특징

  • 직관적인 접근: 거리 기반 분류는 사람의 직관적인 판단 방식과 유사합니다. 우리는 종종 유사한 특성을 가진 객체들을 같은 그룹으로 분류하는 경향이 있으며, 이 방식은 그러한 자연스러운 분류 과정을 모방합니다.
  • 간단한 구현: 복잡한 확률 계산이나 고도의 훈련 과정 없이도 구현할 수 있습니다. 기본적으로 거리를 계산하고 가장 짧은 거리를 선택하는 단순한 로직을 따릅니다. 최근에는 OpenAI 사의 embedding API같은 것을 쉽게 접근 가능하고 이를 이용해 거리를 쉽게 계산할 수 있습니다.
  • 유연성과 확장성: 거리 계산 방법(유클리드 거리, 코싸인 거리, 맨해튼 거리 등)을 다양하게 선택할 수 있으며, 데이터의 차원이 늘어나도 적용이 가능합니다.

적용 예시

거리 기반 분류는 고객 분류, 이미지 분류, 추천 시스템 등 다양한 분야에서 활용될 수 있습니다. 예를 들어, 온라인 쇼핑 플랫폼에서 사용자의 구매 이력을 바탕으로 유사한 구매 패턴을 가진 다른 사용자들의 데이터를 분석하여 개인화된 제품 추천을 할 수 있습니다.

거리 기반 분류는 그 직관성과 단순성 덕분에 여러 분야에서 유용하게 사용됩니다. 하지만, 데이터의 복잡성이나 특성에 따라 더 정교한 알고리즘을 필요로 하는 상황에서는 다른 고급 분류 기법을 고려해야 할 수도 있습니다. 또한 데이터 포인트가 많아질 수록 분류 속도는 늦어질 수 있습니다.

거리기반 분류기술 중 가장 많이 알려진 테크닉은 “K-Nearest Neighbors (K-NN)” 알고리즘입니다. K-NN은 주어진 데이터 포인트 주변의 k개의 가장 가까운 이웃을 찾아 그들이 속한 클래스를 바탕으로 데이터 포인트의 클래스를 예측합니다. 예를 들어, 어떤 데이터 포인트 주변의 가장 가까운 세 개의 데이터 포인트가 두 개는 삼각형, 하나는 동그라미라면, 다수결에 따라 그 데이터 포인트는 삼각형으로 분류됩니다.

K-NN Classification (Image Source : link)

K-NN은 특히 카테고리가 명확하게 구분되지 않는 경우나 비정형 데이터에서 강력한 성능을 발휘할 수 있습니다. 예를 들어, 구매이력에 기반한 사용자 패턴이나 음성 데이터 분류에 적합할 수 있습니다. 이런 경우에 인접한 이웃을 통해 데이터의 카테고리를 예측하고, 분류를 진행합니다.

선 기반 (Line-Based Approach) 분류

선 기반 분류 기술은, 분류 테크닉 들 중 가장 흔히 사용되는 강력하고 직관적인 기술입니다. 선 기반 분류는 공간 내에서 데이터를 두 개 이상의 그룹으로 나누는 결정 경계(선)를 찾는 것을 목표로 합니다. 이 선은 데이터 공간을 여러 구역으로 구분하며, 각 구역은 특정 카테고리에 할당됩니다.

Line-based Classification (Image by the author)

작동 원리

  1. 데이터 프로젝션: 모든 데이터 포인트를 특정 공간에 투영합니다. 이 공간은 보통 데이터의 특성에 따라 정의됩니다.
  2. 결정 경계 설정: 데이터 공간을 가로지르는 선을 설정합니다. 이 선은 공간을 두 부분으로 나누며, 각 부분은 서로 다른 카테고리(예: A 또는 B)에 속하게 됩니다.
  3. 카테고리 할당: 선의 한쪽에 위치한 데이터 포인트들은 하나의 카테고리(예: A)로 분류되고, 다른 쪽에 위치한 데이터는 다른 카테고리(예: B)로 분류됩니다.

주요 기술

  • 로지스틱 회귀(Logistic Regression): 데이터 포인트가 특정 카테고리에 속할 확률을 계산하고, 이를 바탕으로 최적의 결정 경계를 찾습니다.
  • 서포트 벡터 머신(Support Vector Machine, SVM): 카테고리 간의 마진을 최대화하는 선을 찾아냄으로써 더욱 견고한 분류 경계를 제공합니다. 이 방법은 특히 서로 다른 클래스 사이의 경계가 명확하게 구분되어야 할 때 유용합니다.

장점

  • 명확성과 간결성: 선 기반 분류는 계산이 비교적 간단하고, 결과의 해석이 용이합니다.
  • 효율적인 성능: 적절한 데이터 세트와 매개변수 조정을 통해 높은 정확도를 달성할 수 있습니다.

적용 분야

선 기반 분류 방법은 은행의 신용 평가, 의료 진단, 이미지 처리 등 다양한 분야에서 활용될 수 있습니다. 각 분야에서 선을 사용하여 데이터를 효과적으로 분리하고, 관련 카테고리에 정확하게 할당하는 작업을 수행합니다.

선 기반 분류는 그 간단함과 효율성 덕분에 많은 기계학습 문제에서 선호되는 기법 중 하나입니다. 이러한 접근법은 복잡한 데이터 구조에서도 확실한 경계를 설정하여 빠르고 정확한 분류 결과를 제공할 수 있습니다.

저차원 투사 기반 Classification (Low Dimensional Projection based Classification)

저차원 투사 기반 분류는 고차원 데이터를 저차원으로 투사하는 방식으로 분류를 수행합니다. 특히 이미지, 텍스트등의 고차원 데이터를 분류할 때 중요한 역할을 합니다. 이 접근법은 고차원의 데이터를 저차원 — 최종적으로는 Class의 수만큼 — 의 표현으로 변환하여 처리하는 기술을 말합니다. 이러한 변환을 통해, 복잡하고 다양한 데이터를 더욱 간결하고 핵심적인 정보로 축소하여 분류 작업을 수행할 수 있습니다.

Low-Dimensional Projection-Based Classification at Inference Item (Image by the author)

작동 원리

  1. 고차원 데이터의 입력: 예를 들어, 1024x1024 픽셀의 이미지가 입력 데이터로 주어질 경우, 이는 약 1,048,576개의 픽셀 정보를 포함합니다. 각 픽셀은 RGB 채널을 가지고 있어, 이를 모두 고려하면 3,145,728차원의 매우 높은 차원 데이터가 됩니다.
  2. 저차원으로의 투사: 입력된 고차원 데이터를 신경망을 통해 저차원의 데이터로 투사합니다. 이 과정에서 신경망은 복잡한 데이터 구조를 학습하여 필수적인 특성만을 추출하고, 이를 기반으로 데이터를 새로운 저차원 공간에 매핑합니다.
  3. 클래스 결정: 저차원으로 투사된 데이터는 미리 정의된 클래스의 차원에 따라 분류됩니다. 예를 들어, 이미지 내의 객체가 “고양이, 말, 개” 의 3가지 중 하나로 분류해야 하는 경우라면, 3차원의 데이터로 투사 된 후, 이 최종 벡터를 적절히 해석하여 클래스를 분류해 냅니다.

주요 이점

  • 계산 효율성 증대: 데이터의 차원을 줄임으로써 필요한 계산량과 리소스 사용을 줄일 수 있으며, 이는 특히 대규모 데이터셋을 처리할 때 유용합니다.
  • 특성 강조: 중요한 특성이 강조되어, 분류기의 성능이 향상됩니다. 이는 배경 잡음이나 불필요한 정보를 제거함으로써 얻을 수 있는 이점입니다.
  • 특히 최근에는 각종 고품질 인코더 (이미지 인코더, 텍스트 인코더, …) 등이 많이 공개되어 있기 때문에 구현도 용이한 편입니다.

적용 사례

이 접근법은 이미지 인식, 음성 인식, 텍스트 분석 등 다양한 머신 러닝 응용 분야에서 사용됩니다. 예를 들어, 얼굴 인식 시스템에서는 수천 개의 픽셀 정보를 몇 십 개의 주요 특성으로 축소하여 각 개인의 얼굴을 식별할 수 있습니다.

저차원 투사 접근법은 데이터의 복잡성을 관리하고 효율적인 분석을 가능하게 하는 중요한 도구로, 신경망과 같은 고급 알고리즘과 결합하여 더욱 강력한 성능을 발휘할 수 있습니다.

프롬프트 기반 분류 (Prompt-based Classification )에 대한 이해

프롬프트 기반 분류는 최근 언어모델의 놀라운 성장과 함께 나타난 새로운 형태의 분류 테크닉입니다. 기존의 분류 테크닉과는 완전히 다른 형태의 분류 기술입니다.

프롬프트 기반 분류를 잘 이해하시기 위해서는 분류기법 측면에서 파라메트릭 방식과 비파라메트릭 방식을 먼저 살펴보고, 한발 더 들어가서, 트랜스포머에서의 ‘헤드기반’ 분류 기법과 ‘프롬프트 기반’ 방법을 비교하면서 이해하시는게 좋습니다.

파라메트릭 대 비파라메트릭 분류 방식의 비교

Parametric Classification

파라메트릭 방식은 미리 정의된 모델 구조(예: 선형 회귀의 y = ax + b)를 가지고 있어, 주어진 데이터로부터 모델 파라미터(a, b 등)를 학습합니다. 이러한 방식은 구조가 명확하고, 일반적으로 계산 효율이 좋으며, 데이터 요구량이 적을 수 있습니다. 그러나 복잡하거나 노이즈가 많은 데이터에서는 유연성이 떨어질 수 있습니다.

기존의 대부분의 훈련기법은 대부분 파라메트릭 방식으로 훈련데이터를 통해 ‘분류기’의 파라미터를 학습하는 형태죠. 간단히 말해서 분류용 전문 Parameters— θ — 를 데이터로부터 배워내는 방식입니다.

Nonparametric Classification

비파라메트릭 방식은 ‘분류 모델’ 구조를 사전에 정의하지 않고, 데이터 자체에서 패턴을 찾아내려 합니다. K-NN과 같은 비파라메트릭 모델은 많은 양의 데이터를 필요로 하고, 데이터 포인트 사이의 관계를 이해하는 데 더 유연하게 접근할 수 있습니다. 하지만, 많은 데이터를 처리해야 하므로 계산 비용이 높고, 높은 메모리 요구 사항을 가질 수 있습니다. 간단히 말해 분류용 전문 Parameters— θ — 가 전혀 없거나, 학습하지 않는 것은 크게 말해 Nonparametric 방식이라고 말할 수 있습니다.

자 이제 이 구분을 이해하셨다면, Prompt-based 방식과 Head-based방식을 이에 기반해서 다시 살펴보겠습니다.

헤드 기반 (Head-based) 분류

  1. 정의: 헤드 기반 방식은 보통 이미 선학습된 모델(언어, 이미지, 등등)들을 가져온 후 최종적으로 우리가 원하는 분류를 수행하기 위한 추가적인 레이어등을 부착한 후 데이터를 통해 추가적인 레이어 및 경우에 따라서는 전체 모델의 파라미터를 재학습하는 방법입니다.
  2. 특징 : 명확하게 정의된 파라미터를 바탕으로 학습을 진행합니다. 트랜스포머의 경우 최상층의 레이어로 부터 얻어낸 벡터값( 보통 [CLS] 토큰 위치의 벡터) 을 이용하여 클래스 수 만큼의 저차원으로 투사하는 Head Layer 를 학습하게 됩니다.
  3. 파라미터 필요성: 이 방식은 고차원의 데이터를 저차원으로 효과적으로 줄이기 위해 파라미터가 필요합니다. 예를 들어, 768차원의 픽셀 이미지 데이터를 3개의 클래스로 분류하기 위해서는 768차원을 3차원으로 줄이는 작업에서 특정 파라미터(예: 가중치)가 학습됩니다.
  4. 트레이닝 요구: 명확한 트레이닝 단계가 필요하며, 이 과정에서 모델은 데이터의 구조와 패턴을 학습하여 최적화된 결과를 도출합니다.

즉, 트랜스포머에서의 헤드기반 분류 방식은 명확한 파라메트릭 방식이라고 볼 수 있습니다.

프롬프트 기반 (Prompt-based) 분류

프롬프트 기반 방식과 헤드기반 방식과 여러면에서 다릅니다.

  1. 정의: 프롬프트 기반 방식은 미리 정의된 클래스가 없이, 입력된 데이터(텍스트나 이미지)를 바탕으로 직접적인 해석과 연관성을 찾아 결과를 도출합니다. 이 방식은 고정된 파라미터를 요구하지 않으며, 각 입력에 대한 출력을 동적으로 생성합니다.
  2. 클래스 가정 부재: 이 접근법은 분류할 클래스를 사전에 가정하지 않고, 모델이 입력 데이터를 바탕으로 직접 해석합니다. 이는 매우 유연한 방식으로, 다양한 종류의 데이터에 적용할 수 있습니다.
  3. 트레이닝 비요구: 기존의 헤드 기반 방식처럼 명확한 트레이닝 단계가 필요하지 않습니다. 이는 모델이 특정 파라미터를 학습하지 않고, 입력 데이터와 연동하여 동적으로 반응하기 때문입니다.
Example of Prompt-Based Classification (from link)

위의 예를 보시죠. 텍스트 에서, 프롬프트 기반 분류를 수행할 때는, 분류의 대상이 되는 문장 “No reason to watch” 라는 것을 넣어주고, 그 뒤에 “It was”를 넣어줍니다. 위 그림에서는 저 마스킹 부분 — [MASK]- 에 오게 될 어휘를 Masked Language Model 이 선택하는 방식으로 처리하지만, Autoregressive Language Model 측면에서 보게되면 “No reason to watch. It was _______”라는 입력에 대해 고 “__________” 부분을 완성하도록 하는 형태과 같습니다.

이 비어 있는 부분에 들어가는 단어들을 언어 모델이 생성하려고 시도하며, “great, terrible, awesome, good, fantastic”과 같은 단어들이 나오게 되면, 이 단어들을 우리가 알고 있는 긍/부정의 카테고리로 다시 해석하는 거죠. 긍정적인 단어들은 긍정적인 감정 카테고리로, 부정적인 단어들은 부정적인 감정 카테고리로 분류하는 식입니다. 이렇게 언어 모델이 뱉어낸 어휘를 바탕으로 우리는 분류를 수행하는 것을 프롬프트 기반 분류라고 합니다.

잘 생각해보시면, 이렇게 분류를 수행하는 것은 Prompt 를 넣어주고 나온 결과물들에 대한 일종의 ‘후처리’ 라고 볼 수 있습니다. 이 과정 어디에서도 훈련은 진행되지 않죠? 훈련 파라미터의 유무 측면에서 보게 되면, 이는 일종의 non-parametric method입니다 (물론 활용된 언어모델을 parametric 방식으로 사전에 훈련되었겠죠!).

이러한 프롬프트 기반 분류를 이용해 zero-shot transferable 분류 기술을 제안한 혁신적인 연구로 CLIP이라는 연구가 있습니다. 향후 다른 글로 이 연구는 상세하게 다루도록 하겠습니다.

결론

이 글에서 우리는 다양한 분류 기술과 핵심 아이디어를 살펴보았습니다. 특별히 하나의 분류 테크닉만 쓰는 것이 아닌 주어진 상황과 자원등을 고려하여 적절한 분류 테크닉을 사용하시는게 중요합니다. 트랜스포머에 기반한 파라메트릭 분류기술이 높은 성능을 보입니다만, 최근 거대언어모델들의 성능이 매우 좋아지고 있기 때문에, 이들을 활용한 프롬프트 기반 분류 기술등도 관심있게 살펴보시기를 바랍니다.

--

--

Hugman Sangkeun Jung

Hugman Sangkeun Jung is a professor at Chungnam National University, with expertise in AI, machine learning, NLP, and medical decision support.