11주차

Taixi·2024년 11월 20일

생성형 AI 교육

목록 보기
27/35
post-thumbnail

딥러닝 기초 지식

퍼셉트론

인공 신경망으로 다수의 입력으로 부터 하나의 결과를 내보내는 알고리즘.

뉴런의 동작과 매우 닮아있음.

  • 다수의 입력을 받는 퍼셉트론의 그림

임계치를 좌변으로 넘기고 편향로 표현할 수도 있음

  • 종류
    • 단층 퍼셉트론
    • 다층 퍼셉트론 , 피드 포워드 신경망
    • 순환 신경망

텍스트 처리를 위한 기초 지식

Word Embedding

  • One-Hot Encoding
  • Word Embedding
    • 랜덤 초기화 임베딩
    • 사전 훈련된 임베딩

FastText

Wored2Vec의 개량 알고리즘으로 subword를 고려한 알고리즘

  • oov 문제
  1. Word2Vec에서 나온 한계점을 표현하면 OOV문제라고 할 수 있음. 즉, 기존 말뭉치에 등장하지 않은 단어를 출력하면 에러가 나옴
  2. 말뭉치에없거나 적게등장한 단어는 임베딩 벡터를 생성해내지 못하는데 말뭉치에 없는경우를 OOV라고 부름
  • 형태학적 특징을 반영할 수 없음
  1. 특징
  • 단어를 벡터로 만드는 방법 페이스북에서 계발
  • Word2Vec의 확장이라고 할수 있음
  • 서브워드 개념임
  • 노이즈 많은 코퍼스에서 강정을 가짐

글로브(Glove)

  • 카운트 기반 과 예측 기반으로 단어 임베딩 방법론
  • LSA는 DTM이나 TF_IDF은 카운트 한 행렬이라는 전체적인 통계정보를 받아와서 차원을 축소하여 잠재된의미를 끌어냄
  • WordVec는 실제값과 예측값에 대한 오차를 손실함수를 통해 줄여가는 방법
  • 윈도우 기반 동시 등장 행렬
  • 동시 등장 확률 → 손실함수
  • 임베딩 된 중심 단어 와 주변 단어 벡터의 낵적이 전체 코퍼스에서의 동시 등장 확률이 되도록하는것

NLP 기본모델

RNN

  • 입력과 출력을 시퀀스 단위로 처리하는 시퀀스 모델
  • 연속적인 시퀀스를 처리하기 위한 신경망

은닉층에 있는 RNN의 처리 단위를 셀이라고 하며, 셀의 출력을 은닉상태라고 함.

Long - Term Dependency pLoblem : 장기 의존성 문제

Bidirectional RNN

  • 은닉층을 높이거나 역방향으로 입력을 참고하는 RNN을 추가하여 양방향을 만들수 있음

Tracher forcing

LSTM

  • 기존 RNN의 장기 의존성 문제를 개선하기위해 기억력을 높인 RNN명칭

Bidirectional LSTM

Named Entity Recognition

  • Tagging Task using Keras
    • 지도학습
  • Sequence Labeling
    • x에 대해 y를 각각 부여하는 작업
    • CRF : 양방향LSTM을 위해 탄생이 아니라 독자적으로 존재했고, LSTM 모델위에 하나의 층으로 추가함
  • BIO Tagging
    • 개체명 인식 데이터에서 주로 사용하는 태깅 방법
  • 개체명 인식은 비정형 텍스트의 언급을 인명, 단체 장소 수치등 정의된 분류로 분류하는 작업

  • BIO Tagging
    • 개체명 인식 데이터에서 주로 사용하는 태깅 방법
  • 개체명 인식은 비정형 텍스트의 언급을 인명, 단체 장소 수치등 정의된 분류로 분류하는 작업

GRU

  • 3개의 게이트가 있었던 LSTM과 다르게 업데이트 게이트, 리셋 게이트로 게이트를 줄임
  • LSTM과 마찬가지로 장기 의존성 문제에 비해 강건함

CNN

  • 2D Convolution : 합성곱 연산 - 이미지의 특징을 추출하는 역할
  • 2D MaX-pooling : 특징추출

CNN for Text Classification

실습

ELMo

  • 워드 임베딩의 한계
  • ELMo에서 사용하는 벡터들은 기본적으로 방대한 데이터를 훈련시킨 언어 모델로 훈련시킨 양방향 LSTM으로 부터 가지고 온다.

NLP 응용

Chatbot

  • Closed Domain : 키워드와 인텐트를 기반으로 특정 업무를 수행 ex)카카오미니
    • 키워드 = 개체명 인식 인텐트 = 텍스트 분류
  • Open-Domain : 어떤 토픽이든 상관없이 사람과 대화를 나눈다 ex)심심이

Natural Language Generation

  • 자연어처리는 자연어 이해(NLU)와 자연어 생성영역(NLG)이 있음
  • 기계가 텍스트를 스스로 생성하는 영역

Machine Translation

  • 입력 문장을 번역한 출력 문장을 생성하는 작업

Sequence - to - Sequence

  • 입력된 시퀀스로부터 다른 도메인의 시퀀스를 출력함

  • 인코더의 마지막 은닉 상태를 컨텍스트 벡터라 부름
  • 디코더 RNN 셀의 첫번째 은닉 상태 = 컨텍스트 벡터
  1. Greedy Decoding = 매 시점마다 가장 높은 확률을 가지는 단어, 최적의 해를 보장 못함
  2. EXhaustive Search Decoding = 모든 가능한 조합의 경우를 생성해서 가장 확률 높은 문장을 선택. 리소스가 너무 높음
  3. Beam Search Decoding = 매 시점마다 가장 확률이 높은 K개의 다음 단어를 선택한 후 다음 시점 단어들의 확률 예측

BLEU

평가를 나타내는 기준치

  • BLEU 한계
    • 점수가 높다고 사람이 보기에 좋은 번역은 아님
    • 문장의 의미를 고려한 평가가 아님
    • 문장의 구조를 고려하지 않음
    • 사람의 평가가 필수적

자료참고

https://velog.io/@ljs7463/%EC%9E%90%EC%97%B0%EC%96%B4%EC%B2%98%EB%A6%ACNLP-Word2Vec-fastText
https://jaeyoon-95.tistory.com/232

profile
개발자를 위한 첫시작

0개의 댓글