AI 개발 공부 공간

AI, 머신러닝, 딥러닝, Python & PyTorch, 실전 프로젝트

딥러닝/딥러닝: 자연어 처리 10

Seq2Seq 실습2

1. 데이터 로드1.1 토크나이저 로드from transformers import BertTokenizerdef get_tokenizer(): tokenizer_name = "bert-base-multilingual-cased" tokenizer = BertTokenizer.form_pretrained(tokenizer_name) return tokenizer1.2 문자열 데이터를 토큰화 하는 함수와 토큰을 자연어로 바꾸는 두개의 함수 만들기import torchdef collate_fn(batch): ''' 자연어 데이터 토큰화 적용 함수 ''' tokenizer = get_tokenizer() # 각 문장 쌍을 토크나이징하고 토큰 ID로 변환 en_ba..

Seq2Seq 개념

1. Seq2Seq란Seq2Seq(Sequence to Sequence) 모델은 자연어 처리(NLP) 분야에서 널리 사용되는 모델로, 입력 시퀀스를 받아 출력 시퀀스를 생성하는 데 사용됩니다. Seq2Seq 모델의 핵심 아이디어는 두 개의 RNN(Recurrent Neural Network) 또는 LSTM(Long Short-Term Memory) 네트워크를 연결하여 입력 시퀀스를 처리하고 출력 시퀀스를 생성하는 것입니다. 모델의 구성은 아래와 같습니다.1) 인코더(Encoder)인코더는 입력 시퀀스를 받아 고정된 길이의 컨텍스트 벡터(context vector)로 인코딩합니다. 2) 디코더(Decoder) 디코더는 인코더의 컨텍스트 벡터를 받아 출력 시퀀스를 생성합니다. 3) 컨텍스트 벡터(Contex..

자연어 처리 모델

1. 데이터셋 불러오기※ 데이터셋 설명 데이터 출처: Internet Movie Database (IMDB) 데이터 구성 text: 리뷰 텍스트. 영화에 대한 텍스트 리뷰target: 리뷰가 긍정적인지 (1) 부정적인지(0)를 나타내는 이진 레이블  'target'피처의 데이터는 'positive'와 'negative'로 구성되어 있습니다.positive는 1, negative는 0으로 변경합니다.import numpy as npimport pandas as pdimport torchimport torch.nn as nnimport torch.optim as optimfrom torch.utils.data import Dataset, DataLoaderfrom sklearn.model_selection ..

임베딩(Embedding)

1. 임베딩(Embedding)1.1. 임베딩이란?임베딩(Embedding) 이란 주로 자연어 처리(Natural Language Processing, NLP)에서 사용되는 용어로, 텍스트 데이터 내의 단어나 구 (phrase), 문장 등을 고정된 크기의 실수 벡터로 변환하는 과정을 의미합니다. 이러한 임베딩을 통해 컴퓨터는 텍스트를 수치적으로 분석하고 처리할 수 있게 됩니다. 임베딩은 단어나 문장의 의미를 벡터 공간에 매핑 (mapping)하여, 텍스트의 의미적, 문법적 속성을 반영하는 벡터로 변환 하는 것을 목표로 합니다. 1.2. 임베딩 과정1) 토큰화(Tokenization) 우선, 원본 텍스트 데이터는 토큰화 과정을 거쳐 개별 단어나 서브워드(subword) 단위로 나누어집니다. 이 때 각 토큰..

AlexNet (2012)

1. AlexNet 1.1 AlexNet 이란?AlexNet은 2012년 ImageNet 대규모 시각 인식 챌린지에서 우승한 합성곱 신경망(CNN) 아키텍처입니다. 이 챌린지는 방대한 이미지 데이터셋인 ImageNet을 사용하여 알고리즘을 평가하고 다양한 시각 인식 작업에서 높은 정확도를 달성하기 위해 경쟁하는 대회입니다. AlexNet의 주요 혁신은 다중 합성곱 층, 풀링 층, 완전 연결 층으로 구성된 깊은 구조에 있습니다. 이러한 설계를 통해 네트워크는 ImageNet과 같은 대규모 이미지 데이터셋 에서 복잡한 특징과 패턴을 학습할 수 있습니다. 1.2 dateset ImageNet은 1000개의 카테고리로 라벨이 지정된 약 1400만 개의 고해상도 이미지로 구성된 이미지 데이터베이스입니다. 대부분의..

LeNet-5 (1998)

1. LeNet-5LeNet-5는 사전 학습 모델은 아니지만, CNN의 기초를 이해하는 데 중요한 역할을 합니다. LeNet-5는 합성곱 신경망의 기본 개념과 구조를 명확히 보여주며, 이러한 기초가 나중에 더 복잡한 모델들, 예를 들어 AlexNet과 같은 사전 학습 모델로 발전하는 데 기여했습니다. 따라서 LeNet-5를 이해하는 것은 사전 학습 모델을 효과적으로 사용하는 데 도움이 됩니다. 손으로 쓴숫자나 문자를 컴퓨터가 어떻게 인식할 수 있을까, 또한 컴퓨터가 형태와 패턴을 구분하는 능력을 어떻게 가 지게 되었을까, 이 질문에 대한 답은 바로 합성곱 신경망(CNN)이라는 특별한 신경망 구조에 있습니다.1.1. LeNet-5란여러 CNN 아키텍처 중  "LeNet-5"는 심층 학습의 기초를 마련한 고..

토크나이저

1. 토큰과 단어사전 1.1. 코퍼스코퍼스(Corpus) 는 자연어처리(Natural Language Processing, NLP) 분야에서 사용되는 특정 언어, 문체, 주제 등을 포괄하는 텍스트 자료의 집합을 의미합니다. 이러한 코퍼스는 자연어 연구와 애플리케이션 개발에 필수적인 데이터 집합으로, 일반적으로 '말뭉치'라고도 불립니다. 코퍼스는 원시 텍스트 데이터에서 얻어진 정보를 시스템적으로 분석하고, 이를 통해 언어의 구조적, 기능적 특성을 탐색하는 데 사용됩니다. 1.2. 토큰토큰(Token) 은 텍스트 데이터를 의미론적 또는 구문론적으로 분석 및 처리할 때 기초가 되는 가장 작은 단위입니다. 각 토큰은 하나의 단어, 구, 또는 문장 등으로 나타날 수 있으며, 텍스트 내의 의미를 포착하는 데 중요한..

자연어 데이터 전처리

1. 데이터 전처리와 텍스트 정제1.1. 데이터 전처리 소개자연어처리 모델을 학습하기 위해서, 가장 먼저 데이터를 준비해야 합니다. 자연어 처리(NLP)에서 데이터 전처리는 원시 텍스트 데이터를 기계 학습 모델이 이해하고 처리할 수 있는 형태로 변환하는 단계입니다. 이를 통해, 모델이 학습할 수 있는 형태의 데이터를 준비할 수 있습니다.데이터 전처리에는 여러가지 기법이 있습니다.1) 텍스트 정제 (Text Cleaning): 문자, 공백, 특수 기호 등을 제거하여 데이터를 깨끗하게 만드는 과정입니다. 2) 토큰화 (Tokenization): 텍스트를 의미 있는 단위로 분리하는 과정입니다. 이 단위는 보통 단어, 구, 또는 문장일 수 있으며, 이 과정을 통해 생성된 토큰들은 처 리와 분석을 위해 사용됩니다..

자연어 처리 개요

1. 자연어처리1.1. 자연어처리 소개자연어처리(Natural Language Processing, NLP)는 인간의 언어를 컴퓨터가 이해하고 처리할 수 있도록 하는 놀라운 기술 분야입니다. 이 분야는 인공지능(AI) 의 한 분야로, 언어학, 컴퓨터 과학, 인지 과학의 교차점에 위치하며, 인간과 컴퓨터 간의 자연스러운 상호작용을 가능하게 합니다. 이를 통해 사람들은 정보를 더 쉽고 효율적으로 교환하고, 다양한 기술을 활용할 수 있게 됩니다. 컴퓨터가 인간의 말을 알아듣고, 또 그 의미까지 이해한다는 것은 놀라운 일입니다. 이처럼 자연어처리는 우리 일상에 엄청난 변화를 가져오고 있습니다. 예를 들어, 스마트폰의 음성 인식 기능에서부터 온라인 고객 지원 챗봇에 이르기까지, NLP는 다양한 형태로 우리의 삶을..