문과생도 이해하는 인공지능 101
MLOps
ML 단계: 데이터 수집, 전처리, 모델을 위한 신경망 구축, 학습, 평가 등
Ops 단계: 모델 배포, 모니터링, 테스트 등
- 데이터 준비 및 전처리: 판다스, 넘파이
- 모델 학습: 텐서플로, 파이토치
- 모델 배포: 쿠버네티스, 도커
- 모니터링 및 유지보수: 프로메테우스, 그라파나
캐글(Kaggle)
데이터 사이언티스트들이 경쟁적으로 데이터 분석 문제를 해결하는 플랫폼
소타(SOTA: State Of The Art)
어떤 분야에서 현재 가장 우수한 기술, 모델 또는 방법론
코랩(Colaboratory)
구글이 개발한 온라인 노트북 환경
주피터 노트북과 유사한 기능 제공, 구글 클라우드에서 실행됨 → 설치형이 아님
- 무료로 사용가능
- GPU 지원
- 다양한 ML, DL(Deep Learning) 라이브러리, PL(Programming Language) 지원
오닉스(ONNX, Open Neural Network Exchange)
딥러닝 모델을 서로 다른 프레임워크에서 사용할 수 있도록 지원
모델 공유 및 재사용 → 개발 생산성 향상
자연어 처리(NLP, Natural Language Processing)
인간이 사용하는 언어를 컴퓨터가 이해하고 처리하도록 하는 분야
인코딩·벡터(Encoding·Vector)
- 인코딩: 자연어를 이해할 수 있도록 데이터를 이진수로 변환하는 과정
- 벡터: 숫자의 나열로 화살표로 표현되며 길이와 방향을 가짐
임베딩(Embedding)
자연어를 벡터로 변환하는 과정, 단어나 문장의 의미를 파악하여 벡터로 표현
※ 인코딩: 단순히 입력 데이터를 컴퓨터가 이해할 수 있는 형태로 변환
코사인 유사도(Co-sine Similarity)
두 개의 벡터 간의 유사도 계산할 때 사용됨
데이터 분류 및 추천 서비스 등을 구현할 수 있음
디코딩(Decoding)
인간이 이해할 수 있는 언어로 변환하는 과정
토큰·토큰화(Token·Tokenization)
- 토큰: 텍스트 데이터에서 의미 있는 최소 단위
- 토큰화: 문장을 토큰으로 나누는 과정
BoW(Bag of Words)
단순히 단어의 출현 빈도에 기반하여 문서를 벡터로 표현
TF—IDF
BoW 한계를 보완하는 자연어 처리 기법
단어의 등장 빈도뿐만 아니라 단어의 중요도도 고려하기 때문에 유사도 검출 측면에서 우수한 성능을 보여줌
STT·TTS(Speech to Text·Text to Speech)
AICC(AI Contact Center, AI 콜센터) 분야에서 많이 사용됨
- STT: 음성 데이터를 텍스트로 변환하는 기술
- TTS: 텍스트를 음성으로 변환하는 기술
순환 신경망—RNN(Recurrent Neural Network)
시계열 데이터를 처리하는 데 주로 사용
→ 시간상 이전 데이터와 현재 데이터를 함께 처리하고 그 상태를 기억한 후 다음 상태를 예측
트랜스포머(Transformer)
딥러닝의 일종인 인코더—디코더(Encoder-Decoder) 구조를 사용한 모델
→ 특히 자연어 처리 분야, 번역 분야에서 많이 사용됨
- 인코더: 입력 데이터에서 정보 추출
- 디코더: 인코더에서 추출한 정보를 이용하여 출력 문장 생성
트랜스포머는 문장 전체를 이해하고 번역하기 때문에, 그 이전 모델처럼 단어 하나씩 번역하지 않게 되어 자연어 처리가 더 자연스러워졌음
어텐션(Attention)
모델이 입력 데이터의 특정 부분에 '집중'하고 그 부분을 더 중요하게 취급하는 기술
→ 입력 데이터를 처리하는 동안 "어떤 부분이 더 중요한가?"를 결정하는 도구
전이학습(Transfer Learning)
이미 학습된 모델이 비슷한 종류의 문제를 더 빠르고 효과적으로 해결할 수 있도록 도와줌
컴퓨터 비전(Computer Vision)
인간이 사물을 인식하는 과정을 컴퓨터에서도 동일하게 처리할 수 있도록 구현
→ 단순히 보는 것에서 끝나는 것이 아니라 이미지나 비디오에서 중요한 패턴이나 특징을 추출하는 과정도 포함
예: 자율 주행
※ 비전 AI: 특히 인공지능과 머신러닝을 사용하여 시각적 데이터를 분석하고 해석하는 데 초점을 맞춘 분야
OCR(Optical Character Recognition)
이미지나 스캔한 문서에서 텍스트를 인식·추출하는 기술
이미지 캡셔닝(Image Captioning)
컴퓨터 비전 및 자연어 처리 기술의 결합
→ 이미지의 시각적 내용을 인간의 언어로 설명하는 기술
합성곱 신경망(CNN, Convolutional Neural Network)
이미지, 비디오와 같은 데이터를 처리하기 위한 인공신경망
→ 계층을 지나갈수록 입력 데이터를 점차적으로 추상화하면서 분류하는 방식으로 작동
→ 이미지 분류·객체 검출·이미지 분할 등 컴퓨터 비전 분야에서 사용됨
경계 감지(Boundary Detection)
엣지 검출(Edge Detection)이라고도 불리며, 이미지 물체의 경계를 찾아내는 기술
→ 이미지의 밝기나 색상 값의 변화를 이용하여 객체의 윤곽을 찾음
거대 언어 모델(LLM, Large Language Model)
수십억 개의 파라미터와 대용량의 데이터셋을 이용한 딥러닝 기반의 언어 모델
예: 오픈AI사의 GPT(Generative Pre-trained Transformer) 시리즈, 구글의 버트, 제미나이
파라미터(Parameter)
데이터를 학습하고 예측을 수행하는 데 사용되는 변수. 머신러닝에서는 가중치와 편향이 대표적
예: 자전거의 안장 높이, 핸들 방향, 기어 등
→ 일반적으로 파라미터의 개수가 많을수록 텍스트 생성 및 처리가 더 자연스러움
하이퍼 파라미터(Hyperparameter)
모델이 학습되기 전에 사람이 외부에서 지정해 주는 값
→ 학습 과정에서 스스로 최적화되는 모델 파라미터(가중치·편향)와 구별됨
예: 학습률(learning rate), 배치 크기(batch size), 에포크 수(epoch), 옵티마이저 종류(Adam, SGD 등), 드롭아웃 비율 등
→ 경사하강법으로 업데이트되지 않음
→ 어떤 값을 주느냐에 따라 학습 속도·최종 성능·과적합 여부가 크게 달라짐
→ “학습 과정의 환경설정”에 가까움
경사하강법(Gradient Descent)
모델이 오차를 줄이는 방향으로 학습하게 해주는 알고리즘
→ 손실 함수(loss function)의 값을 최소화하기 위해, 기울기(gradient)를 따라 조금씩 내려가는 방식으로 파라미터(가중치)를 업데이트함
→ 경사는 미분, 이동량은 학습률, 방향은 내리막길
편향(Bias)
학습의 '기본값'과도 같음
→ 모델이 예측하는 결과를 조금 더 정확하게 보정하도록 돕는 요소
예: 영점 사격 후 조준 장치 조정하는 경우
활성화 함수(Activation Function)
정보를 다음 계층으로 어떤 형태로 전달할지 결정
예: 시그모이드(Sigmoid), 렐루(ReLU), 리키 렐루(Leaky ReLU)
기울기 소멸 문제(Gradient Vanishing Problem)
은닉층이 많은 다층 퍼셉트론에서 발생
→ 은닉층을 많이 거칠수록 학습이 되지 않는 현상
→ 마치 메아리가 울려 퍼질수록 점점 약해지는 현상과 비슷
→ 입력층과 가까운 부분은 오차를 줄이기 위한 신호를 충분히 받지 못해 학습이 잘 이루어지지 않음
사전 학습 모델(Pre-trained Model)
대규모 데이터셋으로 누군가에 의해 미리 학습된 모델
생성형 인공지능(Generative AI, Gen AI)
인간처럼 곡이나 글을 쓰거나 그림을 그리는 것 등의 창조적인 작업을 수행할 수 있는 인공지능
예: 챗GPT, 달리(DALL·E)
프롬프트·컴플리션(Prompt·Completion)
- 프롬프트(Prompt): 사용자의 질문
- 컴플리션(Completion): 챗GPT가 주는 답변
멀티모달(Multimodal)
텍스트, 이미지, 음성, 동영상 등 다양한 형식의 정보를 결합하여 사용자에게 보다 풍부한 경험을 제공하는 것
클래스(Class)
분류하고자 하는 대상의 종류나 카테고리
→ 클래스 = 라벨(Label) = 정답의 종류
제로샷 러닝(Zero-shot Learning)
사전 학습된 모델이 추가 학습을 하지 않아도 데이터를 잘 분류할 수 있는 기술
→ 새로운 분류에 대한 훈련 데이터가 없어도 속성을 기반으로 학습하여 새로운 클래스를 인식하고 분류할 수 있는 능력
→ 각 클래스를 설명하는 속성을 학습시키는 것이 중요
원샷 러닝(One-shot Learning)
사전 학습된 모델에 하나의 데이터로 추가 학습을 시켜도 데이터를 잘 분류할 수 있는 기술
→ 새로운 입력이 주어지면 기존의 학습된 입력과 비교하여 유사한 패턴을 찾고 예측함
퓨샷 러닝(Few-shot Learning)
사전 학습된 모델에서 매우 적은 수의 데이터로 추가 학습을 시켜도 데이터를 잘 분류할 수 있는 기술
파인튜닝(Fine-tuning)
사전 학습된 모델을 기반으로 새로운 문제에 맞게 추가 학습시키는 기술
→ 이미 학습된 모델(=사전학습 모델)을 내 문제에 맞게 살짝 수정해서 다시 학습
→ 처음부터 모델을 학습하려면 데이터도 많고 시간도 많이 필요하기 때문에 이미 기본 능력을 갖춘 모델을 가져와서, 내 데이터로 조금만 더 학습시키는 게 훨씬 효율적
RAG(Retrieval-Augmented Generation)
질문 들어오면 먼저 관련 문서나 데이터에서 정보 검색함 (retrieval)
그다음 그 정보를 바탕으로 텍스트 생성함 (generation)
→ 기존 모델처럼 ‘기억 속 정보’만 쓰는 게 아니라, 외부 지식 실시간으로 찾아서 답변 생성하는 방식
→ 정확성 높고, 출처도 명확해짐
→ 보통 벡터DB(FAISS, Pinecone 등)랑 같이 사용함. 질문을 임베딩한 후 유사한 문서 찾아서 답변에 활용
CAG(Context-Augmented Generation)
비슷한 개념이지만 검색보다는 ‘맥락’에 집중함
예: 사용자와의 이전 대화, 설정값, 흐름 같은 ‘문맥’을 더 잘 반영해서 답변 생성
→ RAG가 지식 기반 보강이라면, CAG는 문맥 기반 보강에 가까움
→ RAG처럼 널리 쓰이는 용어는 아니지만, 챗봇이나 프롬프트 체인 만들 때 자주 등장함
랭체인(LangChain)
앱 생성을 위한 프레임워크
→ 언어모델을 이용한 앱을 쉽게 만들 수 있게 해줌
구조(입력 → 검색 → 생성 → 출력까지 연결된 파이프라인) 만들 때 유용한 프레임워크가 **LangChain(랭체인)**임
→ LLM 기반 앱을 쉽게 만들 수 있도록 도와주는 오픈소스 라이브러리
→ 텍스트 생성, 검색, 요약, 툴 호출 등 여러 기능을 체인처럼 연결해서 파이프라인 구성 가능
→ 특히 RAG 구현할 때 많이 쓰임
→ 예: 문서 업로드 → 벡터화 → 검색 → 생성까지 한 줄로 구성 가능
설명 가능한 인공지능(Explainable AI, XAI)
인공지능 모델의 동작과 의사 결정 과정을 설명하고 이해하기 쉽게 만드는 기술
→ 인공지능 모델이 내린 결정에 대한 이유와 근거를 제공하여 모델의 신뢰성과 투명성을 높임