분류 전체보기5 시퀀스 (Sequence)와 RNN(recurrent neural network) ■ 시퀀스란? 순서가 존재하는 항목의 모음이다. 언어는 시계열 자료와 비슷하게 단어가 무작위(iid)하게 배열되는 것이 아닌, 앞과 뒤 데이터에 의존한다. 따라서 자연어 처리를 다루기 위해서는 시퀀스를 반드시 이해해야 한다. ■ RNN Transformer 등장 전 전통적으로 시퀀스 데이터를 다루었던 딥러닝 모형이다. 위 구조처럼 순차적으로 시퀀스 표현을 학습한다. RNN은 현재 입력 벡터와 이전 히든 벡터를 통해 히든 벡터를 계산하는 방식으로 모델이 연산되어진다. RNN은 이전 값을 계속 이어서 사용하기 때문에 back propagation 과정에서 Gradient Vanishing 문제가 발생하기 쉽다. 따라서 문장의 길이가 길다면, 성능이 급격하게 떨어진다는 단점이 있다. 이후 LSTM, GRU 등.. 2024. 1. 21. 단어의 벡터 표현(Text Vectorization) ■Text Vectorization을 하는 이유 컴퓨터는 연산을 수행할 때, 0과 1 이진법을 통해서만 계산이 가능하다. 따라서 자연어처리 분야에서는 우리가 사용하는 단어를 컴퓨터가 이해할 수 있도록 문자를 수치화 하는 과정이 있어야 한다. 단어를 벡터화 하는 방법은 크게 세가지가 존재한다 첫 번째는 One-hot Encoding이고, 두 번째는 Word Embedding, 세 번째는 TF-IDF(빈도수 기반 텍스트 벡터화)이다. 이 세가지 방법에 대해 알아보자. 1. One-hot Encoding 단어를 벡터화하는 전통적인 방법이다. 우리가 사용하는 어휘 사전에 N개의 단어가 존재한다고 가정하면 One-hot Encoding의 벡터의 크기는 N이다. 이 방법은 특정 단어를 나타내는 한 개의 위치를 1로.. 2024. 1. 19. 자연어 처리 NLP(Natural Language Processing) ■ 자연어 처리란? 인간이 사용하는 언어인 텍스트나 음성을 이해하고 분석하고 사용하는 AI 학습 방법이다. ■ NLP 작업의 예시 1. 음성 인식 : 음성을 텍스트로 변환 2. 품사 태깅 : 단어의 품사를 예측하는 방법 3. 감정 분석 : 텍스트에 담겨있는 글쓴이의 태도, 감정 등 주관적인 특성을 파악하는 방법 4. 자연어 생성 : 정보를 인간의 언어로 바꾸는 방법 ■ NLP 실무 적용 사례 다양하게 존재(스팸문자 탐지, 언어 통역, 챗봇 시스템, 텍스트 요약, 감정분석) 최근에는 CV 분야와 결합하여 multimodal에서 많은 업무를 수행하고 있음 ■ NLP를 공부하면서 알아야 하는 것들 1. 단어 임베딩 및 인코딩 2. 딥러닝에 대한 지식 3. 각종 최신 NLP 모델들 2024. 1. 19. CNN(Convolution Neural Network) ■ CNN이란? 합성곱 작업을 수행하는 Neural Network 이미지를 분석하는데 유용, 이미지가 아닌 분야에서도 사용하기도 함 ■ CNN의 계산 방법 이미지(행렬)을 input으로 받아 kernel과 연산 → feature map을 출력 파이토치에서는 3차원 합성곱까지 가능 Conv1d, Conv2d, Conv3d ■ hyperparameter ● kernel size 2,3,... input과 연산되는 커널의 크기, 커널 크기가 커지면 출력 크기가 작아짐 ● stride 연산을 몇 칸씩 띄면서 연산할지 stride 크기가 커지면 출력 크기가 작아짐 ● padding 입력 텐서에 0을 얼마나 추가할지 zero padding을 많이 사용하고 출력 크기를 조절해줄 수 있음 ● dilattion 연산을 .. 2024. 1. 19. 이전 1 2 다음