본문 바로가기
반응형

자연어처리8

Neural N-Gram Language Model Neural N-Gram Language Model 신경망을 사용함으로서 데이터 희소성(data sparsity) 문제를 해결 할 수 있습니다. 기존의 카운트 기반 모델 보다 훈련 데이터에서 나오지 않았었던 N-gram 을 계산 할 수가 있었습니다. 어떻게 이것이 가능할까요? 그전에 데이터 희소성(data sparsity) 문제가 생기는 이유를 살펴봐야합니다. 간단한 대답은 토큰들이 훈련시에는 생기지 않지만, 테스트시에 만 생기기 때문입니다. 조금더 깊은 대답은 이산 공간(discrete space) 에서 카운트하여 토큰들의 유사도 측정이 불가능 하기 때문입니다. 하지만 신경망에서는 토큰을 연속 벡터 공간(continuous vector space) 에 매핑(mapping) 시킵니다. 나오지 않았던 단어.. 2022. 3. 30.
Language Modeling 언어 모델링(Language Modeling) Input: 하나의 문장 Output: Input 문장에 대한 확률 텍스트 분류 문제와 달리, 비지도학습입니다. 하지만, 순서가 있는 지도학습으로 문제를 바꿔서 풀 수 있습니다. Autoregressive language modelling (자기회귀 언어 모델링) Sequence 가 주어졌을 때 이 문장에게 점수를 부여 하는 방법입니다. 이전 토큰이 나왔을때 다음 토큰이 나올 확률을 계산하는 작업과 동일합니다. 이렇게 정의 하면서 비지도학습 문제를 지도학습으로 푸는 문제로 변하게 됩니다. 즉, 이전에 공부했던 텍스트 분류 문제와 같아지는데, input 은 이전에 나온 토큰, output은 다음에 나올 토큰을 예측 하는 것입니다. 또한, 문장에 점수(Score.. 2022. 3. 30.
CBoW & RN & CNN & Self Attention & RNN 문장표현(Sentence representation)의 의미: 어떤 과제를 풀기에 적합하고 숫자로 나타낸 문장의 표현입니다 CBoW(Continuous bag-of-words): 단어장을 단어 주머니로 보게되고, 이에 따라 단어의 순서는 무시합니다. 문장에 대한 표현은 단어 벡터들을 평균시킨 벡터로 구합니다. 효과가 좋기 때문에 제일 먼저 시도해봐야합니다. (Baseline 모델) 공간상에서 가까우면 비슷한 의미, 아니면 멀리 떨어져 있을 것입니다. Relation Network(Skip-Bigram): 문장안에 있는 모든 토큰 쌍(pairs)을 보고, 각 쌍에 대해서 신경망을 만들어서 문장표현을 찾습니다. 장점: 여러 단어로 된 표현을 탐지 할 수 있습니다. 단점: 모든 단어간의 관계를 보기 때문에, .. 2022. 3. 28.
Text classification Overview 텍스트 분류(Text Classification): 문장, 문단 또는 글을 어떤 카테고리에 분류하는 작업을 텍스트 분류라고 합니다. 텍스트 분류는 지도학습입니다. Input: 하나의 문장, 문단 혹은 문서 Output: 유한한 C 개의 카테고리 예시 감성 분석 카테고리 분류 의도 분류 본 내용은 부스트코스 조경현 교수의 딥러닝을 이용한 자연어 처리 수업 내용입니다. 2022. 3. 28.
Backpropagation 자동 미분법(Automatic differentiation): 모델을 연결하는 비순환 그래프(DAG)는 미분 가능한 함수들로 구성되어 있습니다. 따라서 미분의 연쇄법칙을 사용하여 자동으로 미분합니다. 과정: 각 노드에서 Jacobian-vector product을 계산합니다. 비순환 그래프(DAG) 역순으로 전파합니다. 장점: Gradient 를 손으로 직접 계산할 필요가 없어졌습니다. [front-end]와 [back-end]의 분리 [front-end] 비순환 그래프(DAG)를 만듬으로서 뉴럴넷(모델)을 디자인하는데 집중합니다. [back-end] 디자인 된 비순환 그래프(DAG)는 타겟 컴퓨터 장치를 위한 효과적인 코드로 컴파일됩니다. Framework 개발자들이 타겟에 맞춰 알맞게 구현하면 사용자.. 2022. 3. 28.
Optimization methods Loss 는 비순환그래프(DAG)를 거쳐 계산됩니다. 가설이 무수히 많기 때문에 모든 것을 다 시도해보고 최적인 것을 고를 수가 없습니다. 따라서, 일단 아무 곳을 선택한 후에 Loss 를 낮추는 방향으로 최적화를 진행합니다. 방법: Local, Iterative Optimization: Random Guided Search 장점: 어떤 비용함수를 사용해도 무관합니다. 단점: 차원이 작을 때는 잘 되지만, 차원의 저주 때문에 커질 수록 오래걸립니다. 샘플링(sampling) 에 따라서 오래걸립니다. Gradient-based Optimization: 미분을 통해 최적화 할 방향을 정합니다 장점: Random Guided search 에 비해서 탐색영역은 작지만 확실한 방향은 정할 수 있습니다. 단점: 학.. 2022. 3. 28.
Hypothesis Set 가설 집합은 무수히 많습니다. 머신러닝 접근 방법, 모델 구조, 하이퍼파라미터등 요소를 하나씩 변화할 때 마다 가설 하나가 세워지기 때문입니다. 이번 강의 에서는 딥러닝에 한정 지어서 이야기 하겠습니다. 네트워크 아키텍처가 정해지면, 하나의 가설 집합이 됩니다. 각기 다른 가중치 매개변수 값에 따라서 가설 집합에 속한 모델이 달라집니다. 그렇다면 네트워크 아키텍처를 어떻게 정해야 할까요? 명확한 정답은 없습니다. 다만 네트워크 아키텍처가 정해지면 그 뒤부터는 모든 것이 자동화 과정으로 넘어가는데, 어떻게 이것이 가능한지 알아봅시다. 인공신경망은 무엇일까요? 비순환 그래프(DAG) 라고 할 수 있습니다. 각 노드들은 이미 Tensorflow, Pytorch 등 패키지에서 잘 정의되어 있습니다. 여러분은 이.. 2022. 3. 28.
Basic ML/DL Overview 알고리즘 vs 머신러닝 알고리즘: 어떤 문제를 푸는데 있어서 필요한 일련의 명령들입니다. 머신러닝: data-driven algorithm design 예전에는 문제가 주어졌을 때 해당 문제에 알맞는 알고리즘을 만드는 것이 일이었는데, 머신러닝에서는 실제로 문제를 특정하는 것 부터가 어렵습니다. 따라서 아래의 과정을 거칩니다. 대략적인 문제의 정의가 있습니다. 없을 때도 있습니다. 어떤 형태로든 데이터 훈련 샘플이 있습니다. 머신러닝 모델이 이 문제를 풀도록 훈련 시킵니다. 지도 학습에서 결정해야할 일 Provided N 개의 Input 과 Output 으로 구성된 훈련 샘플(Training Examples) D={(x​1​​,y​1​​),⋯,(x​N​​,y​N​​)} Loss Function: 머신러닝.. 2022. 3. 28.
반응형