딥러닝
-
One-Hot encoding (원핫 인코딩)딥러닝 2023. 7. 17. 19:57
자연어처리를 위해서는 먼저 전처리된 문장을 token 단위로 나눠줘야 한다. 이를 tokenization이라 하는데, (경우에 따라 tokenization을 전처리 단계에 넣는 경우도 있다.) 시스템의 목적에 따라 달라질 수 있겠지만, 보통 token의 단위는 단어 단위로 쪼개진다. 영어의 경우는 띄어쓰기를 기준으로 tokenizing을 하면 곧 단어 단위로 쪼개지게 되지만, 한국어의 경우는 조사 등이 같이 붙어서 나타나기 때문에 좀 더 처리하기 어렵다. 단어를 컴퓨터가 이해하도록 처리해주는, 간단히 말해 단어를 숫자로 표현해주는 가장 간단하고 단순한 방법은 one-hot encoding 이 있다. 단순히 문장내의 단어들을 좌표평면 위에 표현하는 것으로, "세상 모든 사람" 이라는 문장에 대해 각 단어의..
-
자연어처리 전처리 과정(Pre-processing)딥러닝 2023. 7. 14. 22:31
자연어처리를 하기 위해서는 데이터 문장에 대한 전처리 과정이 필요하다. 전처리 과정이라 함은 보통 개행문자 제거, 특수문자 제거, 공백 제거, 중복 표현 제어, 불용어 (의미가 없는 용어) 제거, 조사 제거, 띄어쓰기, 문장분리 보정, 사전 구축 등이 있는데, 시스템의 목적에 따라 또는 데이터마다 전처리가 달라질 수 있다. 예를 들면 비교적 띄어쓰기나 맞춤법이 잘되어 있는 뉴스 데이터에 대한 전처리 과정은 트위터의 트윗 데이터 보다는 전처리 과정이 간단할 수 있는 것이다. 자연어처리에서 전처리 과정은 시스템의 정확도를 좌지우지할 수 있는 중요한 부분이므로, 목적에 맞게 처리를 해주는 것이 중요하다. 보통 우리가 처리하게 될 데이터들은 정형화된 데이터들보다는 비정형화된 데이터들이 훨씬 많을 것으로 생각된다..
-
자연어처리(NLP) Approach딥러닝 2023. 7. 13. 22:22
자연어처리 approach는 크게 3가지로 분류될 수 있다. 1. Rule-Based NLP Hand-coded rule로 자연어처리를 하는 것으로, 일일이 언어학적인 규칙에 대한 것을 기술하는 것이다. 언어학적인 현상을 rule을 통해서 기술함으로써 정확한 처리가 가능하였지만, 실질적으로 수많은 언어학 현상들을 rule을 통해 기술하는 것은 불가능하며, 언어는 예외적인 측면들이 많아 단순 rule-based 를 이용해서는 모든 언어 현상을 cover할 수 없다. 또한 기본적으로 정문에 대한 규칙을 쓰기 때문에 오류가 있는 문장은 처리하기 어렵다. (일상 생활에서 쓰는 언어는 정문이 아닌 경우도 많다.) 2. Statistical NLP rule-based NLP의 여러 문제점으로 ..
-
자연어처리란?딥러닝 2023. 7. 11. 21:14
1. 자연어 처리(Natural Language Processing)? - 자연어란 인간이 일상생활에서 사용하는 언어를 말한다. 자연어는 발화 형태, 텍스트 형태로 구현될 수 있다. (발화 형태로 구현되었더라도, 결국 텍스트로 전사된 것을 분석해 처리해야하므로 텍스트에 한정되었다고 보는게 맞을것 같다.) 자연어의 의미를 분석해서 컴퓨터가 처리하도록 하는 것을 자연어 처리라고 한다. 자연어처리에서 핵심은 자연어의 의미를 분석해야하는 것으로, 자동 음성 인식(ASR)은 단순히 STT (Speech To Text)이기 때문에 NLP 분야로 볼 수 없다. 자연어처리는 크게 언어학, 인공지능, 컴퓨터공학 학문이 융합된 것으로, 어느 한 학문에 치중한 것이 아니기 때문에 정확하게 처리를 하기 위해서는 어려운 분..
-
딥러닝 이론-8-2 : 딥러닝의 기본 개념2딥러닝 2023. 7. 10. 22:31
1. CIFAR (Canadian Institute for Advanced Research) - 힘들었던 neural net의 침체기에 CIFAR 단체를 통해 딥러닝이 다시 발전하게 되었다. (참고로 알고 넘어가면 될듯하다.) 2. Breakthrough (by Hinton and Bengio) - weight의 초기 값만 잘 준다면 많은 layer라도 학습이 가능하다라는 내용의 논문. neural net의 침체기였기 때문에 Deep nets, Deep learning이라고 용어를 바꾸어서 기술하였고 사람들의 관심을 얻게 되고 다시 부흥기로 올라가게 된다. 3. ImageNet Classification을 포함한 여러 분야에서 딥러닝이 활약 - 사진 분류와 관련하여 딥러닝 모델을 이용하였을 때 굉..
-
딥러닝 이론-8-1 : 딥러닝 기본 개념 1딥러닝 2023. 7. 9. 20:30
1. Activation Function 사람들의 궁극적인 목표는 스스로 인간의 일을 하는 기계를 만드는 것이었다. (아이언맨의 자비스와 같은) 이를 위해서 기계 스스로 생각할 수 있는 능력이 있어야하는데, 이를 위해서 인간의 뇌에 대해서 연구를 하기 시작했다. input을 받아 다음 뉴런에 전달하는 뉴런의 구조를 모티브하여, activation function(활성화 함수)를 고안하게 되었다. activation function은 아래 구조 처럼 w와 x의 곱의 형태의 input을 받아서 특정 값 이상이면 output을 내보내는 형태이다. 2. XOR 문제 초기에는 간단한 AND와 OR 문제를 linear하게 푸는 것으로 neural net을 굉장히 희망적으로 바라보았지만, XOR문제를 linear하게..
-
딥러닝 이론-7-2 : Learning and test data sets딥러닝 2023. 7. 7. 23:00
1. Training and test sets - 앞선 포스팅에서도 말했듯이, training set의 정확도를 100%로 model을 학습시키는 것은, model이 memorize 할 수 있기 때문에 좋은 방법이 아니라고 하였다. 그럼 어떻게 setting을 해야할까? data set이 train data와 test data로 나누어져 있는 경우도 있지만, 그렇지 않은 경우도 있다. 이러한 경우, 보통 전체 data set의 80%를 train data로 사용하고 나머지 20% 를 test data로 사용하게 된다. train data의 경우, 실제 값(Y)를 보면서 예측 값과 비교하지만, test data에서는 실제 값이 숨겨져서 볼 수 없어야 한다. (시험보는데 답지 보면 무슨 의미가 있겠는가...
-
딥러닝 이론-7-1 : Learning rate, data preprocessing, overfitting딥러닝 2023. 7. 6. 21:59
1. Learning rate - 앞서 gradient descent algorithms을 통해 cost를 줄여나간다고 하였다. 그럼 학습이 진행되면서 얼마만큼 cost를 줄여나가기 위해 움직일까? 그것을 결정해주는 것이 learning rate이며, 이것은 우리가 지정해줄 수 있다.(hyperparameter) learning rate이 너무 크게 되면 우리가 찾고자하는 w값을 찾지 못하고 밖으로 튕겨나가는 overshooting이 될 수 있다. (왼쪽 그래프) 반대로 learning rate이 너무 작게 되면 시간이 오래 소요되고 시간이 다 되어 우리가 찾고자하는 최저점이 아닌 곳에서 stop할 수 있다. (오른쪽 그래프) 따라서 적절한 learning rate을 설정해주는 것이 필요하다. 모두를 위..