Embedding과 Hidden State 완전 정복 -벡터로 단어와 기억을 표현하는 방법
·
딥러닝 (Deep Learning)/[03] - 모델
지난 블로그에는 단순히 숫자를 index 해서 LSTM 으로 예측하는 코드를 설명했다.이번에는 알파벳(문자)를 예측하는 코드를 분석하면서, 궁금한 점에 대해 정리했다.학습, 예측 코드는 맨 아래 부분에 작성 했다. LSTM 코드 분석 [2-2편]이전 글에서 LSTM 이론적인 부분을 설명했습니다.  LSTM 이란? [2-1편]기본적인 순환신경망인 Vanilla RNN에 대해서 1편에서 설명 했습니다.하지만 현재는 Vanilla RNN 이 사용되고 있지 않습니다.어떠한ai-bt.tistory.com1. Embedding이란?"Embedding은 구분된(discrete) 데이터를 연속된(continuous) 숫자 벡터로 바꿔주는 기술이다."쉽게 말하면,"문자나 단어 같은 '이름'을 숫자 좌표 공간에 알맞게 꽂..
Sklearn-onnx 모델을 onnx 변환 방법 (with 성능 비교)
·
딥러닝 (Deep Learning)/[03] - 모델
Scikit-learn은 대표적인 머신러닝 라이브러리로, 다양한 모델을 빠르게 실험하고 적용할 수 있게 해줍니다.이 글에서는 Scikit-learn 모델을 ONNX(Open Neural Network Exchange) 형식으로 변환하는 방법과, 변환된 모델의 정확도 비교 방법까지 설명합니다.1. Scikit-learn 모델의 5가지 분류Scikit-learn에서 제공하는 모델들은 다음과 같이 5가지 주요 유형으로 나눌 수 있습니다.구분설명예시 모델Classifier분류 문제 해결LogisticRegression, RandomForestClassifierRegressor연속적인 수치 예측 문제 해결LinearRegression, GradientBoostingRegressorClusterer비지도 학습 기반..
Scikit-Learn 모델 분류 및 개념 정리
·
딥러닝 (Deep Learning)/[03] - 모델
개요Scikit-Learn은 수많은 머신러닝 알고리즘을 제공하는 Python 기반 대표 라이브러리입니다. 여기서 제공하는 모델들은 기능과 사용 목적에 따라 5가지 유형으로 나눌 수 있고, 이 각각은 sklearn-onnx에서도 ONNX로 변환 가능한 구조의 기준이 됩니다.이 글에서는 각 타입의 개념, 주요 모델, 변환 특징, ONNX 사용 시 고려 사항까지 정리해 보겠습니다.1. Classifier (분류기)개념입력 데이터를 미리 정의된 클래스(Label) 중 하나로 분류하는 지도 학습 모델주요 특징출력값이 이산형 (discrete) 클래스 값 (예: [0, 1], ['cat', 'dog'])fit(X, y)로 학습 → predict(X)로 예측확률 예측 가능: predict_proba(X)대표 알고리즘..
Maskformer
·
딥러닝 (Deep Learning)/[03] - 모델
MaskFormer는 이미지를 분할하기 위해 classification + segmentation의 통합 접근 방식을 제안한 모델이다. 전통적인 방식이 픽셀 단위의 분류에 초점을 맞췄다면, MaskFormer는 각 마스크를 하나의 객체로 취급하여 보다 효율적인 분할을 수행한다. 특히, 트랜스포머(Transformer)를 활용하여 객체 간의 상호작용을 학습하며, 마스크 예측(mask prediction)과 클래스 예측(class prediction)을 함께 수행한다. MaskFormer의 주요 구조MaskFormer는 크게 Pixel-Level Module, Transformer Module, 그리고 Segmentation Module로 구성된다.1. Pixel-Level Module입력 이미지를 백본(R..
U-Net3++
·
딥러닝 (Deep Learning)/[03] - 모델
UNet3+는 전통적인 UNet 모델의 한계를 극복하고자 제안된 세분화 모델이다. 특히 의료 이미지와 같은 고해상도 데이터에서 더욱 정교한 경계와 세부 정보를 보존하기 위해 설계되었다. 이 모델은 다중 스킵 연결(Multi-scale Skip Connection)과 복합 기능 집계(Deep Supervision)를 활용해 기존 UNet보다 뛰어난 성능을 보인다. UNet3+의 구조적 특징다중 스킵 연결 (Full-scale Skip Connection)UNet3+는 다양한 스케일의 정보를 병합하는 독창적인 스킵 연결을 도입했다. 기존 UNet은 단순히 인코더와 디코더 간의 동일한 레벨에서만 스킵 연결을 사용했지만, UNet3+는 더 많은 스케일의 피처 맵을 동시에 활용한다.이를 통해 지역적 세부 정보와 ..
DeepLab v1 아키텍쳐 분석
·
딥러닝 (Deep Learning)/[03] - 모델
DeepLab v1 아키텍쳐DeepLab v1은 딥러닝 기반의 이미지 분할 네트워크로, Dilated Convolution과 업샘플링(Bilinear Interpolation)을 활용하여 높은 해상도를 유지하면서도 넓은 수용 영역(Receptive Field)을 확보한다. 주요 구성 요소1. conv1 ~ conv4기본적인 합성곱과 ReLU 활성화 함수로 이루어져 있다.팽창율(Dilation Rate): 1MaxPooling을 통해 공간 크기를 줄인다.2. conv5팽창율(Dilation Rate): 2넓은 수용 영역을 확보하기 위해 팽창 합성곱 사용MaxPooling과 AvgPooling 적용3. FC6와 FC7 (Fully Convolutional Layers)FC6: 팽창율(Dilation Rate..
SegNet의 아키텍처
·
딥러닝 (Deep Learning)/[03] - 모델
SegNet은 이미지 분할 문제를 해결하기 위해 개발된 합성곱 신경망(CNN) 기반의 모델이다. SegNet은 주로 실시간 세그멘테이션에 초점을 맞추어 설계되었으며, U-Net과 같은 목적을 지니고 있지만 더 가볍고 효율적인 구조를 가지고 있다. 이 모델은 Enet 및 FCN과 같은 다른 세그멘테이션 모델들과 비교하여, 인코더-디코더 구조를 채택하고 있으며, 이를 통해 공간 정보를 유지하면서 효율적으로 이미지 분할을 수행할 수 있다.SegNet의 아키텍처SegNet은 크게 인코더(Encoder)와 디코더(Decoder)로 구성된 아키텍처이다. 이 아키텍처는 VGG16에서 영감을 받은 인코더 구조를 사용하지만, 주로 특징을 추출한 후 그 특징을 복원하는 방식으로 설계되었다. 인코더는 이미지를 점점 작게 만..
SVM(Support Vector Machine) 이란? [R-CNN]
·
딥러닝 (Deep Learning)/[03] - 모델
1. SVM 이란??SVM, 즉 Support Vector Machine은 지도 학습(Supervised Learning)의 한 종류로,주어진 데이터를 기반으로 새로운 데이터를 분류하는 데 사용되는 강력한 알고리즘입니다.이 모델은 기본적으로 데이터를 분류할 수 있는 최적의 경계(또는 선)를 찾는 일을 합니다.2. SVM의 기본 아이디어는 최적의 경계를 찾는 것!SVM은 두 클래스 사이의 Decision Boundary(결정 경계)를 찾습니다. 이 경계는 데이터를 가장 잘 분리할 수 있는 선을 의미합니다.예를 들어,키와 몸무게라는 두 가지 특징을 데이터를 이용해 사람들을 "운동 선수"와 "비운동 선수"로 분류하려고 합니다. 각 사람의 키와 몸무게는 좌표 평면에 점으로 나타낼 수 있습니다. SVM은 이 점들..
Bottom-up Region Proposals 이란? [R-CNN]
·
딥러닝 (Deep Learning)/[03] - 모델
컴퓨터 비전에서 객체 검출(Object Detection)은 이미지에서 특정 객체의 위치를 찾아내고,그 객체가 무엇인지를 식별하는 복잡한 작업입니다. 하지만 이미지 전체를 대상으로 모든 가능한 위치에서 객체를 찾으려면, 그 계산 비용은 엄청나게 커지게 됩니다.바로 이 문제를 해결하기 위해 등장한 개념이 Region Proposals 입니다.그 중에서도 오늘 이야기할 주제는 Bottom-up Region Proposals 입니다. 이 블로그는 R-CNN 논문에서 연결되는 개념입니다.1. Region Proposals란 무엇인가요? 간단히 말해, Region Proposals(영역 제안)은 이미지에서 객체가 있을 가능성이 높은 후보 영역을 찾아내는 과정입니다. 이러한 영역 제안은 객체 검출 과정에서 중요한 ..