[Terminology] Situation Awareness에 대해 알아보자
·
Research
Situation Awareness(상황 인식)는 다양한 분야에서 사용되는 개념으로, 개인이나 시스템이 주어진 상황에서 중요한 정보를 수집, 이해, 그리고 예측하는 능력을 의미한다. 이는 특히 항공, 군사, 의료, 운송, HCI(인간-컴퓨터 상호작용) 같은 분야에서 의사결정과 행동을 지원하는 데 중요한 역할을 한다.Situation Awareness의 정의 1995년 Endsley는 상황 인식을 세 단계로 구분하여 설명하였다. 이는 다음과 같다.Level 1 - Perception (지각):현재 상황에서 중요한 요소를 감지하고 식별하는 단계이다. 예를 들어, 조종사가 비행기의 속도, 고도, 기상 정보를 읽는 과정에 해당한다.Level 2 - Comprehension (이해):감지한 정보를 바탕으로 현재 ..
[LLM] RAG 개선하기 (3) - 바이 인코더 + 교차 인코더
·
AI
RAG를 개선하는 최종 목적지는 결국 바이 인코더로 유사도가 높은 상위 검색 결과에 교차 인코더를 다시 한번 적용하여 검색 정확도를 최대한 끌어올리는 데에 있다. 이를 위해 이번 시간에는 교차 인코더를 구현해 보고, 이어서 바이 인코더와 교차 인코더를 조합하여 최적의 검색 기능을 만들어 보자. 그러기 위해서 앞서 작성한 포스팅들이 큰 도움이 될 것이다.  [LLM] 임베딩 모델로 데이터 의미 압축하기 (2) - 문장 임베딩 방식[LLM] 임베딩 모델로 데이터 의미 압축하기 (1) - 텍스트 임베딩 이해하기컴퓨터가 자연어를 이해하려면 텍스트를 숫자로 바꿔야 하는데, 이 과정에서 '임베딩'이라는 방식이 쓰인다. 오늘은 텍스dusanbaek.tistory.com 교차 인코더 구현 교차 인코더의 A to Z를 ..
[LLM] RAG 개선하기 (2) - 임베딩 모델 미세 조정하기 (Fine-Tuning)
·
AI
이번 시간에는 좋은 임베딩 모델을 만들어 검색 쿼리와 관련된 문서를 잘 찾게 만들어 보자. 이를 위해 임베딩 모델을 KLUE의 MRC 데이터셋으로 추가 학습시키도록 하겠다.사전 학습된 모델의 성능 살펴보기 데이터 전처리 from datasets import load_datasetklue_mrc_train = load_dataset('klue', 'mrc', split='train')klue_mrc_train[0]# {'title': '제주도 장마 시작 … 중부는 이달 말부터',# 'context': '올여름 장마가 17일 제주도에서 시작됐다. 서울 등 중부지방은 예년보다 사나흘 정도 늦은 이달 말께 장마가 시작될 전망이다.17일 기상청에 따르면 제주도 남쪽 먼바다에 있는 장마전선의 영향으로 이날 제주도..
[LLM] RAG 개선하기 (1) - 언어 모델을 임베딩 모델로 만들기
·
AI
이전 포스팅에서는 두 문장 간 유사도를 비교하는 방법 두 가지인 바이 인코더와 교차 인코더 중 비교적 구현이 간단한 바이 인코더에 대해서 알아보았다. 하지만 교차 인코더의 정확도도 포기할 수 없으므로, 두 인코더의 장점을 살려 더 높은 성능의 검색을 구현하는 방법에 대해 알아보자. 또 기존의 문장 임베딩 모델을 가져와서 사용하기만 하는 것이 아니라, 이번에는 순수의 BERT 모델을 가져와 문장 임베딩 모델로 학습시켜 보자.검색 성능을 높이기 위한 두 가지 방법 허깅페이스 모델 허브에서 사전 학습된 문장 임베딩 모델을 가져와 그대로 사용할 경우, 우리의 RAG가 가진 데이터셋으로 학습을 한 것이 아니므로 정확도가 떨어질 수 있다. 이를 극복하기 위해 할 수 있는 두 가지 방법을 알아보자. 데이터 추가 학습..
[Terminology] 체계적 문헌 고찰, PRISMA에 대해 알아보자
·
Research
Preferred Reporting Items for Systematic Reviews and Meta-Analyses (PRISMA)는 체계적 문헌 리뷰와 메타 분석의 투명성과 완전성을 보장하기 위해 개발된 보고 지침이다. PRISMA는 연구자가 체계적 리뷰를 계획, 수행, 보고할 때 일관되고 명확한 방식을 제공하여 연구 결과의 신뢰성과 재현 가능성을 높이는 데 도움을 준다. PRISMA의 주요 요소체계적 리뷰 과정PRISMA는 체계적 문헌 리뷰와 메타 분석의 각 단계를 구조화된 방식으로 수행하고 보고하도록 설계되었다. 주요 단계문헌 검색: 연구 대상 문헌을 체계적으로 수집선정 기준: 포함/제외 기준을 명확히 정의데이터 추출: 선택된 문헌에서 필요한 데이터를 체계적으로 추출결과 보고: 리뷰 결과를 체계..
[GitHub] master branch를 main branch로 변경하기
·
etc
깃허브를 초반에 사용했었을 때에는 master 브랜치를 루트 브랜치로 사용하곤 했다. 그래서 그게 표준이라고 생각했었는데, 어느샌가 main 브랜치로 바뀌었더라. 별로 중요하지 않아서 안 바꿔줘도 되지만 여러 Repo와의 통일성과 나름의 강박으로 인해 바꾸려 한다. 해당 상황은 원격 브랜치도 master, 로컬 브랜치도 master인 경우를 가정한다. git branch# if not in master branch, thengit checkout master 먼저 현재 브랜치를 확인한다. 만약 master 브랜치가 아니라면, master 브랜치로 이동해 준다. git branch -m master main 이어서 master 브랜치를 -m 옵션을 통해 main이라는 새로운 이름으로 변경해 준다. git ..
인간공학에서 AI는 어떻게 쓰일까? - ML, XAI, CV, LLM
·
Research
인공지능의 성장속도는 어마무시하게 빠르다. 하루가 멀다 하고 새로운 기술, 패러다임, 논문이 쏟아져 나오고, 어제의 신기술은 오늘의 구식 기술이 돼버린다. 그런데 결국 이를 실제로 사용하는 사람의 입장에서 가장 크게 와닿는 것은 무엇인가? 당신은 AI라 하면 뭐가 가장 먼저 떠오르는가? 그것은 바로 챗봇이다. 그중 ChatGPT가 제일 먼저 생각날 테고, 조금 배운 사람은 Llama나 Gemini 정도를 언급할 것이다. ChatGPT가 등장한 후로부터 2년이 갓 지난 시점인 지금, 아직 짧은 기간밖에 안 됐다고 생각할 수도 있으나 AI는 아직 그 무궁무진한 가능성만 운운하며 실제 사람들에게는 크게 와닿지 못하고 있는 듯하다.활용 방안의 부족 서두에 말했듯 AI 기술 자체는 빠르게 발전하고 있지만, 이를 ..
[Terminology] XAI에 대해 알아보자 - Explainable Artificial Intelligence
·
Research
XAI(Explainable Artificial Intelligence)는 말 그대로 설명 가능한 인공지능을 뜻한다. 인공지능의 결과나 행동에 대해 사람이 이해할 수 있는 형태로 설명을 제공하는 기술 및 접근법을 모두 포괄하는, HCI와 인간공학에서 연구되는 분야이다.Background 전통적인 머신러닝의 방법론에서 깊은 인공신경망 (DNN), 합성곱 신경망 (CNN), 시계열 분석, 그리고 거대 언어 모델 (LLM)에 이르기까지 인공지능은 다양한 분야에서 그 활용성을 입증하고 있다. 그러나 초반의 통계적인 방법론에 의한 기계 학습 기법과 대비되게, 좀 더 발전된 형태의 딥러닝 모델들은 그들의 의사 결정과 행동의 인과를 알 수 없는 블랙박스적 특징을 한계로 지니고 있다. 그들이 어떤 의사 결정을 하는 것..
[LLM] 임베딩 모델로 데이터 의미 압축하기 (3) - 의미, 키워드, 하이브리드 검색
·
AI
사용자의 쿼리를 바탕으로 이에 걸맞은 정보를 얻기 위해서는 어떤 방식의 검색 알고리즘을 사용하는 것이 좋을까? 이번 시간에는 임베딩 변환 후 유사도 기반의 의미 검색과 단순히 키워드로 같은 문자열을 찾아내는 키워드 검색 중 하나인 BM25, 그리고 이들을 합친 하이브리드 검색에 대해 구현해 보자. 의미 검색 사실 수식으로 따지면 임베딩이 차지하는 비율이 높기 때문에 굉장히 복잡한 구현이 필요하지만, 우리는 임베딩 라이브러리인 sentence-transformer와 벡터 연산 라이브러리인 faiss를 통해 간단히 구현할 수 있다. from datasets import load_datasetfrom sentence_transformers import SentenceTransformerklue_mrc_data..
[Terminology] Modality에 대해 알아보자 - Modality, Multimodal
·
Research
모달리티라는 개념은 AI 분야에서 ChatGPT-4부터 가능해진 멀티모달이란 용어가 등장하면서 유명해진 것 같지만, 사실 HCI나 인간공학 분야에서 오래토록 연구되어 왔던 주제들에서 핵심 키워드에 해당한다. 멀티모달이라고 하면 서로 다른 종류의 input이 가능하다는 단편적인 의미로만 쓰이는 것 같고, 좀 더 포괄적인 개념에 대한 이해가 부족한 것 같아 정리해보려 한다. 다시 돌아가서, 그렇다면 modality는 input인가? 겹치는 부분이 있을 수야 있겠지만 동치는 아니다.모달리티 (Modality)인간의 감각, 행동, 또는 의사소통 방법을 나타내는 용어로, 특정한 종류의 정보를 처리하거나 표현하는 방식 모달리티는 단순히 입력 방식(input) 이상의 개념으로, 정보의 전달 방법과 표현 방식을 포함한..