본문 바로가기
IT 지식 쌓기

인공지능, 머신러닝, 딥러닝, LLM, 자연어처리 이게 다 뭐냐고? 한방에 정리

by 삶은 재미나 2024. 6. 4.

인공지능(AI), 머신러닝 딥러닝, 그리고 최근 주목받고 있는 대규모 언어 모델(LLM)은 현대 정보기술 분야에서 중요한 역할을 하고 있습니다. 이러한 기술들은 데이터 분석, 예측, 자동화 등의 분야에서 혁신을 이끌고 있으며, 다양한 산업에서 그 활용도가 점점 더 커지고 있습니다. 이번 글에서는 각 용어의 정의와 차이점을 명확히 하고, 실제 활용 예시를 통해 각 기술의 중요성을 설명하고자 합니다.


인공지능(Artificial intelligence, 이하 AI)

AI  인간의 지능을 모방하여 학습, 추론, 문제 해결, 이해, 자연어 처리 등을 수행하는 컴퓨터 시스템을 의미합니다. AI는 크게 두 가지로 나눌 수 있습니다: 약한 인공지능(Weak AI)과 강한 인공지능(Strong AI)입니다. 약한 AI는 특정 작업을 수행하도록 설계된 시스템으로, 예를 들어, 체스 프로그램이나 음성 인식 시스템이 있습니다. 강한 AI는 인간과 유사한 전반적인 지능을 갖춘 시스템을 목표로 하지만, 현재까지는 연구 단계에 머물러 있습니다.

 

그렇다면 우리가 보편적으로 사용하고 있는 PC는 인공지능일까요? 정답은 '아니오'입니다. 전통적인 컴퓨터 프로그램은 명시적으로 프로그래밍된 규칙과 논리에 따라 작동하며, 스스로 학습하거나 환경에 따라 적응할 수 없습니다. 반면 AI 시스템은 데이터로부터 학습하고, 복잡한 패턴을 인식하며, 예측과 결정을 내릴 수 있습니다.

 

AI와 가정용 컴퓨터의 비교:

PC  AI
명시적으로 프로그래밍된 명령을 수행합니다.
예를 들어, 계산기 프로그램은 사용자가 입력한 수식을 계산하여 결과를 제공합니다. 이 과정에서 프로그램은 미리 정해진 규칙에 따라 작동하며, 새로운 데이터를 학습하거나 스스로 개선되지 않습니다.
 
데이터로부터 학습하고, 패턴을 인식하며, 예측과 결정을 내립니다.
예를 들어, 음성 인식 AI는 사용자의 음성을 이해하고, 해당 음성을 텍스트로 변환합니다. 이 과정에서 AI는 다양한 음성 데이터를 학습하여 인식 정확도를 높입니다.

 

이렇듯, AI 시스템이 아님에도 불구하고 AI의 개념이 익숙하지 않은 경우 AI라고 착각할 수 있는 기술이나 시스템들은 명시적으로 프로그래밍된 규칙에 따라 작동하는 자동화 시스템 등이 있습니다. 이러한 시스템들은 데이터를 학습하거나 새로운 상황에 적응할 수 없으며, 정해진 명령을 반복적으로 수행합니다.

  • 전통적인 프로그래밍: 일정한 규칙과 조건에 따라 작동하는 소프트웨어. 예를 들어, 스프레드시트 프로그램의 매크로는 미리 정해진 순서대로 작업을 자동으로 수행합니다.
  • 자동화 시스템: 공장의 로봇 팔은 특정 작업을 반복적으로 수행하지만, 스스로 학습하거나 적응하지 않습니다. 이는 미리 프로그래밍된 동작을 따르는 것입니다.
  • 규칙 기반 전문가 시스템: 특정 도메인의 규칙과 지식을 이용하여 문제를 해결하는 시스템. 예를 들어, 규칙 기반 의료 진단 시스템은 미리 정해진 규칙에 따라 진단을 내리지만, 새로운 데이터를 학습하지는 않습니다.

이와 반대로, AI 기술이 점점 더 일상화되면서, 그것이 AI인지 인식하지 못하는 경우도 많습니다. 사실 이러한 시스템들은 복잡한 데이터를 분석하고, 학습하며, 예측할 수 있는 능력을 갖추고 있습니다.

  • 추천 시스템: 넷플릭스나 유튜브의 추천 알고리즘은 사용자의 시청 기록을 학습하여 개인화된 콘텐츠를 추천합니다. 많은 사람들은 이것이 단순한 기능으로 생각할 수 있지만, 실제로는 AI가 사용자의 선호도를 학습하여 예측을 수행하는 것입니다.
  • 스마트 어시스턴트: 구글 어시스턴트, 애플의 Siri, 아마존의 Alexa 등은 자연어 처리와 음성 인식을 통해 사용자의 명령을 이해하고 수행합니다. 이 과정에서 AI 기술이 사용되지만, 많은 사람들은 이를 단순한 음성 인식 기능으로 생각할 수 있습니다.
  • 자동 번역: 구글 번역이나 딥엘(DeepL)과 같은 번역 서비스는 AI와 딥러닝을 통해 높은 정확도의 번역을 제공합니다. 

이러한 AI 기반 기능들은 일반적인 자동화 시스템과 달리 스스로 학습하고, 데이터를 기반으로 지속적으로 개선됩니다. 그렇다면 AI는 현재 어떻게 활용되고 있을까요?

 

의료 분야

AI는 의료 이미지 분석, 진단 보조 시스템, 맞춤형 치료 계획 수립 등에 활용되고 있습니다. 예를 들어, IBM의 Watson은 암 진단과 치료에 대한 권장 사항을 제공하여 의료진의 의사 결정을 지원합니다.

 

자율주행차

테슬라의 자율주행 기술은 AI를 활용하여 도로 상황을 인식하고, 주행 경로를 계획하며, 안전하게 운전합니다.

 

고객 서비스

챗봇과 가상 비서는 고객의 질문에 실시간으로 답변하고, 고객 지원 업무를 자동화합니다. Amazon의 Alexa와 Google Assistant가 대표적인 예입니다.

 

문서 작성 지원

Microsoft 365 Copilot은 Microsoft의 생산성 소프트웨어인 Word, Excel, PowerPoint, Outlook 등에서 AI 기능을 통합하여 사용자의 작업을 도와줍니다. 이 시스템은 OpenAI의 GPT-4를 기반으로 하며, 자연어 처리(NLP)와 머신러닝 기술을 활용합니다. Microsoft 365 Copilot은 Word에서 사용자가 작성 중인 문서의 맥락을 이해하고, 다음에 작성할 내용을 제안하거나 자동으로 문서를 생성합뿐만 아니라 Excel에서 복잡한 데이터 분석 작업을 자동화하고, 데이터를 시각화하여 쉽게 이해할 수 있도록 도와주기도 하며, PowerPoint에서 사용자가 입력한 내용을 기반으로 자동으로 슬라이드를 생성하고, 시각적으로 매력적인 프레젠테이션을 제공합니다.

 


머신러닝(Machine learning)

머신러닝은 컴퓨터가 명시적으로 프로그래밍되지 않아도 데이터를 이용해 스스로 학습하고 예측하거나 결정을 낼 수 있는 능력을 부여하는 AI의 한 분야입니다. 머신러닝은 패턴 인식과 데이터 분석을 통해 예측 모델을 생성하며, 여러 가지 학습 방법 중에서도 지도 학습(supervised learning), 비지도 학습(unsupervised learning), 강화 학습(reinforcement learning)이 가장 많이 사용됩니다. 


지도 학습 (Supervised Learning)
지도 학습은 "선생님"이 있는 학습 방법입니다. 여기서 선생님은 정답(label)을 알고 있는 데이터입니다. 컴퓨터는 이 데이터를 이용해 학습하고, 새로운 데이터에 대해서도 예측할 수 있게 됩니다.

 

이러한 지도학습의 예는 다음과 같습니다. 

  • 이미지 분류: 예를 들어, 고양이와 개의 사진이 있다고 합시다. 각 사진에는 "이것은 고양이입니다" 또는 "이것은 개입니다"라는 라벨이 붙어 있습니다. 컴퓨터는 이 데이터를 이용해 고양이와 개를 구분하는 방법을 학습합니다. 나중에 새로운 사진을 보여주면, 컴퓨터는 그것이 고양이인지 개인지 예측할 수 있게 됩니다.
  • 스팸 이메일 필터링: 이메일을 스팸(불필요한 메일)과 정상 메일로 분류하는 시스템도 지도 학습의 예입니다. 이미 분류된 이메일을 학습해 새로운 이메일이 스팸인지 아닌지 예측합니다.

 

비지도 학습 (Unsupervised Learning)
비지도 학습은 "선생님"이 없는 학습 방법입니다. 즉, 데이터에 정답(label)이 없습니다. 컴퓨터는 데이터 자체의 구조나 패턴을 찾는 데 중점을 둡니다.

이러한 비지도학습을 사용하는 예는 다음과 같습니다. 

  • 고객 세분화: 한 쇼핑몰의 고객 데이터를 분석한다고 가정해봅시다. 이 데이터에는 고객의 구매 내역, 방문 빈도, 선호하는 제품 등이 포함되어 있지만, 고객이 어떤 그룹에 속하는지에 대한 정보는 없습니다. 컴퓨터는 비지도 학습을 통해 유사한 구매 패턴을 가진 고객들을 그룹으로 묶어줍니다. 이를 통해 마케팅 전략을 세울 수 있습니다.
  • 영화 추천 시스템: 넷플릭스 같은 스트리밍 서비스에서는 사용자의 시청 기록을 분석해 비슷한 취향을 가진 사용자 그룹을 찾습니다. 이를 기반으로 새로운 영화를 추천합니다.


강화 학습 (Reinforcement Learning)
강화 학습은 "보상"을 통해 학습하는 방법입니다. 컴퓨터는 특정 상황에서 어떤 행동을 취했을 때 얻는 보상이나 벌을 통해 최적의 행동을 찾습니다. 이 방법은 게임이나 로봇 제어 등에 많이 사용됩니다.

  • 게임 AI: 체스나 바둑 같은 게임에서 강화 학습을 이용하면, 컴퓨터는 각 수(수)를 둘 때마다 승리할 확률을 높이는 방향으로 학습합니다. 예를 들어, 알파고(AlphaGo)는 바둑을 두는 방법을 강화 학습을 통해 학습했습니다.
  • 로봇 제어: 자율주행차는 도로 상황에 따라 최적의 주행 경로를 찾아야 합니다. 강화 학습을 통해, 컴퓨터는 안전하고 효율적인 주행 방법을 보상으로 학습합니다.

이 세 가지 학습 방법은 각각의 상황에 맞게 사용되며, 우리가 일상에서 사용하는 많은 기술들에 적용되어 있습니다. 이를 통해 컴퓨터는 스스로 학습하고 점점 더 똑똑해질 수 있습니다.

그렇다면 머신러닝은 어떻게 활용되고 있을까요?

 

금융

머신러닝은사기 탐지, 신용 점수 평가, 알고리즘 거래 등에 활용됩니다. JP모건의 COiN 플랫폼은 계약서 분석을 자동화하여 수작업의 양을 크게 줄였습니다.

 

마케팅

고객 행동 분석, 맞춤형 추천 시스템, 고객 이탈 예측 등에 활용됩니다. 넷플릭스와 아마존은 ML을 통해 사용자 취향에 맞춘 콘텐츠와 제품을 추천합니다.

 

제조

예측 유지보수, 품질 관리, 공급망 최적화 등에 활용됩니다. GE의 Predix 플랫폼은 산업 장비의 운영 데이터를 분석하여 고장 발생을 예측합니다.


딥러닝(Deep learning)

딥러닝은 머신러닝의 하위 분야로, 인공신경망을 이용하여 대량의 데이터를 학습하는 기술입니다. 딥러닝은 특히 이미지 인식, 음성 인식, 자연어 처리 등의 분야에서 뛰어난 성능을 보이며, 여러 층의 신경망을 통해 복잡한 패턴과 특징을 학습할 수 있습니다.

인공신경망(Artificial Neural Network, 이하 ANN))

ANN은 인간의 뇌 구조와 기능을 모방하여 만든 컴퓨터 시스템으로 데이터에서 패턴을 학습하고, 예측을 수행하며, 복잡한 문제를 해결할 수 있습니다. ANN의 기본 단위는 뉴런(neuron)이며, 이는 여러 층(layer)으로 구성됩니다.

구성 요소:
▶입력층(Input Layer): 데이터를 입력받는 층입니다.
▶은닉층(Hidden Layers): 입력 데이터를 처리하고, 학습을 수행하는 층입니다. 이 층의 수와 구조는 네트워크의 복잡성에 따라 달라집니다.
▶출력층(Output Layer): 최종 결과를 출력하는 층입니다.

작동 원리:
1. 입력 데이터: 입력층으로 데이터를 입력받습니다.
2. 가중치와 편향: 입력 데이터는 가중치(weight)와 편향(bias)을 통해 은닉층으로 전달됩니다. 이 과정에서 각 데이터는 중요도에 따라 가중치가 부여됩니다.
3. 활성화 함수: 은닉층에서는 활성화 함수(activation function)를 사용해 비선형성을 부여하고, 데이터의 패턴을 학습합니다.
4. 출력: 은닉층을 거쳐 처리된 데이터는 출력층으로 전달되어 최종 결과를 도출합니다.

 

대규모 언어 모델(Large language model, 이하 LLM)

LLM은 수십억에서 수조 개의 파라미터를 갖춘 거대한 신경망으로, 방대한 텍스트 데이터를 학습하여 자연어 이해와 생성 능력을 갖춘 모델입니다. LLM은 주로 GPT-3와 같은 변형기(transformer) 구조를 기반으로 하며, 다양한 언어 작업에서 뛰어난 성능을 발휘합니다.

 

이러한 딥러닝을 실생활에 활용한 예는 다음과 같습니다. 

 

이미지 인식

딥러닝은 자율주행차의 객체 인식, 의료 영상 분석, 안면 인식 기술 등에 활용됩니다. 구글의 딥마인드가 개발한 AlphaGo는 딥러닝을 통해 바둑의 복잡한 패턴을 학습하여 인간 챔피언을 이겼습니다.

음성 인식

애플의 Siri, 구글의 Assistant, 아마존의 Alexa 등은 딥러닝을 통해 사용자 음성을 인식하고 이해하여 명령을 수행합니다.

 

자연어 처리

딥러닝은 번역, 텍스트 요약, 감성 분석 등 다양한 언어 처리 작업에 활용됩니다. OpenAI의 Chat GPT는 딥러닝을 통해 매우 자연스러운 텍스트를 생성할 수 있습니다.

자연어 처리(Natural Language Processing, 이하 NLP)

NLP는 컴퓨터가 인간의 언어를 이해하고 생성할 수 있도록 하는 기술로, 텍스트나 음성 데이터를 처리하여 의미를 분석하고, 적절한 응답을 생성하는 데 사용됩니다.

구성 요소:
▶토큰화(Tokenization): 텍스트를 단어, 문장 등 작은 단위로 나누는 과정입니다.형태소 분석(Morphological Analysis): 단어의 형태를 분석하여, 어근, 접사 등을 추출하는 과정입니다.
▶구문 분석(Syntactic Parsing): 문장의 구조를 분석하여, 주어, 동사, 목적어 등의 관계를 이해하는 과정입니다.
▶의미 분석(Semantic Analysis): 단어와 문장의 의미를 분석하는 과정입니다.

작동 원리:
1. 텍스트 입력: 컴퓨터는 텍스트 데이터를 입력받습니다.
2. 전처리: 입력된 텍스트를 토큰화하고, 불필요한 단어를 제거하며, 단어의 형태를 분석합니다.
3. 의미 분석: 전처리된 텍스트의 의미를 분석하여, 문장의 의미를 이해합니다.
4. 응답 생성: 분석된 의미를 바탕으로 적절한 응답을 생성합니다.