Lecture 3 - Word Window Classification, Neural Networks, and Matrix Calculus

Tobig's 1415 Textseminar·2021년 4월 28일
8
post-thumbnail

작성자 : 동덕여자대학교 정보통계학과 한유진

1. Classification

  • Training dataset을 i=1부터 N까지 xix_i라는 inputs과 yiy_i라는 output(label or class)에 대해 가지고 있습니다.

    input data(xix_i) : Word, Sentence, Document ..
    output data(yiy_i) : 예측하려고 하는 labels, classes
    (class에는 sentiment, named entities, buy/sell decision 또는 other words와 multi-word sequences가 올 수 있음)

  • 이 데이터를 가지고 ML/ Deep Learning 방법으로 분류(그림과 같이 비슷한 Output끼리 모이도록 경계를 긋는 것)하는것이 Classificaiton입니다.
  • 전통적인 ML접근에서는 softmax/logistic regression을 이용해서 output의 class를 구분할 decision boundary(hyperplane)를 결정하는 것을 의미합니다.

< Softmax classifier >

  • Softmax : xixi가 들어오면 이를 pipi로 바꾸고, 분류하고 싶은 class의 수 만큼 확률값을 구성하며, 모든 class의 확률값을 더하면 1이 된다는 특징을 가지고 있습니다.

    Step 1. 모든 클래스 c에 대해서 선형결합으로 이루어진 fyf_y를 만든다
    (wieght matrix W에는 각 클래스에 해당하는 열이 존재 -> W의 y번째 row 와 x의 row 를 multiply -> class에 관련된 score나옴)
    Step 2. 각각의 class에 대해 이를 계산하고 0~1로 정규화한다
    (step1에서 나온 score를 softmax function(eyijeyj\frac{e^{y_i}}{\sum_{j} e^{y_j}})에 집어넣음 -> softmax는 이 숫자들을 확률분포로 탈바꿈)

  • 이제 이 값을 학습할 때, 올바르게 class y값을 예측하도록 확률을 maximize하기 위해, 그 class의 negative log probability를 minimize하는 방향으로 학습을 하게 됩니다.

< Cross entropy loss >

  • softmax 값을 토대로 cost function을 구하는 방식
  • Concept of "cross entropy" is from information theory
  • 실제 확률 분포를 pp라고 하고, 예측한 확률 분포를 qq라고 하였을 때, cross entropy는 위와 같이 정의할 수 있습니다.
  • 옳은 class에만 1을 부여한다면 pp = [0,...,0,1,0,...0], qq= [ 0.01,...,0.02,0.8,0.01,...,0]이기에 잘못 분류한 확률들은 0으로 사라지고 cross entropy에 남는 항은 true class의 negative log probability입니다.
    ( p\because p가 one-hot)
  • 위의 식을 전체 데이터 셋으로 확장하면 다음과 같은 공식이 산출됩니다.
  • ii = 1 부터 NN까지의 평균으로 loss부분을 업데이트 해주었습니다.

  • 하지만 단순한 Softmax/logistic regression만을 사용한 전통적인 접근 방법은 좋은 성능을 낼 수 없습니다. 그 이유는 class를 구분하는 boundary가 linear하기에 위의 그림과 같은 데이터를 잘 분류할 수 없는 경우들이 생기기 때문입니다. 이를 해결하기 위해서 비선형적인 방법을 도입하는데 그게 바로 Neural Network입니다.

2. Neural Network in NLP

  • NLP를 위한 neural network를 사용하여 advanced된 classification 결과를 낼 수 있는 2가지 방법이 있습니다.
    1. Word vector도 학습 - 전통적 방법에서는 WW만을 학습했지만 NLP에서는 word vector xx도 한번에 학습
    2. Deeper MLP - 깊게 Layer들을 쌓으면서 효율적인 학습이 가능

< Named Entity Recognition(NER) >

  • 개체명 인식(NER)은 인명, 지명 등 고유명사를 분류하는 방법론입니다.
  • NER을 위해 전통적으로 많이 이용되는 모델은 Conditional Random Field (CRF)이고, Recurrent Neural Network(RNN)모델도 많이 쓰인다고 합니다.
  • Possible uses
    1. 문서에서 특정한 entity(인명, 지명 등)에 대한 언급을 추적
    2. 질문 답변의 경우, 답변은 주로 named entity(사람이름, 영화이름 등)
    3. 얻고 싶은 정보들 중의 많은 부분은 named entites간의 관계에 대한 것인 경우도 많다
    4. 동일한 기술들이 다른 slot-filling classifications으로 확장될 수 있다
  • 이를 위해 BIO인코딩을 사용합니다. B는 Begin의 약자로 개체명이 시작되는 부분, I는 Inside의 약자로 개체명의 내부 부분을 의미하며, O는 Outside의 약자로 개체명이 아닌 부분을 의미합니다.

NER의 한계

ex 1) First National Bank Donates 2 Vans To Future School Of Fort Smith
ex 2) To find out more about Zig Ziglar and read features by other Creators Syndicate writers and
ex 3) where Larry Ellison and Charles Schwab can live discreetly amongst wooded estates.

  1. entity(개체)의 경계를 정하기 어렵다
    (ex1의 첫번째 entity를 First National Bank로? National Bank로?)

  2. entity(개체)인지 아닌지 알기가 어렵다
    (ex1의 Future School을 entity로 볼 것인가? '미래의 학교' 라는 일반적인 단어로 볼 것인가)

  3. 모르는 entity(개체)에 대해 class를 알기 힘들다
    (ex2의 Zig Ziglar가 사람임에도 class를 알기 어렵)

  4. Entity class는 모호하고 문맥에 의존한다
    (ex3의 Charles Schwab은 보통 organization name으로 사용되나 이 문장에서는 person으로 사용됨)

    ※ 참고하면 좋을듯한 NER 자료 ※
    https://lovit.github.io/nlp/2019/02/16/logistic_w2v_ner/
    https://lovit.github.io/nlp/2018/06/22/crf_based_ner/
    http://oak.go.kr/central/journallist/journaldetail.do?article_seq=10192

< Binary word window classification >

  • word classification은 single word만 갖고 이루어지는 경우는 상당히 드물고, 보통 context 내에서 이루어집니다.
  • 하지만, context 상에도 여러 문제가 발생할 수 있습니다.
    ex) auto-antonyms(자동-반의어)
    "To sanction" can mean "to permit" or "to punish”
    "To seed" can mean "to place seeds" or "to remove seeds"
  • 이처럼 문맥상에서 애매모호하게 일어나는 것들에 대한 분류를 도와주는 방법론이 window classification입니다.

< Window classification >

  • Idea : 중심 단어와 주변 단어들(context)를 함께 분류문제에 활용하는 방법
  • 가장 간단한 방법으로는 context내 단어를 분류하기위해 window내의 word vectors를 average하고, 그 average vector를 분류하는 것입니다. 하지만 position information을 잃어버리는 단점이 있습니다.
  • 그렇다면! window 내에서 word vector와 그 neighbor들을 concatenate한 후 softmax classifier를 훈련하여 분류를 해보자!
  • ParisParis를 분류하고 싶다고하면, 이때 ParisParis의 +-2 총 다섯개의 word vectors을 합쳐 5d 크기의 vector를 형성하고 이 vector를 활용해 classifer를 제작합니다.

Window classification : Softmax

  • 이제 위의 vector에 대해서 ww를 학습하고 softmax classifier를 통해 분류해보겠습니다.
  • xx대신 xwindowx_{window}를 input으로 주어 위에서 봤던 softmax를 적용합니다.
  • Word2Vec과 유사하게 corpus내의 모든 위치에 대해서 학습할것이지만, 이번에는 high score을 가지는 위치에 대해서만 집중적으로 학습을 진행합니다.
  • 예를 들어 XParisX_{Paris}가 'Location'으로 분류될 수 있는지를 알고 싶습니다.
  • 오직 'museums in Paris are amazing' 이라는 하나의 window만이 Paris가 center에 있기 때문에 ‘True’ window로 표현하고, 그 외의(Not all museums in Pares와 같은) window들은 모두 'Corrupt' window로 표현됩니다.
  • 이때 우리는 score를 return하는 시스템을 원하기 때문에, 중앙에 Location name이 있으면 높은 점수를, 없으면 낮은 점수를 return합니다.
  • 3-layer NN으로 window's score를 계산합니다.
  • input으로 20x1 vector를 가진 xx가 들어가면 hidden layer는 20차원을 받아 8개의 노드를 생성하게 됩니다(비선형 함수 통과). 마지막 layer에서는 8개노드를 받아 1개의 score를 산출하게 됩니다. 이 score값을 확률로 만들기 위해 위에서 보았던 softmax를 취해주고 negative log probability의 합으로 계산해서 WW를 업데이트 시켜주면 됩니다.

The max-margin loss

  • 일반적으로 softmax를 사용할 경우, 값을 확률 비율로 변경했기 때문에 비율간의 차이를 계산하는 Cross-entropy를 사용합니다. 하지만, 위에서 score함수를 직접 정의했으므로 여기에서는 이에 걸맞는 max-margin loss(hinge loss)를 이용합니다.
  • max margin loss는 SVM에서 많이 사용되는데, 그 의미가 정답과 오답 사이의 거리를 최대로 만들어주는 margin을 찾는 것입니다. 쉽게 말하면 주어진 input X에 대하여 정답 class와 오답 class 간의 차이를 max로 만들어주는 손실함수입니다.

    margin이란?
    binary 분류에서 결정 경계와 서포트 벡터(결정 경계와 가장 가까이에 있는 데이터) 사이의 거리를 뜻함
    margin을 최대화 하는 것이 SVM의 목적

  • 우리는 max-margin 손실함수를 통해 손실값을 구했습니다. 이제 이 손실값에 각 파라미터 WW, UU, bb, XX가 손실값에 얼마나 많은 기여를 했는지 알아보고 해당 기여도에 따라 각 parameter 값을 조정할 수 있겠습니다.

3. Matrix calculus

< Jacobian Matrix >

  • 왼쪽은 함수 한개를 미분한 예입니다. n개의 input을 넣으면 한개의 output을 받게됩니다. 이를 미분하면 f(x)f(x)는 n개의 input으로 각각 미분되어 하나의 벡터로 만들어지게 됩니다.
  • 왼쪽과 같이 한개의 함수안에 n개의 input이 들어가고, 이러한 함수가 m개 있다고 가정했을때, 이를 미분하면 n*m matrix가 되고 이 matrix를 Jacobian Matrix라고 합니다.

< Chain Rule >

  • 합성함수의 도함수에 대한 공식입니다.
  • one-variable뿐 아니라 multiple variable에 대해서도 chain rule이 적용됨을 알 수 있습니다.
  • Jacobian Matrix와 chain rule의 개념 + 앞으로 나올 4개의 식이 위에서 보았던 window classification의 손실 함수를 최소화하기 위해 미분하는 과정에서 사용되는 식들입니다.

계산 Start~

  • 첫번째 식입니다. hhz(Wx+b)z(Wx+b)를 input으로 집어넣어 활성화함수를 적용해 나온 식입니다. 이를 zz로 미분하면 nxn의 matrix형태로 나오게 됩니다.

  • nxn의 matrix형태를 미분해보면, hih_if(zi)f(z_i)로 나타낼 수 있다고 강의에서 언급했습니다. 계속보면, ii = jj일때 f(zi)f'(z_i)라는 값이 나오게되고, 다른 경우는 미분값이 0이됩니다. 이를 행렬로 표현하면 대각 행렬이 나오게 됩니다.

  • 두번째 식은 Wx+bWx+bxx로 미분하면 WW가 나온다는 의미이고, 세번째 식은 bb로 미분하면 항등행렬이 나오고, 마지막 식은 uThu^Thuu로 미분하면 hh를 전치한 값이 나오게됩니다.

  • 이제 적용해봅시다! Jacobian Matrix와 chain rule의 개념 + 지금까지 나온 4개의 식을 이용하여 우리가 정의했던 score함수의 gradient를 계산해보겠습니다.
  • 우리가 구하고자 하는 것은 sW\frac{\partial s}{\partial W} & sb\frac{\partial s}{\partial b} 입니다.

  • chain rule을 적용하여 위의 그림과 같이 각각 미분하여 곱하면 sb\frac{\partial s}{\partial b}가 나오게 됩니다.

  • 위에서 구했었던 계산식 4개를 대입해주면 최종적인 식이 도출되게 됩니다.

  • 이번엔 sW\frac{\partial s}{\partial W}를 계산해보겠습니다.

  • bias로 미분하여 업데이트를 시킬뿐아니라 모든 파라미터에 대해서도 역전파를 수행하여 파라미터 값들을 업데이트해줘야합니다.

  • 똑같이 chain rule을 적용하면 사진과 같은 식이 만들어집니다.

  • sW\frac{\partial s}{\partial W}sb\frac{\partial s}{\partial b}식을 보면 파란색 부분이 동일한 것을 볼 수 있습니다. 그 파란색 부분은 δ\delta라고 합니다. 이렇듯 오차 역전파는 계산했던 지난 과정들이 다시 사용됨으로써 다시 계산하여 계산량을 늘리는 문제를 막을 수가 있는 것이 장점입니다.

  • 그렇다면 ssWW matrix로 미분하게 되면 어떻게 될까요?

  • WW matrix면 n*m matrix로 값이 나오고, 위에서 계산했던 초록색박스를 사용하면 δx\delta x라는 값이 도출되게 됩니다.

  • 도출된 값에 전치를 한 이유는 위의 n*m matrix와 같은 dimesion을 갖추기 위해서 전치라는 trick을 주었다고 이해했습니다.

Reference

http://web.stanford.edu/class/cs224n/slides/cs224n-2021-lecture03-neuralnets.pdf
https://eda-ai-lab.tistory.com/123?category=706160
https://happyzipsa.tistory.com/4
https://data-weirdo.github.io/data/2020/10/09/data-nlp-03.Wwc/
http://dsba.korea.ac.kr/seminar/?mod=document&uid=42
https://velog.io/@tobigs-text1314/CS224n-Lecture-3-Word-Window-Classification-Neural-Networks-and-Matrix-Calculus#4-matrix-calculus
https://wikidocs.net/30682
https://stellarway.tistory.com/29

13개의 댓글

comment-user-thumbnail
2021년 4월 28일

투빅스 14기 정세영

window classification과 NER의 개념을 잘 이해할 수 있었습니다.

  • NER을 만들기 위해서 Conditional Random Field나 RNN이 많이 사용된다. (최근에는 LSTM-CRF같은 모델도 등장함)
  • NER의 한계를 해결하기 위해 window classification을 사용한다.
  • window 내의 word vector들을 concat하여 input으로 사용하는데, output score를 계산하는 데에는 일반적으로는 softmax를 사용하나 위 예시에서는 score 함수를 직접 정의했기 때문에 max-margin loss를 사용할 수 있다.
답글 달기
comment-user-thumbnail
2021년 5월 1일

투빅스 15기 조준혁

  • Neural Network를 사용한 NLP는 가중치 뿐만아니라 임베딩된 워드 벡터도 함께 학습을 시킨다.
  • 문맥상에 애매모호함을 극복하고자 window classification을 활용해 주변 단어들을 함께 분류 문제에 활용시킨다.
  • Chain Rule을 이용한 매개변수 미분으로 최종 S에 대한 미분을 수행할 수 있다.
답글 달기
comment-user-thumbnail
2021년 5월 3일

투빅스 14기 강재영
Word Classification과 NER 개념에 대해 잘 이해할 수 있는 강의였습니다.

  • Neural Network in NLP
  • Named Entity Recognition(NER)

    • 개체명 인식(NER)은 인명, 지명 등 고유명사를 분류하는 방법론, 주로 Condtional Random Field(CRF)와 Recurrent Neural Network(RNN) 모델이 사용됨.
    • 주로 인명,지명 추적 / Named Entities 간의 관계 파악 등에 활용
    • 한계점으로는 1) Entity의 경계를 정하기 어렵다 / 2) Entity인지 아닌지 알기가 어렵다 / 3) 모르는 Entity에 대해 Class를 알기가 어렵다. ( 사람인지, 지명인지 ) / 4) Entity Class는 모호하고 문맥에 따라 달라지는 경우가 종종 있다.
  • 이처럼 문맥에 의존하는 NER의 한계를 해결하기 위해 Window Classification을 사용

    • 중심 단어와 주변단어(Context)를 함께 분류문제에 활용하는 방법이지만, Word2Vec은 corpus내 모든 위치에 대해서 학습하지만, 이것은 High Score를 가지는 위치에 대해서만 학습한다는 점에서 Word2Vec과 구분된다. ( 중앙에 Location Name이 있으면 높은 점수, 없으면 낮은 점수 리턴 )
    • Softmax가 아닌 Score 함수가 새롭게 정의되므로 SVM과 같은 hinge loss가 사용됨
답글 달기
comment-user-thumbnail
2021년 5월 3일

투빅스 15기 이수민

  • 전통적인 ML 접근에서는 softmax/logistic regression을 통해 decision boundary를 찾지만, 이때 class를 구분하는 선형의 형태의 경계선으로는 문제를 해결하는 데에 한계가 있다. 이를 해결하기 위해 neural network classifier를 사용한다.
  • NLP에서 neural network를 사용하여 classification을 진행 → 가중치와 word vector를 둘 다 학습한다.
  • NER은 entity의 경계를 정하기가 어렵고 문맥(context)에 의존적이라는 한계점이 있다. 이를 극복하기 위해 문맥을 고려하는 window classification 방법론이 등장했다.
  • Max-margin 손실함수를 통해 손실값을 구하고, parameter를 조정하여 이를 최소화한다.
  • Matrix 구조로 연산을 진행하는 것이 연산 속도가 빠르고 효율적이다. Jacobian matrix를 이용하여 연산을 진행한다.
답글 달기
comment-user-thumbnail
2021년 5월 3일

투빅스 14기 이정은

  • Neural network를 사용한 NLP는 가중치와 더불어 Word vector도 함께 학습을 진행합니다.
  • NER은 문장 내의 고유명사를 분류하기 위해 사용되는 방법입니다. 이는 entity의 경계를 정하거나 entity의 여부를 파악하기가 어렵고, entity의 class는 context에 의존적이어서 정확하게 알 수 없다는 한계가 존재합니다.
  • NER에서의 문제를 극복하기 위해 center word와 context word를 함께 분류 문제에 활용하는 Window Classification이 등장했습니다. 이때 모든 위치가 아니라 high score를 가지는 곳에서만 학습을 진행합니다. output에는 softmax 함수를 취하고, max-margin 손실 함수를 사용하여 파라미터를 조정해갑니다.

강의에서 Window Classification의 미분을 자세히 설명해주신 점이 좋았습니다! : )

답글 달기
comment-user-thumbnail
2021년 5월 4일

투빅스 15기 김동현

classification과 NER 개념을 잘 이해할 수 있는 강의였습니다.

  • 단순한 Softmax ( logistic regression ) 하나만으로는 좋은 성능을 낼 수 없기 때문에 그 해결책이 바로 Neural Network이다.

  • NER, 개체명 인식이라는 방법론을 통해 인명, 지명 등 고유명사를 분류한다.

  • window classification의 기본적인 생각은 중심 단어와 주변 단어들 (context)를 함께 분류 문제에 활용하는 방법이다.

  • Matrix calculus하면 미분이나 여러 함수를 계산할 때 더 빠르게 수행할 수 있다.

답글 달기
comment-user-thumbnail
2021년 5월 4일

투빅스 15기 이윤정

  • Traditional method인 Softmax와 Logistic Regression으로는 비선형적인 데이터를 classification하기 어렵기 때문에 Neural Network를 도입하였다. 이때, NLP에서 advanced한 classification 결과를 내기 위한 2가지 방법으로는 word vector를 학습하는 방법과 Deeper MLP 방법이 존재한다.
  • 개체명 인식(NER)은 문서 내 특정한 entity에 대한 언급 및 질문에 대한 답변 등에서 사용이 되지만 entity를 판별하거나 경계를 정하기 어렵다는 단점이 존재한다.
  • 이러한 NER을 보완하기 위해 등장한 window classification은 중심 단어와 주변 단어를 함께 분류문제에 활용하자는 idea에서 출발하였다. window 내 word vector와 neighbor을 concatenate 한 다음 softmax classifier를 통해 classification을 진행한다. 이때, 직접 socre 함수를 정의했으므로 softmax classifier를 사용했음에도 불구하고 cross-entropy가 아닌 max-margin loss function을 사용한다.
답글 달기

투빅스 15기 조효원

NLP에서는 신경망을 이용하여 다양한 태스크를 진행한다. 이때 특별한 점은 가중치 뿐만 아니라 word vector를 함께 학습한다는 것이다.
강의자는 대표적인 예시로 개체명 인식(NER)을 제공한다. NER은 은 문서 내 특정한 entity를 판별하고 속하는 카테고리를 지정하는 것이다. 하지만 이는 새로운 entity에 대해서 반응하기 어려워 판별하기 어렵고 어디까지가 entity인지 경계를 정하기가 어렵다. 이를 보완하기 위해 중심 단어 뿐만이 아니라 주변단어를 함께 분류하는데 사용하는 window classification이 등장했다. 이때 Word2Vec과 다른 점은 Word2vec은 corpus내 모든 위치에 대해서 주변단어와 중심 단어를 학습하지만, window classification에서는 높은 점수를 가지는 위치에 대해서만 학습한다.

답글 달기
comment-user-thumbnail
2021년 5월 4일

투빅스 14기 강의정
Lecture 3. Word Window Classification, Neural Networks, and Matrix Calculus를 주제로 발표해주셨습니다.

  • 단순한 softmax/logistic regression만을 사용한 전통적인 접근 방법은 좋은 성능을 낼 수 없어 Neural Network를 도입했다.
  • NLP를 위한 Neural Network에는 Word vector도 함께 학습하는 방식과 깊게 layer를 쌓는 방식이 있다.
  • NER은 인명, 지명 등 고유명사를 분류하는 방법론이며, NLTK에서 지원해준다. 하지만 한계점으로 entity의 경계를 정하기 어렵다는 점, entity인지 알기가 어렵다는 점, 모르는 entity에 대해 class를 알기 힘들다는 점, Entity class는 모호하고 문맥에 의존한다는 점이 있다.
  • window classification은 문맥상에서 애매모호하게 일어나는 것들에 대한 분류를 도와주는 방법론이다.
    • position information을 잃어버리지 않기 위해 window 내에서 word vector와 그 neighbor들을 concatenate한 후 softmax classifier를 훈련하여 분류해볼 수 있다.

    • 예시에서 score함수가 정의되었으므로 max-margin loss를 이용한다.
    • 각 파라미터 값의 계산을 이해하기 위해 Jacobian Matrix와 Chain Rule에 대한 이해가 필요하다.
답글 달기
comment-user-thumbnail
2021년 5월 4일

투빅스 14기 정재윤

  • NN을 통한 NLP task 중 대표적인 것은 NER이 있다. NER은 우리 말로 객체명 인식으로 RNN 계열이 많이 사용되나, 객체인지 아닌지, 객체의 범위는 어디까지 인지 등의 한계점들이 존재한다. 이런 한계점에 대한 해결책으로 강의에서는 window classification을 설명했다.
  • window classification의 idea는 중심단어와 주변단어를 함께 사용하여 분류에 사용하는 것이다. 일반적으로는 softmax를 사용하지만 강의에서는 score 함수를 사용하므로 hinge loss를 사용했다.
답글 달기
comment-user-thumbnail
2021년 5월 4일

투빅스 15기 김재희

기본적인 NLP 태스크인 분류 문제와 기존의 머신러닝 방법의 차이, 행렬 미분에 대해 공부했습니다.

  • 분류 문제는 정해진 레이블 중 해당 데이터가 어떠한 레이블에 속하는지 예측하는 문제이다.

  • 소프트 맥스 함수나 로지스틱 함수는 선형적 경계선을 만들어 제대로 분류가 되지 않습니다.

  • NN 모델을 이용할 경우 시그모이드 함수로 인해 비선형성이 생기고, 이는 보다 효과적으로 경계선을 생성합니다.

  • NER은 지명, 인명, 조직명 등을 구분하는 태스크입니다.

  • 보통 word classification은 문맥을 고려하기 위해 주변 단어를 이용하게 됩니다. 이를 window classification이라고 합니다.

  • window 내의 단어들을 one hot vector로 받고, 이를 임베딩 벡터의 look up으로 사용합니다. 이렇게 구한 임베딩 벡터를 입력값으로 NN 모델이 예측값을 계산하게 됩니다.

  • cross entropy가 아닌 max margin함수를 이용해 손실을 계산하고 파라미터를 업데이트 합니다.

  • 행렬 연산을 통해 모델을 계산하면 빠르게 처리가 가능합니다. 역전파 역시 행렬로 처리하기 위해 자코비안 행렬이 이용됩니다.

답글 달기
comment-user-thumbnail
2021년 5월 4일

투빅스 14기 박준영

이번강의는 투빅스 14기 한유진님이 진행해주셨습니다.

  • softmax/logistic regression 만을 이용한 classification은 비선형 문제를 해결할 수 없다. 그래서 Neural network를
    사용하여 classification 성능을 높인다.

  • word classification은 중심단어와 주변단어를 함께 분류문제에 활용해서 분류를 효율적으로 하게 해준다.

word classification에 대해 잘 이해할 수 있었던 강의였습니다. 감사합니다!

답글 달기
comment-user-thumbnail
2021년 5월 4일

투빅스 13기 이혜민

Classification과 NER 개념을 잘 이해할 수 있었던 유익한 강의였습니다.

  • 비슷한 Output끼리 모이도록 경계를 긋는 것이 Classificaiton이며, 전통적인 ML 접근에서는 softmax/logistic regression을 통해 문제를 해결하는 데에 한계가 있어, neural network classifier를 사용한다.

  • Word vector 학습 뿐만 아니라, Deeper NLP에서도 neural network를 사용하여 advanced된 classification 결과를 낼 수 있다.

  • Named entity Recognition/개체명 인식(NER)은 인명, 지명 등 고유명사를 분류하는 방법론이며, 전통적으로 많이 이용되는 모델은 Conditional Random Field (CRF)이고, Recurrent Neural Network(RNN)모델이 있다.

  • Window classification : 중심 단어와 주변 단어들(context)를 함께 분류문제에 활용하는 방법
    window 내에서 word vector와 그 neighbor들을 concatenate한 후 softmax classifier를 훈련하여 분류한다.

답글 달기