Programming Study 43

AI Agent 심층 탐구

1. AI Agent란 무엇인가?AI Agent는 환경을 지각(Perception) → 의사결정(Decision Making) → **행동(Action)**을 수행하는 지능형 주체단순한 입력-출력 프로그램이 아니라 데이터와 경험을 통해 학습하면서 상황에 적용한다. 최신 AI Agent는 다음과 같은 기술로 강화된다. 멀티모달 모델: 텍스트·이미지·음성 등 다양한 입력을 동시에 처리RAG(Retrieval-Augmented Generation): 외부 지식 검색 후 답변 생성MCP(Model Context Protocol): 외부 도구·DB·서비스와 표준화된 연결핵심 : 환경과 상호작용하면서 목표를 달성하는 인공지능 시스템 2. 핵심 구성 요소 탐구 RAG (Retrieval-Augmented Gen..

OpenCV 기초 실습 노트 [1]

OpenCV 설치 확인 > 이미지를 메모리(ndarray)로 읽기/띄우기 > Matplolib와 색상 차이 (BGR / RGB) > 이미지 배열(shape/dtype)과 생성/편집 > 키보드 마우스 이벤트로 인터랙티브 드로잉 딥러닝 저처리, 시각화, 데이터 라벨링까지 기본기 바탕 "이미지를 숫자 배열" 이라는 감각 + 이벤트 루프" 이해가 핵심 0. 좌표계의 기본 개념 OpenCV에서는 왼쪽 위 모서리가 (0, 0) 입니다.(0,0) ────────────→ x축 (가로) │ │ │ │ ↓ y축 (세로)1. 이미지 크기 img = np.ones((500,500,3),dtype=np.uint8) * 255500 * 500 픽셀 크기의 흰색 이미지좌표 범위 : x는 0~499, y는 0~499 ..

AlexNet을 구현해서 안경 착용 여부를 분류하는 딥러닝 예제

프로젝트 목표AlexNet 이해: 2012년 ImageNet 대회에서 우승한 역사적인 CNN 모델 학습이진 분류 실습: 사람이 안경을 쓰고 있는지 안 쓰고 있는지 분류하는 모델 구현전체 플로우1단계 : 데이터 준비 및 탐색데이터 압축 해제 → 이미지 확인 → 데이터 분포 시각화 - Train/Val/Test 폴더별 glasses/noglasses 이미지 확인- 각 카테고리별 이미지 개수 막대그래프로 시각화2단계 : 데이터 전처리 이미지 크롭 → 리사이즈 → 데이터 증강 → 정규화 - 중앙 128x128 크롭으로 텍스트 레이블 제거- 227x227로 리사이즈 (AlexNet 입력 크기)- 수평 뒤집기, 회전, 색상 조정으로 데이터 증강- ImageFolder와 DataLoader로 배치 단위 로딩 3단계 ..

PyTorch 모델 저장과 불러오기

딥러닝 모델을 학습한 뒤에는, 나중에 다시 사용하거나 재학습을 이어가기 위해 저장(save) 과 불러오기(load) 과정을 거친다. PyTorch에서는 크게 두 가지 방법이 있다. 두 방법의 차이점과 장단점1. 가중치만 저장 (state_dict())장점 # 작은 파일 크기model_weights.pth # 약 2MB (가중치만)# 버전 호환성 좋음torch 1.8에서 저장 → torch 2.0에서 불러오기 가능# 모델 구조 변경 가능class NewCNN(nn.Module): # 클래스명 바껴도 OK def __init__(self): # 구조만 같으면 가중치 로드 가능단점 # 모델 클래스 정의 필수model = ConvNeuralNetwork() # 클래스가 없으면 에러!mod..

손글씨 도형 분류하기

손글씨로 그린 세 가지 도형을 자동으로 분류하는 AI 모델 개발 도형 : 원, 삼각형, X 모양 전체 플로우 1단계 : 데이터 준비 및 전처리 데이터 다운로드 > 이미지 변환 > 데이터로더 생성 shape.zip 파일을 압축 해제 후 train/test 폴더로 분리 이미지를 28x28 크기로 리사이즈그레이스케일 변환 (흑백)색상 반전 (검은 배경에 흰 글씨로)정규화 처리 2단계 : CNN 모델 설계 입력층 > 합성곱층들 > 풀링층 > 드롭아웃 > 완전 연결층 > 출력층 (3개 도형 클래스) 2개의 합성곱 블록으로 구성 각 블록마다 Maxpooling과 Dropout 적용최종적으로 3개 클래스 분류 3단계 : 모델 학습 50 에포크동안 반복 학습 > 손실함수 최적화 > 정확도 측정 Adam 옵티..

stride=2의 역할과 의미

CNN(합성곱 신경망)에서 stride란, 필터가 입력 이미지를 훑을 때 이동하는 보폭을 말한다. stride 값에 따라 출력 크기와 정보 처리 방식이 달라진다. 이번 글에서는 stride=2가 하는 역할을 MaxPooling과 비교하면서 정리해본다. 1. stride란 무엇인가?stride = 필터가 이동하는 보폭기본값은 보통 1이며, stride=2로 설정하면 필터가 두 칸씩 점프하면서 이동한다.2. stride=1 vs stride=2 비교stride=1 (기본값)입력: 6×6 이미지, 3×3 필터필터가 한 칸씩 이동출력: 4×4 (크기가 조금 줄어듦)stride=2입력: 6×6 이미지, 3×3 필터필터가 두 칸씩 점프출력: 2×2 (크기가 절반으로 줄어듦)즉, stride=2는 출력 크기를 절반으..

ReLU 함수는 왜 음수를 0으로 만들까?

딥러닝 모델에서 자주 사용되는 ReLU(Rectified Linear Unit) 함수는, 음수를 모두 0으로 바꾸고 양수는 그대로 통과시킨다.그렇다면 왜 굳이 이렇게 해야 할까? 이번 글에서는 음수값이 발생하는 경우와 그 이유, 그리고 ReLU가 학습에 미치는 효과를 예시를 들어가며 정리해본다. 1. 음수값은 어떤 경우에 나올까?1-1. 패턴이 반대일 때CNN에서 사용하는 필터는 특정한 모양을 감지하는 역할을 한다. 예를 들어, 어떤 필터가 "둥근 원형" 패턴을 찾도록 학습되었을 때, 만약 입력 이미지가 "직선"이라면 어떻게 될까?circle_filter = [[1, 1, 1], [1, -5, 1], [1, 1, 1]]straight_li..

자연어 처리(NLP) 기초와 Keras Tokenizer 실습

1. 자연어와 자연어 처리란? * 자연어 ( Natural Language )- 일상에서 쓰는 말과 글, 한국어, 영어, 일본어 등 모두 자연어 - 규칙적이면서도 예외가 많고, 문맥/늬앙스에 따라 의미가 달라지는 복잡성을 지님- 컴퓨터가 이해하기에는 너무 복잡하기 때문에 단순히 "문자열" 그 자체로는 활용하기 어려움 * 자연어 처리 (NLP, Natural Language Processing)- 컴퓨터가 인간의 언어를 이해하고, 분석하고, 생성할 수 있게 하는 기술 - 활용 분야 : 검색 엔진, 기계번역, 음성인식, 챗봇, 감정분석 - 핵심 포인트 :자연어 처리는 결국 "문자 > 숫자 > 의미 벡터"의 변환 과정이며, 이 과정을 통해 컴퓨터가 인간 언어를 계산 가능한 형태로 이해할 수 있게 만드는 것...

GCN 구현 예제, Cora 논문 인용 네트워크

1. 예제 코드의 목적과 역할 분석 그래프 신경망 중에서도 가장 기본이 되는 GCN을 구현한 예제 해결하려는 문제 : - 노드 분류 : 논문 인용 네트워크에서 각 논문(노드)이 어떤 주제 분야에 속하는지 예측 - 반지도 학습 : 전체 노드 중 일부만 라벨이 있는 상황 실무적 가치 :- 추천 시스템 : 사용자-아이템 관계 그래프에서 사용자 선호도 예측- 소셜 네트워크 분석 : 사용자 그룹 분류, 영향력 분석- 분자 구조 분석: 화합물의 특성 예측- 지식 그래프: 엔티티 분류 및 관계 예측 2. 필수 라이브러리 분석 import torch : 모델 정의, 옵티마이저 설정, 텐서 조작torch.nn.functional as F - 함수형 API : F.relu(), F.log_softmax(), F.nll..

YOLO 모델에서 특정 클래스 성능이 안나온다면?

1. Object Detection 이미지나 영상에서 특정 객체의 존재 여부를 확인하고, 해당 객체의 위치를 바운딩 박스로 표시하는 기술. 이미지 내에서 여러 개의 객체를 동시에 탐지하고 분류할 수 있다. 주로 CNN 모델 활용 자율주행, 보안감시, 의료 영상 분석, 증강현실 등 분야에서 활용됨 2. 객체 탐지 방식의 분류 객체 탐지 방식은 크게 전통적 기법과 딥러닝 기반 기법으로 나눌 수 있다. 1. 전통적인 기법 이미지에서 특징 (Feature)을 추출해 객체를 탐지하는 방식 대표적으로 HOG+SVM, Haar Cascade, Selective Search 등이 있음 최근에는 딥러닝 기법 대비 성능이 떨어져 잘 사용되지 않음 2. 딥러닝 기반 기법 딥러닝 기법은 크게 Two-Stage와 One-S..