본문 바로가기

AI87

Pascal데이터셋 + YOLOv8s를 이용한 디텍션해보기 더보기반자동화툴 사용해보기 CVAT을 이용한 오브젝트 디텍션을 해보려고 한다.가장 많이 쓰이는 반자동 어노테이션 TOOL('https://www.cvat.ai/')을 사용하려고 합니다.CVAT은 커스텀데이터셋을 제작할 수 있고, 그 부분을 YOLO,COCO등 JOSN형태로 또 내보내줍니다. 현업에서도 많이 사용하는 부분같더라구요.  더보기   이 이미지를 가지고 데이터어노테이션(주석)을 달아보려고 합니다. 어노테이션중에서도 폴리곤을 해보려고한다.  지난번에는 그낭 바운딩박스로 했는데 폴리곤은 처음해보는것같다.해보니까 생각보다 많이 세심하게 작업해야될것같다.사용방법은 > 오각형을 누르고 시프트를 누르면 그냥 드래그하면 클릭하지않아도 잘 따라와집니다.맘에 안들면 esc 누르면 지워지고  재작업 해도됩니다.O.. 2025. 3. 25.
OpenCV - 영상필터링 연산 | 블러처리 | Canny ▶영상의 필터링 연산영상의 필터링 연산(Image Filtering Operation) 은 영상의 특성을 강조하거나 잡음을 제거하기 위해 커널(필터)을 활용하여 픽셀 값을 변환하는 과정입니다. OpenCV에서는 필터링을 통해 노이즈 제거, 엣지 검출, 블러 효과, 샤프닝 등의 처리를 수행할 수 있습니다. 대표적인 필터링 기법으로는 평균 블러링(Averaging), 가우시안 블러링(Gaussian Blur), 미디언 블러링(Median Blur) 등이 있으며, cv2.blur(), cv2.GaussianBlur(), cv2.medianBlur() 함수를 통해 적용할 수 있습니다. 또한, 고급 필터링 기법으로 소벨 필터(Sobel Filter), 라플라시안 필터(Laplacian Filter) 와 같은 엣지.. 2025. 3. 24.
OpenCV - Morphological | Diagonal Approximation ▶ 모폴로지 연산모폴로지 연산(Morphological Operations) 은 이진화된 영상에서 객체의 형태를 조작하는 연산으로, 침식(Erosion), 팽창(Dilation), 열기(Open), 닫기(Close) 등의 기법을 포함합니다. 모폴로지 연산은 주로 노이즈 제거, 객체의 형태 보정, 경계 강조, 윤곽선 추출 등에 사용됩니다. OpenCV에서는 cv2.morphologyEx() 함수를 통해 다양한 모폴로지 연산을 적용할 수 있으며, 구조 요소(커널, cv2.getStructuringElement())를 정의하여 원하는 형태로 연산을 수행할 수 있습니다. 침식(Erosion)은 객체를 축소하여 작은 노이즈를 제거하는 데 사용되며, 반대로 팽창(Dilation)은 객체를 확장하여 빈 공간을 채우는.. 2025. 3. 21.
OpenCV 영상처리 | 영상이진화 | 오츠이진화 | 적응형 이진화 ▶ 영상처리import cv2import sys IMPORT SYS는내 컴퓨터에 시스템에 관련된 모듈입니다. cap = cv2.VideoCapture('260397_tiny.mp4') VideoCapture라는 클래스가 하는 일!1. 외부에있는 동영상을 불러오기!2. 웹캠을 실행해줄 수 있습니다 import cv2import syscap = cv2.VideoCapture('260397_tiny.mp4')if not cap.isOpened(): print('동영상을 불러올 수 없음') sys.exit()print('동영상 불러오기 성공')print('가로 사이즈: ', int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)))print('세로 사이즈: ', int(cap.get(cv.. 2025. 3. 19.
OCR 광학 문자인식 1. OCROCR(Optical Character Recognition, 광학 문자 인식) 는 이미지나 문서에서 문자를 식별하고 디지털 텍스트로 변환하는 기술입니다. OCR은 주로 스캔된 문서, 사진 속 글자, 번호판, 손글씨 등의 텍스트를 자동으로 인식하는 데 사용됩니다. 기본적인 OCR 방식은 이미지 전처리(그레이스케일 변환, 이진화, 노이즈 제거) 후 문자 영역을 감지하고, 문자 패턴을 데이터베이스와 비교하여 최적의 텍스트를 추출하는 과정으로 이루어집니다. OpenCV와 Tesseract OCR을 사용하면 Python에서 쉽게 구현할 수 있으며, 딥러닝 기반의 EasyOCR, PaddleOCR, Google Vision OCR 등을 활용하면 한글과 다양한 언어의 인식률을 더욱 높일 수 있습니다. O.. 2025. 3. 18.
OpenCV - getRotationMatrix2D| getPerspectiveTransform ▶ 이미지 로테이션 import cv2img = cv2.imread('D:/PJ/DLHJ/ong.jpg')img = cv2.resize(img, (300,300))#이미지 회전을 위한 중심좌표 조건 설정cp = (img.shape[1]/2, img.shape[0]/2)print(cp) #(1512.0, 1512.0)#회전조건 설정rot = cv2.getRotationMatrix2D(cp, 30, 0.5)#이미지 적용(Affine)dst = cv2.warpAffine(img, rot, (0,0))#이미지 확인cv2.imshow('img', img)cv2.imshow('dst', dst)cv2.waitKey() 이미지로테이션을 하기 위해서 이미지를 불러왔다. 내가 좋아하는 우리 옹이를 사진으로 사용하기 위해.. 2025. 3. 17.
OpenCV 정리_Grayscale, Color, Matplotlib, NumPy 활용법 ▶프로젝트 환경은 코랩으로 진행! 하려고 했으나 cv2.imshow()는 지원하지 않기때문에 불가했다.결론은 pycharm으로 진행함! ▶ Open CV 영상을 처리하는 모듈이다. 그래서 따로 설치를 해야한다. 아래에서 설명하는건 Opencv로 할 수 있는것들을 따로 정리해볼 겸 정리하려고 한다! 1. Grayscaleimport cv2#그레이스케일 변환img1 = cv2.imread('D:\PJ\DLHJ\dog.bmp', cv2.IMREAD_GRAYSCALE)print(img1)cv2.imshow('img', img1)cv2.waitKey() 그레이스케일은 가장 많이 사용하는 범위가 넓다. 보통 컬러로 이미지처리연산을 하는것보다는 그레이스케일로 연산하는것이 좀 더 연산량도 적고 빠르기때문이다. 한 이미.. 2025. 3. 12.
OpenCV & 영상 처리 핵심 개념 | Grayscale, RGB, True Color 1. OpenCV (모듈)OpenCV(Open Source Computer Vision Library)는 실시간 컴퓨터 비전 및 이미지 처리를 위한 오픈소스 라이브러리입니다. Python에서 cv2 모듈을 통해 사용할 수 있으며, 이미지 및 영상의 읽기, 변환, 필터링, 객체 검출, 특징 추출 등의 다양한 기능을 제공합니다. 또한, NumPy와의 호환성이 좋아 배열 연산을 활용한 고속 이미지 처리가 가능하며, 머신러닝 및 딥러닝 모델과도 쉽게 연동할 수 있습니다. 주로 얼굴 인식, 객체 추적, 증강 현실(AR), 자율 주행 등의 분야에서 널리 활용됩니다. 즉 이걸 외워놓으면 좀 영상처리는 편할 수 있다. ▶ Google COLAB환경 실행방법!pip install opencv-python!pip inst.. 2025. 3. 11.
computer Vision_Classification 1. Classification분류(Classification)은 이미지나 비디오에서 객체나 패턴을 식별하고 이를 미리 정의된 카테고리 중 하나로 분류하는 작업입니다.강아지 vs 고양이 를 구별하거나 특정 물체가 무엇인지를 분류하는것입니다.이 과정은 이미지 데이터를 입력 받아서 딥러닝 모델이나 머신러닝 알고리즘을 통해 각 이미지가 어떤 클래스에 속하는지 예측하는 방식으로 진행됩니다. 이때 사용되는 모델로는 cnn이 있으며 학습된 모델은 새로운 이미지에 대해서도 빠르고 정확하게 분류할 수 있다. 분류는 이진분류 | 다중분류로 나눌 수 있다.2. Surface Crack Detection 데이터셋 Surface Crack Detection 데이터셋은 콘크리트 표면에서 균열을 자동으로 탐지하기 위한 학습 데이.. 2025. 3. 10.
VGG19를 이용한 표면 균열(crack) 감지해보기 | 2개분류 사용데이터 : 케글에있는 표면 균열 탐지 데이터셋 활용https://www.kaggle.com/datasets/arunrk7/surface-crack-detection?resource=download Surface Crack DetectionConcrete surface sample images for Surface Crack Detectionwww.kaggle.com  데이터셋 구조 Negative, Postive로 나뉜다. 각각 2만장씩 있다.  ▶ 데이터 가져오기kaggle 에서 다운로드 클릭 -> kaggle CLI를 클릭하면 리눅스에서 사용할 수 있는 다운로드 명령어가 나옵니다. 그렇게 해서 바로 COLAB에서 사용할 수 있다! !kaggle datasets download arunrk7/sur.. 2025. 3. 9.
Computer Vision_개념을 다시한번 잡기 위한 글 1. 컴퓨터 비전컴퓨터 비전은 인공지능(AI)의 한 분야로, 컴퓨터가 인간처럼 이미지나 영상을 이해하고 분석할 수 있도록 하는 기술입니다. 이는 객체 검출, 이미지 분류, 얼굴 인식, 장면 이해 등 다양한 작업을 포함하며, 주로 머신러닝과 딥러닝을 활용하여 이미지 속 특징을 추출하고 패턴을 학습합니다. 예를 들어, 자율주행 자동차는 컴퓨터 비전을 사용하여 도로의 차선, 보행자, 신호등을 인식하며, 의료 영상 분석에서는 CT나 MRI 이미지를 분석하여 질병을 진단할 수 있습니다. 최근에는 합성곱 신경망(CNN)과 같은 딥러닝 모델이 발전하면서 컴퓨터 비전의 성능이 크게 향상되었으며, 다양한 산업에서 활발히 활용되고 있습니다. 2. 컴퓨터 비전에서의 프레임워크컴퓨터 비전에서 주로 사용하는 프레임워크로는 Op.. 2025. 3. 6.
ViT 모델로 YOLO 미검출 객체 실험-1 이번에 비전트렌스포머를 논문리뷰한 후 더불어서 모델에 대한 지식적인 측면과 코드단에서돌려보는것이 피드백이었는데 ViT모델을 읽은 후 모델 특징을 이용해서 간단하게 돌려보려고 한다. 일단 ViT의 모델에 대해 크게 기억해야할 부분은 매우 큰 데이터셋으로 사전학습을 했기때문에 큰 모델이라는점 작은 모델로 파인튜닝시 더 좋은 성능을 낸다는 점이다. 조금 더 딥하게 들어가서 생각하면  ✅ ViT와 CNN의 근본적인 차이로CNN은 합성곱연산을 통해 국소적인(local)특징을 학습하지만ViT는 이미지를 패치로 나눈 후 Transformer의 Self-Attention을 사용하여 글로벌 관계를 학습한다.즉 cnn은 작은 영역에서 점진적으로 특징을 추출하는 반면, ViT는 전체 이미지에서 중요한 패치들을 한 번에 비교.. 2025. 2. 27.
[컴퓨터 비전] YOLO로 폐 질환 환자 구별하기 더보기사용 데이터셋:https://www.kaggle.com/datasets/adityamahimkar/iqothnccd-lung-cancer-datasetyolo를 배웠기때문에 YOLO로 폐질환 환자를 구별해보려고 합니다.KAGGEL데이터를 가져올것이기때문에 KAGGEL을 가지고 옵니다.(API)#캐글 데이터셋 다운로드!kaggle datasets download -d hamdallak/the-iqothnccd-lung-cancer-dataset# 압축 풀기!unzip -q /content/the-iqothnccd-lung-cancer-dataset.zip압축을 풀게되먄  The IQ-OTHNCCD lung cancer dataset 가 생성됨 [ Begin - 시작되는단계, Malignat - 폐암,.. 2025. 1. 28.
Anaconda 아나콘다 & streamlit(1) anaconda를 관리자권한으로 실행후 conda env listconda env list를 입력하면 아나콘다의 환경이 보이게됩니다.저는 base밖에없고 또 작업할 환경은 NLPEnv입니다.conda activate NLPEnv를해주면 내가 들어가 있는곳으로 위치가 맞춰지게 됩니다. 그다음 Langchain과 strealit을 설치하면 됩니다.conda install langchain streamlit설치할거냐고 물어보면 y 치면됩니다.그러면 모두 설치된것을 확인할 수 있습니다. ✔️ 폴더 만들기이후에 사용할 폴더를 넣어줍니다.✔️ VSCode실행 ctrl + p를 해서 선택하고인터프리터를 선택하는데 python에서는 Native와 conda와 함꼐 사용하지않는것을 추천합니다.나중에 깨질수있기때문에 나중.. 2025. 1. 22.
Hello Langchain (39) 랭체인은 파이썬만 알면 다룰 수 있습니다.이미 나와있는 LLM모델을 다루고 접근방식을 좀 다르게 한 프레임워크입니다!😀 Hello Langchain코랩에는 기본 설치되어있습니다!import langchainlangchain.__version__자연어처리(NLP)및 언어 모델을 활용한 어플리케이션을 개발하기 위한 도구를 제공하는 라이브러리입니다.텍스트생성, 검색, 대화형 인터페이스 구축 등 다양한 기능을 지원합니다공식 API레퍼런스는 아래 링크입니다.https://python.langchain.com/api_reference/ LangChain Python API Reference — 🦜🔗 LangChain documentationlangchain-google-vertexai 2.0.10python... 2025. 1. 13.
GPT 를 이용한 영화 리뷰 분류 (38) GPT를 이용한 네이버 영화 리뷰 분류!pip install tensorflow==2.12.0tensorflow를 다운그레이드하게되고 2.12.0으로 합니다.import tensorflow as tftf.__version__버전 확인까지 한 번 다시해주고GPT를 이용한 네이버 영화 리뷰 분류import pandas as pdimport numpy as npimport urllib.requestimport osfrom tqdm import tqdmimport tensorflow as tffrom transformers import AutoTokenizer, TFGPT2Modelfrom tensorflow.keras.preprocessing.sequence import pad_sequences텐서플러우 허그.. 2025. 1. 10.
GPT (37) GPT(Generative Pre-trained Transformer)1. ChatGPT의 역사BERT가 트랜스포머의 '인코더'로 설계된 모델이라면, GPT는 트랜스포머의 '디코더'로 설계된 모델. Open AI는 2019년에 GPT-1을 공개한 이후로, 2019년 GPT-2, 2020년 GPT-3, 2022년 ChatGPT(GPT 3.5), 2023년에는 GPT-4, 2024년에는 GPT-4o를 공개하며 GPT 시리즈를 발전시켜 왔습니다.  GPT-1GPT-2GPT-3GPT-3.5GPT-4 Models GPT-1GPT-2GPT-3GPT-3.5GPT-4 Model파라미터 개수1억 1700만개15억1,750억?1조 8천억(추정)디코더의 층124896??처리 가능한 토큰 개수51210242048?128,00.. 2025. 1. 9.
한국어 BERT 를 이용한 네이버 영화 리뷰 분류 (36) KoBERT를 이용한 네이버 영화 리뷰 분류를해보려고 합니다.import pandas as pdimport numpy as npimport urllib.requestimport osfrom tqdm import tqdmimport tensorflow as tffrom transformers import BertTokenizer, TFBertModel 기본임포트를 해주고 링크에서 받아온것을 파일로 다운받도록 하겠습니다.# 네이버 영화 리뷰 데이터 학습을 위해 훈련 데이터와 테스트 데이터를 다운로드합니다.urllib.request.urlretrieve("https://raw.githubusercontent.com/e9t/nsmc/master/ratings_train.txt", .. 2025. 1. 8.
BERT 의 MLM, NSP (35) 1. 구글 BERT의 MLM1.마스크드 언어 모델과 토크나이저- 기본 임포트!pip install transformersfrom transformers import TFBertForMaskedLMfrom transformers import AutoTokenizermodel = TFBertForMaskedLM.from_pretrained('bert-large-uncased')tokenizer = AutoTokenizer.from_pretrained('bert-large-uncased')https://huggingface.co/google-bert/bert-large-uncased영어에 대한 사전 학습된 모델로, 마스크 언어 모델링(MLM) 목적을 사용합니다. 소개된 논문: https://arxiv.org/.. 2025. 1. 7.
BERT(Bidirectional Encoder Representations from Transformers)_(34) ■ BERT(Bidirectional Encoder Representations from Transformers)BERT는 트렌스포머에서 인코더쪽의 구조를 사용해서 만든 구조입니다.결국 트랜스포머의 파생입니다. ▶ NLP에서의 사전 훈련(Pre-training)- 사전 훈련된 모델에 약간의 조정해서 TASK에 사용할 수 있는 모델입니다- 요즘 보통은 다 사전모델을 사용하고 있습니다.  ▶사전 훈련된 워드 임베딩- 워드 임베딩 방법론들 (Word2Vec, FastText, GloVe...)어떤 테스크를 수행할때 임베딩을 사용하는 방법으로는 크게 두가지가있다.1. 임베딩 층을 랜덤 초기화해서 처음부터 학습하기2. 방대한 데이터로 word2vec등과 같은 임베딩 알고리즘으로 '사전훈련된' 임베딩 벡터들을 가져.. 2025. 1. 6.
Transformer (33-4 한국어 챗봇 구현하기) ■ 트랜스포머를 이용한 한국어 챗봇(Transformer Chatbot Tutorial)앞서 구현한 트랜스포머 코드를 사용하여 일상 대화 챗봇을 구현해보려고합니다.물론 성능이나 대화흐름이 엄청 자연스럽지는않지만 어느정도 트랜스포머로 구현하는것이 목표입니다.데이터로더 & 전처리import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport reimport urllib.requestimport timeimport tensorflow_datasets as tfds ## !! -> 파이토치중 데이터로더를 통해서 테스트,학습 분리해주는것인데 그런 비슷한것.import tensorflow as tfurllib.request.urlretrieve.. 2025. 1. 3.
Transformer (33-3) Position-wise FFNN포지션 와이즈 FFNN은 인코더와 디코더에서 공통적으로 가지고 있는 서브층입니다.FFNN은 완전연결(Fully-connected FFNN)입니다.식으로 표현하면 아래 그림과 같습니다.여기서 x 는 앞서 멀티 헤드 어텐션의 결과로 나온 (seq_len,dmodel) 의 크기를 가지는 행렬을 말합니다.가중치 행렬 W1 은 (dmodel,dff) 의 크기를 가지고가중치 행렬 W2 은 (dff,dmodel) 의 크기를 가집니다.논문에서 은닉층의 크기인 dff 는 앞서 하이퍼파라미터를 정의할 때 언급했듯이 2,048의 크기를 가집니다.여기서 매개변수 W1 , b1 , W2 , b2 는 하나의 인코더 층 내에서는 다른 문장, 다른 단어들마다 정확하게 동일하게 사용됩니다.하지만 인코더.. 2025. 1. 2.
Transformer (33-1) 지난 33번에 이어~스케일드 닷-프로덕트 어텐션을 구현해보겠습니다.  5) 스케일드 닷-프로덕트 어텐션 구현하기위의 식을 이용해서 구현해본 함수는 아래에있습니다.def scaled_dot_product_attention(query, key, value, mask): # query 크기 : (batch_size, num_heads, query의 문장 길이, d_model/num_heads) # key 크기 : (batch_size, num_heads, key의 문장 길이, d_model/num_heads) # value 크기 : (batch_size, num_heads, value의 문장 길이, d_model/num_heads) # padding_mask : (batch_size, 1.. 2025. 1. 1.
Transformer (33) ▶ Transformer 트랜스포머-2017년 구글브레인이 발표한 논문인 "ATTENTION is all you need"에서 나온 모델입니다.https://proceedings.neurips.cc/paper/2017/file/3f5ee243547dee91fbd053c1c4a845aa-Paper.pdf - 트랜스포머는 RNN을 사용하지않고 '인코더'와 '디코더'를 설계하였고 성능도 RNN보다 우수합니다.처음에는 자연어 처리 분야에서만 사용되었으나 이후에는 컴퓨터비전분야까지 확정되고있고 지금은 다양한 분야에서 채택되고있음! - 기존의 seq2seq의 구조인 인코더-디코더를 따르면서도 논문의 이름처럼 (attention)만으로 구현한 모델입니다.- 이후 등장한 BERT , GPT, AlphaFold2 등이 .. 2024. 12. 31.
[AI활용 자연어처리 챗봇프로젝트] 인코더 디코더 Seq2Seq 여러개 인풋 -> 1개 ,  여러개 인풋 - >여러개의 아웃풋sequence to sequence 는 many to many에 대한 모델입니다.Sequence-to-sequence(Seq2Seq)-입력도 sequence고 출력도 sequence인것을 seq2seq라고 합니다.-새로운 모델이 아니라 2개의 RNN 모델이라는점! Sequence-to-sequence(Seq2Seq)는 입력된 시퀀스로부터 다른 도메인의 시퀀스를 출력하는 모델 대표적인 응용분야 1.기계번역 (machine translation) '한국어 도메인' 을 가지는 문장을 입력하면 '영어 도메인' 에 해당하는 문장을 얻을수 있다. 구글 번역기, 파파고... 2.내용 용약 (Text Summarization) : 상대적으로 큰 원문의 핵심.. 2024. 12. 30.
[AI활용 자연어처리 챗봇프로젝트] bi-LSTM, bi-LSTM 실습 LSTM GRU bi-LSTM 데이터가 앞,뒤 에서 필요한 경우도 있습니다. 그럴때 사용할 수 있는 양방향  LSTM이 bi-LSTM입니다. RNN 이나 LSTM 은 일반 신경망과 다르게 시퀀스 또는 시계열 데이터 처리에 특화되어 은닉층에서 과거의 정보를 기억할 수 있습니다.   그러나, 순환 신경망의 구조적 특성상 데이터가  입력 순 으로 처리되기 때문에 이전 시점의 정보만 활용할 수 밖에 없는 단점이 존재합니다.   문장이 길어 질수록(시퀀스가 길어질수록) 성능이 저하될 수 밖에 없습니다. 다음 예문을 봅시다 > ios 앱 [   ]은 맥북이 필요합니다 > ios 앱 개발은 맥북이 필요합니다 한국어를 사용하는 우리에겐 어렵지 않게 빈칸에 들어가는 단어를 유추해낼수 있다.  그러나 일반적인 RNN 이나.. 2024. 12. 23.
[AI활용 자연어처리 챗봇프로젝트] GRU, GRU실습 LSTM GRU bi-LSTM이번엔 LSTM보다 좀 더 가벼운 GRU모델에 대해서 학습해보겠습니다.LSTM을 좀 더 간소화 한 버전이라고 볼 수 있습니다. LSTM 보다 가중치가 적어서 '계산량'이 적지만, LSTM 못지 않은 좋은 성능을 내는것으로 알려져 있습니다.    텐서플로의 기본적으로 구현된  GRU는 GRU 초기 버전입니다 '이론' vs. '구현'TF 가 이와 같은 계산 방식을 사용하는 이유는  GPU를 좀더 잘 활용하기 위함.그러나, 대부분 GRU셀을 소개할때는 전자의 그림을 사용합니다널리 통용되는 '이론'과  실질적인 '구현' 에는 차이 나는 경우가 종종 있습니다.이로 인해 GRU 층의 모델 파라미터 개수를 혼동하진 맙시다GRU 신경망# ■ GRU 신경망Gated Recurrent Unit.. 2024. 12. 20.
[AI활용 자연어처리 챗봇프로젝트] LSTM 실습 이번 실습은 GPU사용 권장합니다.LSTM GNN bi-LSTM LSTM (Long Short-Term Memory)  기본임포트 + 데이터 준비!import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport osimport tensorflow as tffrom tensorflow import kerastf.keras.utils.set_random_seed(42) # 랜덤 시드 사용tf.config.experimental.enable_op_determinism() 이번에도 IMDB를 사용할것입니다.!# 이전 예제 처럼 IMDB 리뷰 데이터를 로드하고 훈련세트와 검증세트로 나눔from tensorflow.keras.datasets.. 2024. 12. 19.
[AI활용 자연어처리 챗봇프로젝트] LSTM이란? LSTM GNN bi-LSTM 이번에는 위 모델에 관해서 학습을 했습니다. 사람같은경우는 빈칸이나 다음 말 자체를 빠르게 예측할 수 있습니다. 기계같은경우는 한 문장이 있으면 한 토큰단위로 기계?모델에 쭉쭉 들어가게되겠죠?그렇지만 지금 전에 배운 기본 RNN의 한계는 먼저 입력했었던 입력값들이 계산이 되면서 희미해지는 단점이 있습니다.즉 타임스텝이 길어질수록! 중요한 정보가 앞쪽에있을경우에는 시퀀스 학습이어려워지게되겠죠? 일반적으로 기본 순환층은 '긴 시퀀스'를 학습하기 어렵고시퀀스가 길어질수록 순환되는 은닉상태에 담긴 정보가 희석되기때문입니다.따라서 멀리 떨어져있는 단어 정보를 인식하는데 어려울 수 있습니다. 그래서 등장한것이 LSTM, GRU셀 입니다. 위 두 모델은 SimpleRNN보다 훨씬 계싼이.. 2024. 12. 17.
[AI활용 자연어처리 챗봇프로젝트] 순차데이터, 순환데이터 댓글을 분석하면서 긍정인지 부정인지 딥러닝을 통해서 판단해보려고 합니다!글(텍스트 or 자연어)를 분석하는것은 순환신경망을 통해서 알 수 있습니다. 만약 회사라면? 하나하나 다 읽을 수 없겠죠? 그럴때 쓰기 좋을것같았습니다.이런걸 활용해서 사람들의 평가를 미리 확인해볼수있겠죠?  순차 데이터(Sequential Data) : 순서에 의미가 있는 데이터를 의미한다. 예를들면 텍스트나 시계열 데이터!텍스트 : i am a girl, girl am i 시계열 데이터 (time series data): 내일의 온도를 예측하기 위해서 온도 날짜 가 순서대로 있어야하고 주가를 예측하기 위해서 일별로 주가순서가 있어야된다! 만약 순서가 뒤죽박죽이라면...내일의 값을 예측할 수 없겠죠?근데 지금까지 했던 CNN이랑MN.. 2024. 12. 13.